linux系統中輸入/輸出和管道及相關的命令

  • 默認,shell從鍵盤讀命令的輸入,並將命令的輸出顯示到屏幕上。
    在這裏插入圖片描述

文件描述符與標準輸入/輸出

  • 文件描述符是Linux系統內部使用的一個文件代號、它決定從哪裏讀入命令所需的輸入和將命令產生的輸出及錯誤顯示送到什麼地方
  • 文件描述符的具體含義如下:
    • 0:標準輸入,文件描述的縮寫爲stdin
    • 1:標準輸出,文件描述的縮寫爲stdout
    • 2:標準錯誤(信息),文件描述的縮寫爲stderr
    • 在以上描述中,0、1和2爲文件描述符的號碼
[dag@dog ~]$ ls -l /dev/std*
lrwxrwxrwx. 1 root root 15 5月  16 06:42 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx. 1 root root 15 5月  16 06:42 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx. 1 root root 15 5月  16 06:42 /dev/stdout -> /proc/self/fd/1

[dag@dog ~]$ cat
Do you sell an adult dog?
Do you sell an adult dog?
No,we just sell a baby dog.
No,we just sell a baby dog.

[dag@dog ~]$ ls -F
babydog/  epel-release-6-8.noarch.rpm  lists200        公共的/  下載/
boydog/   flowers.JPG                  mumdog/         模板/    音樂/
cal2038   game.txt                     news            視頻/    桌面/
cal3009   learning.txt                 NewZealand.JPG  圖片/
dog.JPG   lists                        wolf/           文檔/

[dag@dog ~]$ ls -F dog.wolf.*
ls: 無法訪問dog.wolf.*: 沒有那個文件或目錄

搜索文件和目錄的命令find

  • find ~ 在路徑名列表中遞歸地向下遍歷目錄樹以尋找與搜尋條件相匹配的文件。當find命令找到了那些與搜尋條件相匹配的文件時,系統將把滿足條件的每一個文件顯示在終端的屏幕上。

  • find pathnames expressions actions

  • find命令中各選項的含義如下:

  • pathnames:搜尋起始的絕對路徑或相對路徑

  • expressions:一個或多個選項定義的搜尋條件
    actions:當文件被定位之後需要進行的操作

[dag@dog ~]$ ls -l /dev/std*
lrwxrwxrwx. 1 root root 15 5月  16 06:42 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx. 1 root root 15 5月  16 06:42 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx. 1 root root 15 5月  16 06:42 /dev/stdout -> /proc/self/fd/1
[dag@dog ~]$ cat
Do you sell an adult dog?
Do you sell an adult dog?
No,we just sell a baby dog.
No,we just sell a baby dog.
[dag@dog ~]$ ls -F
babydog/  epel-release-6-8.noarch.rpm  lists200        公共的/  下載/
boydog/   flowers.JPG                  mumdog/         模板/    音樂/
cal2038   game.txt                     news            視頻/    桌面/
cal3009   learning.txt                 NewZealand.JPG  圖片/
dog.JPG   lists                        wolf/           文檔/
[dag@dog ~]$ find ~ -name dog.wolf.baby
/home/dag/wolf/dog.wolf.baby
[dag@dog ~]$ find ~ -name "dog.*.baby"
/home/dag/wolf/dog.wolf.baby
[dag@dog ~]$ find ~ -name dog."*".baby
/home/dag/wolf/dog.wolf.baby
[dag@dog ~]$ find ~ -name dog.*.baby
/home/dag/wolf/dog.wolf.baby
[dag@dog ~]$ touch /home/dag/wolf/disable_dog,wolf.baby
[dag@dog ~]$ ls -F ~/wolf
disable_dog,wolf.baby  dog2.wolf      dog.wolf.baby
dog1.wolf              dog3.wolf      dog.wolf.boy
dog1.wolf.girl         dog3.wolf.boy  dog.wolf.girl
[dag@dog ~]$ find ~ -name disble_dog.wolf.baby -exec rm {} \;
[dag@dog ~]$ ls -F ~/wolf
disable_dog,wolf.baby  dog2.wolf      dog.wolf.baby
dog1.wolf              dog3.wolf      dog.wolf.boy
dog1.wolf.girl         dog3.wolf.boy  dog.wolf.girl
[dag@dog ~]$ find ~ -name diasble_dog.wolf.baby -exec rm {} \;
[dag@dog ~]$ ls -F ~/wolf
disable_dog,wolf.baby  dog2.wolf      dog.wolf.baby
dog1.wolf              dog3.wolf      dog.wolf.boy
dog1.wolf.girl         dog3.wolf.boy  dog.wolf.girl
[dag@dog ~]$ find ~ -name disable_dog.wolf.baby -exec rm {} \;
[dag@dog ~]$ ls -F ~/wolf
disable_dog,wolf.baby  dog2.wolf      dog.wolf.baby
dog1.wolf              dog3.wolf      dog.wolf.boy
dog1.wolf.girl         dog3.wolf.boy  dog.wolf.girl
[dag@dog ~]$ find ~ -name disable_dog,wolf.baby -exec rm {} \;
[dag@dog ~]$ ls -F ~/wolf
dog1.wolf       dog2.wolf  dog3.wolf.boy  dog.wolf.boy
dog1.wolf.girl  dog3.wolf  dog.wolf.baby  dog.wolf.girl
[dag@dog ~]$ touch /home/dag/wolf/disable_dog.wolf.baby

[dag@dog ~]$ ls -F
babydog/  epel-release-6-8.noarch.rpm  lists200        公共的/  下載/
boydog/   flowers.JPG                  mumdog/         模板/    音樂/
cal2038   game.txt                     news            視頻/    桌面/
cal3009   learning.txt                 NewZealand.JPG  圖片/
dog.JPG   lists                        wolf/           文檔/

[dag@dog ~]$ ls -F ~/wolf
disable_dog.wolf.baby  dog2.wolf      dog.wolf.baby
dog1.wolf              dog3.wolf      dog.wolf.boy
dog1.wolf.girl         dog3.wolf.boy  dog.wolf.girl

[dag@dog ~]$ find ~ -name dog1.wolf.girl -ok rm {} \;
< rm ... /home/dag/wolf/dog1.wolf.girl > ? y

[dag@dog ~]$ ls -F ~/wolf
disable_dog.wolf.baby  dog2.wolf  dog3.wolf.boy  dog.wolf.boy
dog1.wolf              dog3.wolf  dog.wolf.baby  dog.wolf.girl
[dag@dog ~]$ find ~ -name dog.wolf.baby -ok rm {} \;
< rm ... /home/dag/wolf/dog.wolf.baby > ? y


[dag@dog ~]$ ls -F ~/wolf
disable_dog.wolf.baby  dog2.wolf  dog3.wolf.boy  dog.wolf.girl
dog1.wolf              dog3.wolf  dog.wolf.boy

[dag@dog ~]$ find ~ -name disable_dog.wolf.baby -ok rm {} \;
< rm ... /home/dag/wolf/disable_dog.wolf.baby > ? y

[dag@dog ~]$ ls -F ~/wolf
dog1.wolf  dog2.wolf  dog3.wolf  dog3.wolf.boy  dog.wolf.boy  dog.wolf.girl

[dag@dog ~]$ ls -l
總用量 6964
drwxrwxr-x. 2 dag  dag     4096 5月  13 23:29 babydog
drwxrwxr-x. 2 dag  dag     4096 5月  13 23:53 boydog
-rw-rw-r--. 1 dag  dag     1208 5月  13 23:24 cal2038
-rw-rw-r--. 1 dag  dag     2128 5月  13 23:29 cal3009
-rw-r--r--. 1 root root 4724150 3月  15 2018 dog.JPG
-rw-r--r--. 1 root root   13015 5月  16 07:11 epel-release-6-8.noarch.rpm
......
[dag@dog ~]$ cd wolf

[dag@dog wolf]$ ls -l
總用量 0
-rw-rw-r--. 1 dag dag 0 5月  16 22:45 dog1.wolf
-rw-rw-r--. 1 dag dag 0 5月  16 22:45 dog2.wolf
-rw-rw-r--. 1 dag dag 0 5月  16 22:45 dog3.wolf
-rw-rw-r--. 1 dag dag 0 5月  16 22:47 dog3.wolf.boy
-rw-rw-r--. 1 dag dag 0 5月  16 22:46 dog.wolf.boy
-rw-rw-r--. 1 dag dag 0 5月  16 22:46 dog.wolf.girl
[dag@dog wolf]$ date
2020年 05月 17日 星期日 03:36:47 EDT
[dag@dog wolf]$ find . -mtime +3

[dag@dog wolf]$ find . -mtime +3

[dag@dog wolf]$ find . -mtime -3
.
./dog2.wolf
./dog.wolf.boy
./dog3.wolf.boy
./dog3.wolf
./dog.wolf.girl
./dog1.wolf
[dag@dog wolf]$ find . -atime +3

[dag@dog wolf]$ find . -atime -3
.
./dog2.wolf
./dog.wolf.boy
./dog3.wolf.boy
./dog3.wolf
./dog.wolf.girl
./dog1.wolf

[dag@dog wolf]$ find ~ -size +20
/home/dag/flowers.JPG
/home/dag/.xsession-errors
/home/dag/.gconfd/saved_state
/home/dag/dog.JPG
/home/dag/.cache/mozilla/firefox/v67cxvjm.default/startupCache/startupCache.8.little
/home/dag/.cache/mozilla/firefox/v67cxvjm.default/OfflineCache/index.sqlite
/home/dag/.cache/mozilla/firefox/v67cxvjm.default/Cache/5/42/D4622d01
/home/dag/.cache/mozilla/firefox/v67cxvjm.default/Cache/_CACHE_003_
......

[dag@dog wolf]$ find ~ -size -2
/home/dag/.abrt/applet_dirlist
/home/dag/.config/brasero/brasero.session
/home/dag/.config/user-dirs.locale
/home/dag/.config/ibus/bus/9300d649ab64d01fa9a5376500000008-unix-0
/home/dag/.config/gtk-2.0/gtkfilechooser.ini
/home/dag/news
/home/dag/.bash_logout
/home/dag/.pulse-cookie
/home/dag/.bashrc
/home/dag/.dmrc
/home/dag/mumdog/girl.dog
/home/dag/mumdog/girl.wolf
/home/dag/mumdog/boy.dog
/home/dag/mumdog/dog
......
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章