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 & 加上&可以把运行任务如直接放到后台执行