专业编程基础技术教程

网站首页 > 基础教程 正文

Linux 命令速查手册:这 30 个高频指令,拯救 90% 的运维小白!

ccvgpt 2025-05-09 17:18:31 基础教程 1 ℃

在 Linux 系统的世界里,命令行是强大的武器。对于运维小白而言,掌握一些高频使用的 Linux 命令,能极大提升工作效率,轻松应对各种系统管理任务。今天,就为大家奉上精心整理的 30 个 Linux 高频指令,助力大家快速上手 Linux 运维工作。

一、文件与目录管理类

1. ls:列出目录内容

ls是 list 的缩写,是查看文件夹中文件列表的基础命令。通过它,不仅能看到文件名,配合不同参数,还能获取文件权限、所有者、大小等详细信息。

Linux 命令速查手册:这 30 个高频指令,拯救 90% 的运维小白!

  • ls -a:列出目录下所有文件,包含以.开始的隐藏文件。比如在用户主目录下执行ls -a,就能看到像.bashrc这类隐藏的配置文件。
  • ls -l:以长格式显示文件信息,展示文件的权限、所有者、文件大小、修改时间等详细内容。例如ls -l /etc,可清晰查看/etc目录下各个文件和目录的详细属性 。
  • ls -lh:以易读大小显示文件大小,对于大文件较多的目录,这个参数能让文件大小更直观,如ls -lh /var/log。

2. cd:切换目录

cd即 change directory。使用它可以在文件系统中自由穿梭。

  • cd /var/log:直接切换到/var/log目录,这是绝对路径的切换方式。
  • cd..:返回上一级目录。假设当前在/home/user/Documents目录,执行cd..后,就会进入/home/user目录。
  • cd ~:回到用户主目录。无论当前处于系统的哪个位置,执行此命令都能快速回到自己的主目录 。

3. pwd:显示当前所在目录

pwd是 print working directory 的缩写,用于查看当前所处的工作目录路径。比如在执行一系列复杂操作后,想确认当前所在位置,直接输入pwd,就能看到完整路径,如/usr/local/src 。

4. mkdir:创建目录

mkdir用于创建新目录,即 make directory。

  • mkdir test:在当前目录下创建名为test的目录。
  • mkdir -p parent/child:如果parent目录不存在,该命令会先创建parent目录,再在其下创建child目录,常用于创建多级目录 。

5. rmdir:删除目录

rmdir是 remove directory 的意思,只能删除空目录。

  • rmdir test:删除当前目录下名为test的空目录。如果test目录非空,此命令会执行失败 。
  • rmdir -p a/b/c:若a/b/c各级目录均为空,该命令会从最内层的c目录开始,依次删除b和a目录 。

6. cp:复制文件或目录

cp用于文件和目录的复制操作。

  • cp file1 file2:将file1复制为file2,两个文件在同一目录下。
  • cp -r dir1 dir2:-r参数用于递归复制目录,即把dir1目录及其下所有文件和子目录都复制到dir2目录(若dir2不存在,会自动创建)。例如将/home/user/Documents目录复制到/backup目录下,可执行cp -r /home/user/Documents /backup 。

7. mv:移动文件或目录

mv有移动和重命名两个功能。

  • mv file1 /new/directory:将file1文件移动到/new/directory目录下。
  • mv oldname newname:在同一目录下,将文件或目录oldname重命名为newname。比如在/home/user目录下,将report.txt重命名为final_report.txt,执行mv report.txt final_report.txt 。

8. rm:删除文件或目录

rm即 remove,可删除文件和目录。

  • rm file.txt:删除当前目录下的file.txt文件。
  • rm -r dir:递归删除dir目录及其下所有文件和子目录,使用时需谨慎。
  • rm -rf dir:-f参数表示强制删除,不进行任何提示,直接删除dir目录及其内容,此操作不可逆,务必小心使用 。

9. touch:创建空文件

touch用于创建新的空文件,也可用于更新文件的时间戳。

  • touch newfile.txt:在当前目录下创建一个名为newfile.txt的空文件。
  • 若newfile.txt已存在,执行touch newfile.txt会更新该文件的访问和修改时间 。

二、文件内容查看类

10. cat:查看文件内容

cat命令用于显示文件的内容。

  • cat file.txt:一次性显示file.txt文件的全部内容。适用于文件内容较少的情况。
  • cat file1 file2 > newfile:将file1和file2的内容合并,并输出到newfile文件中 。

11. more:分页查看文件内容

more命令以分页形式显示文件内容,适合查看内容较多的文件。按空格键向下翻一页,按b键向上翻一页,按q键退出查看。例如more large_file.txt,会以一页一页的方式展示large_file.txt的内容 。

12. less:增强型分页查看文件内容

less也是分页查看文件工具,相比more功能更强大。支持向前、向后翻页,还能使用搜索功能。

  • ps -aux | less -N:将ps -aux命令(查看系统进程信息)的输出结果通过less分页显示,并显示行号 。
  • 在less查看界面中,输入/keyword可搜索keyword关键词,按n键跳转到下一个匹配项,按N键跳转到上一个匹配项 。

13. head:查看文件开头内容

head用于显示文件开头的部分内容。

  • head -n 10 file.txt:显示file.txt文件的前 10 行内容。
  • head -c 20 file.txt:显示file.txt文件的前 20 个字节内容 。

14. tail:查看文件末尾内容

tail命令与head相反,用于查看文件末尾的内容。

  • tail -n 100 logfile.log:显示logfile.log文件的最后 100 行内容,常用于查看日志文件。
  • tail -f logfile.log:动态实时跟踪logfile.log文件的新增内容,在监控日志实时更新时非常有用 。

三、权限与用户管理类

15. chmod:修改文件权限

chmod用于改变文件或目录的访问权限。

  • chmod 755 file.txt:将file.txt文件的权限设置为所有者可读、可写、可执行(权限数字 7),组用户和其他用户可读、可执行(权限数字 5)。
  • chmod u+x file.sh:为file.sh文件的所有者添加可执行权限 。

16. chown:修改文件所有者

chown用于更改文件或目录的所有者和所属组。

  • chown newuser file.txt:将file.txt文件的所有者更改为newuser。
  • chown newuser:newgroup file.txt:同时将file.txt文件的所有者更改为newuser,所属组更改为newgroup 。

四、进程管理类

17. ps:查看进程状态

ps用于查看当前系统中的进程状态。

  • ps -aux:显示所有用户的所有进程详细信息,包括进程的所有者、CPU 使用率、内存使用率等。
  • ps -ef:以全格式显示所有进程,展示进程的 UID、PID、PPID(父进程 ID)等信息 。

18. top:实时监控系统资源占用

top命令提供实时的系统资源占用情况,包括 CPU、内存、进程等信息。进入top界面后,会动态更新各项资源数据。按M键可按内存使用量排序进程,按P键可按 CPU 使用率排序进程 。

五、磁盘与网络管理类

19. df:查看磁盘空间使用情况

df用于查看文件系统的磁盘空间使用情况。

  • df -h:以易读的方式显示磁盘空间使用情况,如Filesystem Size Used Avail Use% Mounted on,能清晰看到各个分区的总大小、已使用大小、可用大小及使用率等信息 。

20. ifconfig:查看和配置网络接口

ifconfig用于查看和配置网络接口信息。在大多数 Linux 系统中,可使用ifconfig查看网络接口的 IP 地址、子网掩码、MAC 地址等信息。例如在 Ubuntu 系统中,执行ifconfig,会列出eth0、lo等网络接口及其相关配置 。

21. ping:测试网络连通性

ping命令用于测试网络主机的连通性。

  • ping www.baidu.com:向www.baidu.com发送 ICMP 数据包,通过返回的响应信息判断网络是否通畅,以及网络延迟情况 。

22. netstat:查看网络连接和统计信息

netstat可用于查看网络连接、路由表、网络接口状态等信息。

  • netstat -an:以数字形式显示所有网络连接,包括 TCP、UDP 连接,能看到连接的 IP 地址和端口号 。
  • netstat -tunlp:查看当前正在监听的 TCP 和 UDP 端口,并显示对应的进程 ID 和程序名称 。

六、文件查找与压缩类

23. find:查找文件

find命令用于在文件系统中查找符合特定条件的文件。

  • find / -name "*.txt":在整个系统(根目录/开始)中查找所有扩展名为.txt的文件。
  • find /home -user user1 -type f:在/home目录及其子目录中,查找所有者为user1的普通文件 。

24. locate:快速定位文件

locate通过搜索系统内建的文件数据库来快速定位文件。数据库由updatedb程序定期更新。

  • locate pwd:查找文件名中包含pwd的所有文件 。
  • locate /etc/sh:搜索/etc目录下所有以sh开头的文件 。

25. tar:打包和解压文件

tar命令用于文件的打包和解包操作,常与压缩工具结合使用。

  • tar -cvf archive.tar file1 file2:将file1和file2文件打包成archive.tar文件,-c表示创建,-v表示显示详细过程,-f指定文件名 。
  • tar -xvf archive.tar:解包archive.tar文件,将其中的文件释放到当前目录 。
  • tar -zcvf archive.tar.gz file1 file2:使用 gzip 压缩算法,将file1和file2文件打包并压缩成archive.tar.gz文件 。
  • tar -zxvf archive.tar.gz:解压archive.tar.gz文件 。

26. grep:在文件中查找匹配的文本

grep用于在文件中搜索指定的文本字符串。

  • grep "error" logfile.log:在logfile.log文件中查找包含error字符串的行 。
  • grep -r "keyword" /path:在/path目录及其子目录下的所有文件中递归搜索keyword关键词 。

七、系统管理类

27. systemctl:管理系统服务

systemctl是 Systemd 工具集中用于管理系统服务的命令。

  • systemctl start service_name:启动名为service_name的服务,如systemctl start httpd启动 Apache 服务 。
  • systemctl stop service_name:停止名为service_name的服务 。
  • systemctl restart service_name:重启名为service_name的服务 。
  • systemctl status service_name:查看名为service_name的服务的运行状态 。

28. crontab:设置定时任务

crontab用于设置周期性执行的任务。

  • crontab -e:编辑当前用户的定时任务列表。在打开的编辑器中,可按特定格式添加任务,如0 2 * * * /usr/bin/backup.sh表示每天凌晨 2 点执行/usr/bin/backup.sh脚本 。
  • crontab -l:列出当前用户的定时任务列表 。

29. iptables:配置防火墙规则

iptables用于配置 Linux 系统的防火墙规则。

  • iptables -A INPUT -p tcp --dport 80 -j ACCEPT:允许 TCP 协议的 80 端口(通常用于 HTTP 服务)的数据包进入系统 。
  • iptables -L:列出当前的防火墙规则 。

30. journalctl:查看系统日志

journalctl用于查看 Systemd journal 日志。

  • journalctl -u service_name:查看名为service_name的服务的相关日志 。
  • journalctl --since "2024-01-01":查看从 2024 年 1 月 1 日以来的系统日志 。

掌握这 30 个高频 Linux 指令,运维小白们就能在 Linux 系统管理的道路上迈出坚实的一步。当然,Linux 命令的世界丰富多彩,后续还可以不断深入学习和探索,让自己的运维技能更上一层楼。赶紧收藏起来,在实际操作中多练习吧!

#Linux# #Linux命令##操作系统##开源##程序员##运维#

最近发表
标签列表