2018-1-10 5周3次课 命令补全、别名、通配符、重定向
2018-01-10 20:57
351 查看
8.1 shell介绍
·什么是shell?
- shell是一个命令解释器,提供用户和机器之间的交互
- 支持特定语法,比如逻辑判断、循环
- 每个用户都可以有自己特定的shell
- CentOS7默认shell为bash(Bourne Agin Shell)
- 还有zsh、ksh等
8.2 命令历史
方向键↑可以查看历史命令,命令存放在家目录 ~/.bash_history
history命令查看之前的命令, 最大可以存1000条
可以存多少条命令是由一个环境变量HISTSIZE决定的
·清空当前内存命令历史 history -c,但是无法清空配置文件bash_history
·执行的命令,并不是实时写入到bash_history中,而是暂时存放在内存中,当退出终端时,才存入
·定义环境变量HISTSIZE /etc/profile中修改
(更改可以保存的最大历史命令数量,可改这里)
想要HISTSIZE生效,需要重新进一下终端,或者执行source /etc/profile
·改变命令历史格式:改变环境变量 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
·别名 alias别名给命令重新起个名字:alias 别名=‘命令’
·各用户都有自己配置别名的文件 ~/.bashrc
·其余的别名存放在/etc/profile.d/中:
·自定义的alias放到~/.bashrc
·取消别名 unalias 命令别名
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
command >1.txt 2>&1 正确的输出到1.txt,错误的输出到通道1,也就是1.txt
输入重定向:
< 将后面文本文件中的信息输入重定向到前面的命令
wc -l < 1.txt 统计1.txt有多少行
参考:https://www.cnblogs.com/divent/p/5773861.html
·什么是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
command >1.txt 2>&1 正确的输出到1.txt,错误的输出到通道1,也就是1.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
相关文章推荐
- shell介绍、历史命令、命令补全和别名、通配符、输入输出重定向
- shell介绍、命令历史、补全和别名、通配符、重定向
- Linux shell基础知识、命令历史、命令补全和别名、通配符、输入输出重定向
- shell介绍、命令历史、命令补全和别名、通配符、输入输出重定向
- linux学习第二十三篇:shell介绍,命令历史,命令补全和别名,通配符,输入输出重定向
- shell介绍、历史命令、命令补全和别名、通配符、输入输出重定向
- shell介绍、命令历史、命令补全和别名、通配符和输入输出重定向
- 记录历史命令,history,命令补全和别名、通配符、输入输出重定向
- shell介绍,命令历史,命令补全和别名 ,通配符, 输入输出重定向
- 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向
- shell介绍、命令历史、命令补全和别名、通配符、输入输出重定向
- Linux笔记(shell基础,历史命令,命令补全/别名,通配符,输出重定向)
- shell介绍,命令历史,命令补全和别名,通配符,输入输出重定向
- 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向
- 11.15 shell介绍 ,命令历史,命令补全和别名,通配符,输入输出重定向
- 五周第三次课(11月15日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向
- shell介绍、命令历史、 命令补全和别名 、通配符 、输入输出重定向
- 五周第三次课 2017.11.15 shell介绍、命令历史、命令补全和别名、通配符、输入输出重定向
- shell介绍 、命令历史、命令补全和别名 、 通配符、输入输出重定向
- Linux shell基础知识、命令历史、命令补全和别名、通配符、输入输出重定向