上期回顾:
cut -d -f 1-3 /ect/passwd
文本排序sort
$ sort /etc/fstab
debugfs /sys/kernel/debug debugfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
/dev/vda1 / ext3 noatime,acl,user_xattr 1 1
/dev/vdb1 /public ext3 defaults 0 0
/dev/vdc /home ext3 defaults 0 0
#/dev/vdf /trainee ext3 defaults 0 0
/mnt/10GiB.swap swap swap defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
$ sort sor.tdt #数字开头排序
214124
2423534
587
6
645
65
679
76
78
8
867
9
$ sort -n sor.tdt #数字大小排序
6
8
9
65
76
78
587
645
679
867
214124
2423534
$ sort -r sor.tdt #-r reverse
9
867
8
78
76
679
65
645
6
587
2423534
214124
$ sort -n -r sor.tdt # reverse and numeric
2423534
214124
867
679
645
587
78
76
65
9
8
6
sort -t #字段分隔符
sort -k #以那个字段排序
sort -t: -k3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
jmzeng:x:1000:1000:,,,:/home/jmzeng:/bin/bash
systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/false
spguo:x:1001:1003:,,,:/home/spguo:/bin/bash
fzhao:x:1002:1004:,,,:/home/fzhao:/bin/bash
zgxu:x:1003:1005:,,,:/home/zgxu:/bin/bash
myshen:x:1004:1006:,,,:/home/myshen:/bin/bash
syqu:x:1006:1008:,,,:/home/syqu:/bin/bash
$ sort -t: -k4 -n /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
sort -u #排序后相同的行只显示一次
sort - f #排序时忽略大小写(不区分大小写)
$ uniq -d sor.tdt
123
$ uniq -D sor.tdt
123
123
$ uniq -c sor.tdt
1 214124
1 23
2 123
1 2423534
1 645
1 65
1 76
1 587
1 6
1 867
1 8
1 679
1 78
1 9
文本统计
wc (word count)
$ wc sor.tdt
15 15 57 sor.tdt #15行,15个单词,57个字符
$ wc -c sor.tdt
57 sor.tdt
$ wc -l sor.tdt
15 sor.tdt
$ wc -w sor.tdt
15 sor.tdt
$ wc -m sor.tdt
57 sor.tdt
$ wc -L sor.tdt #最长的一行包括多少字符
7 sor.tdt
字符处理命令
tr #转换或删除字符
$ tr 'ab' 'AB' < /etc/passwd
root:x:0:0:root:/root:/Bin/BAsh
dAemon:x:1:1:dAemon:/usr/sBin:/usr/sBin/nologin
Bin:x:2:2:Bin:/Bin:/usr/sBin/nologin
sys:x:3:3:sys:/dev:/usr/sBin/nologin
sync:x:4:65534:sync:/Bin:/Bin/sync
gAmes:x:5:60:gAmes:/usr/gAmes:/usr/sBin/nologin
mAn:x:6:12:mAn:/vAr/cAche/mAn:/usr/sBin/nologin
lp:x:7:7:lp:/vAr/spool/lpd:/usr/sBin/nologin
tr 'a-z' 'A-Z' < /etc/passwd
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH
DAEMON:X:1:1:DAEMON:/USR/SBIN:/USR/SBIN/NOLOGIN
BIN:X:2:2:BIN:/BIN:/USR/SBIN/NOLOGIN
SYS:X:3:3:SYS:/DEV:/USR/SBIN/NOLOGIN
SYNC:X:4:65534:SYNC:/BIN:/BIN/SYNC
GAMES:X:5:60:GAMES:/USR/GAMES:/USR/SBIN/NOLOGIN
tr -d '2' < ./sor.tdt
1414
3
13
13
43534
645
65
76
587
6
867
8
679
78
9
$ cat sor.tdt
214124
23
123
123
2423534
645
65
76
587
6
867
8
679
78
9
bash
yli@biotrainee:~$ pstree
systemd─┬─accounts-daemon─┬─{gdbus}
│ └─{gmain}
├─acpid
├─2*[agetty]
├─atd
├─barad_agent─┬─barad_agent
│ └─barad_agent───2*[{barad_agent}]
├─bash───shiny-server─┬─4*[{V8 WorkerThread}]
│ └─5*[{shiny-server}]
├─2*[bash───bash───samtools───3*[{samtools}]]
├─cron
├─dbus-daemon
├─dhclient
├─dockerd─┬─docker-containe───30*[{docker-containe}]
│ └─38*[{dockerd}]
├─frps───33*[{frps}]
├─2*[frps───34*[{frps}]]
├─2*[iscsid]
├─2*[lsz]
├─lvmetad
├─lxcfs───7*[{lxcfs}]
├─mdadm
├─multipathd───4*[{multipathd}]
├─mysqld───28*[{mysqld}]
├─nginx───16*[nginx]
├─28*[perl]
├─php-fpm7.0───2*[php-fpm7.0]
├─polkitd─┬─{gdbus}
│ └─{gmain}
├─rserver───3*[{rserver}]
├─rsyslogd─┬─{in:imklog}
│ ├─{in:imuxsock}
│ └─{rs:main Q:Reg}
├─10*[sftp-server]
├─sgagent───{sgagent}
├─snapd───30*[{snapd}]
├─sshd─┬─sshd───sshd───bash───su───bash
│ ├─3*[sshd───sshd───sftp-server]
│ ├─6*[sshd───sshd]
│ ├─sshd───sshd───bash───vi
│ ├─3*[sshd───sshd───bash]
│ ├─sshd───sshd───bash─┬─10*[sh───cufflinks───4*[{cufflinks}]]
│ │ └─6*[sh───cufflinks]
│ └─sshd───sshd───sh───bash───bash───bash───bash───bash───bash───pstree
├─11*[systemd───(sd-pam)]
├─systemd-journal
├─systemd-logind
├─systemd-timesyn───{sd-resolve}
└─systemd-udevd
yli@biotrainee:~$ ls
readme.txt sor.tdt
yli@biotrainee:~$ sudo apt updata
[sudo] password for yli:
yli is not in the sudoers file. This incident will be reported.
yli@biotrainee:~$ ls
readme.txt sor.tdt
yli@biotrainee:~$ exit
exit
yli@biotrainee:~$ pstree
systemd─┬─accounts-daemon─┬─{gdbus}
│ └─{gmain}
├─acpid
├─2*[agetty]
├─atd
├─barad_agent─┬─barad_agent
│ └─barad_agent───2*[{barad_agent}]
├─bash───shiny-server─┬─4*[{V8 WorkerThread}]
│ └─5*[{shiny-server}]
├─2*[bash───bash───samtools───3*[{samtools}]]
├─cron
├─dbus-daemon
├─dhclient
├─dockerd─┬─docker-containe───31*[{docker-containe}]
│ └─38*[{dockerd}]
├─frps───33*[{frps}]
├─2*[frps───34*[{frps}]]
├─2*[iscsid]
├─2*[lsz]
├─lvmetad
├─lxcfs───7*[{lxcfs}]
├─mdadm
├─multipathd───4*[{multipathd}]
├─mysqld───28*[{mysqld}]
├─nginx───16*[nginx]
├─28*[perl]
├─php-fpm7.0───2*[php-fpm7.0]
├─polkitd─┬─{gdbus}
│ └─{gmain}
├─rserver───3*[{rserver}]
├─rsyslogd─┬─{in:imklog}
│ ├─{in:imuxsock}
│ └─{rs:main Q:Reg}
├─10*[sftp-server]
├─sgagent───{sgagent}
├─snapd───30*[{snapd}]
├─sshd─┬─sshd───sshd───bash───su───bash
│ ├─6*[sshd───sshd]
│ ├─3*[sshd───sshd───sftp-server]
│ ├─sshd───sshd───bash───vi
│ ├─4*[sshd───sshd───bash]
│ ├─sshd───sshd───bash─┬─11*[sh───cufflinks───4*[{cufflinks}]]
│ │ ├─3*[sh───cufflinks]
│ │ └─2*[sh───cufflinks───3*[{cufflinks}]]
│ └─sshd───sshd───sh───bash───bash───bash───bash───bash───pstree
├─11*[systemd───(sd-pam)]
├─systemd-journal
├─systemd-logind
├─systemd-timesyn───{sd-resolve}
└─systemd-udevd
yli@biotrainee:~$ exit
exit
yli@biotrainee:~$ bash
yli@biotrainee:~$ exit
exit
yli@biotrainee:~$ exit
exit
yli@biotrainee:~$ exit
exit
yli@biotrainee:~$ exit
exit
yli@biotrainee:~$ pstree
systemd─┬─accounts-daemon─┬─{gdbus}
│ └─{gmain}
├─acpid
├─2*[agetty]
├─atd
├─barad_agent─┬─barad_agent
│ └─barad_agent───2*[{barad_agent}]
├─bash───shiny-server─┬─4*[{V8 WorkerThread}]
│ └─5*[{shiny-server}]
├─2*[bash───bash───samtools───3*[{samtools}]]
├─cron
├─dbus-daemon
├─dhclient
├─dockerd─┬─docker-containe───31*[{docker-containe}]
│ └─38*[{dockerd}]
├─frps───33*[{frps}]
├─2*[frps───34*[{frps}]]
├─2*[iscsid]
├─2*[lsz]
├─lvmetad
├─lxcfs───7*[{lxcfs}]
├─mdadm
├─multipathd───4*[{multipathd}]
├─mysqld───28*[{mysqld}]
├─nginx───16*[nginx]
├─28*[perl]
├─php-fpm7.0───2*[php-fpm7.0]
├─polkitd─┬─{gdbus}
│ └─{gmain}
├─rserver───3*[{rserver}]
├─rsyslogd─┬─{in:imklog}
│ ├─{in:imuxsock}
│ └─{rs:main Q:Reg}
├─10*[sftp-server]
├─sgagent───{sgagent}
├─snapd───30*[{snapd}]
├─sshd─┬─sshd───sshd───bash───su───bash
│ ├─3*[sshd───sshd───sftp-server]
│ ├─6*[sshd───sshd]
│ ├─sshd───sshd───bash───vi
│ ├─4*[sshd───sshd───bash]
│ ├─sshd───sshd───bash─┬─14*[sh───cufflinks───4*[{cufflinks}]]
│ │ ├─sh───cufflinks
│ │ └─sh───cufflinks───2*[{cufflinks}]
│ └─sshd───sshd───sh───bash───pstree
├─11*[systemd───(sd-pam)]
├─systemd-journal
├─systemd-logind
├─systemd-timesyn───{sd-resolve}
└─systemd-udevd
yli@biotrainee:~$ exit
exit
$ pstree
systemd─┬─accounts-daemon─┬─{gdbus}
│ └─{gmain}
├─acpid
├─2*[agetty]
├─atd
├─barad_agent─┬─barad_agent
│ └─barad_agent───2*[{barad_agent}]
├─bash───shiny-server─┬─4*[{V8 WorkerThread}]
│ └─5*[{shiny-server}]
├─2*[bash───bash───samtools───3*[{samtools}]]
├─cron
├─dbus-daemon
├─dhclient
├─dockerd─┬─docker-containe───31*[{docker-containe}]
│ └─38*[{dockerd}]
├─frps───33*[{frps}]
├─2*[frps───34*[{frps}]]
├─2*[iscsid]
├─2*[lsz]
├─lvmetad
├─lxcfs───7*[{lxcfs}]
├─mdadm
├─multipathd───4*[{multipathd}]
├─mysqld───28*[{mysqld}]
├─nginx───16*[nginx]
├─28*[perl]
├─php-fpm7.0───2*[php-fpm7.0]
├─polkitd─┬─{gdbus}
│ └─{gmain}
├─rserver───3*[{rserver}]
├─rsyslogd─┬─{in:imklog}
│ ├─{in:imuxsock}
│ └─{rs:main Q:Reg}
├─10*[sftp-server]
├─sgagent───{sgagent}
├─snapd───30*[{snapd}]
├─sshd─┬─sshd───sshd───bash───su───bash
│ ├─3*[sshd───sshd───sftp-server]
│ ├─6*[sshd───sshd]
│ ├─sshd───sshd───bash───vi
│ ├─4*[sshd───sshd───bash]
│ ├─sshd───sshd───bash─┬─2*[sh───cufflinks───3*[{cufflinks}]]
│ │ ├─13*[sh───cufflinks───4*[{cufflinks}]]
│ │ └─sh───cufflinks
│ └─sshd───sshd───sh───pstree
├─11*[systemd───(sd-pam)]
├─systemd-journal
├─systemd-logind
├─systemd-timesyn───{sd-resolve}
└─systemd-udevd
$ exit
logout
Connection closing...Socket close.
Connection closed by foreign host.
Disconnected from remote host(新建会话 (2)) at 19:54:20.
Type `help' to learn how to use Xshell prompt.
[c:\~]$
Connecting to 118.126.114.209:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
WARNING! The remote SSH server rejected X11 forwarding request.
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-91-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
New release '18.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
Last login: Thu Oct 18 19:52:27 2018 from 110.187.211.131
$
网友评论