Linux常用命令(合集)——基础入门(三)

简介: Linux常用命令(合集)——基础入门(三)

which命令

which也是搜索系统命令的命令,和whereis命令的区别在于:

  1. whereis命令可以在查找到二进制命令的同时,查找到帮助文档的位置;
  2. 而which命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令
  • 命令名称:which
  • 英文原意:shows the full path of (shell) commands
  • 所在路径:/usr/bin/which
  • 执行权限:所有用户
  • 功能描述:列出命令的所在路径
[root@localhost~]# which ls
alias ls='ls --color=auto'
        /bin/l

locate命令

locate命令才是可以按照文件名搜索普通文件的命令,其基本信息如下:

  • 命令名称:locate
  • 英文原意:find files by name
  • 所在路径:/usr/bin/locate
  • 执行权限:所有用户
  • 功能描述:按照文件名搜索文件
[root@localhost~]# locate [选项] 文件名
选项:
  -i:忽略大小写
  • 优点:按照数据库搜索,搜索速度快,消耗资源小。数据库位置/var/lib/mlocate/mlocate.db,可以使用updatedb命令强制更新数据库。
  • 缺点:只能按照文件名来搜索文件,而不能执行更复杂的搜索,比如按照权限、大小、修改时间等搜索文件。

在locate查找文件时,一些新建的文件有可能查找不到,因为locate命令只在数据库中查找,所以要更新数据库updatedb。

在linux中,locate命令默认没有必要搜索一些类似网盘、光盘、临时目录的目录。

find命令

find是linux中十分强大的命令,可以通过各种方式在硬盘中搜索文件,其基本信息如下:

  • 命令名称:find
  • 英文原意:search for files in a directory hierarchy
  • 所在路径:/usr/bin/find
  • 执行权限:所有用户
  • 功能描述:在目录中搜索文件

按照文件名搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
  -name:      按照文件名搜索
  -iname:     按照文件名搜索,不区分文件名大小写
  -inum:      按照 inode 号搜索

按照文件大小搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
  -size [+|-]大小: 按照指定大小搜索文件
  这里的“+”的意思是搜索比指定大小还要大的文件,“-”的意思是搜索比指定大小还要小的文件。
find 命令的单位:
[root@localhost ~]# man find
 -size n[cwbkMG]
      File uses n units of space. The following suffixes can be used:
         'b' for 512-byte blocks (this is the default if no suffix is used)
        #这是默认单位,如果单位为 b 或不写单位,则按照 512 Byte 搜索
         'c' for bytes
        #搜索单位是 c,按照字节搜索
         'w' for two-byte words
        #搜索单位是 w,按照双字节(中文)搜索
         'k' for Kilobytes (units of 1024 bytes)
        #按照 KB 单位搜索,必须是小写的 k
         'M' for Megabytes (units of 1048576 bytes)
        #按照 MB 单位搜索,必须是大写的 M
         'G' for Gigabytes (units of 1073741824 bytes)
        #按照 GB 单位搜索,必须是大写的 G

按照修改时间搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
  选项:
  -atime [+|-]时间:     按照文件访问时间搜索
  -mtime [+|-]时间:     按照文件数据修改时间搜索
  -ctime [+|-]时间:     按照文件状态修改时间搜索
这三个时间的区别我们在 stat 命令中已经解释过了,
这里用 mtime 数据修改时间来举例,重点说说“[+-]”时间的含义。
  -5:   代表 5 天内修改的文件。
  5:    代表前 5~6 天那一天修改的文件。
  +5:   代表 6 天前修改的文件。

按照权限搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
  -perm 权限模式:     查找文件权限刚好等于“权限模式”的文件
  -perm -权限模式:    查找文件权限全部包含“权限模式”的文件
  -perm +权限模式:    查找文件权限包含“权限模式”的任意一个权限的文件

按照所有者和所属组搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
  选项:
    -uid 用户 ID: 按照用户 ID 查找所有者是指定 ID 的文件
    -gid 组 ID: 按照用户组 ID 查找所属组是指定 ID 的文件
    -user 用户名: 按照用户名查找所有者是指定用户的文件
    -group 组名: 按照组名查找所属组是指定用户组的文件
    -nouser: 查找没有所有者的文件

🤡 按照所有者和所属组搜索时,“-nouser”选项比较常用,主要用于查找垃圾文件。只有一种情况例外,那就是外来文件。比如光盘和 U 盘中的文件如果是由 Windows 复制的,在Linux中查看就是没有所有者的文件;再比如手工源码包安装的文件,也有可能没有所有者

按照文件类型搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
  -type d: 查找目录
  -type f: 查找普通文件
  -type l: 查找软链接文件

逻辑运算符搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
  选项:
    -a: and 逻辑与
    -o: or 逻辑或
    -not: not 逻辑非
1)-a:and 逻辑与
  find 命令也支持逻辑运算符选项,其中-a 代表逻辑与运算,也就是-a 的两个条件都成立,find 搜
  索的结果才成立。举个例子:
  [root@localhost ~]# find . -size +2k -a -type f
  #在当前目录下搜索大于 2KB,并且文件类型是普通文件的文件
2)-o:or 逻辑或
  -o 选项代表逻辑或运算,也就是-o 的两个条件只要其中一个成立,find 命令就可以找到结果。例
  如:
  [root@localhost ~]# find . -name cangls -o -name bols
  ./cangls
  ./bols
  #在当前目录下搜索文件名要么是 cangls 的文件,要么是 bols 的文件
3)-not:not 逻辑非
  -not 是逻辑非,也就是取反的意思。举个例子:
  [root@localhost ~]# find . -not -name cangls
  #在当前目录下搜索文件名不是 cangls 的文件

-exec和-ok选项

1)-exec 选项
  这里我们主要讲解两个选项“-exec”和“-ok”,这两个选项的基本作用非常相似。我们先来看
  看“-exec”选项的格式。
  [root@localhost ~]# find 搜索路径 [选项] 搜索内容 -exec 命令 2 {} \;
  其次,这个选项的作用其实是把 find 命令的结果交给由“-exec”调用的命令 2 来处理。“{}”就
  代表 find 命令的查找结果。
2)-ok 选项
  “-ok”选项和“-exec”选项的作用基本一致,区别在于:“-exec”的命令 2 会直接处理,而不询
  问;“-ok”的命令 2 在处理前会先询问用户是否这样处理,在得到确认命令后,才会执行。

grep命令

在文件中提取和匹配符合条件的字符串行,其基本信息如下:

  • 命令名称:grep
  • 英文原意:Globally search a Regular Expression and Print
  • 所在路径:/usr/bin/grep
  • 执行权限:所有用户
  • 功能描述:文件中提取和匹配符合条件的字符串行
[root@localhost ~]# grep [选项] "搜索内容" 文件名
  选项:
    -i:     忽略大小写
    -n:     输出行号
    -v:     反向查找
    --color=auto:     搜索出的关键字用颜色显示

find和grep的区别

  1. find命令
    find命令用于在系统中搜索符合条件的文件名,如果需要模糊查询,则使用通配符进行匹配。搜索时文件名是完全匹配的(find命令可以通过-regex选项,把匹配规则转为正则表达式规则,但是不建议如此)。
  2. grep命令
    grep命令用于在文件中搜索匹配符合要求的字符串,如果需要模糊查询,则使用正则表达式进行匹配,搜索是字符串是包含匹配的。

通配符和正则表达式的区别

通配符:用于匹配文件名,完全匹配

通配符 作用
匹配一个任意字符
* 匹配0个或任意多个任意字符,也就是可以匹配任何内容
[] 匹配中括号中任意一个字符,例如,[abc]就是匹配abc中的任意一个字符
[-] 匹配中括号中任意一个字符,-代表一个范围,例如,[a-z]表示匹配a-z中的任意一个字符
[^] 逻辑非,表示匹配不是中括号中的一个字符

正则表达式:用于匹配字符串,包含匹配

正则符 作用
匹配一个字符重复0次,或1次
* 匹配前一个字符重复0次,或任意多次
[] 匹配中括号中任意一个字符,例如,[abc]就是匹配abc中的任意一个字符
[-] 匹配中括号中任意一个字符,-代表一个范围,例如,[a-z]表示匹配a-z中的任意一个字符
[^] 逻辑非,表示匹配不是中括号内的一个字符
^ 匹配行首
$ 匹配行尾

压缩和解压缩命令

在Linux中不以后缀名来区分文件,后缀名主要用来帮助管理员区分压缩格式

.zip

不常见

压缩 zip

压缩命令就是zip,其基本信息如下:

  • 命令名称:zip
  • 英文原意:package and compress (archive) files。
  • 所在路径:/usr/bin/zip
  • 执行权限:所有用户
  • 功能描述:压缩目录或文件
[root@localhost ~]# zip [选项] 压缩包名 源文件或源目录
选项:
  -r: 压缩目录
例子:
[root@localhost ~]# zip ana.zip anaconda-ks.cfg 

解压 unzip

".zip"格式的解压缩命令是unzip,其基本信息如下:

  • 命令名称:unzip
  • 英文原意:list,test and extract compressed files in a ZIP archive
  • 所在路径:/usr/bin/unzip
  • 执行权限:所有用户
  • 功能描述:列表、测试和提取压缩文件中的文件
[root@localhost~]# unzip [选项] 压缩包名称
选项:
  -d:     指定解压缩位置
例子:
[root@localhost~]# unzip -d /tmp/ ana.zip


相关文章
|
2月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
409 1
二、Linux文本处理与文件操作核心命令
|
2月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
289 137
|
2月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
659 57
|
5月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
491 143
linux命令—tree
|
1月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
369 2
|
2月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
250 0
Linux内存问题排查命令详解
|
2月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
258 16
|
4月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
805 13
|
5月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
914 21
|
5月前
|
监控 Linux
Linux系统中使用df命令详解磁盘使用情况。
`df`命令是Linux系统管理员和用户监控和管理磁盘空间使用的重要工具。掌握它的基本使用方法和选项可以帮助在必要时分析和解决空间相关问题。简洁但功能丰富,`df`命令确保了用户可以快速有效地识别和管理文件系统的空间使用情况。
414 13