linux 进阶命令

学习进阶命令是为了提高工作效率!
 
一、历史命令命令补全
1、历史命令
history [选项] [历史命令保存文件]
选项:
-c:清空历史命令(在线上的工作中是禁用的)
-w:把缓存中的历史命令写入历史命令保存文件
~/.bash_history
    • 历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改
历史命令的调用
    • 使用上、下箭头调用以前的历史命令
    • 使用“!n”重复执行第n条历史命令
    • 使用“!!”重复执行上一条命令
    • 使用“!字串”重复执行最后一条以该字串开头的命令
2、命令与文件补全
  • Bash中,命令与文件补全是非常方便与常用的功能,我们只要在输入命令或文件时,按“Tab”键就会自动进行补全
二、命令别名与常用快捷键
1、命令别名
alias 别名="原命令“”  设定命令别名
# alias 查询命令别名
命令执行时顺序
    1. 第一顺位执行用绝对路径或相对路径执行的命令。
    2. 第二顺位执行别名。
    3. 第三顺位执行Bash的内部命令。
    4. 第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令。
vi /root/.bashrc让别名永久生效
unalias 别名 删除别名
2Bash常用快捷键
 
快捷键
作用
ctrl+A
把光标移动到命令行开头。如果我们输入的命令过长,想要把光标移动到命令行开头时使用。
ctrl+E
把光标移动到命令行结尾。
ctrl+C
强制终止当前的命令。
ctrl+L
清屏,相当于clear命令。
ctrl+U
删除或剪切光标之前的命令。我输入了一行很长的命令,不用使用退格键一个一个字符的删除,使用这个快捷键会更加方便
ctrl+K
删除或剪切光标之后的内容。
ctrl+Y
粘贴ctrl+Uctul+K剪切的内容。
ctrl+R
在历史命令中搜索,按下ctrl+R之后,就会出现搜索界面,只要输入搜索内容,就会从历史命令中搜索。(较少用)
ctrl+D
退出当前终端。(相当于exit)
ctrl+Z
暂停,并放入后台。这个快捷键牵扯工作管理的内容,我们在系统管理章节详细介绍。
ctrl+S
暂停屏幕输出。
ctrl+Q
恢复屏幕输出。
 
三、输入输出重定向
1、标准输入输出
 
设备
设备文件名
文件描述符
类型
键盘
/dev/stdin
0
标准输入
显示器
/dev/sdtout
1
标准输出
显示器
/dev/sdterr
2
标准错误输出
 
2、输出重定向
 
类型
符合
作用
标准输出重定向
命令 > 文件
以覆盖的方式,把命令的正确输出输出到指定的文件或设备当中。
 
命令 >> 文件
以追加的方式,把命令的正确输出输出到指定的文件或设备当中。
标准错误输出重定向
错误命令 2> 文件
以覆盖的方式,把命令的错误输出输出到指定的文件或设备当中。
 
错误命令 2>> 文件
以追加的方式,把命令的错误输出输出到指定的文件或设备当中。
正确输出和错误输出同时保存
命令 > 文件 2>&1
以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中。
 
命令 >> 文件 2>&1
以追加的方式,把正确输出和错误输出都保存到同一个文件当中。
 
命令 &> 文件
以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中。
 
命令 &>> 文件
以追加的方式,把正确输出和错误输出都保存到同一个文件当中。
 
命令 >> 文件1 2>> 文件2
把正确的输出追加到文件1中,把错误的输出追加到文件2中。
 
3、输入重定向
wc [选项] [文件名]
选项:
 
-c
统计字节数
-w
统计单词数
-l
统计行数
 
  •  
    命令<文件
    把文件作为命令的输入
     
四、多命令顺序执行与管道符
1、多命令顺序执行
 
多命令执行符
格式
作用
;
命令1  ;  命令2
多个命令顺序执行,命令之间没有任何逻辑联系
&&
命令1 && 命令2
逻辑与
 
 
当命令1正确执行,则命令2才会执行
 
 
当命令1执行不正确,则命令2不会执行
||
命令1 || 命令2
逻辑或
 
 
当命令1执行不正确,则命令2才会执行
 
 
当命令1正确执行,则命令2不会执行
 
例子:
ls ; date ; cd /user ; pwd
dd if=输入文件 of=输出文件 bs=字节数 count=个数
选项:
 
if=输入文件
指定源文件或源设备
of=输出文件
指定目标文件或目标设备
bs=字节数
指定一次输入/输出多少字节,即把这些字节看做一个数据块
count=个数
指定输入/输出多少个数据块
 
例子:
date ; dd if=/dev/zero of=/root/testfile bs=1k count=100000 ; date
ls anaconda-ks.cfg && echo yes
ls /root/test || echo "no"
命令 && echo yes || echo no
2、管道符
命令格式:
命令1 | 命令2
#命令1的正确输出作为命令2的操作对象
颜色显示
例子:
ll -a /etc/ | more
netstat -an | grep "ESTABLISHED"
grep [选项] "搜索内容" 文件名
选项:
 
-i
忽略大小写
-n
输出行号
-v
反向查找
--color=auto
搜索出的关键字用颜色显示
 
五、通配符与其他特殊符号
1、通配符
 
通配符
作用
?
匹配一个任意字符
*
匹配0个或任意多个任意字符,也就是可以匹配任何内容
[]
匹配中括号中任意一个字符。例如:[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c
[-]
匹配中括号中任意一个字符,-代表一个范围。例如:[a-z]代表匹配一个小写字母。
[^]
逻辑非,表示匹配不是中括号内的一个字符。例如:[^0-9]代表匹配一个不是数字的字符。
 
练习:
touch file{1..10}
cd /tmp/
rm -rf *
touch abc
touch abcd
touch 012
touch 0abc
ls ?abc
ls [0-9]
ls [^0-9]*
ls[abc]       ls[abc][abc]或ls[a-c]ls[a-c]
 
echo显示后面的内容
$查看变量
x+y=4
x=2
echo $x
echo ‘$x’
 
#注释
echo #x  
 
原文地址:https://www.cnblogs.com/lichenghong/p/10181126.html