首页 智能家居

玩转 Linux:常用命令详解与避坑指南,十年老鸟倾囊相授

分类:智能家居
字数: (6124)
阅读: (8553)
内容摘要:玩转 Linux:常用命令详解与避坑指南,十年老鸟倾囊相授,

作为一名经验丰富的后端工程师,Linux 命令行工具是我日常工作中最亲密的伙伴。无论是服务器管理、应用部署,还是问题排查,都离不开各种各样的 Linux 命令。市面上关于 Linux 命令大全 的资料很多,但往往过于零散或者缺乏实际应用场景的指导。今天,我就结合自己多年的实战经验,系统地整理一些常用的 Linux 命令,并分享一些踩坑经验,希望能够帮助大家更好地驾驭 Linux 系统。

文件操作:那些年我们一起搞过的权限与目录

文件操作是 Linux 命令中最基础也是最常用的部分,熟练掌握这些命令能够让你高效地管理文件和目录。

ls:查看文件列表

ls 命令用于列出目录中的文件和子目录。常用的选项包括:

  • -l:以长格式显示文件信息,包括权限、所有者、大小、修改时间等。
  • -a:显示所有文件,包括以 . 开头的隐藏文件。
  • -h:以人类可读的格式显示文件大小(例如 KB、MB、GB)。
  • -t:按照修改时间排序,最近修改的文件排在前面。
  • -r:倒序排列。

例如,要查看当前目录下所有文件的详细信息,并按照修改时间倒序排列,可以使用以下命令:

ls -lhatr

避坑经验: 在使用 ls -l 命令时,要注意第一列的权限信息。如果发现某个文件没有执行权限,可以使用 chmod 命令来修改。

cd:切换目录

cd 命令用于切换当前工作目录。常用的选项包括:

  • cd ..:返回上一级目录。
  • cd ~:切换到当前用户的主目录。
  • cd -:切换到上一次所在的目录。

例如,要返回上一级目录,可以使用以下命令:

cd ..

避坑经验: 在使用 cd 命令时,要注意目录是否存在。如果目录不存在,会报错。可以使用 ls 命令来查看目录是否存在。

mkdir:创建目录

mkdir 命令用于创建目录。常用的选项包括:

  • -p:递归创建目录。如果父目录不存在,会自动创建父目录。

例如,要创建一个名为 test 的目录,可以使用以下命令:

mkdir test

如果要递归创建目录 test/a/b/c,可以使用以下命令:

mkdir -p test/a/b/c

避坑经验: 在使用 mkdir 命令时,要注意目录是否已经存在。如果目录已经存在,会报错。可以使用 -p 选项来避免这个问题。

rm:删除文件或目录

rm 命令用于删除文件或目录。请务必谨慎使用,因为它会永久删除文件,无法恢复! 常用的选项包括:

  • -r:递归删除目录及其所有内容。
  • -f:强制删除,不提示确认。

例如,要删除一个名为 test.txt 的文件,可以使用以下命令:

rm test.txt

要递归删除一个名为 test 的目录及其所有内容,可以使用以下命令:

rm -rf test

避坑经验: 永远不要在生产环境中使用 rm -rf / 命令!这会将整个文件系统删除,导致系统崩溃。养成良好的习惯,删除文件前先确认,并尽量使用回收站工具。

玩转 Linux:常用命令详解与避坑指南,十年老鸟倾囊相授

cp:复制文件或目录

cp 命令用于复制文件或目录。常用的选项包括:

  • -r:递归复制目录及其所有内容。
  • -p:保留原始文件的属性,例如权限、所有者、时间戳等。

例如,要复制一个名为 test.txt 的文件到 test_copy.txt,可以使用以下命令:

cp test.txt test_copy.txt

要递归复制一个名为 test 的目录及其所有内容到 test_copy,可以使用以下命令:

cp -r test test_copy

避坑经验: 在复制目录时,如果目标目录已经存在,cp -r 命令会将源目录的内容复制到目标目录中。如果目标目录不存在,cp -r 命令会创建目标目录,并将源目录及其内容复制到目标目录中。

mv:移动或重命名文件或目录

mv 命令用于移动或重命名文件或目录。例如,要将一个名为 test.txt 的文件重命名为 new_test.txt,可以使用以下命令:

mv test.txt new_test.txt

要将一个名为 test.txt 的文件移动到 test 目录,可以使用以下命令:

mv test.txt test/

避坑经验: 在使用 mv 命令时,如果目标文件已经存在,mv 命令会覆盖目标文件。请谨慎操作。

文本处理:效率提升的利器

Linux 命令行提供了强大的文本处理工具,可以帮助我们快速地分析和处理文本数据。

cat:查看文件内容

cat 命令用于查看文件内容。例如,要查看一个名为 test.txt 的文件内容,可以使用以下命令:

cat test.txt

避坑经验: cat 命令适用于查看小文件。对于大文件,使用 cat 命令可能会导致终端卡顿,甚至崩溃。建议使用 lesshead 命令来查看大文件。

head:查看文件头部

head 命令用于查看文件头部。默认情况下,head 命令会显示文件的前 10 行。可以使用 -n 选项来指定显示的行数。例如,要查看一个名为 test.txt 的文件的前 20 行,可以使用以下命令:

head -n 20 test.txt

tail:查看文件尾部

tail 命令用于查看文件尾部。默认情况下,tail 命令会显示文件的后 10 行。可以使用 -n 选项来指定显示的行数。例如,要查看一个名为 test.txt 的文件的后 20 行,可以使用以下命令:

tail -n 20 test.txt

tail -f 命令可以实时监控文件内容的更新,常用于查看日志文件。例如:

tail -f /var/log/nginx/access.log

避坑经验: 使用 tail -f 监控大文件时,需要注意磁盘空间的使用情况。如果日志文件增长过快,可能会导致磁盘空间耗尽。

grep:查找文本

grep 命令用于在文件中查找文本。常用的选项包括:

玩转 Linux:常用命令详解与避坑指南,十年老鸟倾囊相授
  • -i:忽略大小写。
  • -v:反向查找,只显示不匹配的行。
  • -n:显示匹配行的行号。
  • -r:递归查找目录中的文件。

例如,要在 test.txt 文件中查找包含 error 的行,可以使用以下命令:

grep error test.txt

要在当前目录及其子目录中查找包含 error 的行,并显示行号,可以使用以下命令:

grep -rn error .

避坑经验: grep 命令可以使用正则表达式来进行更复杂的匹配。例如,可以使用 grep -E 'pattern1|pattern2' 来查找包含 pattern1pattern2 的行。

sed:文本替换

sed 命令用于文本替换。例如,要将 test.txt 文件中的所有 old 替换为 new,可以使用以下命令:

sed 's/old/new/g' test.txt

要将替换结果保存到新文件中,可以使用以下命令:

sed 's/old/new/g' test.txt > new_test.txt

避坑经验: sed 命令默认不会修改原始文件。可以使用 -i 选项来直接修改原始文件。例如:sed -i 's/old/new/g' test.txt 。但请谨慎使用,避免误操作。

awk:文本处理工具

awk 是一种强大的文本处理工具,可以用于提取、转换和格式化文本数据。例如,要提取 test.txt 文件中每行的第一列,可以使用以下命令:

awk '{print $1}' test.txt

awk 还可以进行复杂的计算和逻辑判断。例如,可以使用 awk 统计文件中出现的单词数量。

避坑经验: awk 语法相对复杂,需要一定的学习成本。但掌握 awk 可以极大地提高文本处理效率。

系统管理:掌握服务器的命脉

掌握一些常用的系统管理命令,可以帮助你更好地管理服务器,保证系统的稳定运行。

ps:查看进程信息

ps 命令用于查看进程信息。常用的选项包括:

  • -ef:显示所有进程的详细信息,包括进程 ID、父进程 ID、用户 ID、CPU 占用率、内存占用率等。
  • -aux:显示所有用户的进程信息,包括 CPU 占用率、内存占用率等。

例如,要查看所有进程的详细信息,可以使用以下命令:

ps -ef

top:实时监控系统资源

top 命令用于实时监控系统资源,包括 CPU 占用率、内存占用率、磁盘 I/O、网络流量等。

避坑经验: top 命令可以帮助你快速定位系统瓶颈。如果 CPU 占用率过高,可能是由于某个进程占用了大量的 CPU 资源。如果内存占用率过高,可能是由于内存泄漏或者程序占用了过多的内存。

kill:杀死进程

kill 命令用于杀死进程。可以使用进程 ID 或者进程名来指定要杀死的进程。常用的信号包括:

玩转 Linux:常用命令详解与避坑指南,十年老鸟倾囊相授
  • SIGTERM (15):正常终止进程,进程可以捕获该信号并进行清理工作。
  • SIGKILL (9):强制终止进程,进程无法捕获该信号,会立即被终止。请谨慎使用,因为它可能会导致数据丢失或系统不稳定。

例如,要杀死一个进程 ID 为 1234 的进程,可以使用以下命令:

kill 1234

如果要强制杀死一个进程,可以使用以下命令:

kill -9 1234

避坑经验: 在杀死进程之前,最好先尝试使用 SIGTERM 信号正常终止进程。如果进程无法正常终止,再考虑使用 SIGKILL 信号强制终止进程。

netstatss:网络连接状态

netstatss 命令用于查看网络连接状态。ss 命令是 netstat 的替代品,功能更强大,性能更高。

例如,要查看所有 TCP 连接,可以使用以下命令:

ss -t -a

要查看监听 80 端口的进程,可以使用以下命令:

ss -l -p | grep :80

避坑经验: 可以通过 netstatss 命令来排查网络连接问题,例如端口占用、连接超时等。

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

df 命令用于查看磁盘空间使用情况。常用的选项包括:

  • -h:以人类可读的格式显示磁盘空间大小(例如 KB、MB、GB)。

例如,要查看所有磁盘空间使用情况,可以使用以下命令:

df -h

避坑经验: 如果磁盘空间不足,可能会导致系统运行缓慢甚至崩溃。需要定期清理磁盘空间,例如删除不必要的日志文件、临时文件等。

du:查看目录大小

du 命令用于查看目录大小。常用的选项包括:

  • -h:以人类可读的格式显示目录大小(例如 KB、MB、GB)。
  • -s:只显示总大小,不显示子目录大小。

例如,要查看当前目录下所有目录的大小,可以使用以下命令:

du -h

要查看当前目录的总大小,可以使用以下命令:

du -sh

避坑经验: du 命令可以帮助你快速定位占用磁盘空间最多的目录,从而进行清理。

权限管理:守护你的数据安全

Linux 系统的权限管理非常重要,可以有效地保护你的数据安全。

玩转 Linux:常用命令详解与避坑指南,十年老鸟倾囊相授

chmod:修改文件权限

chmod 命令用于修改文件权限。可以使用数字或者符号来指定权限。例如,要将 test.txt 文件的权限设置为所有者可读写,同组用户可读,其他用户可读,可以使用以下命令:

chmod 644 test.txt

或者使用符号表示:

chmod u=rw,g=r,o=r test.txt

避坑经验: 在修改文件权限时,要仔细考虑权限设置的安全性。避免将文件权限设置为过于开放,导致安全风险。

chown:修改文件所有者

chown 命令用于修改文件所有者。例如,要将 test.txt 文件的所有者修改为 user1,可以使用以下命令:

chown user1 test.txt

避坑经验: 只有 root 用户才能修改文件所有者。

chgrp:修改文件所属组

chgrp 命令用于修改文件所属组。例如,要将 test.txt 文件的所属组修改为 group1,可以使用以下命令:

chgrp group1 test.txt

避坑经验: 只有 root 用户或者文件所有者才能修改文件所属组。

网络管理:配置和诊断你的网络

网络管理是 Linux 系统管理的重要组成部分。掌握一些常用的网络管理命令,可以帮助你配置和诊断网络问题。

ifconfigip:配置网络接口

ifconfigip 命令用于配置网络接口。ip 命令是 ifconfig 的替代品,功能更强大,用法也更灵活。

例如,要查看所有网络接口的信息,可以使用以下命令:

ip addr show

要查看指定网络接口的信息,可以使用以下命令:

ip addr show eth0

避坑经验: 在使用 ip 命令配置网络接口时,需要仔细阅读文档,了解各个选项的含义。

ping:测试网络连通性

ping 命令用于测试网络连通性。例如,要测试与 www.baidu.com 的连通性,可以使用以下命令:

ping www.baidu.com

避坑经验: 如果 ping 命令无法到达目标地址,可能是由于网络故障、防火墙阻止或者 DNS 解析错误等原因导致。

traceroute:跟踪网络路由

traceroute 命令用于跟踪网络路由。例如,要跟踪到达 www.baidu.com 的路由,可以使用以下命令:

traceroute www.baidu.com

避坑经验: traceroute 命令可以帮助你定位网络故障点,例如某个路由器故障导致网络无法连通。

掌握了这些 Linux 命令大全 中的常用命令,你就可以更加高效地管理 Linux 系统,并解决各种问题。希望这篇文章能够帮助你更好地驾驭 Linux 命令行,成为一名真正的 Linux 高手! 同时也欢迎大家在评论区分享你常用的 Linux 命令和使用技巧。

玩转 Linux:常用命令详解与避坑指南,十年老鸟倾囊相授

转载请注明出处: 键盘上的咸鱼

本文的链接地址: http://m.acea2.store/blog/500988.SHTML

本文最后 发布于2026-04-05 16:16:14,已经过了22天没有更新,若内容或图片 失效,请留言反馈

()
您可能对以下文章感兴趣
评论
  • 西红柿鸡蛋面 5 天前
    好详细的 Linux 命令总结,膜拜大佬! 刚好最近服务器出了点问题,准备好好学习一下。
  • 蓝天白云 2 天前
    好详细的 Linux 命令总结,膜拜大佬! 刚好最近服务器出了点问题,准备好好学习一下。