6.1 知识回顾
做一件事
2-3年:专家
5年以上:权威
操作系统功能
运行程序,设备管理,软件管理,进程管理,网络管理
目录管理:
ls、cd、pwd、mkdir、rmdir、tree
文件管理:
touch、stat、file、rm、cp、mv、nano
日期时间:
date、clock、hwclock、cal
6.2 文本处理
6.2.1 查看文本:
cat、tac、more、less、head、tail
1、cat
连接并显示从首部到尾部(tac显示从尾部到首部)
-n:显示行数
-E:显示行结束符(linux行结束符号为$,windows行结束符号为enter+$)
[root@Daniel-R480 ~]# cat calc.sh
#!/bin/bash
#
declare -i SUM=0
for I in {1..100};do
let SUM=$[$SUM+$I]
done
echo "The sum is : $SUM"
[root@Daniel-R480 ~]# tac calc.sh
echo "The sum is : $SUM"
done
let SUM=$[$SUM+$I]
for I in {1..100};do
declare -i SUM=0
#
#!/bin/bash
[root@Daniel-R480 ~]# cat -n calc.sh
1 #!/bin/bash
2 #
3 declare -i SUM=0
4 for I in {1..100};do
5 let SUM=$[$SUM+$I]
6 done
7
8 echo "The sum is : $SUM"
[root@Daniel-R480 ~]# cat -E calc.sh
#!/bin/bash$
#$
declare -i SUM=0$
for I in {1..100};do$
let SUM=$[$SUM+$I]$
done$
$
echo "The sum is : $SUM"$
Ctrl+c终止当前任务,或者终止当前输入命令的动作
shift + pageup/pagedown 来上下翻页
2、分屏显示:more、less file
more: 向后翻(空格翻一页,enter翻一行)
less(man里面用less来打开文本): k键向前翻
3、查看文本的前几行或者后几行(head tail)
(1)head:查看前n行
[daniel@localhost ~]$ head -n 2 /etc/inittab
# inittab is no longer used when using systemd.
(2)tail:查看后n行
[daniel@localhost ~]$ tail -2 /etc/inittab
# systemctl set-default TARGET.target
head,tail不加任何选项默认为10行
tail -f: 查看文件尾部,不退出,等待显示后续追加至此文件的新内容;
6.2.2 文本处理:
cut、join、sed、awk
database:数据库(存放数据的库)
mysql:管理数据库的软件
关系型数据库:
表:二维表
文本文件:用:来分隔
Tom:23:male:2013/05/06
1、cut:
-d: 指定字段分隔符,默认是空格
-f: 指定要显示的字段
-f 1,3
-f 1-3
[daniel@localhost ~]$ cut -d : -f1 /etc/passwd
root
bin
daemon
adm
lp
2、sort(不影响源文件的次序,只影响现实的次序)
sort:文本排序(默认不按数值大小排序)
-n:数值排序
-r: 降序
-t: 字段分隔符
-k: 以哪个字段为关键字进行排序
-u: 排序后相同的行只显示一次
-f: 排序时忽略字符大小写
[daniel@localhost ~]$ sort -t : -k3 -n /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
daniel:x:1000:1000:daniel:/home/daniel:/bin/bash
3、uniq: 报告重复的行,或者是略过重复的行
-c: 显示文件中行重复的次数
-d: 只显示重复的行中的一个
-D:显示重复的行的所有内容
[daniel@localhost ~]$ uniq -d test
78
[daniel@localhost ~]$ uniq -D test
78
78
[daniel@localhost ~]$ uniq -c test
3
1 1212
1 23
1 4234
1 324234
1 3242
1 123
1 3444
1 5656
1 89
2 78
4、wc文本统计
wc (word count)输出为行数 单词数 字节数
-l只显示行
-w只显示单词数
-c只显示字节
-L最长的一行包含的字符数
[daniel@localhost ~]$ wc /etc/fstab
12 60 541 /etc/fstab
[daniel@localhost ~]$ wc -w /etc/fstab
60 /etc/fstab
[daniel@localhost ~]$ wc -l /etc/fstab
12 /etc/fstab
[daniel@localhost ~]$ wc -c /etc/fstab
541 /etc/fstab
[daniel@localhost ~]$ wc -L /etc/fstab
93 /etc/fstab
5、tr-字符处理命令
tr —— 转换或删除字符
tr [OPTION]... SET1 [SET2]
[daniel@localhost ~]$ tr 'ab' 'AB'
abcd^H
ABcd
able
ABle
acount
Acount
[daniel@localhost ~]$ tr 'ab' 'AB' < /etc/passwd
root:x:0:0:root:/root:/Bin/BAsh
Bin:x:1:1:Bin:/Bin:/sBin/nologin
dAemon:x:2:2:dAemon:/sBin:/sBin/nologin
Adm:x:3:4:Adm:/vAr/Adm:/sBin/nologin
lp:x:4:7:lp:/vAr/spool/lpd:/sBin/nologin
sync:x:5:0:sync:/sBin:/Bin/sync
shutdown:x:6:0:shutdown:/sBin:/sBin/shutdown
hAlt:x:7:0:hAlt:/sBin:/sBin/hAlt
mAil:x:8:12:mAil:/vAr/spool/mAil:/sBin/nologin
operAtor:x:11:0:operAtor:/root:/sBin/nologin
gAmes:x:12:100:gAmes:/usr/gAmes:/sBin/nologin
ftp:x:14:50:FTP User:/vAr/ftp:/sBin/nologin
noBody:x:99:99:NoBody:/:/sBin/nologin
systemd-network:x:192:192:systemd Network MAnAgement:/:/sBin/nologin
dBus:x:81:81:System messAge Bus:/:/sBin/nologin
polkitd:x:999:997:User for polkitd:/:/sBin/nologin
postfix:x:89:89::/vAr/spool/postfix:/sBin/nologin
sshd:x:74:74:Privilege-sepArAted SSH:/vAr/empty/sshd:/sBin/nologin
chrony:x:998:996::/vAr/liB/chrony:/sBin/nologin
dAniel:x:1000:1000:dAniel:/home/dAniel:/Bin/BAsh
tcpdump:x:72:72::/:/sBin/nologin
[daniel@localhost ~]$ tr 'a-z' 'A-Z' < /etc/passwd
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH
BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN
DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN
ADM:X:3:4:ADM:/VAR/ADM:/SBIN/NOLOGIN
LP:X:4:7:LP:/VAR/SPOOL/LPD:/SBIN/NOLOGIN
SYNC:X:5:0:SYNC:/SBIN:/BIN/SYNC
SHUTDOWN:X:6:0:SHUTDOWN:/SBIN:/SBIN/SHUTDOWN
HALT:X:7:0:HALT:/SBIN:/SBIN/HALT
MAIL:X:8:12:MAIL:/VAR/SPOOL/MAIL:/SBIN/NOLOGIN
OPERATOR:X:11:0:OPERATOR:/ROOT:/SBIN/NOLOGIN
GAMES:X:12:100:GAMES:/USR/GAMES:/SBIN/NOLOGIN
FTP:X:14:50:FTP USER:/VAR/FTP:/SBIN/NOLOGIN
NOBODY:X:99:99:NOBODY:/:/SBIN/NOLOGIN
SYSTEMD-NETWORK:X:192:192:SYSTEMD NETWORK MANAGEMENT:/:/SBIN/NOLOGIN
DBUS:X:81:81:SYSTEM MESSAGE BUS:/:/SBIN/NOLOGIN
POLKITD:X:999:997:USER FOR POLKITD:/:/SBIN/NOLOGIN
POSTFIX:X:89:89::/VAR/SPOOL/POSTFIX:/SBIN/NOLOGIN
SSHD:X:74:74:PRIVILEGE-SEPARATED SSH:/VAR/EMPTY/SSHD:/SBIN/NOLOGIN
CHRONY:X:998:996::/VAR/LIB/CHRONY:/SBIN/NOLOGIN
DANIEL:X:1000:1000:DANIEL:/HOME/DANIEL:/BIN/BASH
TCPDUMP:X:72:72::/:/SBIN/NOLOGIN
tr -d: 删除出现在字符集中的所有字符
[daniel@localhost ~]$ tr -d 'ab'
abcd
cd
adsde
dsde
Comments Closed.