当前位置:首页 > 技术文章 > 正文内容

Linux系统11个高级文件与目录操作命令示例

douba32个月前 (07-17)技术文章15

Linux高级文件与目录操作命令33个实用示例详解

文深入讲解Linux系统中11个高级文件与目录操作命令,每个命令有3个实用示例,共33个示例,帮助您掌握这些命令的核心用法和实用技巧。

一、find - 文件查找神器

示例1:按名称查找文件

bash
find /home/user -name "*.txt"

查找/home/user目录下所有.txt文件

示例2:按文件大小查找

bash
find /var/log -size +10M -exec ls -lh {} \;

查找/var/log目录下大于10MB的文件并显示详细信息

示例3:按修改时间查找并删除

bash
find /tmp -mtime +7 -type f -delete

删除/tmp目录下7天前修改过的普通文件

二、locate - 快速文件查找

示例1:基本查找

bash
locate nginx.conf

快速查找系统中所有nginx.conf文件

示例2:限制查找数量

bash
locate -l 5 "*.log"

仅显示前5个.log文件的查找结果

示例3:更新数据库后查找

bash
sudo updatedb && locate -i "report*.pdf"

更新数据库后不区分大小写查找report开头的PDF文件

三、which - 定位命令路径

示例1:查找命令路径

bash
which python3

显示python3命令的完整路径

示例2:显示所有匹配路径

bash
which -a java

显示系统中所有java命令的路径

示例3:检查命令是否存在

bash
which docker >/dev/null && echo "已安装" || echo "未安装"

检查docker是否安装并给出提示

四、whereis - 定位命令相关文件

示例1:查找命令相关文件

bash
whereis git

显示git命令的二进制文件、源码和手册页位置

示例2:仅查找二进制文件

bash
whereis -b node

仅显示node命令的二进制文件位置

示例3:查找特定类型的文件

bash
whereis -m -B /usr/bin -f gcc

在/usr/bin目录下查找gcc的手册页

五、ln - 创建文件链接

示例1:创建硬链接

bash
ln file.txt file_hardlink.txt

为file.txt创建硬链接file_hardlink.txt

示例2:创建符号链接

bash
ln -s /var/www/html webroot

创建指向/var/www/html的符号链接webroot

示例3:强制覆盖已有链接

bash
ln -sf /new/path/to/file existing_link

强制更新existing_link指向新的文件路径

六、stat - 显示文件状态

示例1:显示文件详细信息

bash
stat /etc/passwd

显示/etc/passwd文件的详细信息

示例2:自定义输出格式

bash
stat -c "%n: %U:%G %A %s bytes" /var/log/syslog

以自定义格式显示文件信息:文件名:用户:组 权限 大小

示例3:显示文件系统状态

bash
stat -f /

显示根目录所在文件系统的状态信息

七、tree - 目录树状展示

示例1:基本目录结构

bash
tree -L 2 /etc

以树状图显示/etc目录,深度为2级

示例2:显示权限信息

bash
tree -p /home/user

显示目录树及各文件权限信息

示例3:仅显示目录

bash
tree -d /usr/local

仅显示/usr/local下的目录结构,不包含文件

八、rename - 批量重命名

示例1:简单替换

bash
rename 's/\.jpeg/\.jpg/' *.jpeg

将所有.jpeg文件扩展名改为.jpg

示例2:复杂重命名

bash
rename 'y/A-Z/a-z/' *

将当前目录下所有文件名改为小写

示例3:添加前缀

bash
rename 's/^/backup_/' *.conf

为所有.conf文件添加backup_前缀

九、realpath - 显示绝对路径

示例1:解析相对路径

bash
realpath ../Documents

显示../Documents的绝对路径

示例2:解析符号链接

bash
realpath -s /usr/bin/python

显示/usr/bin/python的绝对路径(不解析符号链接)

示例3:规范化路径

bash
realpath --canonicalize-missing /nonexistent/path

即使路径不存在也规范化显示其绝对路径

十、basename - 提取文件名

示例1:基本用法

bash
basename /var/log/syslog

从路径中提取文件名syslog

示例2:去除扩展名

bash
basename /home/user/file.txt .txt

提取文件名并去除.txt扩展名

示例3:处理多个路径

bash
basename -a /path/to/file1 /path/to/file2

批量处理多个路径,提取文件名

十一、dirname - 提取目录路径

示例1:基本用法

bash
dirname /var/log/nginx/access.log

提取文件路径中的目录部分/var/log/nginx

示例2:处理多个路径

bash
dirname -z /path/to/file1 /path/to/file2 | xargs -0 ls

批量处理多个路径并传递给ls命令

示例3:与basename配合

bash
for file in /path/to/*; do
    dir=$(dirname "$file")
    name=$(basename "$file")
    echo "文件$name位于目录$dir"
done

组合使用dirname和basename处理文件路径

相关文章

电脑如何远程连接Linux系统服务器

Linux服务器远程连接方法这里给大家普及一下Linux服务器,是一台安装Ubuntu系统的工作站。这类服务器大部分用于程序员开发编程使用,说简单点就是拿来敲代码的。通常需要借助远程连接工具来连接Li...

Linux基础知识之查看io(查看linux的io使用情况)

1.查看占用IO高的磁盘:iostat -X -d -k 1 102.查看占IO的pid:pidstat -d3.查看pid进程:ps -aux | grep pid4.查看占用IO高的pid:iot...

Linus:Linux 太垃圾了,我把它删了,建议你用 Windows XP

IT之家 1 月 26 日消息,Linux 之父 Linus Torvalds 昨日似乎情绪有点失控,向 GitHub 提交了一个 README 文件,狠狠吐槽了 Linux 系统。Linus 表示:...

Linux 下如何查看进程的资源限制信息?

简介Linux 上的 cat /proc/$pid/limits 命令提供有关特定进程的资源限制的信息,其中 $pid 是相关进程的进程 ID (pid)。该文件是 `/proc 文件系统的一部分,该...

如何检查 Linux 系统是 32 位还是 64 位?这9个命令查的又快又准!

在 Linux 系统中,位数(bit)通常指的是 CPU 架构的位宽,即 CPU 一次能够处理的数据量。32 位系统和 64 位系统在内存寻址能力、计算性能和软件支持上存在显著差异:「32 位系统」:...

Linux 性能更好的ftp客户端 lftp 使用详解

简介LFTP 是一个命令行 FTP 客户端,支持多种文件传输协议,包括 FTP、FTPS、HTTP、HTTPS和SFTP 。它以其通过镜像、后台操作和脚本支持等特性有效管理复杂传输的能力而闻名。安装U...