shell
vi 快捷键:
1: 快速到最后一行:
shift + G
2:快速到第一行: 1 + shift +G
3: 快速到第40 行: 40 + shift + G
shell 定义变量时,变量名不加美元符号($)。如下
variableName="value"
注意,变量名和等号之间不能有空格
使用变量(变量取值)时,变量名外面的花括号是可选的,加不加都行。推荐都加上花括号。如 echo ${variableName}
shell 中的 [ 和 ] 其实是一个命令,因此 左右必须有空格
if [ $? -ne 0 ]
suse6:/home/zhou/ORACLE_BACKUP # grep ftp /etc/passwd
ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
ftpsecure:x:108:65534:Secure FTP User:/var/lib/empty:/bin/false //把 包含ftp的所有行都找出来了。 如 ftpsecure
suse6:/home/zhou/ORACLE_BACKUP #
suse6:/home/zhou/ORACLE_BACKUP # grep '\<ftp\>' /etc/passwd //正则表达式,找出 以 ftp 开头 和以 ftp 结尾的单词, 则过滤掉了 ftpsecure 。
ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
suse6:/home/zhou/ORACLE_BACKUP #
cut 文件截取
cut -d: 表示以 : 作为分隔符
cut -f1 表示取第一列。
如 找出 /etc/passwd 中所有的用户:
suse6:/home/zhou/ORACLE_BACKUP # cut -d: -f1 /etc/passwd
at
bin
daemon
ftp
games
查看 ftp 用户用的是什么shell:
suse6:/home/zhou/ORACLE_BACKUP # grep ftp /etc/passwd //含有ftp的行
ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
ftpsecure:x:108:65534:Secure FTP User:/var/lib/empty:/bin/false
suse6:/home/zhou/ORACLE_BACKUP # grep '\<ftp\>' /etc/passwd //含有以 ftp 开始和ftp 结束的单词 的行
ftp:x:40:49:FTP account:/srv/ftp:/bin/bash
suse6:/home/zhou/ORACLE_BACKUP #
suse6:/home/zhou/ORACLE_BACKUP # grep '\<ftp\>' /etc/passwd | cut -d : -f7 //找出含有以 ftp 开始和ftp 结束的单词 的行 后, 以 :作为分隔符,找出第7列
/bin/bash
suse6:/home/zhou/ORACLE_BACKUP #
suse6:/home/zhou/ORACLE_BACKUP # cut -c1-3 /etc/passwd // -c1-3 表示取出第一到第三个字符
at:
bin
dae
ftp
suse6:/home/zhou/ORACLE_BACKUP # sort -t : +2 /etc/passwd // -t : 表示以 :作为分隔符, +2 表示取第三列 来排序 (+0 表示第一列) , 从第三列的字符串 从第一个到最后一个字符比较排序。
root:x:0:0:root:/root:/bin/bash
zhou:x:1000:100:zhou:/home/zhou:/bin/bash
memcached:x:1001:1000::/home/memcached:/bin/sh
messagebus:x:100:101:User for D-Bus:/var/run/dbus:/bin/false
haldaemon:x:101:102:User for haldaemon:/var/run/hald:/bin/false
uuidd:x:102:104:User for uuidd:/var/run/uuidd:/bin/false
ntp:x:74:107:NTP daemon:/var/lib/ntp:/bin/false
mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false
news:x:9:13:News system:/etc/news:/bin/bash
suse6:/home/zhou/ORACLE_BACKUP # sort -t : +2 -n /etc/passwd // -t : 表示以:为分隔符, +2 表示取第三列 -n 表示把第三列的字符串当作一个数字来排序
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:Daemon:/sbin:/bin/bash
lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false
news:x:9:13:News system:/etc/news:/bin/bash
uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
games:x:12:100:Games account:/var/games:/bin/bash
suse6:/home/zhou/ORACLE_BACKUP # sort -t : +2 -n -r /etc/passwd //加 -r 表示反向排序(从大到小)
nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
memcached:x:1001:1000::/home/memcached:/bin/sh
zhou:x:1000:100:zhou:/home/zhou:/bin/bash