linux命令需在实践中掌握:ls -la最稳妥,cd须用绝对路径或相对路径,cp -a保留元数据,mv -i防覆盖,command -v查命令是否存在,man手册examples比背选项更实用。

Linux 命令不是靠背的,是靠在具体任务里反复敲出来的。没用过 ls -l 就直接学 chmod,大概率会改错权限还查不出原因。
查文件和目录用什么命令最不容易出错
新手常以为 ls 就是“列出文件”,其实它默认隐藏以 . 开头的文件(比如 .bashrc),一不留神就漏关键配置。加 -a 才能看见全部;加 -l 才能看到权限、所有者、大小和修改时间——这些信息决定你能不能读、改、执行它。
-
ls -la是日常检查目录内容最稳妥的组合 - 如果只关心某类文件,比如所有
.log,用ls *.log,别用ls | grep .log(后者会匹配到文件名含 log 的任意位置,比如mylogbackup) -
ls -lt按修改时间倒序排,排查“谁刚动了这个目录”时比翻日志还快
切换目录时为什么总提示 No such file or directory
根本原因不是路径不存在,而是当前 shell 不知道你要切去哪——它只认相对路径(相对于当前目录)或绝对路径(从 / 开始)。比如你在 /home/user,想进 /etc/nginx,输 cd etc/nginx 肯定报错,因为 shell 会在 /home/user/etc/nginx 找。
- 绝对路径必须以
/开头:cd /etc/nginx - 返回上一级用
cd ..,返回上次所在目录用cd -(注意不是cd ~-) -
pwd不是摆设,每次cd后顺手敲一下,能立刻验证是否真切过去了
复制和移动文件时权限和符号链接怎么处理
cp 默认不保留权限、所有者、时间戳,mv 在同一文件系统内只是改 inode 指针,跨分区则变成“复制+删原文件”。如果你用 cp config.conf /etc/ 替换配置,新文件的属主会变成你的当前用户,nginx 可能因权限不足启动失败。
- 保留全部元数据:用
cp -a(archive 模式),等价于-r -p -d -l组合 - 复制时跟随符号链接目标内容(而非复制链接本身):加
-L;保持链接原样:加-P(大写 P) -
mv对符号链接是原子操作,但若目标路径已存在同名文件,它会被直接覆盖且无提示——加-i强制确认
找不到命令或提示 command not found 怎么快速定位
不是系统坏了,大概率是这三件事之一:命令没装、不在 $PATH 里、拼错了。比如想用 tree,但系统没装,或者你下了二进制却放在 ~/bin/tree,而 ~/bin 没加进 PATH。
- 先确认是否存在:
which tree或command -v tree(后者更可靠,能识别 shell 函数) - 查 PATH:
echo $PATH,注意路径间用:分隔,不是; - 临时加路径:
export PATH="$HOME/bin:$PATH";永久生效要写进~/.bashrc或~/.profile,然后source ~/.bashrc
真正卡住人的从来不是命令记不全,而是不知道某个输出意味着什么、哪个参数会让行为突变、以及为什么上一秒好好的命令下一秒就报错——多看 man 里 EXAMPLES 部分,比背选项有用得多。











