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
。
