网站首页 > 基础教程 正文
在 Linux 系统的世界里,命令行是强大的武器。对于运维小白而言,掌握一些高频使用的 Linux 命令,能极大提升工作效率,轻松应对各种系统管理任务。今天,就为大家奉上精心整理的 30 个 Linux 高频指令,助力大家快速上手 Linux 运维工作。
一、文件与目录管理类
1. ls:列出目录内容
ls是 list 的缩写,是查看文件夹中文件列表的基础命令。通过它,不仅能看到文件名,配合不同参数,还能获取文件权限、所有者、大小等详细信息。
- 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 命令的世界丰富多彩,后续还可以不断深入学习和探索,让自己的运维技能更上一层楼。赶紧收藏起来,在实际操作中多练习吧!
- 上一篇: 10 个鲜为人知但非常有用的 Linux 命令
- 下一篇: 简单粗暴收藏版:Linux常用命令大汇总
猜你喜欢
- 2025-05-09 作为Linux初学者,这25个命令一定要会!
- 2025-05-09 Linux最常用命令及快捷键整理(linux常用的20个命令操作)
- 2025-05-09 Java程序员必备的Linux命令(javac linux)
- 2025-05-09 Java 程序员必备的 Linux 命令(java for linux)
- 2025-05-09 一文带你了解——19个恶搞Linux命令
- 2025-05-09 月薪 3 万的 Linux 运维,都在用这些鲜为人知的命令,你知道几个?
- 2025-05-09 Linux运维必备:命令行帮助工具全解析与实战技巧
- 2025-05-09 运维工程师必须知道的 11 个 Linux 网络命令
- 2025-05-09 Linux 常用命令表格(linux命令行常用操作)
- 2025-05-09 Linux入门:20个救命的终端命令:当代码成为你肢体的延伸
- 最近发表
- 标签列表
-
- jsp (69)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (68)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)