linux下命令与文件的查询

Linux命令与文件的查询

1  脚本文件名的查询

  • which(寻找“执行文件“)

参数-a  :将所有由path目录中可以找到的命令均列出,而不止第一个被找到的目录名称

  • 以 ifconfig为例

 可以找到正确的文件执行名

  • 以which 本身为例

    alias--->命令别名,输入which会等于后面接的那串命令

  • 以常用的cd指令为例

为什么会找不到呢?

原因在于which的查找机制,which是默认查找PATH内所规范的目录,cd是bash内置的命令当然找不到啦,这里我们使用type指令

可以看出cd是一个shell builtin 即就内置命令

2  文件名的查找

通常而言我们不常使用find指令,由于find指令需要在内存中查找,速度会很慢,所以我们会先使用whereis和locate来检查,如果找不到再使用find,whereis和locate都是使用数据库来查找,所以速度很快。

  • whereis(寻找特定文件)

参数:-b  :只查找二进制格式文件

-m :只找在说明文件manual路径下的文件

-s   :只找source源文件

-u   :查找不再上述三个选项中的其他文件

  • 以ifconfig指令为例

只找出跟passwd有关的是”说明文件“

  • locate

locate指令使用非常简单,直接后面输入”文件部分名称“即可

参数:-i    忽略大小写的差异

-r   后面可接正则表达式的显示方式

  • 以passwd为例

只要含有 passwd在其中,就会被显示出来。

使用限制:由于locate查找数据是由 已创建的数据库库/var/lib/mlocata/所查到的,数据库信息需要更新,所以当我们新建一个文件夹后查找这个文件

由于数据库并未更新,所以会查不到,我们可以采用手动更新数据库的方式。---->直接输入updatesb

  • find指令

这是一个很重要的指令,直接在内存中查找。

时间参数:以-mtime为例

-mtime n  :n为数字,意义为在n天之前的”一天之内“被更改过的文件

-mtime +n   :列出在n天之前(不含n天本身)被更改的文件名

-mtime  -n     :列出在n天之内(含n天本身)被更改过的文件名

-newer  file :file为一个存在的文件,列出比file还要新的文件名

图示为:

以find /var -mtime4 为例时间轴为:

与用户或用户组有关的参数

-uid  n:这个数字是用户的账号ID,记录在/etc/passwd中与账号名称对应的数字

-gid  n:n为用户组名的ID

-username  :name为用户账号名称 如root

-groupname:name为用户组名

-nouser  :寻找文件所有者不存在/etc/passwd的人

-nogroup:寻找文件的所用户组不存在于etc/group中的文件

  • 查找 /home下属于dz的文件:

查找根目录中不属于任何人的文件

-name filename 查找文件名为 1 的文件

-name [+ -]size  查找比size还要大的文件  size规格:c:代表byte,k代表1024bytes 要找

以找比50kb小的文件为例

-type type:查找类型为type的文件

以查找正规文件为例(f)

文件权限参数

-pern mode :查找文件类型刚好等于 mode的文件

-pern -mode:查找文件权限  必须要全部包含mode权限的文件

-pern +mode  查找文件权限 包含任意mode权限的文件

比如说我们查找-rwx r-x r-x 即 -pern+755时候也会包括一个-rw- --- ---文件存在,因为他    包含了-rw属性

查找权限为777的文件

权限为包含任意一个777以内权限的文件

权限为 必须包含777所有权限的文件

其他操作:

-exec command:commad 为其他命令,-exec后面可接其他命令来处理查找的结果

如 将权限包含7000其中之一的文件 使用ls -l列出来

以find  / perm +7000 -exec  ls -l  {}  \;  指令为例

时间: 2024-10-25 17:13:21

linux下命令与文件的查询的相关文章

linux下的find文件查找命令与grep文件内容查找命令

linux下的find文件查找命令与grep文件内容查找命令 在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等. (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找. 一.find命令 基本格式:find  path expression 1.按照文件名查找 (1)find / -

Linux下几种文件传输命令

Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具.由于它是基于SSH的,会在传输过程中对用户的密码.数据等敏感信息进行加密,因此可以有效的防止用户信息在传输的过程中被窃取,比FTP有更高的安全性.在功能方面与FTP很类似,不仅可以传输文件数据,而且可以进行远程的文件管理(如建立,删除,查看文件列表等操作).Sftp与ftp虽然只有一字之差,但基于

Linux下重命名文件或文件夹(mv命令与rename命令)

在Linux下重命名文件或目录,可以使用mv命令或rename命令 mv ------------ mv命令既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录移动到/b下,并重命名为c mv /a /b/c 其实在文本模式中要重命名文件或目录,只需要使用mv命令就可以了,比如说要将一个名为abc的文件重命名为1234: mv abc 1234 注意,如果当前目录下也有个1234的文件的话,这个文件是会将它覆盖的. rename -----------

[原创] Linux下几种文件传输命令 sz rz sftp scp介绍

Linux下几种文件传输命令 sz rz sftp scp介绍 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具.由于它是基于SSH的,会在传输过程中对用户的密码.数据等敏感信息进行加密,因此可以有效的防止用户信息在传输的过程中被窃取,比FTP有更高的安全性.在功能方面与FTP很类似,不仅可以传输文件数据,而且可以进行远程的文件管理(如建立,删除,查看文件列表等操作).Sftp与ftp虽然只有一字之差,但基于的传输协议却是不同的.因此不能用sftp client去连

linux下删除整个文件夹或者文件命令实例

1.linux删除文件夹命令 在用Linux的时候,有时候要删除一个文件夹,往往会提示次此文件非空,没法删除,这个时候,就必须使用rm -rf命令. 2.linux删除文件夹实例: rm -rf /var/log/httpd/access 将会删除/var/log/httpd/access目录以及其下所有文件.文件夹 3.linux删除文件实例: rm -f /var/log/httpd/access.log 将会强制删除/var/log/httpd/access.log这个文件 -r 就是向下

Linux下*.tar.gz文件解压缩命令 find 命令

1.压缩命令: 命令格式:tar  -zcvf   压缩文件名.tar.gz   被压缩文件名 可先切换到当前目录下.压缩文件名和被压缩文件名都可加入路径. 2.解压缩命令: 命令格式:tar  -zxvf   压缩文件名.tar.gz 解压缩后的文件只能放在当前的目录. 3.文件查找命令 查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查找关键字 -print Linux下*.tar.gz文件解压缩命令 find 命

linux下分割合并文件命令

分割与合并文件操作. 分割与合并文件 有时候大文件分割后更方便传输.以一张图片为例:分割:默认分割 12345678910111213 [[email protected] shell]$ ls -lh总用量 1.5M-rwxrwxrwx 1 jimo jimo 1.5M 9月 17 20:31 1.png[[email protected] shell]$ split 1.png [[email protected] shell]$ ls -lh总用量 2.9M-rwxrwxrwx 1 jim

[转帖]Linux下主机间文件传输命令

Linux下主机间文件传输命令 https://yq.aliyun.com/articles/53631?spm=a2c4e.11155435.0.0.580ce8ef4Q9uzs SCP命令: 简介: scp 命令在网络上的主机之间拷贝文件,它是安全拷贝(secure copy)的缩写. scp 命令使用 ssh 来传输数据,并使用与 ssh 相同的认证模式,提供同样的安全保障. 如果有公钥打通就不用密码,如果没有就会提示输入密码. 用法: 1 #Copy 本地文件 /etc/eva.log,

linux下的 lib文件的学习思考

说到这个LIB文件,先从一个小故障说起. 某日开发说,一台测试用虚机可以PING通SSH不能连了.运维同学就赶紧去查,SSHD_CONFIG配置文件都正确啊,一点错误都没有,那为什么呢? 测试下,不管连自己还是其他机,都是报错 这里注意看,提示你有个libcom_err.so.2共享库文件找不到. 询问开发,才了解他们测试一个软件,意外删除了某个库文件. 那么在正常的相同虚机的机器查看下,再和出错的虚机比对下,发现少了2个库文件 挂载系统光盘或从正常的虚机上把这个两个文件拷贝过来,放到lib64