guo20082200的个人博客分享 http://blog.sciencenet.cn/u/guo20082200

博文

linux _centos 第五次课

已有 2317 次阅读 2015-8-2 22:02 |个人分类:Linux学习|系统分类:科研笔记|关键词:学者| Linux, style


标准输入,标准输出,错误输出

[root@localhost~]# ls -l /dev/stdin

lrwxrwxrwx.1 root root 15 Jul 30 20:29 /dev/stdin -> /proc/self/fd/0

[root@localhost~]# ls -l /dev/stdout

lrwxrwxrwx.1 root root 15 Jul 30 20:29 /dev/stdout -> /proc/self/fd/1

[root@localhost~]# ls -l /dev/stderr

lrwxrwxrwx.1 root root 15 Jul 30 20:29 /dev/stderr -> /proc/self/fd/2

 

[root@localhost~]# ls /etc/passwd1

ls:cannot access /etc/passwd1: No such file or directory

[root@localhost~]# ls /etc/passwd /etc/passwd1

ls:cannot access /etc/passwd1: No such file or directory

/etc/passwd

[root@localhost~]# ls /etc/passwd /etc/passwd1 1>1.log  2>2.log  

(: >这个符号表示输出存对象,该句的含义是将标准输出存对象为1.log,将错误输出存对象为2.log)如果我们将标准输出和错误输出存到一个log文件里面,可用:

[root@localhost~]#  ls /etc/passwd /etc/passwd1 &> all.log&后面没有空格,>后面有空格)

下句等价于上句

[root@localhost ~]#  ls/etc/passwd /etc/passwd1 > guo.log  2>&1

[root@localhost~]# cat all.log

ls:cannot access /etc/passwd1: No such file or directory

/etc/passwd

系统的黑洞,不占用磁盘空间/etc/null

[root@localhost~]# du -sh /dev/null

0       /dev/null

[root@localhost~]#  ls /etc/passwd /etc/passwd1  >  /etc/null 2>&1

 

零发射器(1Mtxt文件)

[root@localhost~]# ls -lh /dev/zero

crw-rw-rw-.1 root root 1, 5 Jul 30 20:29 /dev/zero

[root@localhost~]# dd if=/dev/zero of=aaa.txt bs=1 count=1M

1048576+0records in

1048576+0records out

1048576bytes (1.0 MB) copied, 5.01756 s, 209 kB/s

[root@localhost~]# ls -lh aaa.txt   (这个文件的内容我们看不懂)

-rw-r--r--.1 root root 1.0M Jul 31 00:50 aaa.txt

统计用的命令wc

[root@localhost~]# wc -l /etc/passwd

32/etc/passwd (32)

[root@localhost~]# wc -w /etc/passwd

46/etc/passwd (46 个单词)

[root@localhost~]# wc -c /etc/passwd

1469/etc/passwd (1469个字符)

[root@localhost~]# wc /etc/passwd

 32   461469 /etc/passwd

 

过滤器grep  可以使用的命令(^, S,-n, -c, -v, -i

[root@localhost~]# grep 'root' /etc/passwd

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

 

[root@localhost~]# grep '^root' /etc/passwd(注意^的作用,只取开头)

root:x:0:0:root:/root:/bin/bash

 

[root@localhost~]# grep 'nologin$' /etc/passwd(注意$的作用,只取结尾)

 

[root@localhost pub]# grep -c 'root' ps

2

[root@localhost pub]# grep -c '' ps

32

注意上两行的区别,第二个为啥结果是32??

 

[root@localhostpub]# tr 'a-z' ‘A-Z’ < ps

(小写字母被大写字母替换,为什么会出现乱码?可能是输入法的问题)

OLLQ:U:0:0:OLLQ:/OLLQ:/▒FK/▒▒PE

▒FK:U:1:1:▒FK:/▒FK:/P▒FK/KLILDFK

A▒BJLK:U:2:2:A▒BJLK:/P▒FK:/P▒FK/KLILDFK

▒AJ:U:3:4:▒AJ:/S▒O/▒AJ:/P▒FK/KLILDFK

IM:U:4:7:IM:/S▒O/PMLLI/IMA:/P▒FK/KLILDFK

PVK▒:U:5:0:PVK▒:/P▒FK:/▒FK/PVK▒

PERQALTK:U:6:0:PERQALTK:/P▒FK:/P▒FK/PERQALTK

E▒IQ:U:7:0:E▒IQ:/P▒FK:/P▒FK/E▒IQ

J▒FI:U:8:12:J▒FI:/S▒O/PMLLI/J▒FI:/P▒FK/KLILDFK

RR▒M:U:10:14:RR▒M:/S▒O/PMLLI/RR▒M:/P▒FK/KLILDFK

LMBO▒QLO:U:11:0:LMBO▒QLO:/OLLQ:/P▒FK/KLILDFK

D▒JBP:U:12:100:D▒JBP:/RPO/D▒JBP:/P▒FK/KLILDFK

DLMEBO:U:13:30:DLMEBO:/S▒O/DLMEBO:/P▒FK/KLILDFK

CQM:U:14:50:FTPUPBO:/S▒O/CQM:/P▒FK/KLILDFK

KL▒LAV:U:99:99:NL▒LAV:/:/P▒FK/KLILDFK

A▒RP:U:81:81:SVPQBJJBPP▒DB ▒RP:/:/P▒FK/KLILDFK

RP▒JRUA:U:113:113:RP▒JRUARPBO:/:/P▒FK/KLILDFK

S▒P▒:U:69:69:SFOQR▒I▒LKPLIB JBJLOV LTKBO:/ABS:/P▒FK/KLILDFK

OQHFQ:U:499:497:RB▒IQFJBKFQ:/MOL▒:/P▒FK/KLILDFK

▒S▒EF-▒RQLFMA:U:170:170:AS▒EFIPS4LL SQ▒H:/S▒O/IF▒/▒S▒EF-▒RQLFMA:/P▒FK/KLILDFK

MRIPB:U:498:496:PRIPBARAFLSVPQBJ D▒BJLK:/S▒O/ORK/MRIPB:/P▒FK/KLILDFK

E▒IA▒BJLK:U:68:68:HALA▒BJLK:/:/P▒FK/KLILDFK

KQM:U:38:38::/BQ▒/KQM:/P▒FK/KLILDFK

▒M▒EB:U:48:48:AM▒EB:/S▒O/TTT:/P▒FK/KLILDFK

P▒PI▒RQE:U:497:76:"S▒PI▒RQEARPBO":/S▒O/BJMQV/P▒PI▒RQE:/P▒FK/KLILDFK

MLPQCFU:U:89:89::/S▒O/PMLLI/MLPQCFU:/P▒FK/KLILDFK

▒OQ:U:173:173::/BQ▒/▒OQ:/P▒FK/KLILDFK

DAJ:U:42:42::/S▒O/IF▒/DAJ:/P▒FK/KLILDFK

PPEA:U:74:74:POFSFIBDB-PBM▒O▒QBASSH:/S▒O/BJMQV/PPEA:/P▒FK/KLILDFK

Q▒MARJM:U:72:72::/:/P▒FK/KLILDFK

DRL:U:500:500:DRL:/ELJB/DRL:/▒FK/▒▒PE

T▒KD▒▒K:U:501:501::/ELJB/T▒KD▒▒K:/▒FK/▒▒PE

 

[root@localhostpub]# tr ‘A-Z’ 'a-z' < ps

root:x:0:0:root:/root:/bin/bash

 

[root@localhostpub]# tr 'a-z' 'A-Z' < ps

ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH

 

排序

[root@localhostpub]# sort ps(如果什么都不加,默认按首字母排序,如下结果)

abrt:x:173:173::/etc/abrt:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

apache:x:48:48:Apache:/var/www:/sbin/nologin

avahi-autoipd:x:170:170:AvahiIPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

dbus:x:81:81:Systemmessage bus:/:/sbin/nologin

ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gdm:x:42:42::/var/lib/gdm:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

guo:x:500:500:guo:/home/guo:/bin/bash

haldaemon:x:68:68:HALdaemon:/:/sbin/nologin

halt:x:7:0:halt:/sbin:/sbin/halt

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

ntp:x:38:38::/etc/ntp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

pulse:x:498:496:PulseAudioSystem Daemon:/var/run/pulse:/sbin/nologin

root:x:0:0:root:/root:/bin/bash

rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin

saslauth:x:497:76:"Saslauthduser":/var/empty/saslauth:/sbin/nologin

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

tcpdump:x:72:72::/:/sbin/nologin

usbmuxd:x:113:113:usbmuxduser:/:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

vcsa:x:69:69:virtualconsole memory owner:/dev:/sbin/nologin

wangban:x:501:501::/home/wangban:/bin/bash

 

[root@localhost pub]# sort -t: -k 3 ps

(-t,指定分隔符,-k指定那列排序)

root:x:0:0:root:/root:/bin/bash

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

usbmuxd:x:113:113:usbmuxduser:/:/sbin/nologin

bin:x:1:1:bin:/bin:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin

avahi-autoipd:x:170:170:AvahiIPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin

abrt:x:173:173::/etc/abrt:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

ntp:x:38:38::/etc/ntp:/sbin/nologin

gdm:x:42:42::/var/lib/gdm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

apache:x:48:48:Apache:/var/www:/sbin/nologin

saslauth:x:497:76:"Saslauthduser":/var/empty/saslauth:/sbin/nologin

pulse:x:498:496:PulseAudioSystem Daemon:/var/run/pulse:/sbin/nologin

rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin

guo:x:500:500:guo:/home/guo:/bin/bash

wangban:x:501:501::/home/wangban:/bin/bash

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

haldaemon:x:68:68:HALdaemon:/:/sbin/nologin

vcsa:x:69:69:virtualconsole memory owner:/dev:/sbin/nologin

halt:x:7:0:halt:/sbin:/sbin/halt

tcpdump:x:72:72::/:/sbin/nologin

sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

dbus:x:81:81:Systemmessage bus:/:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

 

[root@localhost pub]# sort -t: -k 3 -r ps |head

(-r,是逆序排列,|head是查看前十行,是管道文件,把上一个命令的输出,作为下一个命令的输入。)

nobody:x:99:99:Nobody:/:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

dbus:x:81:81:Systemmessage bus:/:/sbin/nologin

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

halt:x:7:0:halt:/sbin:/sbin/halt

vcsa:x:69:69:virtualconsole memory owner:/dev:/sbin/nologin

haldaemon:x:68:68:HALdaemon:/:/sbin/nologin

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

 

[root@localhostpub]# cut -d: -f1 ps

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

uucp

operator

games

gopher

ftp

nobody

dbus

usbmuxd

vcsa

rtkit

avahi-autoipd

pulse

haldaemon

ntp

apache

saslauth

postfix

abrt

gdm

sshd

tcpdump

guo

wangban

 

 

命令:xargs的用法

[root@localhostpub]# cut -d: -f1 ps|xargs mkdir^C

 

 

内置命令:

[root@localhostpub]# which cdcd是内置命令)

/usr/bin/which:no cd in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

查看所有的内置命令

[root@localhost~]# man builtin

 

对命令的查找 which

[root@localhost~]# which shutdown

/sbin/shutdown

[root@localhost~]# whereis shutdown

shutdown:/sbin/shutdown /usr/share/man/man3p/shutdown.3p.gz/usr/share/man/man8/shutdown.8.gz /usr/share/man/man2/shutdown.2.gz

[root@localhost~]# whereis ls

ls:/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

[root@localhost~]# etho $PATH

-bash:etho: command not found

Which命令依赖的数据库

[root@localhost~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

 

对文件的查找 locate命令(为什么无法查找啊?)

[root@localhost~]# locate passwd

locate:can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory

[root@localhost~]# locate passwd

locate:can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory

locate依赖的数据库update数据库

 

find查找命令

 

[root@localhost~]# find -name "passwd"

./aaaa/passwd

[root@localhost~]# pwd

/root

[root@localhost~]# find / -name "passwd"(所有根目录下面查找)

/usr/bin/passwd

/etc/passwd

/etc/pam.d/passwd

/selinux/class/passwd

/selinux/class/passwd/perms/passwd

/root/aaaa/passwd

/pub/passwd

 

0.png


 

[root@localhost ~]# find /root/ -name "passwd" -exec ls -l{} ;

-rw-r--r--.1 root root 1426 Jul 29 23:02 /root/aaaa/passwd




https://m.sciencenet.cn/blog-575910-910104.html

上一篇:linux_centos第三次课
下一篇:附件

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-2 13:18

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部