Linux 常用命令入门:从文件、权限到进程与日志排查

举报
yd_220055865 发表于 2026/10/26 12:53:07 2026/10/26
【摘要】 面向新手的 Linux 常用命令入门教程:从目录与文件操作、查看与搜索、权限、进程、磁盘与网络,到日志排查的通用思路,帮你建立可复用的日常操作与排障方法。

学习 Linux,不需要一开始就记住几百个命令。先建立一张清晰的地图:文件放在哪里、权限如何决定能不能读写、进程在如何运行、出了问题去哪里看日志。掌握下面这些常用命令,就能独立完成日常操作和初步排查。

一、先认识终端和目录结构

打开终端后,首先要知道自己在哪里。pwd 显示当前目录,ls 列出当前目录的内容,cd 切换目录。

pwd
ls -la
cd /etc
cd ..
cd ~

ls -la 中的 -l 表示长格式,-a 表示显示隐藏文件。.. 表示上一级目录,~ 表示当前用户的主目录。Linux 的目录是有分工的:/etc 放配置文件,/var/log 放日志,/home 放普通用户的数据,/usr 放系统程序,/tmp 放临时文件。知道分工,找文件就不会漫无目的。

二、文件和目录的基本操作

新建、复制、移动、删除是最常见的四类操作:

touch notes.txt
mkdir -p project/docs
cp notes.txt notes-backup.txt
cp -r project project-backup
mv notes.txt docs/
mv old-name.txt new-name.txt
rm notes-backup.txt
rm -r project-backup

需要特别提醒的是删除命令。rm -r 会递归删除目录,rm -rf 会强制删除且不提示,输错路径可能造成难以恢复的损失。新手建议先用 ls 确认路径,只在确定无用时再删除,重要文件先备份。

三、查看文件内容

查看文件要按需选择工具。小文件直接看,大文件分页看,日志文件看尾部:

cat notes.txt
less /var/log/syslog
head -n 20 notes.txt
tail -n 50 notes.txt
tail -f /var/log/syslog

cat 适合看短文件,less 适合翻页查看并支持搜索,head 看开头,tail 看结尾。tail -f 会持续输出新写入的内容,是观察服务运行状态的常用方法,退出时按 Ctrl+C。

四、搜索与筛选:grep、find、管道

命令的组合能力比单个命令更重要。管道 | 把前一个命令的输出交给下一个命令处理:

grep -n "error" notes.txt
ps aux | grep nginx
find /etc -name "*.conf" | head
ls -lh | grep ".log"

grep 用于在文本中搜索关键词,-n 显示行号,-i 忽略大小写。find 用于按名字、类型或时间查找文件。把命令连起来,就能从大量输出中快速定位关键信息。

五、读懂权限:rwx 与 chmod

用 ls -l 查看文件时,第一列就是权限,例如 -rw-r--r--。第一位表示类型,- 是普通文件,d 是目录;后面九位分成三组,依次是所有者、所属组、其他人的权限,r 读、w 写、x 执行。

ls -l notes.txt
chmod +x script.sh
chmod 644 notes.txt
chmod 755 script.sh

chmod +x 给文件加上可执行权限。数字方式中,4 是读,2 是写,1 是执行,三者相加得到每一组的权限值。644 表示所有者可读写,其他人只读;755 表示所有者可读写执行,其他人可读执行。修改权限前先想清楚:是否真的需要让所有人写入?权限越小,误操作和安全风险越小。

六、进程管理:ps、top、kill

程序运行起来就是进程。卡住、占用过高、反复重启的服务,都要先看进程:

ps aux | grep nginx
top
kill 1234
kill -9 1234
systemctl status nginx

ps aux 列出进程,top 实时查看 CPU 和内存占用。kill 后面跟的是进程号 PID,默认是温和地请进程退出;kill -9 是强制结束,只在进程确实无法正常退出时使用。现代系统服务多由 systemd 管理,systemctl status 可以查看服务是否在运行,systemctl restart 可以重启服务。

七、磁盘、内存与网络状态

空间满了、内存不足、端口被占用,都会表现为服务异常。先看资源,再下结论:

df -h
du -sh project
free -h
ss -tlnp
ping -c 4 example.com
curl -I https://example.com

df -h 看磁盘剩余空间,du -sh 看某个目录占了多大,free -h 看内存使用,ss -tlnp 看正在监听的端口。ping 检查网络是否可达,curl -I 检查网站是否返回正常的响应头。把这些结果放在一起,问题范围会迅速缩小。

八、日志排查的通用思路

遇到报错不要只凭感觉改配置,建议按这个顺序排查:

  1. 复现问题,记下准确的报错文字和发生时间。
  2. 用 systemctl status 和 journalctl 看服务日志。
  3. 到 /var/log 找对应应用的日志,用 tail 和 grep 定位报错前后几行。
  4. 检查最近改过什么:配置文件、权限、磁盘空间、端口占用。
  5. 一次只改一个地方,改完验证,确认有效再继续。
systemctl status nginx
journalctl -u nginx --since "1 hour ago"
tail -n 100 /var/log/nginx/error.log

journalctl -u 服务名 查看指定服务的系统日志,--since 可以限定时间范围。日志里的第一条错误往往比最后一条更接近真正原因,读日志时要注意时间顺序和上下文。

九、新手容易踩的坑

  • 在根目录或不熟悉的目录使用 rm -rf,删除前没有确认路径。
  • 用 root 账号做所有事,权限问题被掩盖,风险也被放大。
  • 命令只复制不理解,参数含义不清就直接执行。
  • 改了配置文件不备份,出问题无法快速回退。
  • 只看报错的最后一行,忽略了前面的关键提示。

养成三个习惯可以避开大多数问题:重要操作前备份,关键命令先用 man 命令名 或 命令 --help 查用法,生产环境先在测试环境验证。

十、每天练习的最小清单

  1. 用 pwd、ls、cd 在目录之间移动,并用 ls -la 观察权限。
  2. 新建一个练习目录,完成新建、复制、移动、删除全流程。
  3. 用 grep 和管道从一段文本中找出关键词。
  4. 用 ps、top、df -h、free -h 看一次系统状态。
  5. 找一个服务日志,用 tail 和 journalctl 练习定位信息。

Linux 命令的学习曲线并不陡,关键是把命令放进真实的操作流程里:先定位,再查看,再判断,最后动手。把这篇文章里的命令逐条练一遍,下次遇到文件、权限、进程或日志问题时,你就已经有了一套可复用的排查方法。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。