码迷,mamicode.com
首页 > 其他好文 > 详细

2018-1-10 5周3次课 命令补全、别名、通配符、重定向

时间:2018-01-10 21:37:01      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:信息   directory   pre   最大   www   profile   ext   strong   htm   

8.1 shell介绍


·什么是shell?

- shell是一个命令解释器,提供用户和机器之间的交互

- 支持特定语法,比如逻辑判断、循环

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

- CentOS7默认shell为bash(Bourne Agin Shell)

- 还有zsh、ksh等





8.2 命令历史


方向键↑可以查看历史命令,命令存放在家目录 ~/.bash_history

history命令查看之前的命令, 最大可以存1000条

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

可以存多少条命令是由一个环境变量HISTSIZE决定的

[root@localhost ~]# echo $HISTSIZE
1000


·清空当前内存命令历史 history -c,但是无法清空配置文件bash_history


·执行的命令,并不是实时写入到bash_history中,而是暂时存放在内存中,当退出终端时,才存入


·定义环境变量HISTSIZE      /etc/profile中修改

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

(更改可以保存的最大历史命令数量,可改这里)


想要HISTSIZE生效,需要重新进一下终端,或者执行source /etc/profile

[root@localhost ~]# echo $HISTSIZE
1000
[root@localhost ~]# source /etc/profile
[root@localhost ~]# echo $HISTSIZE
5000


·改变命令历史格式:改变环境变量 HISTTIMEFORMAT

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

想要永久生效,可以写入到 /etc/profie 中去

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

保存退出 source /etc/profile

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

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

永久保存 chattr +a ~/.bash_history,只能追加,不能删除


最后一条命令                                          !!

第n条命令                                              !n

从最后倒着去找以word开头的命令          !word





8.3 命令补全和别名


tab键,敲一下,敲两下


如果有一个相同开头,按一下就会出现;如果有多个相同开头,需要敲两下

CentOS6中只支持命令补全,参数无法补全;CentOS7中支持参数补全

默认不支持参数补全,需要安装bash-completion

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

安装完成后重启系统


·别名 alias别名给命令重新起个名字:alias 别名=‘命令’

[root@localhost ~]# 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'



·各用户都有自己配置别名的文件 ~/.bashrc

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


·其余的别名存放在/etc/profile.d/中

[root@localhost ~]# ls /etc/profile.d/
256term.csh  bash_completion.sh  colorgrep.sh  colorls.sh  lang.sh   less.sh  vim.sh      which2.sh
256term.sh   colorgrep.csh       colorls.csh   lang.csh    less.csh  vim.csh  which2.csh


·自定义的alias放到~/.bashrc


·取消别名 unalias 命令别名

[root@localhost ~]# alias restartnet='systemctl restart network.service'
[root@localhost ~]# 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 restartnet='systemctl restart network.service'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@localhost ~]# unalias restartnet
[root@localhost ~]# 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'





8.4 通配符


*                              任意一个或多个字符

?                              任意一个字符

[0-9]                        范围

[a-z]

[A-Z]

[1-9a-bA-Z]

{1,2....}                      具体数字 (或)





8.5 输入输出重定向


输出重定向:

>                                     前面正确的信息重定向到文本文件中

>>                                   前面正确的信息追加重定向到文本文件中

2>                                   错误重定向到文本文件中

2>>                                 错误追加重定向到文本文件中

&>                                   正确错误都重定向到文本文件中  1>+2>

&>>                                 正确错误都追加重定向到文本文件中

> a.txt 2>b.txt                  正确的输出到a.txt,错误的输出到b.txt


输入重定向:

< 将后面文本文件中的信息输入重定向到前面的命令

wc -l < 1.txt 统计1.txt有多少行

[root@localhost ~]# cat test3
ls: cannot access test: No such file or directory
test2
[root@localhost ~]# cat > newfile < test3
[root@localhost ~]# cat newfile
ls: cannot access test: No such file or directory
test2

这里的先将文件中的数据提取到了命令 cat 中 ,然后由 cat 写入到 newfile 中


参考:https://www.cnblogs.com/divent/p/5773861.html 


2018-1-10 5周3次课 命令补全、别名、通配符、重定向

标签:信息   directory   pre   最大   www   profile   ext   strong   htm   

原文地址:http://blog.51cto.com/11530642/2059591

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