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

shell介绍

shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。实际上,在shell和计算机硬件之间还有一层东西——系统内核。

用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作。

Redhat、Centos 默认安装的shell版本是bash,它是sh的增强版。

历史命令

我们执行过的命令Linux都会记录,预设可以记录1000条历史命令。这些命令保存在用户家目录的.bash_history文件中。但是只有当用户正常退出shell时,在当前shell中运行的命令才会保存至.bash_history文件中(正常退出即使用命令exit或logout退出终端,直接关闭远程界面不属于正常退出)。

root用户的命令保存在:/root/.bash_history

普通用户的命令保存在:/home/用户名/.bash_history

可以通过cat /root/.bash_history 来查看历史命令,也可以通过history命令查看历史命令。不过要注意的是,history查看的历史命令与cat/root/.bash_history查看的历史命令可能会不同,因为history命令存放的命令是暂时存在于内存中,只有当你正常退出shell时,在当前shell中运行的命令才会被保存至./bash_history中。

echo $HISTSIZE 可以查看目前可以保存多少条历史命令

history-c 清空内存中的历史命令。但是./root/.bash_history中的历史命令还是存在。

可以通过修改HISTSIZE环境变量来修改命令保存条数。

修改 /etc/profile 文件中的 HISTSIZE 参数可以修改命令保存条数。

修该HISTSIZE后面的数字,可以修改命令保存的条数。

将历史命令保存数量改成5000,保存并退出,执行echo $HISTSIZE发现历史命令保存数量还是1000条。这时需要重启终端,或则执行命令source /root/profile才能生效。

记录命令的运行时间

执行命令:HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"

执行之后只是临时生效,如果换一个终端或重启终端后失效。

如要要永久生效,需要将HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S" 命令放到/etc/profile 文件中。

查看历史命令时就会显示使用命令的时间。

永久保存输入的命令历史

给文件加上隐藏权限a(只能追加,不能删除修改。)

chattr +a /root/.bash_history

!!:连续两个叹号表示执行上一条指令。

!n:n表示数字,表示执行命令历史的第n条指令。

!字符串(字符串大于等于1):!pw执行命令历史中最近一次以pw开头的命令:

命令补全

tab键可以补全命令、路径、文件名。连续按两下tab键,系统则会把所有的命令或者文件都列出来。

当前仅仅支持命令补全,参数是不支持补全的。例如:systemctl restart network.service 命令,第一个system是可以用tab补全的,但之后的restart network.service 是不能补全的。需要安装包 yum install -y bash_completion。重启之后生效。

别名alias

通过alias把一个常用的并且很长的指令另取名为一个简单易记的指令。unalias可以解除别名功能。

只输入alias 可以查看哪些命令用了别名。

alias 别名=‘具体命令‘。  临时有效。

用户文件下的.bashrc文件下配置了几个alias。还有一些在/etc/profile.d/目录下的一些脚本中定义。

删除别名unalias

通配符

在bash下,可以使用*来匹配零个或多个字符,用?匹配一个字符。

输入输出重定向

输入重定向用于改变命令的输入,输出重定向用于改变命令的输出。输出重定向常用于将命令的结果输入到文件中,而不是屏幕上。输入重定向的命令是<,输出重定向的命令是>。错误重定向的命令是2>,追加重定向的命令是>>。

时间: 2024-11-18 20:08:24

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

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

五周第三次课(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

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

shell介绍 shell是一个命令解释器,提供用户与机器之间的交互例如我们远程登录的工具,它其实就是一个shell centos默认的shell是bash(Bourne Agin Shell)· 命令历史 history命令命令历史存在用户家目录下的.bash_history,如root用户就是/root/.bash_history·history可以查看命令历史,.bash_history文件了里最多可以存1000条,它是由环境变量HISTSIZE决定的,不过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