温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

shell基础

发布时间:2020-05-30 20:23:16 来源:网络 阅读:278 作者:夜魅零度 栏目:系统运维

一、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基础

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI