shell基础、命令操作、通配符

8.1shell基础

1、shell是一个命令解释器,提供用户和机器之间的交互
2、登录的终端可以运行命令查看结果,登录用户名密码,出来的这个界面其实这个就是一个shell,用户配置文件最后一段就是shell
3、支持特定语法,比如逻辑判断、循环
4、每个用户都可以有自己特定的shell
5、CentOS7默认shell为bash(Bourne Agin Shell)
6、其他shell还有zsh、ksh等,同bash有区别
7、 yum list |grep zsh
8、 yum list |grep ksh

8.2 命令历史

1、history命令
2、ls /root/.bash_history 历史命令存在于用户家目录下的.bash_history 这个文件中,这个文件最大存1000条,由$HISTSIZE这个环境便令配置的,当时运行的命令暂时先存在内存中,只有退出终端的时候,命令才会保存到.bash_history中
3、history -c 清空内存中的历史命令,仅仅是清空内存中的历史命令,但是不会删除存命令的文件中的内容(家目录下的.bash_history文件)
4、# vi /etc/profile 中的HISTSIZE的数值为.bash_history的保存条数,生效方式,①重启终端,或者使用# source /etc/profile 此条命令,使/etc/profile中的配置生效
5、如果想输入history后的结果出现使用时间,需要将变量HISTTIMEFORMAT赋值

# 'HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "

只能在当前终端生效。如果想每次都生效需要将此条变量加入到/etc/profile中
6、永久保存命令历史 chattr +a /root/.bash_history,a权限,用户只能对文件进行内容追加,不能删除
7、不通过logout或者exit退出,家目录下的.bash_history文件不能记录完整所执行的命令
8、!!即为上一条命令
9、!n 运行第n条命令
10、!word,执行最近一次以word开头的命令,例如:!echo从命令历史中找到第一个以echo开头的命令

8.3 命令补全和别名

1、tab键,敲一下补全命令或者路径,敲两下显示出可输入的文件
2、yum install -y bash-completion 安装完这个包后需要重新启动系统reboot才可以生效,可以补全参数
3、alias 别名,用户家目录下的.bashrc文件中有几条、/etc/profile.d/目录中的其他文件中
4、ls /etc/profile.d
5、unalias 别名 取消别名

8.4 通配符

1、'*'可以通配多个字符
2、'?'可以通配1个字符
3、'[]'范围 使用方式,例如:ls [0-3].txt或者ls [123].txt或者ls [0-9a-zA-Z].txt
4、'{}'范围 ls {1,2,3}.txt

8.5 输入输出重定向

5、cat 1.txt >2.txt 重定向,将原内容删除
6、cat 1.txt>>2.txt 追加不会删除原内容
7、lsaaa.txt 2>err.txt 2>将错误信息重定向到目标文件中
8、lsaaa.txt 2>>err.txt 2>>将错误信息追加到err.txt
9、>+2>等同于&> 将正确和错误信息都重定向到某个文件中
10、>>+2>>等同于&>>将正确和错误信息都追加到某个文件中
10、ls [12].txt aaa.txt >1.txt 2>err.txt将正确的重定向到1.txt,错误的到err.txt
11、wc -l < 1.txt 左边必须为一个命令,右侧可以是一个文件
12、总结
总结

猜你喜欢

转载自my.oschina.net/u/3803446/blog/1799412
今日推荐