bash即文字模式,相当于dos下的提示字元。
[root@localhost root]#
C:\Users\Administrator.SD-20100125BYGO>
全称Bourne again shell
编译语言
在档案里一次处理多个档案
*代表任意
?代表单一字符
[a-z]代表里面的内容
[^a-z],代表除了里面的内容
[root@localhost root]# mkdir /root/tmp
[root@localhost root]# cd /root/tmp
[root@localhost tmp]# ls
[root@localhost tmp]# touch test1.txt test2.txt test3.txt test4.mp3 test5.mp3
[root@localhost tmp]# ls
test1.txt test2.txt test3.txt test4.mp3 test5.mp3
[root@localhost tmp]# ls -l
总用量 0
-rw-r--r-- 1 root root 0 7月 26 16:58 test1.txt
-rw-r--r-- 1 root root 0 7月 26 16:58 test2.txt
-rw-r--r-- 1 root root 0 7月 26 16:58 test3.txt
-rw-r--r-- 1 root root 0 7月 26 16:58 test4.mp3
-rw-r--r-- 1 root root 0 7月 26 16:58 test5.mp3
[root@localhost tmp]# ls *.txt
test1.txt test2.txt test3.txt
[root@localhost tmp]# ls *.mp3
test4.mp3 test5.mp3
[root@localhost tmp]# ls test??.txt
ls: test??.txt: 没有那个文件或目录
[root@localhost tmp]# ls test?.txt
test1.txt test2.txt test3.txt
[root@localhost tmp]# ls test[1-2].*
test1.txt test2.txt
[root@localhost tmp]# ls test[^1-2].*
test3.txt test4.mp3 test5.mp3
[root@localhost tmp]#
tab补齐命令,补齐命令唯一的命令
如果有多个命令,则需按两次TAB key。
[root@localhost tmp]# ls
2006 2006123 test1.txt test2.txt test3.txt test4.mp3 test5.mp3
[root@localhost tmp]# rm 2006
2006 2006123
[root@localhost tmp]# rm 2006
输入history 查询以前使用的命令
再使用“!序号”,执行指定序号那条命令
[root@localhost root]# ping 61.X.X.67
PING 61.X.X.67 (61.X.X.67) 56(84) bytes of data.
64 bytes from 61.X.X.67: icmp_seq=1 ttl=251 time=13.3 ms
64 bytes from 61.X.X.67: icmp_seq=2 ttl=251 time=11.0 ms
--- 61.X.X.67 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 11.087/12.221/13.355/1.134 ms
[root@localhost root]# ^67^97[r1]
ping 61.X.X.97
PING 61.X.X.97 (61.X.X.97) 56(84) bytes of data.
64 bytes from 61.X.X.97: icmp_seq=1 ttl=251 time=40.6 ms
64 bytes from 61.X.X.97: icmp_seq=2 ttl=251 time=170 ms
--- 61.X.X.97 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1010ms
rtt min/avg/max/mdev = 40.689/105.399/170.110/64.711 ms
[root@localhost root]#
[r1]将上条命令的67更改为97执行
使用~回到家目录,只有root账号有权限登陆到其他用户的家目录。
[root@localhost lu]# pwd
/home/lu
[root@localhost lu]# cd ~
[root@localhost root]# cd ~lu
[root@localhost lu]# pwd
/home/lu
[root@localhost lu]#
使用变数时,前面要加$
[root@localhost root]# echo $HOME
/root
[root@localhost root]# cd $HOME
[root@localhost root]#
[root@localhost root]# echo "Hostname:$(hostname)"
Hostname:localhost.localdomain
[root@localhost root]#
使用{}进行排列组合
[root@localhost tmp]# touch {a,b}
[root@localhost tmp]# ls -l
总用量 0
-rw-r--r-- 1 root root 0 7月 26 17:15 2006
-rw-r--r-- 1 root root 0 7月 26 17:15 2006123
-rw-r--r-- 1 root root 0 7月 26 22:54 a
-rw-r--r-- 1 root root 0 7月 26 22:54 b
-rw-r--r-- 1 root root 0 7月 26 16:58 test1.txt
-rw-r--r-- 1 root root 0 7月 26 16:58 test2.txt
-rw-r--r-- 1 root root 0 7月 26 16:58 test3.txt
-rw-r--r-- 1 root root 0 7月 26 16:58 test4.mp3
-rw-r--r-- 1 root root 0 7月 26 16:58 test5.mp3
[root@localhost tmp]# touch a{a,b}
[root@localhost tmp]# ls -l
总用量 0
-rw-r--r-- 1 root root 0 7月 26 17:15 2006
-rw-r--r-- 1 root root 0 7月 26 17:15 2006123
-rw-r--r-- 1 root root 0 7月 26 22:54 a
-rw-r--r-- 1 root root 0 7月 26 22:54 aa
-rw-r--r-- 1 root root 0 7月 26 22:54 ab
-rw-r--r-- 1 root root 0 7月 26 22:54 b
[root@localhost tmp]# ls {a,b}
a b
使用数学运算,$[]
[root@localhost root]# echo $a
3
[root@localhost root]# b=5
[root@localhost root]# echo $b
5
[root@localhost root]# c=7
[root@localhost root]# echo $c
7
[root@localhost root]# echo $[$a + $c]
10
[root@localhost root]# echo $[$c * $b]
35
[root@localhost root]# echo $[$c / $b] //除法,取整
1
[root@localhost root]# echo $[$c % $b] //取余数
2
[root@localhost root]# echo $[$c ** $b] //次方
16807
\叫跳脱字元,escape character
[root@localhost root]# echo Your cost is $5 00
Your cost is 00
[root@localhost root]# echo "Your cost is $5 00"
Your cost is 00
[root@localhost root]# echo "Your cost is \$5 00" //加\避免把$当作变量
Your cost is $5 00
[root@localhost root]# ls \
> -l //如果命令很长时,可以使用\,进行换行输入
总用量 36
-rw-r--r-- 1 root root 1215 2008-10-02 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 7月 24 13:57 doc
-rw-r--r-- 1 root root 0 7月 24 13:50 funny.txt
-rw-r--r-- 1 root root 18275 2008-10-02 install.log
-rw-r--r-- 1 root root 2783 2008-10-02 install.log.syslog
drwxr-xr-x 2 root root 4096 7月 26 22:54 tmp
Single quotes(‘)
Double quotes(“)
使用单引号可以原样输出,使用双引号除了$,\,’,!
[root@localhost root]# echo ** 00000 ** //**表示输出所有文件,接着输出0000,再接着输出所有文件
anaconda-ks.cfg doc funny.txt install.log install.log.syslog tmp 00000 anaconda-ks.cfg doc funny.txt install.log install.log.syslog tmp
[root@localhost root]# echo \*\* 0000 \*\*
** 0000 **
[root@localhost root]# echo "** 0000 **"
** 0000 **
[root@localhost root]# echo '** 0000 **'
** 0000 **
[root@localhost root]#
[root@localhost root]# ping X.X.X.78
PING X.X.X.78 (X.X.X.78) 56(84) bytes of data.
64 bytes from X.X.X.78: icmp_seq=1 ttl=124 time=8.04 ms
64 bytes from X.X.X.78: icmp_seq=2 ttl=124 time=15.6 ms
--- X.X.X.78 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4065ms
rtt min/avg/max/mdev = 7.774/13.423/19.549/4.703 ms
[root@localhost root]# telnet X.X.X.78[r1]
[r1]输入telnet后,空格。按ESC,再按“.”。可以将上个命令的参数自动补齐
预设模式下,bash使用emacs-style作为指令编辑模式
Set –o,查看当前的编辑模式
Set –o vi,切换到VI模式
Set +o vi,关闭vi模式
[root@localhost root]# set -o
allexport off
braceexpand on
emacs on//该种模式
errexit off
hashall on
histexpand on
history on
ignoreeof off
interactive-comments on
keyword off
monitor on
noclobber off
noexec off
noglob off
nolog off
notify off
nounset off
onecmd off
physical off
posix off
privileged off
verbose off
vi off //该种模式
xtrace off
VI模式下,
如果,该行命令输错,需要删除整行,则按ESC,再按两次D。
[root@localhost root]# echo 123456
关闭VI模式
[root@localhost root]# set -o vi
[root@localhost root]# set +o vi
[root@localhost root]# set -o
allexport off
braceexpand on
emacs off
errexit off
hashall on
histexpand on
history on
ignoreeof off
interactive-comments on
keyword off
monitor on
noclobber off
noexec off
noglob off
nolog off
notify off
nounset off
onecmd off
physical off
posix off
privileged off
verbose off
vi off
xtrace off
[root@localhost root]# set 12345
[root@localhost root]# ^[[A //按上下键没有提示
启用了vi后,emacs会自动关闭。再关闭VI后,则两个编辑模式均关闭。
在图形模式下,进入terminal,按ctrl+shif+T,可以增加多个选项卡。
Alt +N(序列号),进行切换
使用ctrl+shift+c,进行复制命令。
使用ctrl+shift+v,进行粘贴
使用ctrl+shift+w,关闭标签