Shell——基础

查看使用的shell种类

echo $SHELL

centos ubuntu使用的bash

echo输出命令

echo打印到屏幕上。

echo [选项] [输出内容]
选项: -e:支持反斜线控制的字符转换
控制字符 作用
\a 输出警告音
\b 退格键,向左删除键
\n 换行符
\r 回车符
\t 制表符,Tab键
\v 垂直制表符
\0??? 按照八进制ASCII码表输出字符
\x?? 按照十六进制ASCII码表输出字符
echo "hello world"

[root@bogon ~]# echo -e "hello\b"
hello
[root@bogon ~]# echo -e "hell o\b"
hell o
[root@bogon ~]# echo -e "hell o\b a "
hell  a 
[root@bogon ~]# echo -e "\x68\x65\x6c\x6c\x6f"
hello

输出颜色

# 30m:黑色 31m:红色 32m:绿色 33m:黄色 34m:蓝色 35m:洋红 36m:青色 37m:白色
echo -e "\e[1;31m哈哈哈\e[0m"

第一个脚本

vi hello.sh

然后编辑脚本

# !/bin/bash
# 这是第一个shell脚本

echo -e ”\e[1;34m 天上掉下个猪八戒\e[0m“

脚本执行

方法一:赋予执行权限,直接运行

chmod 755 hello.sh
./hello.sh

方法二:通过bash调用执行脚本

bash hello.sh

命名别名

# 查看系统中所有的命令别名
alias
# 设定命令别名,重启计算机之后失效
alias 别名 = '原命令'

alias ls = 'ls --color=never' 

# 别名永久生效与删除别名
# 写入环境变量配置文件
vi ~/.bashrc
# 删除别名
unalis 别名(临时删除)

命令生效顺序:

  • 第一顺位执行用绝对路径或相对路径执行的命令
  • 第二顺位执行别名
  • 第三顺位执行bash的内部命令
  • 第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令

常用快捷键

快捷键 作用
ctrl+c 强制终止当前命令
ctrl+l 清屏
ctrl+a 将光标移动到行首
ctrl+e 将光标移动到行尾
ctrl+u 将光标所在位置删除到行首
ctrl+z 把命令放入后台
ctrl+r 在历史命令中搜索

历史命令

查看历史命令

history [选项] [历史命令保存文件]
选项:
-c:清空历史命令
-w:将缓存中的历史命令写入历史命令保存文件~/.bash_history

历史默认命令会保存1000条,可以在环境变量配置文件/etc/profile中进行修改(HISZIZE字段)

历史命令的调用

  • 使用上下箭头调用以前的历史命令
  • 使用"!n" 重复执行第n条历史命令
  • 使用"!!"重复执行上一条命令
  • 使用"!字串" 重复执行最后一条以该字串开头的命令

命令与文件补全

在bash中,命令与文件补全使用tab键,一次或两次。

输出输入重定向

标准输入输出

设备 设备文件名 文件描述符 类型
键盘 /dev/stdin 0 标准输入
显示器 /dev/stdout/1 标准输出
显示器 /dev/stderr/2 标准错误输出

输出重定向

类型 符号 作用
标准输出重定向 命令 > 文件 以覆盖的方式,把命令的正确输出输出到指定的文件或设备当中
标准输出重定向 命令 >> 文件 以追加的方式,把命令的正确输出输出到指定的文件或设备当中
标准错误输出重定向 错误命令 2>文件 以覆盖的方式,把命令的错误输出输出到指定的文件或设备当中
标准错误输出重定向 错误命令 2>>文件 以追加的方式,把命令的错误输出输出到指定的文件或设备当中
正确输出和错误输出同时保存 命令>文件 2>&1 以覆盖的方式,把正确输出和错误输出都保存在同一个文件当中
正确输出和错误输出同时保存 命令>>文件 2>&1 以追加的方式,把正确输出和错误输出都保存在同一个文件当中
正确输出和错误输出同时保存 命令&>文件 以覆盖的方式,把正确输出和错误输出都保存在同一个文件当中
正确输出和错误输出同时保存 命令&>>文件 以追加的方式,把正确输出和错误输出都保存在同一个文件当中
正确输出和错误输出同时保存 命令>>文件1 2>>文件2 把正确输出追加到文件1中,把错误输出追加到文件

2中

输入重定向

命令<文件,把文件作为命令的输入
命令<<标识符,把标识符之前的内容作为命令的输入

wc [选项] [文件名]
选项:
-c:统计字节数
-w:统计单词数
-l:统计行数

wc本身统计行数,单词数,字节数,ctrl+d

多命令顺序执行

多命令执行符 格式 作用
; 命令1;命令2 多个命令顺序执行,命令之间没有任何逻辑联系
&& 命令1&&命令2 逻辑与
当命令1执行正确,命令2执行
当命令1执行不正确,命令2不执行
命令1 命令2 逻辑或
当命令1执行正确,命令2不执行
当命令1执行不正确,命令2执行
# 命令正确执行打印yes,错误执行打印no
命令 && echo yse || echo no
ls && echo yes || echo no

管道符

# 命令1的正确输出作为命令2的操作对象
命令1 | 命令2

ll -a /etc/ | more
netstat -an |grep ESTABLISHED |wc -l

通配符

?,*,[abc],[0-9],[^0-9](非数字)
符号 作用
'' 单引号。单引号中的所有特殊符号都没有含义
"" 双引号。双引号中特殊符号都没有特殊含义,"$","`",""是例外
`` 反引号。反引号括起来的内容是系统命令,在bash中会先执行它。作用同$()
$() 引用系统命令
# 注释
$ 用于调用变量的值,格式为 $name
转义符。跟在\之后的特殊符号将失去特殊意义,变为普通字符
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容

  • 第一节 Shell概述 1.Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送...
    littlexjing阅读 1,874评论 0 1
  • 一、Shell概述 1. Shell是什么? Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送...
    鲁克巴克诗阅读 626评论 0 3
  • 概述 首先,咱们来了解一下,什么是Shell。操作系统内核给我们提供了各种接口,同时也提供了各种用户层的库,理论上...
    keysaim阅读 1,339评论 0 0
  • Shell是一个"命令行解释器",它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以...
    tf_dejs阅读 413评论 0 1
  • 熬着夜等你 手机刷了又刷 纸张翻了又翻 你没有回来 不等你 又能怎样 不是有女儿 不是女儿的陪伴 我的笑都是我自己...
    湍河故事阅读 178评论 4 2