Shell基础:介绍历史命令命令不全和别名通配符输入输入重定向管道发和作业控制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell基础:介绍历史命令命令不全和别名通配符输入输入重定向管道发和作业控制相关的知识,希望对你有一定的参考价值。
Shell的介绍
zsh、ksh(yum list |grep zsh 进行查看,然后可以相应的进行安装)
命令历史
1. /root/.bash_history (此文件存放着我们敲过的命令)
2. history (可以查看到我们之前使用过的命令有多少条。最大可以存1000条)
使用环境变量可以查看到存放了多少条命令 echo $HISTSIZE
3. history -c 此命令是清除内存中我们敲过的缓存命令(当我们在当前终端敲命令时,它并不会立马保存到配置文件中,而是缓存在内存里) ,但这个命令是不会删除 /root/.bash_history 这个配置文件的内容。
4.敲过的命令什么时候才会保存在配置文件中?
只有我们在正常退出终端的时候才能保存到配置文件中,否则只是暂时的保存到内存里(正常退出的命令:exit、logout)
5.环境变量$HISTSIZE
在配置文件 /etc/profile 修改环境变量 $HISTSIZE
修改了变量的大小后,需要执行 source /etc/profile 或者重新进入终端才会生效
6.查看敲过命令是什么时候运行记录下来 HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
(1)定义一下:HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
(2)查看一下变量: echo $HISTTIMEFORMAT
但是此时我们定义的环境变量 $HISTTIMEFORMAT 仅仅是在当前的终端生效,如果重启仍然是不存在的
(3)永久生效,修改 /etc/profile
vi /etc/profile
添加内容:HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
7.命令历史永久保存 不让别人删除-->添加隐藏条件 -a 只能追加不能删除
执行命令:chattr +a ~/.bash_history
条件+a 只能追加不能删除
8. exit / logout 为正常退出终端
不正常的退出终端时,使用过的命令就不会记录完全
!! 表示上一条命令
!n 表示历史第n条命令
!字符串 表示从下往上找最近使用过“字符串”的命令并执行
命令补全和别名
1.tab键 不仅可以不全命令,也可以不全文件
2.参数不全
(yum install -y bash-completion)
3.alias别名:
设置自定义的别名:
alias 要起的名字='要代替的名字'
alias restartnet='systemctl restart network.service '
取消自定义的别名:
ualias restartnet
alias定义的地方
各用户都有自己配置别名的文件 ~/.bashrc
ls /etc/profile.d/
通配符
1. * :表示零个或者多个任意字符
2. ? :表示一个任意的字符
3.ls [0-3].txt
[范围]任意一个满足的条件,只取一个。
4.ls {1,2,3,a}.txt 取一个1或2或3或a
输入输出重定向
1.> 重定向 cat 1.txt>2.txt (把1.txt的内容输入到2.txt)
2.>> 追加 cat 1.txt>>2.txt (不会把原来的内容删除,把1.txt的内容追加到2.txt)
3.ls aaa.txt 2>err 把前面的错误的信息输入到后面的文件中
3.ls aaa.txt 2>>err 把前面的错误的信息输入到后面的文件中
>+2 == &>
把[12]txt 正确的输入到a.txt ,把 aaa.txt错误信息写到b.txt
4.wc -l < 1.txt
管道符、作业控制
管道符 | :把前面命令的的输出交给后面命令的输入
暂停任务:ctrl+ z (临时暂停,仍到后台 ,调回前台 fg)
jobs 可以把暂停的任务列出来。
fg +id号就能把相应暂停任务调回前台。 fg 2
bg 把任务放到后台
sleep 1000 暂停1000秒
sleep 100 & 加上&可以把运行任务如直接放到后台执行
以上是关于Shell基础:介绍历史命令命令不全和别名通配符输入输入重定向管道发和作业控制的主要内容,如果未能解决你的问题,请参考以下文章
8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重
二十shell介绍命令历史命令补全和别名通配符输入输出重定向
shell介绍,命令历史,命令补全和别名,通配符,输入输出重定向