700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > shell介绍 命令历史 命令补全和别名 通配符 输入输出重定向

shell介绍 命令历史 命令补全和别名 通配符 输入输出重定向

时间:2023-02-22 09:08:59

相关推荐

shell介绍 命令历史 命令补全和别名  通配符  输入输出重定向

独角兽企业重金招聘Python工程师标准>>>

shell介绍

shell是一个命令解释器,提供用户和机器之间的交互;

支持特定语法,比如逻辑判断、循环;

每个用户都可以有自己特定的shell;

CentOS7默认shell为bash (Bourne Agin Shell);

还有zsh、ksh等。

命令历史

我们使用过的命令,会存放在用户家目录下/root/.bash_history

history命令,可以查看使用过的命令历史,最多可存1000条

history -c命令,可以将当前内存的命令历史清空,但是不会清空配置文件

注意:刚刚敲过的命令,只有当用户正常退出终端时,才会保存到.bash_history文件中去。

环境变量HISTSIZE在/etc/profile中定义,可以vi/etc/profile,找到HISTSIZE并修改参数

然后执行命令# source /etc/profile,使修改生效

修改命令历史格式

HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"

该格式只适用于当前终端,若想环境变量生效,需要# vi/etc/profile,在配置文件中添加

HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"

然后source /etc/profile,打开其他终端,也会生效

命令历史永久保存,运行chattr +a ~/.bash_history(只能追加,不能删除)

!! 表示执行最后一条命令

!n 表示运行第几条命令(n代表数字)

!echo 表示会在命令历史里面,最近一次执行以 echo 开头的命令

命令补全和别名

命令补全

按一次tab可以补全一个命令、一个路径或者是一个文件名;连续按两次tab键,则把所有的命令或者文件名都列出来。在centos7里支持参数自动补全,需要安装安装包bash-completion。

然后重启下系统(reboot),才会生效。

alias别名

我们可以通过alias把一个常用且很长的指令另取名一个简单易记的指令,如果不想用了,也可以使用unalias取消别名,直接执行alias命令,则会看到系统中所有的别名。

alias存放:

第一个在用户家目录下.bashrc文件下

第二个在 /etc/profile.d 目录下的 colorgrep.sh 、colorls.sh 这些脚本中定义的

通配符

通配符*,表示零个或多个字符

通配符?,表示任意一个字符

中括号 [],ls [0-9].txt表示0-9范围内的任意.txt文件

花括号 {},ls {1,2,3}.txt表示括号内任意.txt文件

输入输出重定向

cat 1.txt > 2.txt,大于号>表示将前面的命令输出,直接输入到后面的文件里面去,这里是指将1.txt的内容重定向到2.txt里面去,之前2.txt的内容会被删除。

cat 1.txt >> 2.txt,两个大于号>>表示追加,不会删除2.txt的内容,将1.txt的内容追加到2.txt里面去。

ls aaa.txt 2> err,2大于号表示将命令产生的错误信息输入到一个文件里去

ls aaa.txt 2>> err,表示错误信息追加重定向

ls [12].txt aaa.txt &> a.txt, 表示将正确和错误的输出信息都输入到a.txt中

ls [12].txt aaa.txt &>>a.txt,表示将正确和错误的输出信息都追加到a.txt中

ls [12].txt aaa.txt >1.txt 2>a.txt

wc -l < 1.txt ,表示把1.txt文件内容输入重定向到命令wc -l 中去,(左边必须要是命令,不能由文件到文件,很少用,了解即可)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。