Linux查找命令

1、命令名称:which(查看命令文件位置和命令可能出现的别名)

命令格式:which 命令

执行命令alias可以显示设置了别名的命令;

临时性的添加命令别名:alias lld='ls -ldh'    设置可以代替ls -ldh的命令lld,删除别名unalias 别名

alias永久设置别名

设置别名每次登入可用

alias命令只作用于当次登入的操作。如果想每次登入都能使用这些命令的别名,则可以把相应的alias命令存放在 /root/.bashrc 文件中。

打开vim /root/.bashrc文件,输入要设置的alias命令,保存,然后运行source /root/.bashrc

如果这样还不行,表示没有/root/.bash_profile文件或文件中没有执行/root/.bashrc文件

可以在/root/.bash_profile中加入命令 source /root/.bashrc 后保存

这样就可以每次登入后都可以使用设置好的命令别名。

2、whereis(查找命令及帮助文档所在位置)

命令格式:whereis 命令

查看命令的帮助文档:man 命令

3、locate(按照文件名查找,按照数据库查找)

按照文件名查找

按照数据库查找


 命令执行前要先更新数据库:执行命令updatedb

locate命令的使用实例:

# locate /etc/sh

搜索etc目录下所有以sh开头的文件。

在使用locate命令时,要使用绝对路径查询。

4、命令名称:find(搜索系统中符合条件的文件)

-name      根据文件名查找

通配符:”*” 任意多个字符

find / -name "aaa*"查找根目录下所有以ab开头的文件

?  任意一个字符   

 find / -name  aaa?查找根目录下所有以aaa开头的字符名长度为4的文件

[] “指定范围

 find / -name “aaa[1-3]”查找根目录下的所有aaa开头,第三位为1-3的文件

Linux统计空间大小:df命令 -h显示存储单位

-size      根据大小查找

find ./ -size -10k 查找小于10k的文件或目录
 

find ./ -size -10M 查找小于10M的文件或目录

find ./ -size +10G 查找大于10G的文件或目录

-user      根据所有者查找

find / -user use1查找/下所有use1用户的文件

如果将用户删掉,家目录(/home/user1也删掉,如果在家目录之外的其他目录创建文件的话,这些文件不会删除,结果是,用户创建的文件还在,用户不在了。对于文件来说,用户的所有者和所属组不能用user1表示了,UIDGID定义所有者和所属组,变成纯数字。用户删除,ID号码不会删除,有新用户创建时,ID号码继续使用,文件的所有者和所属组变为新建用户

 

 -group     根据所属组查找

find / -group use1查找/下所有use1组的文件

 

-perm      根据文件权限查找

find /boot -perm 644

-按时间查找

按天   -ctime   -atime   -mtime

按分钟 -cmin    -amin    -mmin

c   change 表示属性被修改过:所有者、所属组、权限

a   access 被访问过(被查看过)

m   modify 表示内容被修改过

find /etc -mmin -120   查找120分钟内内容被修改过的

find /etc -ctime +7    查找七天之前属性被修改过的

-type 根据文件类型查找

-type f 二进制文件(普通文件)

-type l 软连接文件

-type d 目录

 

-逻辑连接符 -a (and 逻辑与); -o (or 逻辑或) ;| xargs

xargs命令:把前一个命令输出的结果当成多个参数。

 

例:find /etc -size +1k -a -size -10k

在etc目录小查找大于1k并且小于10k的文件

-exec命令执行连接符(对查找到的文件,进一步处理)只适用于find命令

find ... -exec 命令 {} \;

{}表示find查询的结果集

\是转义符,不适用命令别名,直接使用命令本身

;分号是表示语句结束

注:

转义符:在Linux中有个别名机制,如rm删除文件,执行的却是rm -i(用which rm可以查看命令别名)使用rm删除文件前会提示确认信息,就因为rm -i 这个参数。如果想使用 命令原义,可以在加\转义。如:\rm test.txt 不会提示,直接删除。

-inum 根据文件i节点查询

find / -inum 34119861 -exec ls -lih {} \;

有一些文件的硬链接数量有很多,有相同的i节点,查找其中的一个文件的i节点号,一次性删除

5、grep “字符串” 文件名(在文件内查找符合条件的字符串行)

-v 反向选择 (显示文件中所有不包含某字符的行)

-i 忽略大小写 (不论命令行里查询字符输入的是大写还是小写,查询结果不受影响)

grep命令以行为单位过滤数据,只显示包含查询字符的行。

管道符

格式:命令1 | 命令2   将命令1 的标准输出作为命令2的标准输入

举例:cat /etc/passwd | grep “root”

注意:通道符|后不适用需要输入路径的命令;

通道符|后加xargs命令,可以将前命令的执行结果拆分成多个执行对象(举例:find /root -name “aaa*” | xargs ls -l)

命令补充:touch ./aaa{a..e}

# 在/root目录下新建aaaaaaabaaacaaadaaae共5个文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值