Linux 是一款开源、稳定、功能强大的操作系统,广泛应用于服务器、云计算、嵌入式系统等领域。其命令行接口(CLI)是系统管理和操作的核心工具,掌握 Linux 常用命令及参数,对于系统运维、开发、调试等任务至关重要。本文将系统阐述 Linux 常用命令及参数,涵盖文件管理、进程控制、用户管理、系统监控等多个方面,帮助用户快速掌握 Linux 系统的使用技巧,提升系统操作效率。 一、文件管理命令
1.1文件查看与编辑
- cat 用于查看文件内容,支持多行输出。 示例:`cat /etc/passwd` 显示用户账号信息。 参数:`-n` 显示行号,`-s` 去除空行,`-e` 显示结束符。
- less 用于分页查看文件内容,支持导航和搜索。 示例:`less /var/log/syslog`,使用 `Enter` 进入内容,`q` 退出,`/` 搜索关键字。
- more 与 `less` 类似,但功能较简单,适合查看小文件。 示例:`more /home/user/file.txt`,`Space` 切换行,`q` 退出。
- grep 用于在文件中搜索特定字符串。 示例:`grep "root" /etc/passwd` 查找包含“root”的行。
- find 用于查找文件或目录,支持多种搜索条件。 示例:`find / -name "example.txt"` 查找所有名为 `example.txt` 的文件。
- ls 用于列出目录内容,支持多种选项。 示例:`ls -l` 显示详细信息,`-a` 显示所有文件,`-h` 显示大小。
1.2文件操作
- cp 用于复制文件或目录。 示例:`cp /home/user/data.txt /backup/`。
- mv 用于移动或重命名文件。 示例:`mv /home/user/file.txt /home/user/backup/`。
- rm 用于删除文件或目录。 示例:`rm -r /home/user/old_dir` 删除目录及其内容。
- chmod 用于修改文件或目录的权限。 示例:`chmod 755 /home/user/script.sh` 设置可执行权限。
- chown 用于修改文件或目录的所有者。 示例:`chown user:group /home/user/file.txt`。 二、进程控制命令
2.1进程管理
- ps 用于显示当前运行的进程信息。 示例:`ps -ef` 显示所有进程,`ps -l` 显示详细信息。
- top 用于实时监控系统进程资源使用情况。 示例:`top` 按 `q` 退出,按 `r` 可以调整进程优先级。
- kill 用于终止进程。 示例:`kill 1234` 终止进程 ID 1234。
- pgrep 用于根据名称或进程 ID 查找进程。 示例:`pgrep "java"` 查找所有 Java 进程。
- ps aux 用于显示所有进程的详细信息,包括 CPU、内存、用户等。
2.2进程调试
- strace 用于跟踪进程调用系统函数,调试程序行为。 示例:`strace ls` 显示 `ls` 调用的系统调用。
- gdb 用于调试程序,支持断点、变量查看等。 示例:`gdb ./program` 进入调试模式。 三、用户与权限管理命令
1.1用户管理
- useradd 用于创建新用户。 示例:`useradd -m username` 创建带有家目录的用户。
- usermod 用于修改用户信息,如密码、主目录、组等。 示例:`usermod -d /home/user /username` 修改用户主目录。
- userdel 用于删除用户。 示例:`userdel -r username` 删除用户及其家目录。
- passwd 用于修改用户密码。 示例:`passwd username` 输入新密码。
- sudo 用于以管理员权限执行命令。 示例:`sudo apt update` 执行管理员权限操作。
3.2权限管理
- chmod 用于修改文件或目录的权限。 示例:`chmod 755 /home/user/script.sh` 设置可执行权限。
- chown 用于修改文件或目录的所有者。 示例:`chown user:group /home/user/file.txt`。
- ls -l 用于显示文件或目录的详细权限信息。 示例:`ls -l /home/user/` 显示权限、所有者、大小、时间等。 四、系统监控与调试命令
4.1系统监控
- top 用于实时监控系统资源使用情况,如 CPU、内存、进程等。 示例:`top` 按 `q` 退出,按 `r` 可以调整进程优先级。
- htop 与 `top` 类似,但界面更直观,支持多线程监控。 示例:`htop` 按 `q` 退出,按 `k` 可以终止进程。
- free 用于查看系统内存使用情况。 示例:`free -h` 显示内存使用情况。
- df 用于查看磁盘空间使用情况。 示例:`df -h` 显示磁盘使用情况。
- vmstat 用于查看系统虚拟内存状态,包括 CPU、内存、进程等。 示例:`vmstat 1` 每秒统计一次系统状态。
4.2日志管理
- tail 用于查看文件末尾内容,支持滚动查看。 示例:`tail -f /var/log/syslog` 实时查看日志。
- cat 用于查看文件内容,支持多行输出。 示例:`cat /var/log/syslog` 查看日志内容。
- grep 用于在日志中搜索特定字符串。 示例:`grep "error" /var/log/syslog` 查找错误日志。 五、网络与服务管理命令
5.1网络管理
- ifconfig 用于配置和查看网络接口信息。 示例:`ifconfig eth0` 查看以太网接口信息。
- ip 用于管理网络接口,支持更灵活的配置。 示例:`ip addr show` 查看网络接口信息。
- ping 用于测试网络连通性。 示例:`ping 8.8.8.8` 测试 Google 的 DNS 服务器。
- traceroute 用于跟踪数据包路径,查看网络延迟。 示例:`traceroute google.com` 跟踪数据包路径。
- netstat 用于查看网络连接、监听端口等信息。 示例:`netstat -tuln` 查看监听端口。
5.2服务管理
- systemctl 用于管理服务,支持服务启停、状态查看等。 示例:`systemctl status apache2` 查看 Apache 服务状态。
- service 用于管理旧版本的系统服务。 示例:`service apache2 start` 启动 Apache 服务。
- chkconfig 用于配置服务的开机自启动。 示例:`chkconfig --level 2345 apache2 on` 开启 Apache 服务在 2、3、4、5 服务级别启动。 六、系统工具与脚本命令 6.1 系统工具
- tar 用于打包和解压文件。 示例:`tar -czf backup.tar.gz /home/user/data/` 打包文件。
- gzip 用于压缩文件。 示例:`gzip file.txt` 压缩 `file.txt`。
- zip 用于创建 ZIP 文件。 示例:`zip -r archive.zip /home/user/data/`。
- unzip 用于解压 ZIP 文件。 示例:`unzip archive.zip`。 6.2 脚本命令
- bash 用于执行 shell 脚本。 示例:`bash script.sh` 运行脚本。
- grep 用于在脚本中搜索特定字符串。 示例:`grep "error" script.sh` 查找错误信息。
- sed 用于文本处理,支持正则表达式。 示例:`sed 's/old/new/g' file.txt` 替换所有 `old` 为 `new`。 七、安全与审计命令 7.1 安全管理
- passwd 用于修改用户密码,确保密码安全。 示例:`passwd` 输入新密码。
- chpasswd 用于批量修改密码。 示例:`chpasswd -s /etc/shadow` 批量修改密码。
- sudoers 用于配置用户权限,实现安全的管理员访问。 示例:`visudo` 编辑 sudoers 文件。 7.2 审计命令
- auditd 用于管理审计日志,记录系统操作。 示例:`auditctl -w /etc -a always -i -p 1` 添加审计规则。
- last 用于查看系统最近登录的用户。 示例:`last` 查看登录记录。
- whoami 用于查看当前用户身份。 示例:`whoami` 显示当前用户。 八、归结起来说 Linux 命令行工具是系统管理和操作的核心,掌握其常用命令及参数,对于运维、开发、调试等任务具有重要价值。本文从文件管理、进程控制、用户权限、系统监控、网络服务、脚本编写、安全审计等多个方面,系统阐述了 Linux 常用命令及参数,帮助用户快速掌握 Linux 系统的使用技巧,提升系统操作效率。通过合理使用这些命令,用户可以更高效地进行系统维护、故障排查和自动化脚本编写,实现更稳定、高效的系统管理。