一、文件与目录管理命令

1. ls —— 列出目录内容

功能:显示文件和目录的名称、大小、权限等信息。

语法

ls [选项] [文件/目录]

选项

说明

-l

长格式显示(详细信息)

-a

显示所有文件(包括隐藏文件)

-h

人性化显示文件大小(如 KB、MB)

-t

按修改时间排序(新优先)

-r

反向排序

-S

按文件大小排序(大文件优先)

示例

# 基本列出
ls

# 详细信息
ls -l

# 显示隐藏文件
ls -a

# 人性化显示大小
ls -lh

# 按修改时间倒序
ls -lt

# 按大小排序
ls -lSh

# 查看指定目录
ls -l /var/log/

# 过滤特定类型文件
ls -l *.txt

2. touch —— 创建文件或更新时间戳

功能

  • 创建空文件(若不存在)
  • 更新文件的访问时间(atime)和修改时间(mtime)

语法

touch [选项] 文件名

选项

说明

-a

仅更新访问时间

-m

仅更新修改时间

-c

不创建新文件(仅更新时间)

示例

# 创建单个文件
touch file.txt

# 批量创建
touch file{1..4}.txt

# 快速创建序列文件
touch image_{1..5}.png

# 仅更新访问时间
touch -a file.txt

# 不创建新文件,仅更新时间(避免创建不存在的文件)
touch -c file5.txt
stat 文件名   #查看文件的创建、访问时间


  File: example.txt
  Size: 123        	Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d	Inode: 123456      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/   user)   Gid: ( 1000/   user)
Access: 2025-09-29 10:00:00.123456789 +0800  # atime:访问时间
Modify: 2025-09-29 09:30:00.123456789 +0800  # mtime:内容修改时间
Change: 2025-09-29 09:30:00.123456789 +0800  # ctime:元数据修改时间
 Birth: 2025-09-29 09:00:00.123456789 +0800  # birthtime:创建时间(部分系统支持)

3. cat —— 查看/合并/创建文件

功能

  • 查看文件内容
  • 合并多个文件
  • 创建文件(配合重定向)

语法

cat [选项] [文件]

选项

说明

-n

显示行号(包括空行)

-b

显示行号(忽略空行)

示例

# 查看文件内容
cat /etc/selinux/config

# 显示行号
cat -n /etc/selinux/config

# 合并多个文件
cat file1.txt file2.txt > combined.txt

# 创建文件(EOF方式)
cat > new_script.sh << EOF
#!/bin/bash
echo "Hello World"
EOF

4. head —— 查看文件开头内容

语法

head [选项] [文件]

选项

说明

-n <行数>

指定显示行数(默认10行)

示例

# 查看前10行
head /etc/passwd

# 查看前5行
head -n 5 /etc/passwd

# 结合管道查看进程前几行
ps aux | head -n 3

5. tail —— 查看文件末尾内容

语法

tail [选项] [文件]

选项

说明

-n <n>

指定显示行数

-f

实时追踪文件更新(日志监控)

示例

# 查看最后10行
tail /var/log/messages

# 查看最后5行
tail -n 5 /etc/passwd

# 实时监控日志
tail -f /var/log/messages

# 实时显示最新3行
tail -n 3 -f /var/log/messages

6. less —— 分页查看文件

功能:支持翻页、搜索的分页查看器

语法

less [选项] 文件名

选项

说明

-N

显示行号

-i

搜索忽略大写

-I

搜索忽略大小写

交互操作

操作

功能

空格 / f

向下翻页

b

向上翻页

/ j

向下一行

/ k

向上一行

G

跳转到文件末尾

1G / g

跳转到文件开头

/关键词

向下搜索(n 下一个,N 上一个)

?关键词

向上搜索

q

退出

示例

less -N /var/log/messages

7. mkdir —— 创建目录

查看目录下的文件结构

ls -R  # -R 选项:递归列出所有子目录和文件

find .  # 列出当前目录下所有文件和目录的完整路径

find . -type d  # 只显示所有目录的路径

语法

mkdir [选项] 目录名

选项

说明

-p

递归创建(自动创建父目录)

-v

显示创建过程

-m

设置权限(如 775)

示例

# 创建单个目录
mkdir projects

# 批量创建
mkdir docs images scripts

# 递归创建多级目录
mkdir -p backup/2024/july/logs

# 显示过程
mkdir -pv data/{csv,json,logs}

# 创建带权限的共享目录
mkdir -m 775 team_share

# 创建复杂结构
mkdir -p project/{src/{main,test},docs,config}

# 用日期命名
mkdir "$(date +%Y%m%d)_backup"

# 创建并进入
mkdir new_project && cd $_

8. rmdir —— 删除空目录

特点:只能删除空目录,比 rm -r 更安全

语法

rmdir [选项] 目录名

选项

说明

-p

递归删除父目录(若变空)

-v

显示删除过程

示例

# 删除单个空目录
rmdir temp_dir

# 批量删除
rmdir dir1 dir2 dir3

# 递归删除
rmdir -p project/src/main

# 显示过程
rmdir -pv backup/2024/july

# 删除带空格目录
rmdir "My Documents"

9. rm —— 删除文件或目录

危险命令! 请谨慎使用

语法

rm [选项] 文件或目录

选项

说明

-r

递归删除目录

-f

强制删除(不提示)

-i

删除前确认(推荐)

-v

显示详细过程

示例

# 删除单个文件
rm old_report.txt

# 删除多个文件
rm *.tmp file1 file2

# 递归删除目录(危险)
rm -r project_backup/

# 安全删除(交互确认)
rm -i *.log

10. cp —— 复制文件/目录

语法

cp [选项] 源 目标

选项

说明

-r

递归复制目录

-i

覆盖前提示

-f

强制覆盖

-v

显示过程

示例

# 复制文件
cp notes.txt notes_backup.txt

# 复制到目录
cp file.txt ~/backup/

# 递归复制目录
cp -r ~/Documents/ backup/

# 交互式复制
cp -i *.log /backup/

11. mv —— 移动或重命名

语法

mv [选项] 源 目标

选项

说明

-i

覆盖前提示

-f

强制覆盖

-v

显示过程

示例

# 重命名文件
mv old.txt new.txt

# 移动文件
mv file.txt ~/Documents/

# 重命名目录
mv project_old/ project_new/

# 批量移动图片
mv *.jpg *.png /images/

# 交互式移动
mv -i config.conf /etc/

12. find —— 查找文件

语法

find [路径] [条件] [操作]

条件

说明

示例

-name

按名称

find /home -name "*.txt"

-iname

忽略大小写

find . -iname "*.JPG"

-type f

文件

find . -type f

-type d

目录

find . -type d

-mtime -7

7天内修改

find /var/log -mtime -1

-size +1G

大于1GB

find . -size +1G

-perm 644

权限匹配

find . -perm 644

示例

# 查找特定文件
find /home -name "file5.txt"

# 大于10MB的文件
find . -type f -size +10M

# 删除空文件
find . -type f -size 0 -delete

# 24小时内修改的日志
find /var/log -mtime -1

二、vim 编辑器

vim 四种模式

模式

进入方式

用途

命令模式

默认

导航、删除、复制等

编辑模式

i

输入文本

末行模式

:

保存、退出、搜索等

可视模式

v

选择文本块

常用快捷操作

1. 移动光标(命令模式)
  • h j k l:左、下、上、右
  • 0:行首,$:行尾
  • :100:跳转到第100行
  • Ctrl + f:向下翻页,Ctrl + b:向上翻页
  • gg:文件开头,G:文件末尾
2. 编辑操作(命令模式)
  • x:删除当前字符
  • dd:删除整行(剪切)
  • ndd:删除n行
  • dw:删除到下一个单词
  • d$:删除到行尾
  • dG:删除到文件末尾
  • yy:复制整行
  • nyy:复制n行
  • p:粘贴(下一行),P:粘贴(前一行)
  • u:撤销,Ctrl + r:重做
3. 搜索与替换
  • /关键词:向下搜索,n 下一个,N 上一个
  • ?关键词:向上搜索
  • :s/旧/新/g:当前行替换
  • :%s/旧/新/g:全局替换

4. 可视模式
  • v:字符选择
  • Shift + V:行选择
  • Ctrl + v:块选择
  • 选中后可 y 复制,d 删除
5. 设置行号
  • 临时::set nu
  • 永久:vim ~/.vimrc → 添加 set nu
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐