Linux每天學習乙個命令之管道命令 pipe

2021-07-11 11:54:02 字數 3656 閱讀 3582

之前學習命令的時候使用了管道命令,只知道如何使用,不是十分清楚其使用規則,決定學習總結一下管道的使用

什麼是管道:

管道就是用 | 連線兩個命令,以前面乙個命令的標準輸出作為後面命令的標準輸入,與連續執行命令是有區別的,值得注意的管道對於前一條命令的標準錯誤輸出沒事有處理能力的

下面來看些例子:

[

root@localhost

~]#find

-name anaconda-ks

.cfg

|ls

-al總用量44dr-xr-x---.

7root root

40964月

2808:07

.dr-xr

-xr-x

.17root root

40964月

322:45

..-

rw-------.

1root root

16564月

322:45

anaconda-ks

.cfg

-

rw-------.

1root root

3484月28

08:31.

bash_history

-rw-

r--r--.

1root root

1812月29

2013

.bash_logout

-rw-

r--r--.

1root root

17612月29

2013

.bash_profile

-rw-

r--r--.

1root root

17612月29

2013

.bashrc

drwx

------.

4root root 294

月2619:

09.cache

drwxr-xr

-x.3

root root 174

月2619:

09.config

-rw-

r--r--.

1root root

10012月29

2013

.cshrc

drwx

------.

3root root 244

月322:

48.dbus

-rw-

r--r--.

1root root

17044月

322:49

initial

-setup-ks

.cfg

drwxr-xr

-x.2

root root 64

月2619:

09perl5

drwxr-xr

-x.3

root root 614

月322:

52.subversion

-rw-

r--r--.

1root root

12912月29

2013

.tcshrc

-

rw-------.

1root root 664

月2619:

09.xauthlt2ndf

[

root@localhost

~]#cat anaconda-ks

.cfg

|less

#version=rhel7# system authorization informationauth--enableshadow

--passalgo

=sha512

# use cdrom installation media

cdrom

# use graphical install

graphical

# run the setup agent on first boot

firstboot

--enable

ignoredisk

--only

-use

=sda

# keyboard layouts

keyboard

--vckeymap

=cn

--xlayouts

='cn'

# system language

lang zh_cn

.utf

-8

# network information

network

--bootproto

=dhcp

--device

=enp0s3

--onboot

=off

--ipv6

=auto

network

--hostname

=localhost

.localdomain

# root password

rootpw

--iscrypted $6$iuilg5edpq

.dorjl$mzqsqvggmun8xxqflp4dhggdrca767ddvimhnky6tgykza

.o7lpe1i0d5xrjzcgp3trnfrusih3jvmq

/qqtfa0

# system timezone

從上面的兩個命令結果可以看出,ls命令沒有把前面命令的標準輸出作為自己的標準輸入,而是直接執行ls命令;而less命令把前面命令的標準輸出作為自己的標準輸入。這是因為每個管道後面接的命令

必須能夠接收標準輸入的資料,而ls,cp,mv命令不能接收標準輸入的資料。把管道的用法總結兩條規則如下:

管道命令僅會處理標準輸出的資料,而對於標準錯誤輸出則會忽略

管道後名所接的命令必須能夠接受標準輸入的資料才行

Linux每天學習乙個命令之type命令

今天看到了type命令覺得和which命令很像,所以想著學習記錄一下。回想起之前使用which命令的時候,當檢視cd命令,history命令的時候,會出現這句話 root localhost which history usr bin which no history in usr local sb...

Linux每天學習乙個命令之cp命令

最近學習linux中的複製檔案命令cp,把學習記錄如下 cp 選項 source 檔案 destination 目的檔案 cp 選項 source1 source2 source3 source4 source5 directory cp命令可以複製檔案或資料夾,後面可以接多個原始檔 當有多個原始檔...

Linux每天學習乙個命令之type命令

今天看到了type命令覺得和which命令很像,所以想著學習記錄一下。回想起之前使用which命令的時候,當檢視cd命令,history命令的時候,會出現這句話 root localhost which history usr bin which no history in usr local sb...