您的位置:首页 > 运维架构 > Shell

shell

2017-02-05 05:41 169 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: