Linux 是一款开源操作系统,以其稳定性和灵活性受到广泛欢迎。对于新手来说呢,掌握 Linux 命令是进入操作系统世界的重要一步。Linux 命令行工具是系统管理和操作的核心,掌握这些命令能够帮助用户高效地进行文件管理、进程控制、系统配置和网络管理等任务。本文将详细介绍 Linux 新手必学的 20 个命令,涵盖文件操作、目录管理、进程控制、系统管理等多个方面,帮助用户快速上手 Linux 系统,提升其技术能力。 1.文件与目录操作命令
1.1ls 命令 `ls` 是 Linux 系统中最常用的命令之一,用于列出当前目录下的文件和目录。 - 功能:显示目录内容,支持参数如 `-l`(详细信息)、`-a`(显示隐藏文件)、`-h`(以人类可读格式显示大小)等。 - 示例:`ls -l` 显示详细信息,`ls -a` 显示所有文件,包括隐藏文件。 - 适用场景:快速查看目录内容,管理文件权限。
1.2cd 命令 `cd` 用于切换当前目录。 - 功能:`cd /` 切换到根目录,`cd ~` 切换到用户目录,`cd ../` 返回上一级目录。 - 示例:`cd /home/user` 进入用户目录。 - 适用场景:导航文件系统,管理工作目录。
1.3pwd 命令 `pwd` 用于显示当前工作目录的完整路径。 - 功能:输出当前所在目录的绝对路径。 - 示例:`pwd` 输出 `/home/user`。 - 适用场景:确认当前所在位置,避免误操作。
1.4mkdir 命令 `mkdir` 用于创建新目录。 - 功能:`mkdir folder` 创建目录,`mkdir -p` 递归创建多级目录。 - 示例:`mkdir -p /home/user/docs` 创建文档目录。 - 适用场景:组织文件结构,管理文件夹。
1.5rm 命令 `rm` 用于删除文件或目录。 - 功能:`rm file` 删除文件,`rm -r` 递归删除目录,`rm -f` 强制删除,不提示确认。 - 示例:`rm -rf /tmp` 删除临时目录。 - 适用场景:清理文件系统,删除不需要的文件。
1.6cp 命令 `cp` 用于复制文件或目录。 - 功能:`cp source destination` 复制文件,`cp -r` 递归复制目录。 - 示例:`cp /etc/passwd /backup/` 复制配置文件。 - 适用场景:备份文件,复制文件结构。
1.7mv 命令 `mv` 用于移动或重命名文件或目录。 - 功能:`mv source destination` 移动文件,`mv -i` 询问是否覆盖,`mv -n` 不询问。 - 示例:`mv /home/user/file.txt /home/user/` 移动文件。 - 适用场景:文件迁移,重命名文件。
1.8touch 命令 `touch` 用于创建空文件或更新文件时间戳。 - 功能:`touch file` 创建文件,`touch -t 202301010800` 设置时间戳。 - 示例:`touch new_file.txt` 创建新文件。 - 适用场景:创建文件,更新文件时间。
1.9cat 命令 `cat` 用于查看文件内容或合并文件。 - 功能:`cat file` 查看文件内容,`cat file1 file2 > combined.txt` 合并文件。 - 示例:`cat /etc/passwd` 显示用户信息。 - 适用场景:查看文件内容,合并多个文件。 1.10 grep 命令 `grep` 用于在文件中搜索特定内容。 - 功能:`grep "keyword" file` 搜索内容,`grep -i` 递归搜索不区分大小写。 - 示例:`grep "error" /var/log/syslog` 查找错误日志。 - 适用场景:查找文件中的特定信息,进行日志分析。 2.进程与系统管理命令
2.1ps 命令 `ps` 用于显示当前运行的进程信息。 - 功能:`ps -e` 显示所有进程,`ps -f` 显示详细信息,`ps -l` 显示长格式。 - 示例:`ps -ef` 显示所有用户进程。 - 适用场景:查看进程状态,监控系统运行情况。
2.2top 命令 `top` 用于实时监控系统进程。 - 功能:`top -b` 命令行模式,`top -n 5` 仅显示 5 次。 - 示例:`top` 显示当前运行的进程及其资源占用情况。 - 适用场景:监控系统性能,识别资源瓶颈。
2.3kill 命令 `kill` 用于终止进程。 - 功能:`kill pid` 终止进程,`kill -9 pid` 强制终止。 - 示例:`kill 1234` 终止进程 1234。 - 适用场景:结束不需要的进程,优化系统资源。
2.4systemctl 命令 `systemctl` 用于管理 Linux 系统服务。 - 功能:`systemctl status service` 查看服务状态,`systemctl restart service` 重启服务。 - 示例:`systemctl enable sshd` 启用 SSH 服务。 - 适用场景:服务管理,系统服务配置。
2.5df 命令 `df` 用于查看磁盘空间使用情况。 - 功能:`df -h` 显示磁盘空间,`df -i` 显示 inode 使用情况。 - 示例:`df -h /` 查看根目录磁盘使用情况。 - 适用场景:查看磁盘空间,管理存储资源。
2.6du 命令 `du` 用于估算文件或目录的磁盘使用空间。 - 功能:`du -s /` 显示目录大小,`du -h` 以人类可读格式显示。 - 示例:`du -h /home` 显示用户目录大小。 - 适用场景:估算磁盘空间,管理存储。
2.7grep 命令(重复) 如前所述,`grep` 用于搜索文件内容,适用于进程日志分析。
2.8tar 命令 `tar` 用于打包和解压文件。 - 功能:`tar -cvf archive.tar file` 打包文件,`tar -xvf archive.tar` 解压。 - 示例:`tar -cvf backup.tar /home/user/` 打包用户目录。 - 适用场景:文件打包,备份文件。
2.9zip 命令 `zip` 用于压缩文件。 - 功能:`zip -r archive.zip folder` 压缩目录,`zip -q` 静默压缩。 - 示例:`zip -r backup.zip /home/user/` 压缩用户目录。 - 适用场景:文件压缩,便于传输。 2.10 chmod 命令 `chmod` 用于修改文件或目录权限。 - 功能:`chmod 755 file` 设置权限为读、写、执行,`chmod -R 755 /` 递归修改。 - 示例:`chmod +x script.sh` 添加执行权限。 - 适用场景:管理文件权限,确保安全。 3.网络与系统配置命令
1.1ifconfig 命令 `ifconfig` 用于配置网络接口。 - 功能:`ifconfig eth0` 查看网络接口信息,`ifconfig -a` 显示所有接口。 - 示例:`ifconfig eth0 up` 启用网卡。 - 适用场景:网络配置,查看网络状态。
3.2ip 命令 `ip` 用于管理网络接口。 - 功能:`ip addr show` 显示网络接口信息,`ip link set eth0 up` 启用网卡。 - 示例:`ip route show` 查看路由表。 - 适用场景:网络管理,路由配置。
3.3ping 命令 `ping` 用于测试网络连通性。 - 功能:`ping 8.8.8.8` 测试与 Google 的连通性。 - 示例:`ping localhost` 测试本地连接。 - 适用场景:检查网络是否正常,诊断网络问题。
3.4curl 命令 `curl` 用于从服务器获取数据。 - 功能:`curl -s https://example.com` 获取网页内容。 - 示例:`curl -o output.html https://example.com` 保存网页。 - 适用场景:网络数据获取,自动化脚本。
3.5netstat 命令 `netstat` 用于查看网络连接和监听端口。 - 功能:`netstat -tuln` 显示监听端口,`netstat -s` 显示网络统计信息。 - 示例:`netstat -tuln | grep 80` 查看 80 端口状态。 - 适用场景:网络连接监控,端口状态检查。
3.6awk 命令 `awk` 用于文本处理。 - 功能:`awk '{print $1}' file` 输出第一列,`awk '/pattern/ {print}' file` 查找匹配行。 - 示例:`awk '{print $2}' /etc/passwd` 输出用户姓名。 - 适用场景:文本数据处理,数据清洗。
3.7sed 命令 `sed` 用于文本编辑。 - 功能:`sed 's/old/new/g' file` 替换文本,`sed '1d'` 删除第一行。 - 示例:`sed 's/abc/def/g' /etc/passwd` 替换用户名。 - 适用场景:文本处理,数据修改。
3.8ssh 命令 `ssh` 用于远程登录。 - 功能:`ssh user@host` 连接到远程服务器,`ssh -i key` 使用私钥。 - 示例:`ssh user@192.168.1.1` 登录远程主机。 - 适用场景:远程管理,安全连接。
3.9scp 命令 `scp` 用于安全复制文件。 - 功能:`scp file user@host:/path` 传输文件。 - 示例:`scp /home/user/file.txt user@192.168.1.1:/home/user/` 传输文件。 - 适用场景:文件传输,安全备份。 3.10 grep 命令(重复) 如前所述,`grep` 用于搜索文件内容,适用于网络日志分析。 4.系统管理与用户管理命令
4.1useradd 命令 `useradd` 用于创建新用户。 - 功能:`useradd -m username` 创建带有家目录的用户,`useradd -s /bin/bash username` 设置 shell。 - 示例:`useradd -m alice` 创建用户 alice。 - 适用场景:用户管理,创建新用户。
4.2usermod 命令 `usermod` 用于修改用户信息。 - 功能:`usermod -d /home/user username` 修改家目录,`usermod -s /bin/zsh username` 修改 shell。 - 示例:`usermod -s /bin/zsh alice` 设置 shell 为 zsh。 - 适用场景:用户信息修改,权限调整。
4.3userdel 命令 `userdel` 用于删除用户。 - 功能:`userdel -r username` 删除用户及其家目录。 - 示例:`userdel -r alice` 删除用户 alice。 - 适用场景:用户删除,清理系统。
4.4passwd 命令 `passwd` 用于修改用户密码。 - 功能:`passwd` 修改当前用户密码,`passwd username` 修改指定用户密码。 - 示例:`passwd` 修改当前用户密码。 - 适用场景:密码管理,用户权限调整。
4.5groupadd 命令 `groupadd` 用于创建新组。 - 功能:`groupadd -g 1001 groupname` 创建组,`groupadd -g 1001 -r groupname` 递归创建。 - 示例:`groupadd -g 1001 testgroup` 创建组 testgroup。 - 适用场景:组管理,权限分配。
4.6groupmod 命令 `groupmod` 用于修改组信息。 - 功能:`groupmod -n newgroup oldgroup` 修改组名,`groupmod -g 1001 groupname` 修改组 ID。 - 示例:`groupmod -g 1001 testgroup` 修改组 ID 为 1001。 - 适用场景:组信息修改,权限调整。
4.7groupdel 命令 `groupdel` 用于删除组。 - 功能:`groupdel groupname` 删除组。 - 示例:`groupdel testgroup` 删除组 testgroup。 - 适用场景:组删除,清理系统。
4.8sudo 命令 `sudo` 用于以管理员权限执行命令。 - 功能:`sudo apt update` 执行管理员命令。 - 示例:`sudo passwd` 修改密码。 - 适用场景:权限管理,系统维护。
4.9systemctl 命令(重复) 如前所述,`systemctl` 用于管理系统服务。 4.10 reboot 命令 `reboot` 用于重启系统。 - 功能:`reboot` 重启系统,`reboot -f` 强制重启。 - 示例:`reboot` 重启系统。 - 适用场景:系统维护,重启服务。 5.系统监控与日志管理命令
5.1top 命令(重复) 如前所述,`top` 用于实时监控系统进程。
5.2dmesg 命令 `dmesg` 用于查看系统日志。 - 功能:`dmesg` 显示内核日志,`dmesg | grep "error"` 查找错误信息。 - 示例:`dmesg | grep "kernel panic"` 查看内核错误。 - 适用场景:系统日志分析,问题排查。
5.3journalctl 命令 `journalctl` 用于查看系统日志。 - 功能:`journalctl -u service` 查看特定服务日志,`journalctl -b` 查看系统日志。 - 示例:`journalctl -u sshd` 查看 SSH 服务日志。 - 适用场景:日志分析,系统调试。
5.4syslog 命令 `syslog` 用于查看系统日志。 - 功能:`syslog -u` 显示系统日志,`syslog -f` 启动日志监控。 - 示例:`syslog -u` 查看系统日志。 - 适用场景:日志分析,系统维护。
5.5audit 命令 `audit` 用于系统审计。 - 功能:`auditctl -w /etc -a always -i 1234` 设置审计规则。 - 示例:`auditctl -w /etc -a always -i 1234` 设置审计规则。 - 适用场景:安全审计,权限控制。
5.6systemctl 命令(重复) 如前所述,`systemctl` 用于管理系统服务。 6.系统安全与防火墙命令 6.1 iptables 命令 `iptables` 用于配置防火墙规则。 - 功能:`iptables -L` 查看规则,`iptables -A INPUT -p tcp --dport 22 -j ACCEPT` 接收 SSH 请求。 - 示例:`iptables -A INPUT -p tcp --dport 22 -j ACCEPT` 允许 SSH 连接。 - 适用场景:防火墙配置,网络访问控制。 6.2 firewall-cmd 命令 `firewall-cmd` 用于管理防火墙规则。 - 功能:`firewall-cmd --list-all` 查看防火墙规则,`firewall-cmd --add-service=ssh` 添加 SSH 服务。 - 示例:`firewall-cmd --add-service=ssh` 添加 SSH 服务。 - 适用场景:防火墙配置,服务管理。 6.3 selinux 命令 `selinux` 用于管理 SELinux 策略。 - 功能:`sestatus` 查看 SELinux 状态,`semanage port -a -t http_port_t -p tcp -p 80` 添加 HTTP 端口。 - 示例:`semanage port -a -t http_port_t -p tcp -p 80` 添加 HTTP 端口。 - 适用场景:安全策略管理,权限控制。 6.4 auditd 命令 `auditd` 用于系统审计。 - 功能:`auditctl -w /etc -a always -i 1234` 设置审计规则。 - 示例:`auditctl -w /etc -a always -i 1234` 设置审计规则。 - 适用场景:安全审计,权限控制。 7.系统性能与资源管理命令 7.1 top 命令(重复) 如前所述,`top` 用于实时监控系统性能。 7.2 htop 命令 `htop` 用于更直观地查看系统性能。 - 功能:`htop` 显示进程信息,`htop -d` 实时更新。 - 示例:`htop` 查看进程信息。 - 适用场景:系统性能监控,资源分析。 7.3 free 命令 `free` 用于查看内存使用情况。 - 功能:`free -h` 显示内存使用情况,`free -m` 显示内存使用情况(MB)。 - 示例:`free -h` 显示内存使用情况。 - 适用场景:内存管理,资源监控。 7.4 vmstat 命令 `vmstat` 用于查看系统性能统计信息。 - 功能:`vmstat 1` 每秒统计一次,`vmstat 5` 每 5 秒统计一次。 - 示例:`vmstat 1` 每秒查看系统统计信息。 - 适用场景:系统性能分析,资源瓶颈识别。 7.5 iostat 命令 `iostat` 用于查看磁盘 I/O 情况。 - 功能:`iostat -x 1` 显示磁盘 I/O 统计,`iostat -d 1` 显示磁盘使用情况。 - 示例:`iostat -x 1` 显示磁盘 I/O 统计。 - 适用场景:磁盘性能分析,存储瓶颈识别。 7.6 sysstat 命令 `sysstat` 用于系统性能统计。 - 功能:`sysstat -w` 显示系统负载,`sysstat -b` 显示系统负载统计。 - 示例:`sysstat -w` 显示系统负载。 - 适用场景:系统性能分析,负载监控。 7.7 nmon 命令 `nmon` 用于系统性能监控工具。 - 功能:`nmon` 显示系统性能数据,`nmon -d` 显示详细数据。 - 示例:`nmon` 显示系统性能数据。 - 适用场景:系统性能监控,资源分析。 8.日志管理与系统维护命令 8.1 journalctl 命令(重复) 如前所述,`journalctl` 用于查看系统日志。 8.2 logrotate 命令 `logrotate` 用于管理日志文件。 - 功能:`logrotate /var/log/.log` 管理日志文件,`logrotate /etc/logrotate.conf` 配置日志管理。 - 示例:`logrotate /var/log/.log` 管理日志文件。 - 适用场景:日志管理,日志轮转。 8.3 syslog 命令 `syslog` 用于查看系统日志。 - 功能:`syslog -u` 显示系统日志,`syslog -f` 启动日志监控。 - 示例:`syslog -u` 显示系统日志。 - 适用场景:日志分析,系统维护。 8.4 systemctl 命令(重复) 如前所述,`systemctl` 用于管理系统服务。 8.5 reboot 命令(重复) 如前所述,`reboot` 用于重启系统。 归结起来说 Linux 系统命令是新手入门的基石,掌握这些命令能够显著提升系统操作效率。从文件管理到网络配置,从进程监控到系统维护,20 个命令覆盖了 Linux 系统的多个核心领域。通过实践和不断学习,用户可以逐步掌握 Linux 的精髓,实现从基础操作到高级管理的跨越。掌握这些命令不仅有助于日常使用,也能为在以后的技术发展打下坚实基础。