shell基础,命令历史,别名,通配符,输入输出重定向

本文介绍CentOS 7中Shell的基础使用方法,包括命令历史管理、环境变量配置、命令补全、别名设置等内容,并详细讲解如何利用这些功能提高工作效率。

shell是一个命令解释器,是用户跟计算机硬件交互的工具。
Centos7默认的shell是bash(Bourne Agin shell)

命令历史

敲过的命令保存在用户的家目录下。/root/.bash_history,当然其他用户在/home/user/.bash_history中
环境变量中history命令,最大为一千条

[root@shuai-01 ~]# echo $HISTSIZE
1000

清空缓存中的历史命令(缓存中的历史命令会在退出终端时保存到.bash_history中去)

[root@shuai-01 ~]# history -c

环境变量HISTSIZE在/etc/profile中定义
给历史命令加上时间
用vim打开文件/etc/profile

HISTSIZE=1000
HISTTIMEFORMAT=”%Y/%m/%d %H:%M:%S ”
在HISTSIZE下加上一条HISTTIMEFORMAT=”%Y/%m/%d %H:%M:%S ”
保存退出
运行命令

[root@shuai-01 ~]# source /etc/profile

这是历史命令就加上了时间

[root@shuai-01 ~]# history
   14  2017/11/15 23:08:37 vim /etc/profile
   15  2017/11/15 23:11:11 source /etc/profile
   16  2017/11/15 23:11:46 history

永久保存历史命令(不允许删除历史命令)
只用给.bash_history加一个特殊权限a

[root@shuai-01 ~]# chattr +a ./.bash_history

几个和历史命令有关的特殊字符

!! : 表示执行上一条命令
!n : 执行历史命令中的第n条
!ls :执行最近的一次ls命令,包括命令后面的参数。

命令补全及别名

命令补全tab键,tab键不仅可以补全命令还可以补全文件路径,待到centos7时,都可以补全参数了。这个就很强大了!
要补全参数,先安装一个包

[root@shuai-01 ~]# yum indtall -y bash-completion

这里写图片描述

安装完成后重启机器,就能补全参数了。

这里写图片描述

alias别名
经常使用的一条很长的命令,这时就可以使用别名,下次使用时,就只用输入别名就行了。
查看系统别名

[root@shuai-01 ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

别名的定义文件(/root/.bashrc文件 or /etc/profile.d目录下的一些文件)

[root@shuai-01 ~]# cat ./.bashrc
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

定义别名:alias [别名名称]=[‘具体命令’]

通配符

“*”表示匹配零个或多个字符

[root@shuai-01 ~]# ls *.txt
123.txt  1.txt

“?”表示一个任意的字符

[root@shuai-01 ~]# ls ?.txt
1.txt

“[0-9]”表示匹配0-9这个范围的数
“[a-z]”表示匹配a-z这个范围的字母
“[123]”表示或者是1或者是2或者是3
输入输出重定向

“>”输出重定向
echo “123”> 1.txt
把123写进1.txt中,但是删除1.txt中原来的文件
“>>”追加重定向
echo “123”>> 1.txt
把123追加1.txt,不删除1.txt中原来的文件
“2>”or“” 错误(错误信息)重定向
“2>>”错误(错误信息)追加重定向
“>+2> == &> ”正确和错误全部都重定向

 [root@shuai-01 ~]# cat 2.txt
ls: 无法访问a.txt: 没有那个文件或目录
1.txt

将正确和错误的信息保存在指定的文件里

[root@shuai-01 ~]# ls 1.txt b.txt > 2.txt 2>3.txt
[root@shuai-01 ~]# cat 2.txt
1.txt
[root@shuai-01 ~]# cat 3.txt
ls: 无法访问b.txt: 没有那个文件或目录

把正确和错误全都重定向到一个文件中

[root@shuailinux-01 ~]# ls &>>a.txt
[root@shuailinux-01 ~]# ls >a.txt 2>a.txt

“<”输入重定向
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值