输入/输出和管道及相关的命令
- 默认,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
......