Shell入门-bash基本功能

边学习边整理

历史命令

history

history			#查看历史命令
history -c		#清空历史命令,不建议清空命令
history -w /tmp/my_bash_history	#保存至/tmp/my_bash_history文件中,默认保存在~/.bash_history

本次登录操作的命令不会保存至~/.bash_history
logout时,才会写入history
在环境变量配置文件中/etc/profile中,HISTSIZE = 1000,默认保存1000条
修改后,重新登陆才可以生效

上下箭头

!n

重复执行第n条命令

!!

重复执行上一条命令

!字串

重复执行以此字符串开头的最后一条命令

tab键命令补全

文件或者目录
两次tab键可以显示以输入字符串开头的所有命令

命令别名

alias vi='vim'	#别名=‘原命令’
alias			#查看别名
vim /root/.bashrc	#修改环境变量文件中写入,别名永久生效
unalias vi		#删除别名

不要和原始命令名重复,否则会覆盖原命令执行结果

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

常用快捷键

快捷键作用
ctrl+A把光标移动到命令行开头
ctrl+E把光标移动到命令行行尾
ctrl+C强制终止当前命令
ctrl+L清屏=clear
ctrl+U删除或剪切光标之前的命令
ctrl+K删除或剪切光标之后的内容
ctrl+Y粘贴ctrl+U或ctrl+K剪切的内容
ctrl+R在历史命令中搜索,按下ctrl+R之后,就会出现搜索界面,只要输入搜索内容,就会从历史命令中搜索
ctrl+D退出当前终端
ctrl+Z暂停,并放入后台
ctrl+S暂停屏幕输出
ctrl+Q恢复屏幕输出

输入输出重定向

设备设备文件名文件描述符类型
键盘/dev/stdin0标准输入
显示器/dev/stdout1标准输出
显示器/dev/stderr2标准错误输出

输出重定向

输出重定向,改变输出方向,输出到文件中

类型符号作用
标准输出重定向命令>文件以覆盖的方式,把命令的正确输出到指定的文件或者设备中
标准输出重定向命令>>文件以追加的方式,把命令的正确输出指定到文件或设备中
标准错误重定向错误命令 2>文件覆盖方式
标准错误重定向错误命令 2>>文件追加方式
正确输出和错误输出同时保存命令 > 文件 2>&1覆盖方式,命令执行结果都保存到同一个文件中
正确输出和错误输出同时保存命令 >> 文件 2>&1追加方式
正确输出和错误输出同时保存命令 &> 文件覆盖方式
正确输出和错误输出同时保存命令 &>> 文件追加方式
正确输出和错误输出保存到不同文件命令>>文件1 2>>文件2结果正确,追加到文件1,结果错误,追加到文件2
ls &>/dev/null	#相当于不保存任何结果,也不在显示屏输出

输入重定向

wc -c 文件名	#统计字节数
wc -w 文件名	#统计单词数
wc -l 文件名	#统计行数
wc		#统计键盘输入,行数/单词书/字符数
wc < 文件名		#统计该文件的上述三个参数
wc << 符号		#将符号之间的输入进行统计

多命令顺序执行

多命令执行符格式作用
;命令1;命令2顺序执行,没有逻辑关联
&&命令1 && 命令给2
||命令1||命令2逻辑或,命令1不正确,命令2执行;命令1正确执行,命令2不执行

使用场景:

#复制分区或者整个硬盘
#if=源文件或者源设备
#of=目标文件或目标设备
#bs=一次输入输出的字节数,一个数据块
#count=指定输入输出多少个数据块
dd	if=输入文件 of=输出文件 bs=字节数 count=个数
date;dd if=/tmp/test of/tep/test1 bs=1k count =100;date	
date;dd if=/dev/zero of/tep/test2 bs=1k count =1000;date	#创建一个1M文件大小	
./configure && make && make install
命令 && echo yes || echo no #判断该命令是否正确执行

管道符

命令1 | 命令2		#命令1的的正确输出作为命令2的此操作对象
ll -a /etc/ | more	#分屏显示
netstat -an | grep "ESTABLISHED"	#只显示ESTABLISHED的内容
grep -i "搜索内容" 文件		#在文件中搜索响应的内容的行,-i忽略大小写
grep -n "text" filename		#输出行号
grep -v "text" filename		#反向查找
grep --color=auto "text" filename	#关键字显示颜色

通配符

?匹配一个任意字符
*匹配0个或者任意多个任意字符
[]任意一个字符。[abc],只能匹配中括号中一个字符
[-]
[^]匹配任意一个字符。取反[^a-z]代表任意一个不是小写字母的字符

其它

‘’在单引号中的所有特殊符号都没有特殊含义,$、`空格
“”双引号中特殊符号没有特殊含义,但以下符号除外:$、`、\
``反引号,其内容为系统命令,在bash中会先执行它
$()引用系统命令
#脚本中代表注释
$调用变量的值
\转义符
name = haha		#变量赋值
echo $name		#打印haha
echo name		#打印name
echo '$name'	#打印$name
echo "$name"	#打印haha
echo '$(date)'	#打印$(date)
echo "$(date)"	#打印date返回值

abc=`date`		#反引号
echo &abc		#打印date的返回值
echo $(date)	#打印当前时间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值