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
......
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章