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

原文地址:https://www.cnblogs.com/z360519549/p/6366919.html