Skip to content

第5章:文件操作命令

5.1 文件创建与删除

touch命令

  • 功能:创建空文件或更新文件的修改时间
  • 格式:touch 文件名
  • 示例:
    bash
    $ touch file.txt
    $ touch file1.txt file2.txt file3.txt

rm命令

  • 功能:删除文件
  • 常用选项:
    • -f:强制删除,不提示
    • -i:删除前提示
  • 警告:rm -rf 命令非常危险,可能删除整个系统
  • 示例:
    bash
    $ rm file.txt
    $ rm -f file.txt
    $ rm file1.txt file2.txt

5.2 文件复制与移动

cp命令

  • 功能:复制文件或目录
  • 常用选项:
    • -i:复制前提示
    • -r:递归复制目录
    • -v:显示复制过程
  • 示例:
    bash
    $ cp file.txt file_copy.txt
    $ cp -r dir1 dir2
    $ cp file.txt /home/user/Documents/

mv命令

  • 功能:移动文件或目录,也可用于重命名
  • 常用选项:
    • -i:移动前提示
    • -v:显示移动过程
  • 示例:
    bash
    $ mv file.txt new_name.txt  # 重命名
    $ mv file.txt /home/user/Documents/  # 移动文件
    $ mv dir1 dir2  # 移动目录

5.3 文件查看命令

cat命令

  • 功能:查看文件内容(适合小文件)
  • 常用选项:
    • -n:显示行号
    • -A:显示所有字符(包括换行符、制表符等)
  • 示例:
    bash
    $ cat file.txt
    $ cat -n file.txt

more命令

  • 功能:分页查看文件内容(适合大文件)
  • 操作:
    • 空格键Page Down 向下翻页
    • Enter 键向下一行
    • q 退出
  • 示例:
    bash
    $ more large_file.txt

less命令

  • 功能:分页查看文件内容(功能更强大)
  • 操作:
    • 空格键Page Down 向下翻页
    • Page Up 向上翻页
    • / 键搜索
    • q 退出
  • 示例:
    bash
    $ less large_file.txt

head命令

  • 功能:查看文件的前几行
  • 常用选项:
    • -n:指定显示的行数(默认10行)
  • 示例:
    bash
    $ head file.txt
    $ head -n 20 file.txt

tail命令

  • 功能:查看文件的后几行
  • 常用选项:
    • -n:指定显示的行数(默认10行)
    • -f:实时监控文件变化
  • 示例:
    bash
    $ tail file.txt
    $ tail -n 20 file.txt
    $ tail -f /var/log/syslog  # 实时监控日志文件

5.4 文件搜索命令

find命令

  • 功能:根据条件搜索文件
  • 常用选项:
    • -name:按文件名搜索
    • -type:按文件类型搜索(f:文件, d:目录)
    • -size:按文件大小搜索
    • -mtime:按修改时间搜索
  • 示例:
    bash
    $ find /home -name "*.txt"  # 搜索所有.txt文件
    $ find /tmp -type f -mtime -1  # 搜索1天内修改的文件
    $ find /var -size +10M  # 搜索大于10MB的文件

locate命令

  • 功能:快速搜索文件(基于数据库)
  • 注意:需要定期更新数据库(使用 updatedb 命令)
  • 示例:
    bash
    $ locate file.txt
    $ locate "*.jpg"

5.5 文件内容搜索

grep命令

  • 功能:在文件中搜索关键词
  • 常用选项:
    • -i:忽略大小写
    • -n:显示行号
    • -v:反向搜索(显示不包含关键词的行)
    • -r:递归搜索目录
  • 示例:
    bash
    $ grep "hello" file.txt
    $ grep -n "error" /var/log/syslog
    $ grep -r "test" /home/user

egrep命令

  • 功能:支持正则表达式的grep
  • 示例:
    bash
    $ egrep "^[0-9]+" file.txt  # 搜索以数字开头的行
    $ egrep "hello|world" file.txt  # 搜索包含hello或world的行

5.6 实战练习:文件创建、查看、搜索综合操作

练习1:文件创建与查看

  1. 创建一个测试文件:

    bash
    touch test.txt
  2. 向文件中写入内容:

    bash
    echo "Hello, Linux!" > test.txt
    echo "This is a test file." >> test.txt
    echo "Learning Linux commands is fun." >> test.txt
  3. 查看文件内容:

    bash
    cat test.txt
  4. 查看文件的前2行:

    bash
    head -n 2 test.txt
  5. 查看文件的后2行:

    bash
    tail -n 2 test.txt

练习2:文件复制与移动

  1. 复制test.txt文件:

    bash
    cp test.txt test_copy.txt
  2. 查看复制后的文件:

    bash
    cat test_copy.txt
  3. 重命名文件:

    bash
    mv test_copy.txt test_backup.txt
  4. 查看重命名后的文件:

    bash
    ls -la
  5. 创建一个目录并移动文件:

    bash
    mkdir backup
    mv test_backup.txt backup/
  6. 查看文件是否移动成功:

    bash
    ls -la backup/

练习3:文件搜索与内容搜索

  1. 在当前目录创建几个测试文件:

    bash
    touch file1.txt file2.txt file3.md
    echo "This is file1" > file1.txt
    echo "This is file2" > file2.txt
    echo "This is file3" > file3.md
  2. 搜索所有.txt文件:

    bash
    find . -name "*.txt"
  3. 搜索包含"file"关键词的文件:

    bash
    grep -r "file" .
  4. 搜索包含"file1"关键词的文件并显示行号:

    bash
    grep -n "file1" .
  5. 反向搜索不包含"file1"关键词的文件:

    bash
    grep -v "file1" file1.txt

练习4:文件删除

  1. 删除test.txt文件:

    bash
    rm test.txt
  2. 删除backup目录及其内容:

    bash
    rm -r backup
  3. 删除所有测试文件:

    bash
    rm file1.txt file2.txt file3.md
  4. 查看当前目录:

    bash
    ls -la

通过这些练习,你应该能够熟练掌握Linux的文件操作命令,为后续的学习打下基础。

© 2026 编程马·菜鸟教程 版权所有