ls –help  扶助文书档案

五周第二回课(3月二十一日)
澳门金沙国际 ,8.1 shell介绍
8.2 命令历史
8.3 命令补全和别称
8.4 通配符
8.5 输入输出重定向

假使您时不时选拔 Linux 命令行,那么使用
history(历史)命令能够有效地升级你的频率。本文将透超过实际例的点子向您介绍
history 命令的 15 个用法。
利用 HISTTIMEFO景逸SUVMAT 彰显时间戳
当您从命令行执行 history
命令后,日常只会来得已执行命令的序号和指令本人。若是您想要查看命令历史的时日戳,那么能够进行:
# export HISTTIMEFORMAT=%F %T
# history | more
1 2008-08-05 19:02:39 service network restart
2 2008-08-05 19:02:39 exit
3 2008-08-05 19:02:39 id
4 2008-08-05 19:02:39 cat /etc/redhat-release
利用 Ctrl+汉兰达 搜索历史
Ctrl+牧马人是小编时时采用的贰个连忙键。此火速键让你对命令历史实行搜索,对于想要重复执行有些命令的时候尤其实用。当找到命令后,常常再按回车键就可以实施该命令。如果想对找到的指令实行调整后再举行,则能够按一下左或右手向键。
# [Press Ctrl+R from the command prompt, which will display the
reverse-i-search prompt]
(reverse-i-search)`red‘: cat /etc/redhat-release
[Note: Press enter when you see your command, which will execute the
command from the history]
# cat /etc/redhat-release
Fedora release 9 (Sulphur)
火速重复执行上一条命令
有 4 种方法能够另行执行上一条命令:
行使上方向键,并回车执行。
按 !! 并回车执行。
输入 !-1 并回车执行。
按 Ctrl+P 并回车执行。
从命令历史中实践多少个内定的一声令下
在上边包车型地铁例子中,如果你想再次执行第 4 条命令,那么能够执行 !4:
# history | more
1 service network restart
2 exit
3 id
4 cat /etc/redhat-release
# !4
cat /etc/redhat-release
Fedora release 9 (Sulphur)
通过点名关键字来执行从前的下令
在下边的例证,输入 !ps 并回车,将履行以 ps 打头的授命:
# !ps
ps aux | grep yp
root 16947 0.0 0.1 36516 1264 ? Sl 13:10 0:00 ypbind
root 17503 0.0 0.0 4124 740 pts/0 S+ 19:19 0:00 grep yp
选用 HISTSIZE 控制历史命令记录的总店数
将上面两行内容扩展到 .bash_profile 文件并再次登录 bash
shell,命令历史的记录数将变成 450 条:
# vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450
运用 HISTFILE 更改历史文件名称
私下认可景况下,命令历史存款和储蓄在 ~/.bash_history 文件中。添加下列内容到
.bash_profile 文件比量齐观复登录 bash shell,将应用 .commandline_warrior
来储存命令历史:
# vi ~/.bash_profile
HISTFILE=/root/.commandline_warrior
选用 HISTCONTROL 从命令历史中删除一而再重复的条款
在上面的例子中,pwd 命令被一而再实施了三回。执行 history
后您晤面到三条重复的条目。要去除那个重新的条规,你能够将 HISTCONTROL
设置为 ignoredups:
# pwd
#五周第二回课,基础命令2。 pwd
# pwd
# history | tail -4
44 pwd
45 pwd
46 pwd [Note that there are three pwd commands in history, after
executing pwd 3 times as shown above]
47 history | tail -4
# export HISTCONTROL=ignoredups
# pwd
# pwd
# pwd
# history | tail -3
56 export HISTCONTROL=ignoredups
57 pwd [Note that there is only one pwd command in the history, even
after executing pwd 3 times as shown above]
58 history | tail -4
利用 HISTCONTROL 清除整个命令历史中的重复条目
上例中的 ignoredups
只好剔除一而再的双重条目。要清除整个命令历史中的重复条目,能够将
HISTCONTROL 设置成 erasedups:
# export HISTCONTROL=erasedups
# pwd
# service httpd stop
# history | tail -3
38 pwd
39 service httpd stop
40 history | tail -3
# ls -ltr
# service httpd stop
# history | tail -6
35 export HISTCONTROL=erasedups
36 pwd
37 history | tail -3
38 ls -ltr
39 service httpd stop
[Note that the previous service httpd stop after pwd got erased]
40 history | tail -6
利用 HISTCONTROL 强制 history 不记住特定的授命
将 HISTCONTROL 设置为
ignorespace,并在不想被记住的下令前面输入多个空格:
# export HISTCONTROL=ignorespace # ls -ltr # pwd # service httpd
stop [Note that there is a space at the beginning of service, to ignore
this command from history] # history | tail -3 67 ls -ltr 68 pwd 69
history | tail -3
应用 -c 选项清除全数的通令历史
万一你想解除全部的一声令下历史,能够推行:
# history -c
命令替换
在上边包车型大巴例证里,!!:$ 将为当下的一声令下获得上一条命令的参数:
# ls anaconda-ks.cfg
anaconda-ks.cfg
# vi !!:$
vi anaconda-ks.cfg
下例中,!^ 从上一条命令得到第3项参数:
# cp anaconda-ks.cfg anaconda-ks.cfg.bak
anaconda-ks.cfg
# vi -5 !^
vi anaconda-ks.cfg
为特定的授命替换钦点的参数
在下边包车型客车例子,!cp:2 从命令历史中搜寻以 cp
伊始的通令,并赢得它的第壹项参数:
# cp ~/longname.txt /really/a/very/long/path/long-filename.txt
# ls -l !cp:2
ls -l /really/a/very/long/path/long-filename.txt
下例里,!cp:$ 获取 cp 命令的末梢一项参数:
# ls -l !cp:$
ls -l /really/a/very/long/path/long-filename.txt
使用 HISTSIZE 禁用 history
设若你想禁止使用 history,能够将 HISTSIZE 设置为 0:
# export HISTSIZE=0
# history
# [Note that history did not display anything]
动用 HISTIGNORE 忽略历史中的特定命令
上面包车型地铁事例,将忽略 pwd、ls、ls -ltr 等一声令下:
# export HISTIGNORE=”pwd:ls:ls -ltr:”
# pwd
# ls
# ls -ltr
# service httpd stop
# history | tail -3
79 export HISTIGNORE=”pwd:ls:ls -ltr:”
80 service httpd stop
81 history
[Note that history did not record pwd, ls and ls -ltr]

Linux小技巧之history命令用法15例

man ls    手册(manual)

history命令:

用于呈现钦点数量的下令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。

Linux 命令行,那么使用
history(历史)命令能够使得地进步你的作用。本文将由此实例的法门向你介绍
history 命令的 15 个用…

 

B  上翻   F  下翻

该命令独立使用时,仅显示历史命令,在命令行中,能够运用标志!执行钦点序号的野史命令。例如,要履行第二个历史命令,则输入!2。

作为Linux系统工程师,在分析类其他平安或故障难题时,平时会利用history(历史)命令查看系统的历史操作记录,那篇文章将由此实例的方式向你介绍history命令相关的1陆个小技巧……

Tab 自动补全

正史命令是被保存在内部存储器中的,当退出大概登录shell时,会自行保存或读取。在内部存款和储蓄器中,历史命令仅可以存款和储蓄1000条历史命令,该数额是由环境变量HISTSIZE实行支配。

 

cat 查看文件里的剧情

语法
history(选项)(参数)
选项
-c:清空当前历史命令;
-a:将历史命令缓冲区中命令写入历史命令文件中;
-r:将历史命令文件中的命令读入当前正史命令缓冲区;
-w:将眼下正史命令缓冲区命令写入历史命令文件中。
参数
n:打字与印刷近期的n条历史命令。

  1. 运用 HISTTIMEFO奇骏MAT 显示时间戳

history 历史命令

实例
使用history命令呈现近来应用的10条历史命令,输入如下命令:

当您从命令行执行 history
命令后,经常只会来得已执行命令的序号和下令自个儿。假使您想要查看命令历史的年华戳,那么能够进行:

!+号 执行历史命令

[root@localhost ~]# history
10

92 ls
93 cd ..
94 ls
95 exit
96 ls -a
97 cd .ssh/
98 ls
99 cat known_hosts
100 exit
101 history 10

 

上下键能够运用历史命令

 

# export HISTTIMEFORMAT=’%F %T ‘

 

# history | more

[BEGIN] 2018/1/10 21:11:47
Last login: Wed Jan 10 21:08:11
2018

[root@localhost ~]# yum list |grep
zsh

autojump-zsh.noarch 22.3.0-3.el7 epel
zsh.x86_64 5.0.2-28.el7 base
zsh-html.x86_64 5.0.2-28.el7 base
zsh-lovers.noarch 0.9.0-1.el7 epel
[root@localhost ~]# yum list |grep
ksh

ksh.x86_64 20120801-34.el7 base
mksh.x86_64 46-5.el7 base
python-XStatic-Rickshaw.noarch
1.5.0.0-4.el7 epel

python-moksha-common.noarch 1.2.3-2.el7
epel

python-moksha-hub.noarch 1.5.3-2.el7
epel

python-moksha-wsgi.noarch 1.2.2-2.el7
epel

[root@localhost ~]# ls
/root/.bash_history

/root/.bash_history
[root@localhost ~]# cat !$
cat /root/.bash_history
ls -l
chown :root /tmp/admin2
ls -l
chown-R root :root
/tmp/admin2

chown -R root :root
/tmp/admin2

chown -R root:root
/tmp/admin2

ls -l
mv CentOS7-Base-163.repo
CentOS7-Base-163.repo.123

yum clean all
yum repolist all
yum install zsh
mv CentOS7-Base-163.repo.123
CentOS7-Base-163.repo

yum repolist all
yum clean all
yum install zsh
yum install -y wget
ls
yum install -y epel-release
ls
yum list
yum list |grep epel
yum install zsh
–downloadonly

ls /
ls
/var/cache/yum/x86_64/7/updates/packages/

ls
/var/cache/yum/x86_64/7/base/packages/

yum install zsh –downloadonly
–downloaddir=/tmp/

ls /tmp/
yum install vim-enhanced –downloadonly
–downloaddir=/tmp/

yum reinstall vim-enhanced
–downloadonly –downloaddir=/tmp/

ls /tmp/
cd
cd /usr/local/src/
ls
wget

wget

wget
wget

ls
tar -zxvf httpd-2.2.34.tar.gz
ls
cd httpd-2.2.34
ls
more README
./configure
–prefix=/usr/local/apache2

echo $?
yum install gcc
./configure
–prefix=/usr/local/apache2

echo $?
make
echo $?
make install
echo $?
ls
ls /usr/local/apache2/
ip add
init 0
[root@localhost ~]#
history

3 ls -l
4 chown-R root :root
/tmp/admin2

5 chown -R root :root
/tmp/admin2

6 chown -R root:root
/tmp/admin2

7 ls -l
8 touch 11.txt
9 ls -l 11.txt
10 mkdir 123
11 ls -ld 123
12 umask
13 umask 002
14 touch 21.txt
15 ls -l 21.txt

1 2008-08-05 19:02:39 service network restart

990 make
991 echo $?
992 make install
993 echo $?
994 ls
995 ls /usr/local/apache2/
996 ip add
997 init 0
998 yum list |grep zsh
999 yum list |grep ksh
1000 ls /root/.bash_history
1001 cat
/root/.bash_history

1002 history
[root@localhost ~]# echo
$HISTSIZE

1000
[root@localhost ~]# vi
/etc/profile

[root@localhost ~]# echo
$HISTSIZE

1000
[root@localhost ~]# source
/etc/profile

[root@localhost ~]# echo
$HISTSIZE

10000
[root@localhost ~]#
history

7 ls -l
8 touch 11.txt
9 ls -l 11.txt
10 mkdir 123
11 ls -ld 123
12 umask
13 umask 002
14 touch 21.txt
15 ls -l 21.txt
16 mkdir 332
17 ls -ld 332
18 umask 003
19 umask
20 ls
21 touch 1.txt
22 ls -l
23 ls -l
24 chattr +i 1.txt
25 vi 1.txt
26 head -n2 /etc/passwd > 1

2 2008-08-05 19:02:39 exit

1000 ls /root/.bash_history
1001 cat
/root/.bash_history

1002 history
1003 echo $HISTSIZE
1004 vi /etc/profile
1005 echo $HISTSIZE
1006 source /etc/profile
1007 echo $HISTSIZE
1008 history
[root@localhost ~]# vim
/etc/profile

[root@localhost ~]# source
/etc/profile

[root@localhost ~]# chattr +a
~/.bash_history

[root@localhost ~]# yum install -y
bash-completion

已加载插件:fastestmirror
base | 3.6 kB 00:00:00
epel/x86_64/metalink | 7.2 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/2): epel/x86_64/updateinfo | 868 kB
00:00:00

(2/2): epel/x86_64/primary_db | 6.2 MB
00:00:01

Loading mirror speeds from cached
hostfile

* epel: mirrors.sohu.com
正在消除信赖关系
–> 正在检查工作
—> 软件包
bash-completion.noarch.1.2.1-6.el7 将被 安装

–> 消除信赖关系完结

3 2008-08-05 19:02:39 id

凭借关系解决

4 2008-08-05 19:02:39 cat /etc/redhat-release

================================================================================================
Package 架构 版本 源 大小
================================================================================================
正在设置:
bash-completion noarch 1:2.1-6.el7 base
85 k

 

作业概要
================================================================================================
安装 1 软件包

留神:这一个成效只好用在当 HISTTIMEFO哈弗MAT
这一个环境变量被设置之后,之后的那多少个新实施的 bash
命令才会被打上正确的年月戳。以前的持有命令,都将会彰显成设置
HISTTIMEFO冠道MAT 变量的岁月。

总下载量:85 k
安装大小:259 k
Downloading packages:
bash-completion-2.1-6.el7.noarch.rpm |
85 kB 00:00:00

Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在设置 :
1:bash-completion-2.1-6.el7.noarch 1/1

验证中 :
1:bash-completion-2.1-6.el7.noarch 1/1

 

已安装:
bash-completion.noarch 1:2.1-6.el7

  1. 应用 Ctrl+君越 搜索历史

完毕!
[root@localhost ~]# exit
登出

Ctrl+帕杰罗是自作者时时利用的1个连忙键。此火速键让你对命令历史进行检索,对于想要重复执行有个别命令的时候12分管用。当找到命令后,常常再按回车键就足以推行该命令。若是想对找到的命令进行调整后再实施,则足以按一下左或右手向键。

[BEGIN] 2018/1/10 22:13:22
Last login: Wed Jan 10 21:11:32 2018
from 192.168.183.1

[root@localhost ~]#
history

1 2018/01/10 22:13:22ls -l
2 2018/01/10 22:13:22chown :root
/tmp/admin2

3 2018/01/10 22:13:22ls -l
4 2018/01/10 22:13:22chown-R root :root
/tmp/admin2

5 2018/01/10 22:13:22chown -R root
:root /tmp/admin2

6 2018/01/10 22:13:22chown -R root:root
/tmp/admin2

7 2018/01/10 22:13:22ls -l

 

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’

]0;root@localhost:~[root@localhost
~]#

# [Press Ctrl+R from the command prompt, which will display the
reverse-i-search prompt]

 

(reverse-i-search)`red‘: cat /etc/redhat-release

澳门金沙国际 1

[Note: Press enter when you see your command, which will execute the
command from the history]

 

# cat /etc/redhat-release

澳门金沙国际 2

Fedora release 9 (Sulphur)

 

 

 

  1. 敏捷重复执行上一条命令

澳门金沙国际 3

有4种办法能够重新执行上一条命令:

 

 

澳门金沙国际 4

选拔上方向键,并回车执行。

 

按 !! 并回车执行。

澳门金沙国际 5

输入 !-1 并回车执行。

 

按 Ctrl+P 并回车执行。

 

  1. 从命令历史中施行2个钦命的吩咐

 

在下边包车型客车例子中,假如您想再也执行第 4 条命令,那么可以举行 !4:

 

# history | more

1 service network restart

2 exit

3 id

4 cat /etc/redhat-release

# !4

cat /etc/redhat-release

Fedora release 9 (Sulphur)

 

  1. 透过点名关键字来实施在此以前的吩咐

在下边的例证,输入 !ps 并回车,将实施以 ps 打头的通令:

 

# !ps

ps aux | grep yp

root 16947 0.0 0.1 36516 1264 ? Sl 13:10 0:00 ypbind

root 17503 0.0 0.0 4124 740 pts/0 S+ 19:19 0:00 grep yp

 

  1. 应用HISTSIZE控制历史命令记录的母企业数

将上边两行内容扩充到 .bash_profile 文件相提并论复登录 bash
shell,命令历史的记录数将改成 450 条:

 

# vi ~/.bash_profile

HISTSIZE=450

HISTFILESIZE=450

 

  1. 利用HISTFILE更改历史文件名称

默许意况下,命令历史存款和储蓄在 ~/.bashhistory 文件中。添加下列内容到
.bashprofile 文件一视同仁复登录 bash shell,将动用 .commandline_warrior
来存款和储蓄命令历史:

 

# vi ~/.bash_profile

HISTFILE=/root/.commandline_warrior

 

  1. 运用HISTCONTROL从命令历史中剔除三番五次重复的条目

 

在底下的事例中,pwd 命令被接连实施了3遍。执行 history
后你会看出三条重复的条规。要删减那个重新的条文,你能够将 HISTCONTROL
设置为 ignoredups:

 

# pwd

# pwd

# pwd

# history | tail -4

44 pwd

45 pwd

46 pwd [Note that there are three pwd commands in history, after
executing pwd 3 times as shown above]

47 history | tail -4

# export HISTCONTROL=ignoredups

# pwd

# pwd

# pwd

# history | tail -3

56 export HISTCONTROL=ignoredups

57 pwd [Note that there is only one pwd command in the history, even
after executing pwd 3 times as shown above]

58 history | tail -4

 

  1. 选取HISTCONTROL清除整个命令历史中的重复条目

上例中的 ignoredups
只好剔除一而再的再次条目。要清除整个命令历史中的重复条目,能够将
HISTCONTROL 设置成 erasedups:

 

# export HISTCONTROL=erasedups

# pwd

# service httpd stop

# history | tail -3

38 pwd

39 service httpd stop

40 history | tail -3

# ls -ltr

# service httpd stop

# history | tail -6

35 export HISTCONTROL=erasedups

36 pwd

37 history | tail -3

38 ls -ltr

39 service httpd stop

[Note that the previous service httpd stop after pwd got erased]

40 history | tail -6

 

  1. 选用HISTCONTROL强制history不记住特定的下令

将 HISTCONTROL 设置为
ignorespace,并在不想被铭记的授命前面输入贰个空格:

 

# export HISTCONTROL=ignorespace

# ls -ltr

# pwd

# service httpd stop [Note that there is a space at the beginning of
service, to ignore this command from history]

# history | tail -3

67 ls -ltr

68 pwd

69 history | tail -3

 

  1. 行使 -c 选项清除全数的下令历史

万一你想排除全数的指令历史,能够推行:

 

# history -c

 

  1. 指令替换

在上面的事例里,!!:$ 将为当前的指令获得上一条命令的参数:

 

# ls anaconda-ks.cfg

anaconda-ks.cfg

# vi !!:$

vi anaconda-ks.cfg

 

补充:使用 !$ 能够高达相同的效用,而且更不难。[谢谢 wanzigunzi
读者补充]

 

下例中,!^ 从上一条命令拿到第贰项参数:

 

# cp anaconda-ks.cfg anaconda-ks.cfg.bak

anaconda-ks.cfg

# vi -5 !^

vi anaconda-ks.cfg

 

  1. 为一定的吩咐替换钦赐的参数

在底下的事例,!cp:2 从命令历史中寻找以 cp
伊始的通令,并获取它的第③项参数:

 

# cp ~/longname.txt /really/a/very/long/path/long-filename.txt

# ls -l !cp:2

ls -l /really/a/very/long/path/long-filename.txt

 

下例里,!cp:$ 获取 cp 命令的结尾一项参数:

 

# ls -l !cp:$

ls -l /really/a/very/long/path/long-filename.txt

 

  1. 使用 HISTSIZE 禁用 history

假使你想禁止使用 history,能够将 HISTSIZE 设置为 0:

 

# export HISTSIZE=0

# history

# [Note that history did not display anything]

 

  1. 采用HISTIGNORE忽略历史中的特定命令

上面包车型地铁事例,将忽略 pwd、ls、ls -ltr 等一声令下:

 

# export HISTIGNORE=”pwd:ls:ls -ltr:”

# pwd

# ls

# ls -ltr

# service httpd stop

# history | tail -3

79 export HISTIGNORE=”pwd:ls:ls -ltr:”

80 service httpd stop

81 history

[Note that history did not record pwd, ls and ls -ltr]

作为Linux系统工程师,在分析系统的平安或故障难点时,平常会选拔history(历史)命令查看系统的野史操作…

相关文章