命令历史、别名、通配符

1.shell

Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。

Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。

Linux 的 Shell 种类众多,常见的有:

①Bourne Shell(/usr/bin/sh或/bin/sh)

②Bourne Again Shell(/bin/bash)

③C Shell(/usr/bin/csh)

④K Shell(/usr/bin/ksh)

2.命令历史

在命令行模式下输入的命令会保存在内存中,在用户退出终端的时候,将命令历史保存进/用户家目录/.bash_history这一文件中。

可以通过history命令来查看。history -c 可以青春清除内存中的命令历史,但是不会影响文件中的内容。

[[email protected]_01 ~]# history
    1  cat /root/.bash_history
    2  history

也可以查看文件内容查看命令历史

[[email protected]_01 ~]# cat /root/.bash_history
ls
cd /
ls
dhclient
ip add

但是此处保存的命令历史数量是有限的,¥HISTZIZE的值则是命令数量的值

[[email protected]_01 ~]# echo $HISTSIZE
1000

这一环境变量可以在配置文件/etc/profile中更改

HISTSIZE=1000

在使用history命令的时候,一般只会显示命令历史遗迹默认的编号。

如果需要记录命令执行的时间等信息,可以修改HISTTIMEFORMAT变量

[[email protected]_01 ~]# history
    1  cat /root/.bash_history
    2  history
    3  echo $HISTZIZE
    4  echo $HISTSIZE
    5  cat /root/.bash_history
    6  vi /etc/profile
    7  history
[[email protected]_01 ~]# vi /etc/profile
[[email protected]_01 ~]# HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
[[email protected]_01 ~]# history
    1  2017/11/26 20:58:48 cat /root/.bash_history
    2  2017/11/26 21:04:48 history
    3  2017/11/26 21:08:10 echo $HISTZIZE
    4  2017/11/26 21:08:12 echo $HISTSIZE
    5  2017/11/26 21:12:43 cat /root/.bash_history
    6  2017/11/26 21:16:18 vi /etc/profile
    7  2017/11/26 21:19:27 history
    8  2017/11/26 21:19:31 vi /etc/profile
    9  2017/11/26 21:20:31 HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
   10  2017/11/26 21:20:35 history

但是需要注意的是,这种修改只是临时更改,正在重新登陆终端后则不再有同样效果。

如果需要永久生效,同样编辑/etc/profile文件并将

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

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

完成后,需要执行source以生效

[[email protected]_01 ~]# source /etc/profile
[[email protected]_01 ~]# echo $HISTTIMEFORMAT
%Y/%m/%d %H:%M:%S

※使用技巧

①执行上一条命令:!!

[[email protected]_01 ~]# echo $HISTTIMEFORMAT
%Y/%m/%d %H:%M:%S
[[email protected]_01 ~]# !!
echo $HISTTIMEFORMAT
%Y/%m/%d %H:%M:%S

②执行第n条命令:!n

③执行上一个ls命令:!ls

3.别名

查看系统中的别名可以使用alias命令

[[email protected]_01 ~]# 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下的各个文件中

[[email protected]_01 ~]# ls /etc/profile.d
256term.csh         colorgrep.sh  lang.sh   vim.sh
256term.sh          colorls.csh   less.csh  which2.csh
bash_completion.sh  colorls.sh    less.sh   which2.sh
colorgrep.csh       lang.csh      vim.csh

4.通配符

* - 通配符,代表任意字符(0到多个)
? - 通配符,代表一个字符
# - 注释
/ - 跳转符号,将特殊字符或通配符还原成一般符号
| - 分隔两个管线命令的界定
; - 连续性命令的界定
~ - 用户的根目录
$ - 变量前需要加的变量值
! - 逻辑运算中的"非"(not)
/ - 路径分隔符号
> 重定向

>> 追加重定向

2> 错误重定向

2>>错误追加重定向

&> 错误&正确信息都进行重定向操作
' - 单引号,不具有变量置换功能
" - 双引号,具有变量置换功能
` - quote符号,两个``中间为可以先执行的指令
() - 中间为子shell的起始与结束
[] - 中间为字符组合
{} - 中间为命令区块组合
Ctrl+C - 终止当前命令
Ctrl+D - 输入结束(EOF),例如邮件结束的时候
Ctrl+M - 就是Enter
Ctrl+S - 暂停屏幕的输出
Ctrl+Q - 恢复屏幕的输出
Ctrl+U - 在提示符下,将整行命令删除
Ctrl+Z - 暂停当前命令
&& - 当前一个指令执行成功时,执行后一个指令
|| - 当前一个指令执行失败时,执行后一个指令

时间: 2024-11-02 23:05:31

命令历史、别名、通配符的相关文章

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

Linux学习(二十一)Shell基础(一)认识shell、命令历史、命令补全、别名、通配符、管道符与前后台控制

前言 这个系列我们学习shell的基础知识. 一.认识shell 我们经常使用的终端,其实就是一个shell.Bourne开发的shell原本叫shell,后来再版Bourne Again Shell叫做Bash.我们通常使用的shell就是Bash. 二.命令历史 history命令能够记录我们使用过的命令: [[email protected] ~]# history|tail -n3 803 history|tail -n3 804 history 805 history|tail -n3

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

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

8.1 shell介绍.查找一下有没有这2个安装文件8.2 命令历史环璄1000,所以只能存1000条记录'有时候查到比1000多了,那是因为输入的命令还没有写进这个文件,只存在内存中history -c 是删除内存的记录,不会删除存命令的配置文件只有退出终端的时候才会保存到配置文件里vi /etc/profile修改HISTSIZE=5000,保存退出后要source一下值才会更改改更变量的模式,只在当前的终端生效%Y年份%m月%d日 %H时%M分%S秒要使其它终端生效,就要添加到profil

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