一、 核心理论认知
1. Linux 没有回收站
在 Windows 上删除文件是放到回收站,但在 Linux 命令行里,rm 命令是直接抹除数据,无法撤销。因此,删除操作需要极度谨慎。
2. 复制目录必须递归
使用 cp 复制文件很简单,但如果要复制文件夹,必须使用 -r 参数(递归)。它的原理是将目录下的所有文件和子目录一层层全部复制。
二、 文本查看工具的选择
-
cat:一次性打印全部内容,适合小文件。 -
less:分页查看,支持上下翻页(PageUp/PageDown),不会加载整个文件,适合大文件。 -
head/tail:默认查看前10行或后10行,可以通过-n指定行数。 -
tail -f:实时追踪文件尾部的变化,是查看服务器动态日志的神器。
三、 实战命令记录
1. 复制与移动
bash
# 普通文件复制
cp file1.txt file1_copy.txt
# 目录复制(必须加 -r 递归)
cp -r sub_dir sub_dir_bak
# 移动或重命名
mv file1_copy.txt renamed.txt
mv file2.txt sub_dir/
2. 文本查看
cpp
# 看前5行
head -5 numbers.txt
# 看后5行
tail -5 numbers.txt
# 使用 less 查看大文件,按空格翻页,按 q 退出
less numbers.txt
# 实时监听文件变化(按 Ctrl+C 退出)
tail -f numbers.txt
3. 删除文件与目录
cpp
# 删除文件
rm renamed.txt
# 强制递归删除目录(极其危险,操作前先用 ls 确认路径!)
rm -rf sub_dir_bak

总结
文件管理三剑客 cp/mv/rm 极其常用,特别是 rm -rf 的威力需要时刻敬畏。文本查看工具中,tail -f 将是未来排查线上故障的杀手锏。
自我实战操作
打开你的 Xshell,确保是 blog 用户,然后依次执行:
实战 1:创建测试环境
bash
cd ~
mkdir -p file_test/sub_dir
cd file_test
echo "Hello Linux" > file1.txt
echo "This is file 2" > file2.txt
ls -l
实战 2:cp 与 mv 的坑
bash
# 1. 普通复制
cp file1.txt file1_copy.txt
# 2. 复制目录(体验报错与修复)
cp sub_dir sub_dir_bak # 报错:omitting directory 'sub_dir'
cp -r sub_dir sub_dir_bak # 成功:必须加 -r
# 3. mv 重命名
mv file1_copy.txt renamed.txt
# 4. mv 移动文件
mv file2.txt sub_dir/
实战 3:文本查看(模拟日志)
bash
# 1. 制造一个 100 行的文件
seq 1 100 > numbers.txt
# 2. cat 查看全部(你可以直接感受到滚屏)
cat numbers.txt
# 3. head 与 tail
head -5 numbers.txt # 看前5行
tail -5 numbers.txt # 看后5行
# 4. less 翻页(重点体验)
less numbers.txt
# (在 less 界面里,按空格往下翻,按 b 往上翻,按 q 退出!)
实战 4:必考的 tail -f
bash
# 这个命令会卡住,它在实时监控 numbers.txt 的变化
tail -f numbers.txt
(此时不要 按 Ctrl+C,把 Xshell 开一个新标签页(或者新开一个终端连上去),输入以下命令往文件里加内容:)
bash
echo "新加的一行数据" >> ~/file_test/numbers.txt
(切回刚才 tail -f 的窗口,你会发现屏幕上自动弹出了"新加的一行数据"。看完后按 Ctrl+C 退出)。
实战 5:危险操作 rm
bash
cd ~/file_test
rm renamed.txt # 删除文件
rm -rf sub_dir_bak # 强制递归删除目录
# 警告:敲 rm -rf 之前,一定要先用 ls 看一眼,防止删错家目录!