码迷,mamicode.com
首页 > 系统相关 > 详细

shell基础

时间:2019-09-16 23:12:48      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:mat   命令   src   过滤   默认   设置   命令补全   安装   unalias   

一、shell基础
技术图片

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

history -c 可以清空内存里面的命令历史,但是不会清空/root/.bash_history里面的命令
技术图片

注:只有正常退出终端时,敲过的命令才会保存到/root/.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 "

技术图片

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

技术图片

!n(代表数字)

技术图片
!history,则会在命令历史里面找到最后一次以history开头的命令

技术图片

三、命令补全及别名

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

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

技术图片

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

四、通配符

通配符*,表示零个或者多个字符
技术图片
通配符?,表示任意一个字符
技术图片

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

技术图片

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

技术图片
五、输入输出重定向

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

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

技术图片

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

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

shell基础

标签:mat   命令   src   过滤   默认   设置   命令补全   安装   unalias   

原文地址:https://blog.51cto.com/13292790/2438432

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!