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