shell介绍、命令历史 、 命令补全和别名 、通配符、输入输出重定向

一、shell介绍

二、命令历史

历史命令存放路径 /root/.bash_history ,默认可以存放1000条命令
#history //查看具体的历史命令
[[email protected] ~]# echo $HISTSIZE //系统内置环境变量
1000

#history -c //清空内存中命令历史,但是存放命令的文件不会被删除
#vi /etc/profile // 修改HISTORY环境变量路径/etc/profile,可以吧HISTSIZE=1000改为5000
[[email protected] ~]# source /etc/profile //修改完配置文件需要执行这条命令让配置文件生效
[[email protected] ~]# echo $HISTSIZE
5000

[[email protected] ~]# HISTTIMEFORMAT="%Y/%M/%d %H:%M:%S" //需要查看每条命令的执行时间
[[email protected] ~]# echo $HISTTIMEFORMAT
%Y/%M/%d %H:%M:%S

如果需要让查看每条命令的具体时间永久生效,需要编辑/etc/profile,在HISTSIZE=5000下面添加一行: HISTTIMEFORMAT="%Y/%M/%d %H:%M:%S" 保存退出就可以永久生效

[[email protected] ~]# chattr +a ~/.bash_history //给文件添加隐藏权限,此文件只能追加,不能被删除
如果没有正常退出终端,那么命令在.bash_history文件中就不被保存

[[email protected] ~]# !! //两个感叹号表示执行的上一条命令
[[email protected] ~]# !11 //执行第命令历史中的第11条命令
[[email protected] ~]# !echo //会在命令历史中倒着找第一个以echo开头的命令
[[email protected] ~]# !mkdir //会在命令历史中倒着找第一个以mkdir开头的命令

三、命令补全和别名

在Centos7中,如果需要按Teb键补全参数,如 systemctl restart network这条命令需要补全restart参数,需要安装bash-completion,可以yum安装 # yum install -y bash-completion ,安装完之后需要重启系统生效
#rpm -qa 包名 //查看包有没有安装

[[email protected] ~]# rpm -qa alias restartnet=‘systemctl restart network.service‘
//使用restartnet给‘systemctl restart network.service‘ 这条命令做别名,那么重启网络服务的时候就可以执行restartnet命令来重合器网卡了

[[email protected] ~]# 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 下都有定义alias
#unalias restartnet //取消自定义别名restartnet

四、通配符 、输入输出重定向

表示通配
[[email protected] ~]# ls
.txt //列出.txt所有文件可以使用.txt
11.txt 1.txt 2.txt
[[email protected] ~]# ls
txt //列出.txt所有文件也可以使用txt
11.txt 1.txt 2.txt
[[email protected] ~]# ls
txt //列出.txt所有文件也可以使用txt*
11.txt 1.txt 1.txt.zip 2.txt

[[email protected] ~]# ls 1 //列出以1开头的所有文件可以使用1
11.txt 1.txt 1.txt.zip
123:
333 yum.log

[[email protected] ~]# ls ?.txt //?.txt表示一个任意一个字符的txt文件,?表示任意一个字符
1.txt 2.txt 3.txt 4.txt a.txt

[[email protected] ~]# ls [0-3].txt //查看开头0-3之间的.txt文件,方括号中的0-3取其中一个数字
1.txt 2.txt 3.txt
[[email protected] ~]# ls [123].txt //也可以取方括号中的1 2 3开头所有的.txt文件
1.txt 2.txt 3.txt
[[email protected] ~]# ls [23].txt //例如列出2 3开头的.txt文件
2.txt 3.txt
[[email protected] ~]# ls [0-9a-zA-Z].txt //列出0-9 a-z A-Z的所有.txt文件
1.txt 2.txt 3.txt 4.txt

[[email protected] ~]# ls {1,2}.txt //列出1,2开头的.txt文件,注意花括号中需要加逗号
1.txt 2.txt

#cat 1.txt > 2.xtx //把前面命令的输出直接输入到后面的文件里面,一个大于号会把原来的内容删除
#cat 1.txt >> 2.xtx //两个大于号不会把大于号左边原来的命令删除

#laaaa 2> 1.txt //使用 2> 把一个命令的错误信息输入到1.txt文件中
#laaaa 2>> 1.txt //使用2>>把错误信息追加重定向到1.txt文件中

是输出重定向;>> 是输出追加重定向;2> 是错误重定向;2>> 是错误追加重定向

  • 2> = &>
    例:
    [[email protected] ~]# ls [12].txt aaa.txt &> 3.txt //把[12].txt aaa.txt 的正确信息和错误信息都输入到3.txt文件中
    [[email protected] ~]# cat 3.txt //查看3.txt文件信息
    ls: cannot access aaa.txt: No such file or directory
    1.txt
    2.txt

[[email protected] ~]# ls [12].txt aaa.txt &>> 3.txt //同样支持追加
[[email protected] ~]# cat 3.txt
ls: cannot access aaa.txt: No such file or directory
1.txt
2.txt
ls: cannot access aaa.txt: No such file or directory
1.txt
2.txt

[[email protected] ~]# ls [12].txt aaa.txt > 3.txt 2>4.txt //可以把正确命令输入到3.txt文件中,错误信息输入到4.txt文件中,以后shell脚本中用的多,可以把正确和错误分别指定到不同文件
[[email protected] ~]# cat 3.txt
1.txt
2.txt
[[email protected] ~]# cat 4.txt
ls: cannot access aaa.txt: No such file or directory

< 是输入重定向,小于号左边必须是命令,右边是文件
[[email protected] ~]# wc -l < 3.txt //查看3.txt文件行数
2

原文地址:http://blog.51cto.com/13669226/2106351

时间: 2024-10-28 23:00:18

shell介绍、命令历史 、 命令补全和别名 、通配符、输入输出重定向的相关文章

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

8.1 shell介绍 shell 是一个命令解释器,提供用户和机器之间的交互 支持特定语法,比如逻辑判断,循环 每个用户都可以有自己特定的shell CentOS7默认shell 为bash(Bourne Agin Shell) 还有zsh.ksh等 yum zsh和ksh [[email protected] ~]# yum list |grep zsh zsh.x86_64 5.0.2-25.el7_3.1 updates zsh-html.x86_64 5.0.2-25.el7_3.1

shell介绍、历史命令、命令补全和别名、通配符、输入输出重定向

shell介绍 shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具.实际上,在shell和计算机硬件之间还有一层东西--系统内核. 用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作. Redhat.Centos 默认安装的shell版本是bash,它是sh的增强版. 历史命令 我们执行过的命令Linux都会记录,预设可以记录1000条历史命令.这些命令保存在用户家目录的.bash_h

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

8.1 sehll 介绍 什么是shell shell 是一个命令解释器,提供用户和机器之间交互 支持特定的语法,比如逻辑判断,循环. 每个用户都可以有自己特定的shell. centos7 默认的shell 为bash( Bourne Agin shell ) 还有zsh ,ksh等 8.2 命令历史 /root/.bash_history ;命令历史放置文件 [[email protected] ~]# ls /root/.bash_history/root/.bash_history [[

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

8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 # Linux shell 基础 # 8.1 shell 介绍 - 什么是shell 1. shell 是一个命令解释器,提供用户和机器之间的交互 2. 支持特定语法,比如逻辑判断.循环 3. 每个用户都可以有自己特定的shell 4. CentOS7 默认shell 为bash (Bourne Agin Shell) 5. 还有zsh.ksh等 ``` [[email protected]

shell介绍、命令历史、命令补全和别名、通配符、输入输出重定向

shell介绍 shell是一个命令解释器,提供用户和机器之间的交互,支持特定语法,比如逻辑判断.循环,每个用户都可以有自己特定的shell CentOS7默认shell为bash(Bourne Agin Shell) 还有zsh.ksh等 命令历史 查看历史命令 [[email protected] ~]# cat .bash_history 修改历史记录条数: vi /etc/profile HISTSIZE=1000 修改查看历史记录的格式: /etc/profile中新增: HISTTI

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

8.1 shell介绍 1. shell是一个命令解释器,提供用户和机器之前的交换 2. 每个用户都可以有自己特定的shell 3. CentOS7默认shell是bash(Bourne Agin Shell); shell还有zsh.ksh等 zsh.ksh这两种shell命令没有安装, 可以用yum list搜索下这两个命令的安装包: [[email protected] ~]# yum list |grep zsh [[email protected] ~]# yum list |grep

shell介绍/命令历史/命令补全/通配符/输出输入重定向

shell介绍 * shell是一个命令解释器,提供用户和机器之间的交互. * 支持特定语法,比如逻辑判断.循环. * 每个用户都可以有自己特定的shell. * Centos7默认shell为bash. * 还有zsh.ksh 命令历史 我们在终端上敲过的命令,都有它的历史记录,比如此时按下向上键就会看到你之前最后输入的一条命令,再按就再往前翻,这里就开始学习认识命令历史 使用history命令查看历史命令: [[email protected] ~]# history 这里可以看到我已经输入

五周第三次课(1月10日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向

五周第三次课(1月10日)8.1 shell介绍8.2 命令历史8.3 命令补全和别名8.4 通配符8.5 输入输出重定向 history命令: 用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件. 该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令.例如,要执行第2个历史命令,则输入!2. 历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取.在内存中,历史命令仅能够存储1000条历史命

二十三、shell介绍、命令历史、命令补全和别名、通配符、输入输出重定向

一.shell介绍 shell是系统跟计算机硬件交互使用的中间介质,它只是系统的一个工具.shell和计算机硬件之间还有一层东西--系统内核.若把计算机硬件比作人的躯体,那系统内核就是大脑,shell就是五官.用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作. shell是一个命令解释器,提供用户和机器之间的交互. 每个用户都可以有自己特定的shell. centos7默认的shell为bash(Bou

Linux centos7 shell 介绍、 命令历史、命令补全和别名、通配符、输入输出重定向

一.shell介绍 shell脚本是日常Linux系统管理工作中必不可少的,不会shell,就不是一个合格管理员. shell是系统跟计算机硬件交互使用的中间介质,一个系统工具.实际上在shell和计算机硬件之间还有一层--系统内核.如果吧计算机比作人的躯体,那系统内核就是人的大脑,至于shell,把它比做人的五官更贴切. 其实,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传给系统内核,接着内核再去支配计算机硬件去执行各种操作. CentOS安装的she