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

8.1 shell介绍8.2 命令历史8.3 命令补全和别名8.4 通配符8.5 输入输出重定向

时间:2018-01-10 17:35:09      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:参数   shel   mic   reboot   ado   ges   images   字符   输出重定向   

8.1 shell介绍

1. shell是一个命令解释器,提供用户和机器之前的交换

2. 每个用户都可以有自己特定的shell

3. CentOS7默认shell是bash(Bourne Agin Shell); shell还有zsh、ksh等

zsh、ksh这两种shell命令没有安装, 可以用yum list搜索下这两个命令的安装包:

[root@hao-02 ~]# yum list |grep zsh

[root@hao-02 ~]# yum list |grep ksh

4. shell有自己的特定语法,比如逻辑判断、循环

8.2 命令历史

1. 查看命令历史内所有命令history

[root@hao-02 ~]# history

2. 查看命令历史存放的文件路径(用户夹目录.bash_history):

ls /用户夹目录/.bash_history

[root@hao-02 ~]# ls /root/.bash_history

注意:非正常命令退出终端,本次输入过的命令,不会保存到这个文件里,再次打开终端,命令历史里也找不到(不完整)!!!

3. 查看命令历史存放文件储存的命令最大数值

[root@hao-02 ~]# echo $HISTSIZE

4. 修改 命令历史存放文件储存的命令最大数值

[root@hao-02 ~]# vi /etc/profile

修改存储最大数值:HISTSIZE=最大数值(数字)

技术分享图片技术分享图片

5. 即刻生效 /etc/profile的修改:

[root@hao-02 ~]# source /etc/profile

6. 环境变量,命令历史命令标记 年月日,时分秒:

[root@hao-02 ~]# HISTTIMEFORMAT="%Y%m%d %H:%M:%S"

7. 修改 命令历史命令标记的日期时间:

[root@hao-02 ~]# vi /etc/profile

插入命令历史命令标记日期时间的环境变量: HISTTIMEFORMAT="%Y%m%d %H:%M:%S"

技术分享图片技术分享图片

8. 即刻生效 /etc/profile的修改:

[root@hao-02 ~]# source /etc/profile

9. .bash_history存放历史命令文件添加特殊权限a(避免被修改删除):

chattr +a  /用户夹目录/.bash_history

[root@hao-02 ~]# chattr +a /root/.bash_history

10. 执行上一条命令!!

[root@hao-02 ~]# !!

11. 执行命令历史编号对应命令!命令历史命令编号

[root@hao-02 ~]# !978

12. 执行ls开头,最近执行过得命令:!ls

[root@hao-02 ~]# !ls

8.3 命令补全和别名

1. 敲一下Tab键: 自动补全命令、路径 、centos7还可以补全参数

2. 敲两下Tab键: 列出以输入的命令为开头的多个命令

3. 敲一下 Tab键,参数可补全,需要安装bash-completion包:

[root@hao-02 ~]# yum install -y bash-completion

4. 重启系统(生效):

[root@hao-02 ~]# reboot

5. 设定 自定义别名命令alias 自定义的别名='原命令'

[root@hao-02 ~]# alias haols='ls'

6. 取消(删除) 自定义别名命令unalias  自定义的别名命令

[root@hao-02 ~]# alias haols

7. 查看 自定义alias(别名命令)存放文件ls  /用户夹目录/.bashrc                            

[root@hao-02 ~]# ls /root/.bashrc

8. 查看 别名命令存放脚步所在目录:

[root@hao-02 ~]# ls /etc/profile.d/

8.4 通配符

1. 当前目录列出,包含.txt的文件(*表示多个任意的字符):

[root@hao-02 ~]# ls *.txt

技术分享图片技术分享图片

2. 当前目录列出, 包含.txt文件(?表示一个任意的字符)

[root@hao-02 ~]# ls ?.txt

技术分享图片技术分享图片

3. 当前目录列出,[]内范围数字包含.txt的文件(数字最大范围0-9)

[root@hao-02 ~]# ls [0-9].txt

技术分享图片技术分享图片

4. 当前目录列出,[]内范围字母包含.txt的文件(字母范围 a-z或A-Z)

[root@hao-02 ~]# ls [a-z].txt

技术分享图片技术分享图片

5. 当前目录列出,[]内范围数字和字母包含.txt的文

[root@hao-02 ~]# ls [0-9a-z].txt

技术分享图片技术分享图片

6. 当前目录列出,[]内数字开头带有.txt的文件(方括号只支持单数,数字最大到9)注意:方括号每个字符之间可不加逗号分割!!!

[root@hao-02 ~]# ls [1,2,3,4,11,22,33,44].txt

技术分享图片技术分享图片

7. 当前目录列出,{}内数字开头带有.txt的文件(花括号支持多位字符)

注意:花括号每个字符之间必须加逗号分割

[root@hao-02 ~]# ls {1,2,3,4,11,22,33,44}.txt

技术分享图片技术分享图片

8.5 输入输出重定向

输出:命令结果,输出到文件

1. 输出重定向注意:>(一个大于号)后面文件原有内容会被删除

前面命令输出结果输出后面文件(原有内容被删): 前面命令 >  后面文件

[root@hao-02 ~]# cat 1.txt > 2.txt

2. 输出追加重定向:注意:>>(两个大于号)后面文件原有内容不会被删除

前面命令输出结果追加到 >后面文件(原有内容不会删): 前面命令 >>  后面文件

[root@hao-02 ~]# cat 1.txt >> 2.txt

3. 输出错误命令重定向

错误命令的输出结果,输出后面文件(原有内容被删):前面错误命令  2>  后面文件

[root@hao-02 ~]# cataa 1.txt  2>  2.txt

4. 输出错误命令追加重定向

错误命令的输出结果追加后面文件(原有内容不会删):前面错误的命令 2>>  后面文件

[root@hao-02 ~]# cataa 1.txt  2>>  2.txt

输入:文件内容,输入到命令

1. 1.txt内容,输入到wc -l命令执行: 命令 <  文件

[root@hao-02 ~]# wc -l <  1.txt


8.1 shell介绍8.2 命令历史8.3 命令补全和别名8.4 通配符8.5 输入输出重定向

标签:参数   shel   mic   reboot   ado   ges   images   字符   输出重定向   

原文地址:http://blog.51cto.com/zhuneianxiang/2059488

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