shell基础

一、shell基础
《shell基础》

二、命令历史
我们使用过的命令,即命令历史,会存放在系统家目录下面/root/.bash_history history命令可以查看使用的命令历史,系统默认为1000条
《shell基础》

history -c 可以清空内存里面的命令历史,但是不会清空/root/.bash_history里面的命令
《shell基础》

注:只有正常退出终端时,敲过的命令才会保存到/root/.bash_history里面去
环境变量HISTSIZE可以在/etc/profile里面自定义命令历史条数,可以vi /etc/profile 找到HISTSIZE参数,修改,然后执行命令 source /etc/profile
《shell基础》

修改命令历史格式,增加时间选项,可以更直观的查看
HISTTIMEFORMAT=”%Y/%m/%d %H:%M:%S “
《shell基础》
该格式只在当前终端生效,如果想在其他终端也生效,需要编辑配置文件 vi /etc/profile,在配置文件添加HISTTIMEFORMAT=”%Y/%m/%d %H:%M:%S “

《shell基础》

想要命令历史永久保存,并不会被别人删除,chattr +a ~/.bash_history只能追加,不能删除
!!表示执行最后一条命令

《shell基础》

!n(代表数字)

《shell基础》
!history,则会在命令历史里面找到最后一次以history开头的命令

《shell基础》

三、命令补全及别名

按一次tab键可以补全一次命令,一个文件,或者一个目录,连续按两次tab键,则会把所有命令或者文件名列出来,centos7里面支持参数自动补全,需要安装包bash-completion;然后重启系统生效
《shell基础》

我们可以通过alias把一个常用但是命令很长的命令设置一个别名,如果不想使用,可以使用unalias取消别名,直接执行alias可以查看所有别名

《shell基础》

alias存放路径:
第一个存放在家目录.bashrc文件下
第二个存放在/etc/profile.d目录下的colorgrep.sh colorls.sh 这些脚本中自定义
unalias取消别名,格式 unalias alias_name

四、通配符

通配符*,表示零个或者多个字符
《shell基础》
通配符?,表示任意一个字符
《shell基础》

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

《shell基础》

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

《shell基础》
五、输入输出重定向

cat 1.txt >2.txt,大于号>表示将前面的命令输出,直接输入到后面的文件里面去,这里是将1.txt的内容重定向到2.txt里面去,之前2.txt的内容会被删除
《shell基础》
cat 1.txt >>2.txt,两个大于号表示追加,不会删除之前2.txt里面的内容,把1.txt里面的东西追加到2.txt里面去
《shell基础》
ls asas 2>a.txt大于号表示将命令产生的错误信息输入到一个文件里面去

《shell基础》
ls asdfgh 2>>a.txt,表示将错误信息追加重定向
《shell基础》
ls {1,2}.txt bc.txt &>a.txt 2>b.txt,表示将正确和错误的信息输入到a.txt中
《shell基础》
ls {1,2}.txt bc.txt &>a.txt,表示将正确和错误的输出信息都追加到a.txt中
《shell基础》
ls {1,2}.txt bc.txt >a.txt 2>b.txt 表示将正确的输出信息输入到a.txt中,错误的输出信息输入到b.txt中
《shell基础》
wc -l <1.txt,表示把1.txt文件内容输入重定向到命令wc -l中去,左边必须是命令,不能由文件到文件,了解即可

《shell基础》

六、管道符合作业控制
管道符|,勇于将前一个命令的输出做为后一个命令的输入
cat 1.txt |wc -l;cat 1.txt |grep ‘ccc’
命令wc -l :统计文件数量
命令grep:用来过滤关键词,只要文件含有关键词,就可以把这一行过滤出来、

作业控制
ctrl +z 暂停一个正在执行的任务
《shell基础》
fg命令恢复
《shell基础》
如果暂停多个任务,可以用jobs查看在后台运行的任务
《shell基础》
如果想重新调回,输入fg+id 也可以使用bg放在后台运行,用法bg+id
bg+id 把任务调到后台运行
fg +id 把任务调到前台运行
《shell基础》
sleep命令,sleep 100相当于让机器休眠静止100秒
《shell基础》
“&”命令,后面加&相当于把任务直接调到后台运行
《shell基础》

    原文作者:夜魅零度
    原文地址: https://blog.51cto.com/13292790/2438432
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞