20.Shell介绍,history,Tab键,通配符,重定向

五周第三次课(1月10日)

8.1 shell介绍

8.2 命令历史

8.3 命令补全和别名

8.4 通配符

8.5 输入输出重定向

shell介绍

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

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

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

CentOS7默认shell为bash(Bourne Agin Shell)

还有zsh、ksh等

命令历史

  • history命令
[[email protected] ~]# history
    1  vi /etc/sysconfig/network-scripts/ifcfg-ens33
    2  systemctl restart network.service
    3  ip addr
    4  ping -c 4 www.baidu.com
    5  yum groupinstall -y "GNOME Desktop"
    6  init5
    7  init 5
    8  vi /root/.ssh/authorized_keys
    9  setenforce 0
   10  vi /etc/selinux/config
   11  mkdir /root/.ssh
  • .bash_history 最大1000条

    [[email protected] ~]# echo $HISTSIZE
    1000  //运行的命令只能保存1000条
  • history -c,内存中的命令清空
    [[email protected] ~]# history -c
    [[email protected] ~]# history
    1  history
  • cat .bash_history 查看history配置文件,并未被清空
[[email protected] ~]# cat .bash_history
vi /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network.service
ip addr
ping -c 4 www.baidu.com
yum groupinstall -y "GNOME Desktop"
init5
init 5
vi /root/.ssh/authorized_keys
setenforce 0
vi /etc/selinux/config
mkdir /root/.ssh
chmod 700 /root/.ssh
vi /root/.ssh/authorized_keys
ssh -v
yum install -y openssh-client
yum install -y openssh-clients
init 5
init 6
  • 变量HISTSIZE
    /etc/profile中修改,修改完成用source命令才能完成更新


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

[[email protected] ~]# echo $HISTSIZE
1000
[[email protected] ~]# source /etc/profile
[[email protected] ~]# echo $HISTSIZE
5000
  • 改变环境变量HISTIMEFORMAT的定义,从而改变history的格式

    [[email protected] ~]# HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
    [[email protected] ~]# echo $HISTTIMEFORMAT
    %Y/%m/%d %H:%M:%S
    [[email protected] ~]# history
    1  2018/01/10 23:18:28 history
    2  2018/01/10 23:20:12 cat bash_history
    3  2018/01/10 23:20:38 cat .bash_history
    4  2018/01/10 23:25:45 ls -l .bash_history
    5  2018/01/10 23:25:49 ls
    6  2018/01/10 23:26:44 vi /etc/profile
    7  2018/01/10 23:32:44 echo $HISTSIZE
    8  2018/01/10 23:33:02 source /etc/profile
    9  2018/01/10 23:33:05 echo $HISTSIZE

    新建一个ssh channel后就不在有用了,为了彻底改变,需要对/etc/profile再次编辑

[[email protected] ~]# vim /etc/profile
[[email protected] ~]# source !$
source /etc/profile

  • 永久保存 chattr +a ~/.bash_history
  • 非正常关机退出,命令保存的不全
  • !! 表示执行上一条命令
  • !n 表示执行命令历史中的第几条指令
  • !word 表示执行命令历史中最近一次以word开头的命令

    命令补全及别名

  • tab键,敲一下,补全指令
    敲两下,系统会把所有的命令文件名列出来
  • 参数补全,安装bash-completion
[[email protected] ~]# yum install -y bash-completion
  • 当不清楚命令时,利用tab键来讲命令不全
[[email protected] ~]# systemctl res
rescue        reset-failed  restart
[[email protected] ~]# systemctl restart network
network-online.target  network.service
[[email protected] ~]# systemctl restart network.service
  • alias别名给命令重新起个名字
[[email protected] ~]# alias restartnet=‘systemctl restart network.service‘
[[email protected] ~]# restartnet
  • 有哪些alias命令

    [[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‘
    • 各用户都有自己配置别名的文件 ~/.bashrc

  • ls /etc/profile.d/
    自定义的alias放到~/.bashrc
  • unalias取消别名
[[email protected] profile.d]# unalias restartnet
[[email protected] profile.d]# restartnet
bash: restartnet: 未找到命令...

通配符、输入输出重定向

  • [ ] ls .txt //用来匹配零个或多个字符
  • [ ] ls ?.txt //用?匹配一个字符
  • [ ] ls [0-9].txt ; ls [12].txt //范围&或者
  • [ ] ls {1,2}.txt //
  • [ ] cat 1.txt >2.txt //前命令的结果定向到后面的文档中,原文档删除
  • [ ] cat 1.txt >> 2.txt //追加,原文档不删除
  • [ ] ls aaa.txt 2>err
[[email protected] profile.d]# lsaa
bash: lsaa: 未找到命令...
[[email protected] profile.d]# lsaa 2>a.txt
[[email protected] profile.d]# cat a.txt
bash: lsaa: 未找到命令...
  • [ ] ls aaa.txt 2>>err
  • [ ] wc -l < 1.txt
  • [ ] command >1.txt 2>&1

原文地址:http://blog.51cto.com/12995218/2059673

时间: 2024-10-08 18:39:30

20.Shell介绍,history,Tab键,通配符,重定向的相关文章

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 [[

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

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

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

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

shell介绍,命令历史记录,命令和文件名自动补齐;通配符和输入\输出重定向

shell介绍 Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行.在计算机硬件之间还有一层东西--系统内核.如果把计算机硬件比作一个人的躯体,那系统内核就是人的大脑.至于shell,把它比作人的五官似乎更贴切些.言归正传,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传给系统内核,接着内核再去支配计算机硬件去执行各种操作.Bash (GNU Bourne-Again Shell) 是许多Linux

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介绍 命令历史 命令补全和别名 通配符 输入输出重定向

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,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作. shell是一个命令解释器,提供用户和机器之间的交互. 每个用户都可以有自己特定的shell. centos7默认的shell为bash(Bou