在 Linux 系统的运维与操作领域,掌握一系列常用命令是至关重要的。这些命令犹如一把把钥匙,能解锁高效运维与系统操作的大门,让我们能够更加便捷地管理和维护系统。本文将为大家介绍 60 个常用命令,帮助大家提升运维技能。

一、文件与目录管理命令(10 个)
1. `ls`:用于列出目录中的内容,可通过各种选项展示不同信息,如`ls -l`显示详细信息,`ls -a`显示隐藏文件等。
2. `cd`:改变当前工作目录,`cd..`返回上一级目录,`cd /`切换到根目录。
3. `mkdir`:创建新目录,`mkdir dir1 dir2`可同时创建多个目录。
4. `rmdir`:删除空目录,要删除非空目录需使用`rm -r`命令并谨慎操作。
5. `cp`:复制文件或目录,`cp file1 file2`将 file1 复制为 file2,`cp -r dir1 dir2`复制目录。
6. `mv`:移动或重命名文件或目录,`mv file1 file2`将 file1 重命名为 file2,`mv file dir`将文件移动到目录。
7. `rm`:删除文件或目录,`rm file`删除文件,`rm -r dir`删除目录(谨慎使用)。
8. `touch`:创建空文件或更新文件时间戳,`touch file`若文件不存在则创建,若存在则更新时间。
9. `cat`:查看文件内容,`cat file`直接显示文件内容,`cat file1 file2 > file3`将 file1 和 file2 的内容合并到 file3 中。
10. `more`、`less`:分页查看文件内容,`more file`按页显示,`less file`可向前或向后翻页。
二、权限管理命令(10 个)
1. `chmod`:修改文件或目录的权限,`chmod u+x file`给文件所有者添加执行权限,`chmod 755 dir`设置目录权限为 rwxr-xr-x。
2. `chown`:修改文件或目录的所有者,`chown user file`将文件所有者改为 user。
3. `chgrp`:修改文件或目录的所属组,`chgrp group file`将文件所属组改为 group。
4. `umask`:设置文件创建时的默认权限掩码,影响新创建文件的权限。
5. `id`:显示用户的身份信息,包括用户 ID、所属组等。
6. `groups`:显示用户所属的组。
7. `su`:切换用户身份,`su username`切换到指定用户。
8. `sudo`:以超级用户权限执行命令,需要有相应的权限配置。
9. `getfacl`:查看文件或目录的访问控制列表(ACL)。
10. `setfacl`:设置文件或目录的访问控制列表。
三、进程管理命令(10 个)
1. `ps`:显示当前系统中的进程状态,`ps -ef`显示所有进程的详细信息。
2. `top`:实时显示系统中各个进程的资源占用情况,按特定键可进行排序等操作。
3. `kill`:终止进程,`kill pid`通过进程 ID 终止进程,`kill -9 pid`强制终止进程。
4. `killall`:根据进程名称终止进程,`killall command`终止所有名为 command 的进程。
5. `bg`:将暂停的进程放到后台继续运行。
6. `fg`:将后台进程调到前台运行。
7. `jobs`:查看后台进程的状态。
8. `nice`:调整进程的优先级,`nice -n value command`设置进程优先级,值越大优先级越低。
9. `renice`:重新设置已存在进程的优先级。
10. `ionice`:设置 I/O 进程的优先级和调度类。
四、系统信息查看命令(10 个)
1. `uname`:显示系统信息,如操作系统名称、版本等,`uname -a`显示详细系统信息。
2. `hostname`:显示或设置主机名。
3. `df`:查看磁盘使用情况,`df -h`以易读格式显示。
4. `du`:查看目录或文件的磁盘使用情况,`du -sh dir`显示目录大小。
5. `free`:查看系统内存使用情况。
6. `vmstat`:查看虚拟内存统计信息,包括进程、内存、磁盘等方面。
7. `uptime`:显示系统运行时间、登录用户数等信息。
8. `who`:显示当前登录系统的用户信息。
9. `w`:显示当前登录系统的用户信息及系统负载等。
10. `last`:查看系统登录日志。
五、网络管理命令(10 个)
1. `ifconfig`:查看和配置网络接口,`ifconfig eth0`查看 eth0 网络接口信息。
2. `ip`:替代 ifconfig 的网络配置工具,提供更强大的功能,如`ip addr`查看地址信息。
3. `ping`:测试网络连接,`ping hostname`或`ping ip`测试与目标的连通性。
4. `traceroute`:跟踪网络数据包的路径,`traceroute hostname`显示到目标的路由路径。
5. `netstat`:显示网络连接、路由表等信息,`netstat -tunlp`显示监听的网络端口。
6. `ssh`:远程登录到其他主机,`ssh username@hostname`进行远程登录。
7. `scp`:安全地复制文件到远程主机,`scp file username@hostname:dir`将文件复制到远程主机。
8. `sftp`:通过 SSH 进行文件传输,提供更安全的文件传输方式。
9. `iptables`:管理防火墙规则,用于设置网络访问控制。
10. `route`:查看和设置路由表。
六、其他常用命令(20 个)
1. `history`:查看历史命令,方便重复执行。
2. `alias`:创建命令别名,`alias ll='ls -l'`创建 ll 别名表示`ls -l`。
3. `export`:设置环境变量,使变量在子进程中也可用。
4. `echo`:输出文本或变量值,`echo "hello"`输出 hello。
5. `read`:从标准输入读取用户输入。
6. `grep`:在文件中搜索指定模式的文本,`grep pattern file`搜索文件中的模式。
7. `sed`:流编辑器,用于对文本进行编辑和处理。
8. `awk`:用于文本处理和报表生成,具有强大的文本处理能力。
9. `find`:在文件系统中查找文件,`find / -name file`在根目录下查找名为 file 的文件。
10. `locate`:快速查找文件,基于数据库进行查找,速度较快但数据库可能不及时更新。
11. `tar`:打包和压缩文件,`tar -cvf archive.tar dir`将目录打包为 archive.tar 文件。
12. `zip`、`unzip`:压缩和解压缩文件,`zip file.zip file`将文件压缩为 file.zip,`unzip file.zip`解压缩文件。
13. `cal`:显示日历,`cal`显示当前月份的日历,`cal year`显示指定年份的日历。
14. `date`:显示或设置系统日期和时间,`date`显示当前时间,`date +%Y-%m-%d`设置日期格式。
15. `bc`:进行任意精度的算术运算。
16. `lesskey`:配置 less 命令的快捷键。
17. `man`:查看命令的手册页,`man command`查看指定命令的手册。
18. `info`:查看 GNU 文档,提供更详细的文档信息。
19. `which`:查找命令的路径,`which command`显示 command 命令的路径。
20. `timeout`:设置命令的超时时间,`timeout 5 command`命令在 5 秒后超时。
通过熟练掌握这些常用命令,我们能够在 Linux 系统的运维与操作中更加得心应手,提高工作效率,保障系统的稳定运行。不断练习和实践这些命令,将有助于我们成为一名优秀的 Linux 系统管理员。