find,locate,whereis,which,重定向

来源:互联网 发布:mysql官方下载教程 编辑:程序博客网 时间:2024/06/08 16:13

locate 命令

(模糊查找文件或文件夹)

  • 从系统的根目录/开始查找文件或者文件夹,根据文件名来查找,模糊匹配文件名。
  • 只要文件名里有我们要查找的内容,就会帮助我们查找出来,相当于windows里的搜索功能。
  • 缺点:新建的文件或者文件夹查找不到,需要手动更新数据库。

whereis和which的区别

  • whereis 用来查找系统里的命令存放的路径。主要到PATH变量指定的目录下查找。作用和which非常的相似。
  • which 不能显示man手册相关文件的存放路径

共同点:

  • 都是查找系统的命令
  • 都是到PATH变量指定的目录下查找

差异点:

  • whereis 会显示man手册的路径

PS:cd是shell的内部命令,因此用which是查不到的!

shell的内部命令和外部命令

shell的作用:

  • 是人和计算机进行交互的程序,也可以说是一个翻译。

  • bash 程序自带的命令—》内部命令

PS:外部命令—-》需要额外安装的命令(程序)

find命令

find命令 范围 条件 动作
用途:用于查找文件或目录

格式:find  [查找范围]  [查找条件] [动作]

常用查找条件

  • -name:按文件名称查找
  • -size: 按文件大小查找
  • -user: 按文件属主查找 owner
  • -type: 按文件类型查找
  • -perm :按文件权限查找
  • -mtime :按文件更改时间查找
  • -newer : 按比某个文件更新的查找

特殊查找条件

  • -o :逻辑或,只要所给的条件中有一个满足,寻找条件就算满足。o即or;
  • -not :逻辑非,在命令中可用“!”表示。该运算符表示查找不满足所给条件的文件 —>取反
  • -a:逻辑与,系统默认是与,可不加,表示只有当所给的条件都满足时,寻找条件才算满足。 and

-type 类型

  • f (file) 普通文件
  • d (directory) 目录(文件夹)
  • c 字符设备(character)
  • b 块设备 (block)
  • l (link) 链接文件
  • p 管道 pipe

find高级用法

# find /boot -size +1M -o -name "vmlinuz*"
+1M:大于1M-1M:小于1M1M:等于1M*:通配符号,代表任意个字符
文件名里包含vm的文件查找出来:# find /boot -size +1M -o -name "*vm*"
-mtime  n (modify time)修改时间

+4:4天之前
-4:4天内
4:4天那一天

# find  /root  -mtime  -2          查找2天以内的文件在/root目录下

PS:

  • -mmin 根据分钟来查找
  • 三个时间:
    • atime: access time 访问时间 cat more less
    • ctime: change time 改变属性的时间 chmod chown
    • mtime: modified time 修改时间—》修改内容 vim
#stat lp.txt 可以查看以上三个时间

find的补充说明

find 范围 条件 动作

# find /lianxi -name "*.txt" -exec cp {} /backup \;
  • find 是命令
  • /lianxi:查找的目录—》范围
  • -name:根据名字来查找
  • *.txt:以.txt结尾的文件
  • -exec:后面接执行的命令 (execute)
  • cp:就是要执行的命令(动作) copy
  • {} :用来存放find命令查找到的结果 —》相当于一个容器,用来存放前面find命令查找出来的结果
  • /backup :目地文件夹
  • \; 这条命令的结束符号

PS:

  • -ok 就多了一个确认,每步操作都需要输入y或者n确认。
# find /lianxi -name "*.txt" -ok  cp  {} /back \;< cp ... /lianxi/wenlijun.txt > ? y< cp ... /lianxi/lihong.txt > ? y< cp ... /lianxi/wangshuo.txt > ? y< cp ... /lianxi/surunze.txt > ? y

练习:

  1. 在根目录下新建一个目录叫find;
  2. 进入find目录,复制/etc/passwd 到当前目录;
  3. 复制/boot目录到当前目录下;
  4. 新建一个目录叫hunantv;
  5. 新建一个空文件叫daydayup;
  6. 查找mkdir和touch命令的路径;
  7. 使用locate命令查找出ifconfig文件的路径;
  8. 使用find命令查找出/find目录下大小大于1M并且名字里包含vmlinuz的文件;
    9. 使用find命令查找出/find目录下大小大于1M小于4M的文件;
  9. 查找出你机器里包含rhel*.iso的文件并且此文件大小大于2G;
  10. 查找出mkdir的文件复制到/find目录下;
  11. 查找出daydayup的文件然后删除它;
  12. 查找出find目录下大于10K的文件复制到/tmp目录下;
  13. 查找出属于linghu这个用户的所有文件并且文件的大小大于5k;
  14. 查找出/tmp目录下最近3个小时内修改过的文件;
  15. 查找出/find目录下最近30分钟前修改过的文件。
8-16题参考答案:# find /find -size +1M -name "*vmlinuz*" -type f # find /find -size +1M ! -size +4M  # find / -name "rhel*.iso" -type f -size +2G # find / -name mkdir -exec cp {} /find  \;# find /find -name "daydayup" -type f -exec rm -rf {} \;# find /find -size +10k -type f -exec cp {} /tmp \;# find / -user linghu -type f -size +5k# find /tmp -mmin -180 -type f# find /find -mmin +30 -type f

mkdir -p 命令

# mkdir  -p a/b/c/d/e/f
  • mkdir 是命令
  • -p 选项—》可供你选择的项目 option ,接选项会使命令有不一样的效果。
  • a/b/c/d/e/f 参数 —》参与进来的操作数 arguments parameter
  • -p, –parents
    no error if existing, make parent directories as needed

  • 新建文件夹的时候,如果父目录不存在,就将父目录一起新建了。

扩展练习:

  1. 查找出/lianxi目录下有多少个文件夹,但是不能算上包含文件夹下的子文件夹
[root@chinaitsoft lianxi]# find .  -maxdepth 1 -type d |tail -n +2|wc -l9
  • | 管道符号:将前面一个命令的输出送给后面的命令作为输入。
  • wc 统计命令
  • -l 统计行数 line
  • depth 深度
  • -maxdepth levels
    Descend at most levels (a non-negative integer) levels
    PS:“深度”
    ./tar/boot/grub
    0 1 2 3
    目录的深度从0开始算 ,0代表目录本身,1 代表当前目录下的文件夹 2代表当前目录下的文件夹里的子文件夹 ,以此类推。

初识 /proc 目录

/proc 此目录用来存放内核信息及相关的进程信息。process

  • 此目录存放的信息是在内存里,停电会丢失。
  • 每一个进程都有一个文件夹,一一对应。 根据进程的PID(进程号)建立

kernel:内核

其实就是一个软件,比较核心而已。

内核的作用

  1. 对cpu进行调度管理;
  2. 对内存进行管理;
  3. 对进程进行管理;
  4. 对文件系统进行管理;
  5. 对其他的硬件管理
# find / -user linghu -type f -size +1k 2>/dev/null
  • > (正确的输出重定向):将在屏幕上的输出,重新转到别的地方。(乾坤大挪移),如果后面接的文件不存在,会自动新建。如果存在,会覆盖原文件里的内容。
  • >>(追加输出重定向):不覆盖原来的内容,只是在末尾追加进去。如果后面接的文件不存在,会自动新建。
  • 2>(错误的输出重定向):前面命令执行不成功或者出错的信息,重新定向到别的地方。
  • 2>>(追加错误的输出重定向):前面命令执行不成功或者出错的信息,重新定向到别的地方。不会覆盖原来文件里的内容。

/dev/null

  • 黑洞文件,任何内容只要重定向到此,都会消失,不保存。
原创粉丝点击