輸入/輸出和管道及相關的命令
- 默認,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
......