shell特性

history

a ~/.bash.hlstory

echo $HTSTIZE    

!!

!$ 上一条命令的最后一个参数

!ls

wc -1 < 1.txt

ls 111111 2> 1.txt  覆盖

                   2>> 1.txt 不覆盖

aleep  100

jobs

fg

jobe

apeep 12312

 shell  变量

env 显示出变量

set

a=1:b=2

echo $a $b

a_2=111

echo $a_2

_a2=21

b='ls /tmp/'

echo $b

bash

exit

export a=1

echo $a

unset d 删除一个变量的值

系统和用户的环境变量配置文件

ls /etc/preofile

PATH HOME SHELL

vim /etc/profile

vim /etc/profile.d/path.sh

source /etc/profile 系统相关的

 etcho $:PATH

echo ''''''''''''''''''''$PS1

ps1='[u@\h \w]\ \s'

cd /etc/init.d/

vim /etc/profile.d/

vim /etc/profile.d/umask/sh

umask

fg

source /etc/profile

umask

shell 中特殊符号

 * (通配符)?  #(失效)  \   |(管道符)$(变量前缀)> >> 2> 22> <  []


cut 

命令 把一个文件分段

cut -d: -f 3 /etc/passwd  -c(截取字符)2-10

sort

命令 排序

 sort -t: -k3 -n /etc/passwd

 -n 按数字排序  r 反序排列 u 去重复 如2  22 只有2

wc命令

wc -l -w -m 1.txt

 echo "12345" |wc -m

uniq和tee命令

 uniq

uniq -c 12.txt

 sort 12.txt |uniq -c

echo "1111112222" |tee 1.txt
tr和split命令

 ls *.txt |tr 'a-z' 'A-Z'

echo "ahjkhfsahkh422hjkhjk" tr '1' 'R'

split -b(大小) 50m 1.txt  , split -l(行)100 1.txt

du -sb anaconda-ka.cfg

 shell中连接符(并且、和、或者)

&& || ;

ls 1.txt && ls 12.txt 左边命令执行成功才会执行右边的命令

 ls 1.txt || ls 12.txt 左边命令执行不成功才会执行右边的命令

; 左边命令执行成功与否后面的命令也会执行

grep过滤-1

grep egrep sed swk

 grep 'root' /etc/passwd

cp /etc/passwd 1.txt
 grep --color 'root' /etc/passwd

grep --color -n 'root' /etc/passwd
alias cg='grep --color'
[root@bogon ~]# vim .bashrc
[root@bogon ~]# cg -n 'root' 1.txt

cg -v 'root' 1.txt
cg -A 2

# cg -rh 'iptables' /etc/*
grep过滤-2

cg -v

cg '[0-9]' 1.txt

vi 1.txt

ls -l .1.txt.swp

rm -f .1.txt.swp

vi 1.txt

cg -v '[a-zA-z]' 1.txt

          ^[^0-9]

             'r.o' 1.txt

grep 过滤-3

 grep --color 'r\?o' 1.txt
.任意一个字符;*零个或多个*前面的字符

。*任意个任意字符;?0或1个前面的字符

+ 1或成多个+前面的字符

egrep --color 'root |nologin' 1.txt

grep --color 'root' 1.txt |grep --color 'nologin'

? + ()  {}   egreo

sed 命令-1

 sed -n '10'p 1.txt sed -n '10'p 1.txt

sed -n '20,$'p 1.txt
 sed -r -n '/(rr)+/'p 1.txt
sed 命令-2 替换

sed '1,10s/nologin/login/g' 1.txt

 2.6 awk命令-1

 awk -F':' '{print $3,$4}' 1.txt
awk -F':' 'OFS="#" {print $3,$4}' 1.txt
user|root/' 1.txt

awk -F ':' '$1~/r*o/' 1.txt
awk -F ':' '$1~/r*o/ {print $1,$3}; $1~/user/ {print $1,$3}' 1.txt

 awk命令-2

 awk -F ':' '$1=="nobody" {print $1}' 1.txt
awk -F ':' '$1=="nobody" ||$7~/nolog/' 1.txt
awk -F ':' '$3>="500"' 1.txt

awk命令-3

awk -F':' 'NR<10' 1.txt
awk -F':' 'NR==10 {print $1,$5}' 1.txt
 awk -F':' '{if(NR==10) print $1,$5}' 1.txt

 awk -F':' '{if (NF==7) print $1}' 1.txt

 awk -F ':' '{print $NR, $NF}' 1.txt