带过不少校招新人,openEuler 环境里上手第一件事永远是那老三样:ls、cd、pwd。看着简单,真让他们在服务器上定位个问题,一半人卡在"我在哪、我要找的文件藏哪个目录、为啥 ls看不见"。
今天借公众号这篇,把这三个最基础的命令在 openEuler 上的正确打开方式聊透——不是教你背参数,是教你用系统思维把它们串起来。
一、ls:不是"列目录",是"侦查现场"
很多人 ls敲完就看个文件名,等于白敲。在 openEuler 上干运维或开发,这三个变种你得形成肌肉记忆:
① ls:最朴素的那版
就是列当前目录下非隐藏的文件和子目录,按列对齐输出。刚 SSH 上来想瞄一眼"这目录里都有啥",用它够了。
② ls -l:老工程师的眼睛
-l是 long format(长格式),一行一个条目,信息密度高得多:
-rw-r--r--. 1 user group 1280 Jun 18 14:32 app.log
权限位、硬链接数、属主、属组、大小、mtime、文件名——这一行能告诉你这文件谁能动、多大、什么时候改的。排查"为啥服务起不来"时,先看配置文件权限对不对、属主是不是 root,比瞎改配置管用。
💡 openEuler 上很多系统文件(比如 /etc/systemd/system/下的 service 文件)末尾带个点 .,表示 SELinux 打了 security context,这是 CentOS 系/欧拉系的标志,别当成文件名一部分。
③ ls -a:别漏掉隐藏文件
Linux 里以点开头的都是隐藏文件(.bashrc、.ssh/、__pycache__这种)。ls默认不显,ls -a才全露。
实战场景:查家目录下的 .ssh/authorized_keys有没有被人动过、看项目根目录有没有 .env泄露密钥——这些事 ls不带 -a根本看不见。
📌 老鸟常敲的是 ls -la(或者 ll,openEuler 的 bash 默认 alias 已经给你配好了),一次把"长格式+隐藏"都拿到,效率最高。
二、cd:目录跳转的四种姿势,别只会 cd 文件夹名
cd这命令看着傻,但跳得不准就容易在 /etc和 ~之间迷路。openEuler 上这四招最常用:
① cd 目录路径:基础款
绝对路径 cd /var/log/nginx/,相对路径 cd logs/,没啥好说的。新手最容易犯的错是路径敲错一层,然后 ls一看"咋空的",其实是进错目录了——这时候 pwd救场(下一节说)。
② cd ..:回上一级
两个点代表父目录。比如你在 /home/user/documents/report/,cd ..就回到 /home/user/documents/。
注意素材里那个 cd../是不规范写法——正确是 cd ..,中间有空格,Shell 才能把 ..识别成参数。全角斜杠更是雷区,openEuler 默认 UTF-8 环境里全角字符会被当成普通文件名,直接报 No such file or directory。
③ cd ~:回主目录
波浪号是 Shell 对"当前用户家目录"的简写。root的话 ~就是 /root,普通用户就是 /home/用户名。
偷懒场景:你在 /var/log/nginx/里翻了半天日志,想回自家目录撸代码,直接 cd或 cd ~一步到位,比 cd /home/user/快。
④ cd ../../:回上两级(及更多)
连续两个点加斜杠可以叠。比如你在 /home/user/documents/report/2024/,cd ../../直接回到 /home/user/documents/。
进阶玩法:cd ~/documents/../downloads这种"路径里带 .."的写法也合法,Shell 会帮你归一化,但可读性差,不建议写脚本里。
⚠️ 一个老坑:cd不带参数等价于 cd ~,但 cd -是另一回事——它会跳回上一次所在的目录。调两个目录间来回对比文件时(比如一边 /etc/nginx/conf.d/一边 /etc/nginx/bak/),cd -比反复敲路径幸福得多。
三、pwd:不是"显示路径"那么简单
pwd(print working directory)看着就一句话功能:打印当前工作目录的绝对路径。但有两个细节值得说:
① 基础用法
[user@openeuler ~]$ cd /home/user/documents[user@openeuler documents]$ pwd/home/user/documents
素材里写的 pwd/home/user/documents是漏了空格——正确是 pwd命令输出 /home/user/documents,中间没有斜杠连着。
② 软链接场景下的两个 pwd
这是个容易懵的点。openEuler 上很多目录是软链接(比如 /var/run→ /run),如果你 cd进的是软链接路径:
排查"我这配置文件到底改的是哪份"时,pwd -P能帮你避开软链接的障眼法。
四、把这三个串成一套"现场侦查流"
光会单个命令不够,在 openEuler 上真干活的流程是这样的:
SSH 上来先 pwd —— 确认自己在哪,别一上来就 rm -rf酿惨剧(血的教训:有人在 /下敲过)。
ls -la扫一遍 —— 看目录里有什么、权限对不对、有没有隐藏的 .env或 .log。
cd跳目标目录 —— 用 ~和 ..省键盘,跳错了 pwd校验。
进目录再 ls -la —— 确认目标文件存在、属主属组符合预期。
这套四步走顺了,你比 80% 的"会敲 Linux"的人稳。
结束语
ls、cd、pwd是所有人 Linux 生涯的第一课,但也是最能暴露"系统思维"的三个命令——能不能从 ls -l的权限位看出运维隐患、能不能用 cd -和 pwd -P在复杂目录结构里不迷路,区别就在这里。openEuler 作为服务器底座,对这些基础命令的行为是一致的,但 SELinux 上下文、软链接布局这些"欧拉特色",早熟悉早受益。
互动话题
你当年学 Linux 时,在 cd或 rm上翻过最离谱的车是啥?是 cd进错目录然后 rm了不该删的,还是 pwd都没看就下手了?评论区聊聊,给后来的兄弟们提个醒 🤣