shell特性

查看命令历史

[root@localhost ~]# history
    1  iptables -nvl
    2  iptables -nvL

history快捷键

[root@localhost ~]# !!   表示执行上一条命令
history

[root@localhost ~]# ls
1,ipt  1.ipt  anaconda-ks.cfg  install.log  install.log.syslog
[root@localhost ~]# ls 1.ipt
1.ipt
[root@localhost ~]# cat !$  表示执行上一条命令的最后一个参数
cat 1.ipt
# Generated by iptables-save v1.4.7 on Sun Mar 27 02:13:42 2016
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [41:6216]
-A INPUT -s 192.168.1.110/32 -p tcp -m tcp --dport 80 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Sun Mar 27 02:13:42 2016



[root@localhost ~]# !60  表示执行第六十条命令
ls
1,ipt  1.ipt  anaconda-ks.cfg  install.log  install.log.syslog

[root@localhost ~]# !c  表示执行一C开头最近的一条命令
cat 1.ipt
# Generated by iptables-save v1.4.7 on Sun Mar 27 02:13:42 2016


[root@localhost ~]# !c 表示执行最近的一条以C开头的命令
cat 1.ipt

tab 键可以不全命令或目录


alias做别名

[root@localhost ~]# alias
alias cp='cp -i'
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'

增加一个别名(只在当前终端生效)

[root@localhost ~]# alias aaa='cat 1.txt'
[root@localhost ~]# alias
alias aaa='cat 1.txt'
alias cp='cp -i'
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'

取消一个别名

[root@localhost ~]# unalias aaa
[root@localhost ~]# alias
alias cp='cp -i'
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'

把所有txt的文件显示出来(*)

[root@localhost ~]# ls *.txt
1.txt:

2.txt:

只匹配一个字符(?字母或者数字)

[root@localhost ~]# touch a.txt
[root@localhost ~]# ls ?.txt
a.txt

1.txt:

2.txt:

管道符| 把他的结果丢给另一条命令显示行数

[root@localhost ~]# cat /etc/passwd|wc -l
24


重定向

[root@localhost ~]# cat /etc/passwd > a.txt   会覆盖原来的文件
[root@localhost ~]# echo "qweweqweqw" >a.txt
[root@localhost ~]# cat a.txt
qweweqweqw

重定向不想被覆盖

[root@localhost ~]# echo "qweweqweqw" >>a.txt   追加重定向
[root@localhost ~]# echo "qweweqweqw" >>a.txt
[root@localhost ~]# cat a.txt
qweweqweqw
qweweqweqw
qweweqweqw


反向重定向

[root@localhost ~]# wc -l < a.txt
3

错误重定向

[root@localhost ~]# ls 1111 2> a.txt
[root@localhost ~]# cat a.txt
ls: 无法访问1111: 没有那个文件或目录
[root@localhost ~]# ls 1111 2>> a.txt   不想被覆盖
[root@localhost ~]# cat a.txt
ls: 无法访问1111: 没有那个文件或目录
ls: 无法访问1111: 没有那个文件或目录


快捷键

Ctrl+c

[root@localhost ~]# sleep 100
^Z
[1]+  Stopped                 sleep 100
[root@localhost ~]# jobs                    可以用jobs查看已经stop的任务
[1]+  Stopped                 sleep 100


fg调回到前台

[root@localhost ~]# jobs
[1]   Stopped                 sleep 200
[2]-  Stopped                 sleep 555
[3]+  Stopped                 sleep 666
[root@localhost ~]# fg 3

bg调回到后台运行

[root@localhost ~]# fg 3
sleep 666
^Z
[3]+  Stopped                 sleep 666
[root@localhost ~]# bg
[3]+ sleep 666 &
[root@localhost ~]# jobs
[1]-  Stopped                 sleep 200
[2]+  Stopped                 sleep 555
[3]   Running                 sleep 666 &










你可能感兴趣的:(历史)