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

shell介绍

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

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

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

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

  • 还有zsh,ksh等

命令历史 history

[[email protected] ~]# ls /root/.bash_history
/root/.bash_history
[[email protected] ~]# 
  • 最大存1000条。

[[email protected] ~]# echo $HISTSIZE
1000
[[email protected] ~]#
  • 变量HISTSIZE 在/etc/profile中修改

    vi /etc/profile
    找到
    HOSTNAME=`/usr/bin/hostname 2>/dev/null`
    HISTSIZE=1000
    if [ "$HISTCONTROL" = "ignorespace" ] ; then
    如果觉得1000条不够可以改成5000

更改之后必须退出一下终端重新进或者source /etc/profile 才会更改

[[email protected] ~]# echo $HISTSIZE
1000
[[email protected] ~]# source /etc/profile
[[email protected] ~]# echo $HISTSIZE
5000
[[email protected] ~]#
  • 变量重新赋值

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

[[email protected] ~]# history
    1  ls
    2  ls /etc/passwd
    3  cat /etc/passwd
    4  [[email protected] ~]# cat /etc/passwd
    5  root:x:0:0:root:/root:/bin/bash
    6  bin:x:1:1:bin:/bin:/sbin/nologin
    7  daemon:x:2:2:daemon:/sbin:/sbin/nologin
    8  adm:x:3:4:adm:/var/adm:/sbin/nologin
    9  lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

重新赋值之后

[[email protected] ~]# HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
[[email protected] ~]# history
    1  2017/08/30 19:20:18 ls
    2  2017/08/30 19:20:18 ls /etc/passwd
    3  2017/08/30 19:20:18 cat /etc/passwd
    4  2017/08/30 19:20:18 [[email protected] ~]# cat /etc/passwd
    5  2017/08/30 19:20:18 root:x:0:0:root:/root:/bin/bash
    6  2017/08/30 19:20:18 bin:x:1:1:bin:/bin:/sbin/nologin
    7  2017/08/30 19:20:18 daemon:x:2:2:daemon:/sbin:/sbin/nologin
    8  2017/08/30 19:20:18 adm:x:3:4:adm:/var/adm:/sbin/nologin

这时候再打开一个新的终端,这个环境变量是不生效的。

如果想让此环境变量全局生效,需要编辑 /etc/profile把HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "加到里面

fi

HOSTNAME=`/usr/bin/hostname 2>/dev/null`
HISTSIZE=5000
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"
if [ "$HISTCONTROL" = "ignorespace" ] ; then
    export HISTCONTROL=ignoreboth

source /etc/profile后生效

  • 永久保存命令历史

    chattr +a ~/.bash_history

只能追加不能删除

  • 如果没有正常退出,历史命令保存不全

  • !!

    表示运行最后一条历史命令

  • !n

    指定运行历史行数命令

  • !命令

    表示命令历史里面最后一次输入这个命令的命令

命令补全及别名

  • tab键,敲一下,敲两下

  • Centos7 支持参数补全,默认不可以,需要安装yum install -y bash-completion 之后重启下系统才能生效。

  • alias别名,给命令从新起个名字

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

alias 存在用户家目录下的 .bashrc文件里。

还有一些存在 /etc/profile.d/下面

unalias 取消自定义别名

通配符

*

[[email protected] ~]# ls
111  1eer  1.txt  2.txt  anaconda-ks.cfg  erwe
[[email protected] ~]# ls *.txt
1.txt  2.txt
[[email protected] ~]#
[[email protected] ~]# ls 1*
1eer  1.txt

111:
[[email protected] ~]# ls *1*
1eer  1.txt

111:
[[email protected] ~]#

?

问号表示任意一个字符

[[email protected] ~]# ls ?.txt
1.txt  2.txt
[[email protected] ~]# ls *.txt
1.txt  2.txt  bbcc.txt  bb.txt
[[email protected] ~]#

[]

选择范围

[[email protected] ~]# ls [123].txt
1.txt  2.txt
[[email protected] ~]# ls [0-9].txt
1.txt  2.txt
[[email protected] ~]# ls [1].txt
1.txt
[[email protected] ~]# ls [2].txt
2.txt
[[email protected] ~]#

{}

也是选择范围,跟[]差不多,但是中间有逗号

[[email protected] ~]# ls {1,2}.txt
1.txt  2.txt
[[email protected] ~]#

输入输出重定向

>

把>前面的内容删除掉重定向到后面内容去。

>>

把>>前面的内容追加到后面内容去。

2>

表示把运行错误的信息定向到一个文件里

[[email protected] ~]# fddd
-bash: fddd: 未找到命令
[[email protected] ~]# fddd 2> 1.txt
[[email protected] ~]# cat 1.txt
-bash: fddd: 未找到命令

2>>

错误追加重定向

&>

错误和正确都有的输出重定向

[[email protected] ~]# ls [12].txt asffsfs.txt &> 1.txt
[[email protected] ~]# cat 1.txt
ls: 无法访问asffsfs.txt: 没有那个文件或目录
1.txt
2.txt
[[email protected] ~]#

<

输入重定向

把<右边的文件内容输入到<左边的命令里面去

[[email protected] ~]# wc -l < 1.txt
3
[[email protected] ~]#

原文地址:http://blog.51cto.com/11751505/2106029

时间: 2024-10-28 19:36:58

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