Linux 作为一款开源的类 Unix 操作系统,凭借其稳定性、安全性和灵活性,在服务器、开发环境以及嵌入式系统中得到了广泛应用,熟练掌握 Linux 常用命令是高效操作 Linux 系统的基础,本文将详细介绍 Linux 中常用的命令及其使用示例,帮助读者快速上手。

文件和目录管理命令
文件和目录管理是 Linux 操作中最频繁的任务,以下命令涵盖了创建、删除、查看、移动等基本操作。
ls
命令:列出目录内容
ls
是最常用的命令之一,用于显示指定目录下的文件和子目录。
- 基本用法:
ls [选项] [目录名]
- 常用选项:
-l
:以长格式显示,包含文件权限、所有者、大小、修改时间等详细信息。-a
:显示所有文件,包括隐藏文件(以 开头的文件)。-h
:以人类可读的格式显示文件大小(如 K、M、G)。
- 示例:
- 列出当前目录的所有文件(含隐藏文件):
ls -la
- 以长格式显示
/home
目录的内容:ls -lh /home
- 列出当前目录的所有文件(含隐藏文件):
cd
命令:切换目录
cd
用于在目录之间切换,是 Linux 中移动位置的核心命令。
- 基本用法:
cd [目录路径]
- 特殊符号:
- 表示用户主目录(如
/home/username
)。 - 表示上一级目录。
- 表示当前目录。
- 表示用户主目录(如
- 示例:
- 切换到主目录:
cd ~
或cd
- 切换到上一级目录:
cd ..
- 切换到
/var/log
目录:cd /var/log
- 切换到主目录:
pwd
命令:显示当前目录
pwd
用于打印当前所在的工作目录的完整路径。

- 基本用法:
pwd
- 示例:
- 显示当前目录路径:
pwd
(输出如/home/username/documents
)
- 显示当前目录路径:
mkdir
命令:创建目录
mkdir
用于创建新的目录。
- 基本用法:
mkdir [选项] 目录名
- 常用选项:
-p
:递归创建目录,如果父目录不存在则一并创建。
- 示例:
- 创建一个名为
test
的目录:mkdir test
- 递归创建
a/b/c
目录:mkdir -p a/b/c
- 创建一个名为
touch
命令:创建空文件或更新文件时间
touch
可用于创建新的空文件,或更新已有文件的访问和修改时间。
- 基本用法:
touch 文件名
- 示例:
- 创建一个名为
file.txt
的空文件:touch file.txt
- 同时创建多个文件:
touch file1.txt file2.txt
- 创建一个名为
cp
命令:复制文件或目录
cp
用于将源文件或目录复制到目标位置。
- 基本用法:
cp [选项] 源文件 目标文件
- 常用选项:
-r
:递归复制目录,用于复制整个目录。-i
:覆盖前提示用户确认。
- 示例:
- 复制
file.txt
到/tmp
目录:cp file.txt /tmp/
- 递归复制
dir
目录到/backup
:cp -r dir /backup/
- 复制
mv
命令:移动或重命名文件/目录
mv
可以用于移动文件或目录,也可以用于重命名文件或目录。

- 基本用法:
mv [选项] 源文件 目标文件
- 常用选项:
-i
:覆盖前提示。-f
:强制覆盖,不提示。
- 示例:
- 将
file.txt
重命名为newfile.txt
:mv file.txt newfile.txt
- 将
dir
目录移动到/opt
下:mv dir /opt/
- 将
rm
命令:删除文件或目录
rm
用于删除文件或目录,操作需谨慎,尤其是删除目录时。
- 基本用法:
rm [选项] 文件/目录
- 常用选项:
-r
:递归删除目录及其内容。-f
:强制删除,不提示确认。-i
:删除前提示用户确认。
- 示例:
- 删除
file.txt
:rm file.txt
- 递归删除
dir
目录:rm -rf dir
(需谨慎使用)
- 删除
cat
命令:查看文件内容
cat
用于将文件内容输出到终端,适合查看小文件。
- 基本用法:
cat 文件名
- 示例:
- 查看
file.txt
的内容:cat file.txt
- 合并
file1.txt
和file2.txt
并输出到终端:cat file1.txt file2.txt
- 查看
less
命令:分页查看文件内容
less
用于分页显示文件内容,支持上下翻页、搜索等操作,适合查看大文件。
- 基本用法:
less 文件名
- 操作说明:
- 或
j/k
:上下滚动。 q
:退出less
。- 搜索关键词,按
n
跳转到下一个匹配项。
- 或
- 示例:
- 分页查看
log.txt
:less log.txt
- 分页查看
grep
命令:文本搜索
grep
用于在文件中搜索匹配的文本行,支持正则表达式。
- 基本用法:
grep [选项] '关键词' 文件名
- 常用选项:
-i
:忽略大小写。-n
:显示匹配行的行号。-r
:递归搜索目录下的所有文件。
- 示例:
- 在
file.txt
中搜索 "error":grep 'error' file.txt
- 递归搜索
/var/log
目录下包含 "warning" 的行:grep -r 'warning' /var/log
- 在
系统和管理命令
除了文件管理,Linux 系统的日常运维也需要一系列命令来监控系统状态、管理进程等。
top
命令:动态监控系统资源
top
用于实时显示系统的进程状态、CPU 使用率、内存占用等信息。
- 基本用法:
top
- 常用操作:
M
:按内存使用率排序。P
:按 CPU 使用率排序(默认)。q
:退出top
。
- 示例:
- 查看 CPU 和内存使用情况:
top
- 查看 CPU 和内存使用情况:
ps
命令:查看静态进程状态
ps
用于显示当前运行的进程信息,常与 grep
结合使用。
- 基本用法:
ps [选项]
- 常用选项:
-ef
:显示所有进程的详细信息。-aux
:显示所有进程,包括用户、CPU、内存等。
- 示例:
- 查看所有进程:
ps -ef
- 查找名为 "nginx" 的进程:
ps -ef | grep nginx
- 查看所有进程:
kill
命令:终止进程
kill
用于向进程发送信号,默认终止进程(需知道进程 ID,PID)。
- 基本用法:
kill [选项] PID
- 常用选项:
-9
:强制终止进程(不推荐随意使用)。
- 示例:
- 终止 PID 为 1234 的进程:
kill 1234
- 强制终止 PID 为 5678 的进程:
kill -9 5678
- 终止 PID 为 1234 的进程:
df
命令:查看磁盘空间使用情况
df
用于显示文件系统的磁盘空间使用情况,默认以 KB 为单位。
- 基本用法:
df [选项]
- 常用选项:
-h
:以人类可读格式显示(K、M、G)。-T
:显示文件系统类型。
- 示例:
- 查看磁盘空间使用情况:
df -h
- 查看磁盘空间使用情况:
du
命令:查看目录或文件大小
du
用于估计文件或目录的磁盘空间使用量。
- 基本用法:
du [选项] [目录/文件]
- 常用选项:
-h
:以人类可读格式显示。-s
:只显示总计大小,不显示子目录详情。
- 示例:
- 查看
home
目录的总大小:du -sh /home
- 查看
documents
目录下每个子目录的大小:du -h /home/username/documents
- 查看
tar
命令:打包和解压文件
tar
用于将多个文件或目录打包成一个文件,常用于备份和压缩。
- 基本用法:
tar [选项] 文件名
- 常用选项:
-c
:创建打包文件。-x
:解包文件。-v
:显示详细过程。-f
:指定文件名(必须放在选项最后)。-z
:调用 gzip 进行压缩/解压(.tar.gz
)。-j
:调用 bzip2 进行压缩/解压(.tar.bz2
)。
- 示例:
- 打包
dir
目录为backup.tar
:tar -cvf backup.tar dir
- 解压
backup.tar.gz
:tar -xzvf backup.tar.gz
- 查看
backup.tar
内容:tar -tvf backup.tar
- 打包
用户和权限管理命令
Linux 是多用户系统,权限管理是核心功能之一,以下命令用于管理用户和文件权限。
chmod
命令:修改文件权限
chmod
用于修改文件或目录的读(r)、写(w)、执行(x)权限。
- 权限表示:
r
(读):4w
(写):2x
(执行):1- 用户(u)、组(g)、其他(o)权限可通过数字或符号表示。
- 基本用法:
- 数字法:
chmod 755 file.txt
(所有者 rwx,组 r-x,其他 r-x) - 符号法:
chmod u+x file.txt
(给所有者添加执行权限)
- 数字法:
- 示例:
- 设置
file.txt
所有者可读写,组和其他只读:chmod 644 file.txt
- 给
script.sh
添加执行权限:chmod +x script.sh
- 设置
chown
命令:修改文件所有者和组
chown
用于修改文件或目录的所有者(user)和所属组(group)。
- 基本用法:
chown [用户][:组] 文件名
- 示例:
- 将
file.txt
的所有者改为root
:chown root file.txt
- 将
dir
目录的所有者改为nginx
,组改为www-data
:chown nginx:www-data dir
- 将
useradd
和 usermod
命令:管理用户
useradd
:创建新用户。- 示例:创建一个名为
testuser
的用户,并指定主目录:useradd -m testuser
- 示例:创建一个名为
usermod
:修改用户属性。- 示例:修改
testuser
的用户名为newuser
:usermod -l newuser testuser
- 示例:修改
网络相关命令
Linux 系统中,网络命令用于配置网络、测试连接等。
ifconfig
和 ip
命令:查看和配置网络接口
ifconfig
:传统命令,查看或配置网络接口(需安装net-tools
包)。- 示例:查看所有网络接口:
ifconfig
- 示例:查看所有网络接口:
ip
:现代命令,功能更强大(默认安装)。- 示例:查看网络接口信息:
ip addr show
- 示例:查看网络接口信息:
ping
命令:测试网络连通性
ping
用于测试与目标主机之间的网络连通性。
- 基本用法:
ping [选项] IP地址/域名
- 常用选项:
-c
:指定发送数据包的次数(默认无限发送)。
- 示例:
- 测试与
www.baidu.com
的连通性:ping -c 4 www.baidu.com
- 测试与
ssh
命令:远程登录
ssh
用于通过加密连接远程登录 Linux 服务器。
- 基本用法:
ssh [用户名]@[IP地址/域名]
- 示例:
- 以
root
用户登录168.1.100
:ssh root@192.168.1.100
- 以
netstat
和 ss
命令:查看网络连接状态
netstat
:查看网络连接、路由表、接口统计等(需安装net-tools
)。- 示例:查看所有监听端口:
netstat -tuln
- 示例:查看所有监听端口:
ss
:现代替代工具,性能更优(默认安装)。- 示例:查看所有 TCP 连接:
ss -t
- 示例:查看所有 TCP 连接:
常用命令速查表
命令 | 功能 | 常用示例 |
---|---|---|
ls |
列出目录内容 | ls -la |
cd |
切换目录 | cd ~ 、cd .. |
cp |
复制文件/目录 | cp -r dir /backup |
mv |
移动/重命名文件 | mv file.txt newfile.txt |
rm |
删除文件/目录 | rm -rf dir |
cat |
查看文件内容 | cat file.txt |
grep |
文本搜索 | grep 'error' log.txt |
top |
动态监控系统资源 | top |
ps |
查看进程状态 | ps -ef |
df |
查看磁盘空间 | df -h |
tar |
打包/解压文件 | tar -czvf backup.tar.gz dir |
chmod |
修改文件权限 | chmod 755 file.txt |
ping |
测试网络连通性 | ping -c 4 www.baidu.com |
相关问答FAQs
Q1:如何查看 Linux 系统的发行版信息?
A1:可以使用以下命令查看 Linux 发行版信息:
lsb_release -a
:显示 LSB(Linux Standard Base)信息,适用于 Ubuntu、Debian 等发行版。cat /etc/os-release
:查看系统版本信息,几乎所有 Linux 发行版都支持。cat /etc/redhat-release
:适用于 CentOS、RHEL 等 RedHat 系发行版。
Q2:如何查找文件中包含特定关键词的所有行,并显示行号?
A2:可以使用 grep
命令结合 -n
选项实现,具体命令为:
grep -n '关键词' 文件名
在 log.txt
中搜索包含 "error" 的行并显示行号:
grep -n 'error' log.txt
如果需要递归搜索目录下的所有文件,可添加 -r
选项:
grep -rn 'error' /path/to/directory