一、命令别名
二、历史命令
三、输出重定向
四、命令连接符
五、管道符
六、通配符
七、特殊符号
一、命令别名
-
作用
原命令太长,或者新命令代替了旧命令,但是习惯用旧命令。就可以将一条命令设置别名。
-
查看系统当中的别名:
alias
当我们输入
ls
时,输出是有颜色的,可以查看别名:alias ls='ls --color=auto'
。
如果想要不显示颜色区分,可以设置别名:alias ls='ls --color=never'
-
设置别名
alias 别名='原命令'
(临时生效,重启消失) -
永久生效别名
1,
vi ~/.bashrc
:写入环境变量配置文件(每一个用户都有自己单独的环境变量配置文件)[root@yonghui ~ 11:05:20]#cat ~/.bashrc # .bashrc # User specific aliases and functions alias rm='rm -i' 【已经有了几个别名】 alias cp='cp -i' alias mv='mv -i' 【可以自己添加别名】 # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi export WORKON_HOME=~/Envs VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3 source /opt/python347/bin/virtualenvwrapper.sh
2,
source .bashrc
:重新读取配置文件,不用重启计算机 -
删除别名
unalias 别名
:临时删除,如果写进了文件,需要将设置的别名删除 -
举个栗子
alias rm="echo '禁止使用rm'"
:设置linux别名,给rm设置了别名就不能用rm命令了
unalias rm
:取消linux别名
别名的优先级高于系统内部或外来命令。
二、历史命令
-
查看历史命令:
history
-
历史命令保存文件地址
~/.bash_history
(用户家目录下的.bash_history中,每个用户都有自己的历史命令)。
输入history和查看文件内容稍微有点儿差距,那是因为还有一些命令没有写入,当用户自动退出之后就会将本次登录的所有历史命令写入文件。 -
清空历史命令:
history -c
建议不要清空历史命令:历史命令可以帮助我们查看之前的操作。如果系统出错,也可帮我们排错。
历史命令默认保存1000条,超出部分不写入,可通过cat /etc/profile
查看:HISTSIZE=1000
,当然也可更改 -
强制写入文件:
history -w
-
使用历史命令快捷方式
上下箭头
:可以调用以前的历史命令
!n
:可以重复执行第n条命令(先输入history查看对应的编号)
!!
:重复执行上一条命令
!字符串
:重复执行最后一条以该字符串开头的命令
三、输出重定向(输入重定向不常用)
-
作用
将原本输出到显示器的内容,输出至文件。如果命令直接回车,就是将内容输出到显示屏。
命令格式 | 说明 |
---|---|
ifconfig >test.log |
将内容输出到文件(文件不存在会创建,存在会覆盖) |
ls >>test.log |
将内容追加至文件,不是覆盖 (只写入正确命令) |
ldd 2>>test.log |
将错误的信息记录下来(只记录错误命令,正确命令会执行,不写入) |
注意:错误输出时,符号左右两边没有空格,正确输出时无所谓。
必须知道是否是错误的命令才能写好格式,但是我们事前有可能不知道命令正确与否。所以就有了后者。
-
无论正确错误,都会写进文件。
命令格式 | 说明 |
---|---|
命令 > 文件 2&1 |
以覆盖的方式,把正确输出和错误输出都保存到同一个文件中 |
命令 &>文件 |
以覆盖的方式,把正确输出和错误输出都保存到同一个文件中 |
命令 >> 文件 2>&1 |
以追加的方式,把正确输出和错误输出都保存到同一个文件中 |
命令 &>>文件 |
以追加的方式,把正确输出和错误输出都保存到同一个文件中 |
命令>>文件1 2>>文件2 |
把正确输出追加到文件1,错误输出追加到文件2 |
ls &>/dev/null
:将命令结果放进黑洞,不显示,也不写入文件
四、命令连接符
;
:连接多条命令,无论能否正确执行,都按顺序执行
&&
:(逻辑于)命令一正确执行,才能执行命令二
||
:(逻辑或)一正确执行,二不执行;一不正确执行,二才执行
命令 && echo yes || echo no
:程序自动执行时,判断命令是否会正确执行。
可以通过命令结果中是否有yes/no来判断。
五、管道符
|
: 多命令顺序执行,将一的正确输出结果作为命令二的输入(如果一执行错误,二不会执行)
ps -ef |grep python
:查看正在运行的有关python的程序
netstat -an |grep ESTABLISHED |wc -l
:查看服务器上链接了多少人
ls /tmp|grep '.txt'
:找到/tmp目录下所有txt文件
netstat -tunlp |grep nginx
:检查nginx的端口是否存活
head -30 /tmp/test.txt |tail -21
:显示文件10-30行
ls |grep -v wen.mp3 |xargs rm -f
:删除当前目录除了wen.mp3之外的所有文件
六、通配符
ll test*
:查看以test开头的文件
?
:匹配一个任意字符
*
:匹配任意字符,匹配任何内容
[]
:匹配中括号里的任意一个内容
[a-z]
:匹配a-z的任意一个字符
[^]
:匹配除了组内的字符
七、特殊符号
a=123
$a $ -->直接调用变量的值
echo '$a' '' -->$a
echo "$a" "" -->123
aa=$(ls) $() -->将系统命令执行赋给变量,相当于反引号`ls`
# -->注释
\ -->转义符
网友评论