shell基础——常用命令

|  #管道

  echo password | passwd --stdin root  #修改root用户密码

cut

  -d"分隔符"

  -f列数

  -c4-7   截取第4到7字符

grep

  -v  取反

  -e  执行转义字符

    \a 发出警告声;
    \b 删除前一个字符;
    \c 最后不加上换行符号;
    \f 换行但光标仍旧停留在原来的位置;
    \n 换行且光标移至行首;
    \r 光标移至行首,但不换行;
    \t 插入tab;
    \v 与\f相同;
    \\ 插入\字符;
    \nnn 插入nnn(八进制)所代表的ASCII字符;
  -w  完全匹配
  -q  静默,不把结果输出

 wc

  -l  统计行数

  -L  统计最长行的字符数

  -m  统计总的字符数

sort

  -r  反向排序

  -n  以数字排序

  -f  大小写不敏感

  -t  分隔符

  -k  接数字代表第几列

  sort -n -t":" -k3 /etc/passwd  #以uid排序

uniq

  -c  计数统计

  例:统计/etc/passwd里最后一列/bin/bash,/sbin/nologin等各有多少个

  cut -d":" -f7 /etc/passwd | sort | uniq -c

 

重定向

ping -c 1 10.1.1.1 >/dev/null 2>&1  #把标准输出和错误输出扔到/dev/null设备
ping -c 1 10.1.1.1 &> /dev/null  #同上
ping -c 1 10.1.1.1 >& /dev/null  #同上
cat passwdfile
123
123

passwd user1 < passwdfile  #把passwdfile文件的内容作为标准输入修改密码

 

EOF

cat >/tmp/file <<EOF
覆盖
EOF
#把“覆盖”写入/tmp/file文件里

cat >>/tmp/file <<EOF
追加
EOF
#把“追加”加入/tmp/file文件最后一行
#!/bin/bash
mysql <<EOF
show databases;
quit
EOF

注:ssh和scp不能用EOF

 

READ

read -p "终端上显示的字符" n
#输入的字符赋值给变量n

 

posted @ 2016-10-16 22:24  沄持的学习记录  阅读(114)  评论(0)    收藏  举报