Linux 命令是操作系统与用户交互的核心工具,通过命令行可以高效地管理文件、配置系统、运行程序等,掌握常用 Linux 命令是提升工作效率的关键,以下从基础操作、文件管理、系统监控、网络配置等维度详细介绍常用命令及其使用场景。

在基础操作中,ls 命令用于列出目录内容,ls -l 可显示详细信息(如权限、所有者、大小),ls -a 则会隐藏文件。cd 命令用于切换目录,cd .. 返回上级目录,cd ~ 进入用户主目录。pwd 命令打印当前工作路径,mkdir 创建目录,rmdir 删除空目录,rm -r 可递归删除非空目录。cp 命令复制文件或目录,mv 用于移动或重命名,touch 创建空文件,这些命令是日常操作的基础,熟练使用可快速完成文件浏览与整理。
文件管理方面,cat 命令查看文件内容,more 或 less 可分页显示长文件(less 支持上下翻页和搜索)。grep 用于文本搜索,如 grep "keyword" file.txt 查找包含关键行的内容。find 命令按文件名、类型、时间等条件查找文件,find /home -name "*.log" 查找 home 目录下所有 log 文件。tar 命令用于打包压缩,tar -czvf archive.tar.gz dir/ 将目录压缩为 tar.gz 文件,tar -xzvf archive.tar.gz 解压。chmod 修改文件权限,chmod 755 file 设置所有者可读写执行、其他用户可读执行;chown 修改文件所有者,如 chown user:group file.txt。
系统监控与维护中,top 命令实时显示进程资源占用,按 P 按 CPU 排序,M 按内存排序。ps 命令查看当前进程,ps aux 显示所有进程详细信息。df -h 查看磁盘空间使用情况(-h 以人类可读格式显示),du -sh * 统计当前目录下各文件及子目录大小。free -h 查看内存使用情况。kill 命令终止进程,kill -9 PID 强制结束进程。systemctl 管理系统服务,如 systemctl start nginx 启动服务,systemctl enable nginx 设置开机自启,systemctl status nginx 查看服务状态。
网络配置与调试中,ifconfig 或 ip addr 查看网络接口信息,ping 测试网络连通性,如 ping www.baidu.com。netstat -tuln 查看监听端口,ss -tuln 为更高效的替代工具。wget 或 curl 用于下载文件,wget https://example.com/file.zip 下载指定文件,curl -I www.example.com 获取网页头信息。ssh 远程登录服务器,ssh user@ip,scp 安全复制文件,如 scp file.txt user@ip:/remote/path。firewall-cmd 管理防火墙,firewall-cmd --add-port=80/tcp --permanent 开放 80 端口并永久生效,firewall-cmd --reload 重新加载配置。

以下为常用命令速查表:
| 功能分类 | 命令示例 | 说明 |
|---|---|---|
| 文件列表 | ls -la |
显示所有文件及详细信息 |
| 目录切换 | cd /var/log |
切换到指定目录 |
| 创建文件 | touch newfile.txt |
创建空文件 |
| 复制文件 | cp -r source_dir/ target_dir/ |
递归复制目录 |
| 查看文件 | less /etc/passwd |
分页查看文件内容 |
| 搜索文本 | grep "error" log.txt |
在文件中搜索包含"error"的行 |
| 查找文件 | find / -name "*.conf" |
在根目录下查找所有.conf文件 |
| 压缩文件 | tar -xzf backup.tar.gz |
解压tar.gz文件 |
| 修改权限 | chmod 644 file.txt |
设置文件所有者可读写,其他用户只读 |
| 查看进程 | ps -ef |
显示所有进程的详细信息 |
| 磁盘空间 | df -h |
显示各分区磁盘使用情况 |
| 内存使用 | free -h |
显示内存及交换分区使用情况 |
| 网络测试 | ping 8.8.8.8 |
测试与指定IP的连通性 |
| 下载文件 | wget https://www.kernel.org |
下载指定URL的文件 |
| 防火墙管理 | firewall-cmd --list-all |
查看防火墙规则及开放的端口 |
相关问答FAQs
Q1:如何查看 Linux 系统的发行版信息?
A1:可通过以下命令查看:
cat /etc/os-release:显示详细的发行版信息(如 Ubuntu、CentOS 版本)。lsb_release -a:适用于 LSB 兼容的发行版(如 Ubuntu),显示 LSB 信息。uname -a:显示内核版本及系统信息,适用于所有 Linux 发行版。
Q2:如何批量重命名文件(例如将所有 .txt 文件改为 .md)?
A2:使用 rename 命令(需安装,不同发行版命令语法略有差异):
- Debian/Ubuntu:
rename 's/\.txt$/.md/' *.txt(将当前目录下所有 .txt 文件后缀改为 .md)。 - CentOS/RHEL:
rename .txt .md *.txt(语法更简单)。
若未安装rename,可通过循环实现:for f in *.txt; do mv "$f" "${f%.txt}.md"; done。

