正确的使用键盘上的符号可以在帮助你在编写简单脚本时充分应用各种技巧
Tab 用于自动补齐一个命令和路径或文件名
root@localhost ~# user 在输入user 后连按键盘上的Tab键两下,可以将以user开头的命令列出
root@localhost ~# usera
在输入usera后连按键盘上的Tab键一下,可以将以usera开头的命令useradd命令自动补齐
root@localhost ~# useradd
在输入useradd后连按键盘上的Tab键两下,可以将当前目录下的所有文件和目录列出
~ 这个符号代表用户自己的home目录
root@localhost ~# cd /
root@localhost ~# pwd
root@localhost ~# cd ~
root@localhost ~# pwd
! 在一个命令前加上这个符号可以在命令的历史记录中调用上一个以这个命令开头的命令 root@localhost ~# find
/root/install.log
root@localhost ~# file /root/install.log
root@localhost ~# !f 在个命令将调用file /root/install这个查找文件的命令
root@localhost ~# !fi 在个命令将调用file /root/install这个查找文件的命令
root@localhost ~# !fin 在个命令将调用find /root/install这个查找文件的命令
$ 用于引用一个变量
root@localhost ~# myhost=www.liuziyang.cn
root@localhost ~# echo $myhost
在一个命令结尾表示将任务放在后台运行
% 用于表示一个任务(任务不是进程)编号
root@localhost ~# while true; do echo hello >> /dev/tty2 ;
sleep 1; done
root@localhost ~# while true; do echo www.liuziyang.cn >>
/dev/tty2 ; sleep 1; done
root@localhost ~# ctrl+alt+F2 这里表示切换到第二个控制台/dev/tty2,查看输出结果
在每执行下面的一个命令后都在ctrl+alt+F1和F2间进行切换来看一个结果的变化
root@localhost ~# jobs
root@localhost ~# fg %1
root@localhost ~# ctrl+z 这里按键盘上的ctrl和z这样的组合
root@localhost ~# jobs root@localhost ~# kill %2
root@localhost ~# jobs
root@localhost ~# bg %1
root@localhost ~# jobs
root@localhost ~# kill %1 `` 表示一个命令或脚本 '' 表示一个字符串 "" 表示一个字符串
注意观查每一个命令的输出结果
root@localhost ~# echo `hostname`
root@localhost ~# echo 'hostname'
root@localhost ~# echo "hostname" | 管道符号,用于在一个命令语句后进行过滤
root@localhost ~# ls -l /etc | more
root@localhost ~# cat /etc/passwd | awk -F: '{print $7}' | sort
| uniq
^ 匹配字符串首
$ 匹配字符串尾
> 定向符号
>> 追加符号
注意每个命令的输出结果对比
root@localhost ~# grep ^root result1.txt
root@localhost ~# cat result1.txt
root@localhost ~# grep bash$ result1.txt
root@localhost ~# grep bash$ result2.txt
root@localhost ~# cat result1.txt
root@localhost ~# cat result2.txt
root@localhost ~# grep root > result2.txt
root@localhost ~# cat result2.txt
先写这些吧,多动手实践就能理解这些命令并可以应用到实际中。
UNIX和Linux
Shell正则表达式语法介绍[2]