欢迎光临
我们一直在努力

03.Linux 文件系统与常用命令入门:从路径导航到文件管理

03.Linux 文件系统与常用命令入门:从路径导航到文件管理

文章摘要: 本文从 Linux 的树形文件系统讲起,说明根目录以及 /home、/etc、/usr、/dev、/var、/tmp 等常见目录的用途,并解释绝对路径、相对路径和家目录的区别。文章按实际操作顺序介绍 pwd、cd、ls、mkdir、touch、cat、rm、cp、mv 等命令,通过一个完整练习完成目录创建、文件编辑、复制、移动和重命名,最后总结权限错误、路径错误和误删文件的排查方法。

Linux 命令行的难点不在于命令数量,而在于理解路径和文件系统。本文先解释目录树,再通过一组连续命令完成目录创建、复制、移动和删除。

一、Linux 为什么只有一棵目录树

Windows 常用 C:、D: 等盘符区分磁盘分区;Linux 把所有文件和目录组织成一棵树,树根用 / 表示。无论系统挂载了多少块硬盘,用户看到的路径都从 / 开始。

Linux 中的“磁盘分区”和“目录”不是同一个概念。分区可以挂载到某个目录,例如把一块硬盘挂载到 /data,挂载完成后,用户仍然通过 /data 访问它。虚拟机共享文件夹也可以挂载到 /mnt/hgfs,这就是“设备或资源接入统一目录树”的体现。

二、常见目录及其用途

目录作用
/ 所有文件的根目录
/bin 常用二进制命令
/sbin 系统管理相关命令
/home 普通用户的家目录,例如 /home/linux
/root root 超级用户的家目录
/etc 系统配置文件
/dev 设备文件,例如磁盘、声卡
/lib 系统库文件
/usr 应用程序、共享资源和库
/var 日志、缓存和运行过程中变化的数据
/tmp 临时文件目录,内容可能在重启后清理
/mnt 临时挂载其他文件系统的位置
/opt 部分第三方软件的安装目录

初学者最常用的是 /home/用户名、/etc、/usr 和 /mnt。修改 /etc 下的配置通常需要管理员权限,删除系统目录中的文件可能导致系统或软件无法运行。

三、理解绝对路径和相对路径

路径是命令行操作的参照物。/home/linux/test 是绝对路径,因为它从 / 开始;test 或 ../test 是相对路径,因为它依赖当前所在位置。

Linux 用几个特殊符号表示路径:

  • .:当前目录;
  • ..:上一级目录;
  • ~:当前用户的家目录,例如 /home/linux;
  • -:cd – 中表示上一次所在的目录。

假设当前目录是 /home/linux/project/src:

cd .. # 进入 /home/linux/project
cd ../.. # 进入 /home/linux
cd ./ # 仍在 /home/linux/project/src
cd ~/project # 从任意位置进入家目录下的 project

路径中大小写敏感,Test 和 test 是两个不同的名字。命令中出现空格时,路径需要使用引号或反斜杠,例如 cd "my project"。

四、终端提示符和快捷键

常见终端提示符如下:

linux@ubuntu:~/project$

其中 linux 是当前用户名,ubuntu 是主机名,~/project 是当前目录,$ 表示普通用户。若提示符最后是 #,通常表示当前是 root 用户,执行命令时要更加谨慎。

常用快捷键:

  • Ctrl + Alt + T:打开终端;
  • Ctrl + L 或执行 clear:清空终端显示;
  • Ctrl + C:终止当前正在运行的命令;
  • Ctrl + D:退出当前 Shell 或结束输入;
  • Tab:自动补全文件名和命令;
  • ↑:调出上一条命令;
  • Ctrl + Alt + Enter:切换虚拟机全屏,具体组合键可能因软件设置而异;
  • Ctrl + Shift + +:放大终端字体;
  • Ctrl + -:缩小终端字体。

快捷键只影响终端操作体验,不会改变文件内容。执行不确定的命令前,可以先按 Tab 查看可补全的名称,减少拼写错误。

五、先学会查看当前位置

1. pwd:显示当前目录

pwd

pwd 是 print working directory 的缩写。排查“文件明明存在却找不到”时,第一步通常就是执行 pwd。

2. cd:切换目录

cd /etc # 进入绝对路径
cd /home/linux # 进入用户家目录
cd .. # 返回上一级目录
cd . # 仍停留在当前目录
cd# 返回上一次所在目录
cd ~ # 返回当前用户的家目录

cd 不会自动列出目录内容,切换后可以用 pwd 验证结果,再用 ls 查看文件。

六、查看目录和文件

1. ls:列出目录内容

ls
ls /etc
ls -l
ls -a
ls -lh

常用选项如下:

  • -l:以详细列表显示权限、所有者、大小和修改时间;
  • -a:显示以 . 开头的隐藏文件;
  • -h:以更容易阅读的单位显示文件大小,通常和 -l 一起使用;
  • -R:递归列出子目录,目录较大时不建议随意使用。

ls -la 可以同时查看详细信息和隐藏文件。文件名前的 . 只是命名规则,不代表文件损坏。

2. file 和 stat:进一步确认文件

file hello.c
stat hello.c

file 根据内容判断文件类型,stat 可以查看权限、大小、修改时间和 inode 等信息。当文件扩展名与实际内容不一致时,这两个命令很有帮助。

七、新建和查看文件

1. mkdir:创建目录

mkdir test
mkdir -p project/src/include

如果父目录不存在,普通 mkdir 会失败;-p 会按层级创建缺失的父目录。目录已存在时,可以加 -p 避免重复创建时报错。

2. touch:创建空文件或更新时间

touch hello.c
touch log1.txt log2.txt

touch 创建不存在的文件;如果文件已经存在,则主要作用是更新访问时间和修改时间。它不会自动写入内容。

3. cat、printf:查看和写入文本

cat hello.c
printf 'Hello World\\n' > message.txt
printf 'Another line\\n' >> message.txt

> 会覆盖目标文件,>> 会追加内容。使用重定向前要确认符号是否写对,误把 >> 写成 > 可能覆盖原有内容。

八、删除文件和目录

1. rm 的常用形式

rm hello.c # 删除文件
rm -i hello.c # 删除前询问
rm -r test # 递归删除目录及其内容
rm -f hello.c # 强制删除文件

rm -rf 会递归、强制删除目录,执行前必须确认路径。Linux 通常没有回收站,误删后很难恢复。尤其不要在没有检查 pwd 的情况下,对通配符或根目录使用删除命令。

更稳妥的操作顺序是:

pwd
ls
ls -ld target
rm -ri target

先确认当前目录和目标,再选择交互式删除。

九、复制和移动

1. cp:复制文件或目录

mkdir test
touch helloworld.c
cp helloworld.c ./test/ # 复制到 test 目录
cp helloworld.c ./test/backup.c # 复制并改名
cp -r test test2 # 递归复制目录
cp -a test test2 # 递归复制并尽量保留属性

复制前要确认目标目录存在。普通 cp 复制目录时通常会提示需要递归选项,-r 用于递归复制,-a 还会尽量保留时间、权限和目录结构。

2. mv:移动或重命名

mv helloworld.c test/ # 移动到 test 目录
mv oldname.c newname.c # 在同一目录下就是重命名
mv test test_backup # 重命名目录

mv 可以同时完成移动和重命名,判断标准是目标参数是否包含新的目录路径。目标文件已存在时,可能被覆盖;重要文件移动前可以先使用 -i:

mv -i source.txt backup/

十、完成一个完整练习

下面的练习覆盖导航、查看、创建、写入、复制和重命名。请在自己的家目录中操作:

cd /home/linux
pwd
ls

cd /etc
ls

cd /home/linux
mkdir -p first
cd first
touch log1.txt log2.txt
printf 'Hello World\\n' > log1.txt
printf 'Hello World\\n' > log2.txt
cp log1.txt ../
mv log2.txt log.c
ls -l

预期结果是:first 目录中有 log1.txt 和 log.c,/home/linux 中还有一份复制出来的 log1.txt。可以继续检查:

cd ..
ls -l log1.txt
cd first
cat log1.txt
cat log.c

也可以使用 find 查看练习目录中的文件:

find /home/linux/first -maxdepth 1 -type f -print

这里使用 printf 写入文本,避免依赖图形界面编辑器。若要用 Vim 编辑文件,可以执行 vim log1.txt,按 i 进入插入模式,编辑后按 Esc,输入 :wq 并回车保存退出。

十一、常见错误和排查方法

1. No such file or directory

路径拼写错误、大小写不一致,或者当前目录不正确,都可能出现这个错误。先执行 pwd,再使用 ls 分段确认路径:

ls /home
ls /home/linux
ls /home/linux/first

2. Permission denied

当前用户没有访问或修改目标文件的权限。先使用 ls -l 查看权限和所有者,再判断是否应该使用 sudo。不要为了绕过权限问题而习惯性执行 sudo rm,管理员权限会放大误操作的影响。

3. cp: -r not specified

复制对象是目录,需要加递归选项:

cp -r source_dir target_dir

4. 命令执行后没有输出

很多 Linux 命令“成功时不输出任何内容”,例如 mkdir、touch 和 cp。可以用 echo $? 查看上一条命令的退出状态,返回 0 通常表示成功,再用 ls 验证结果。

十二、初学者的操作习惯

  • 先确认位置,再执行删除或移动。 养成执行 pwd 的习惯。
  • 区分绝对路径和相对路径。 路径写错时,先从当前目录重新推导。
  • 把命令拆开验证。 先 mkdir,再 cd,再 touch,每一步用 ls 检查。
  • 重要操作先使用交互参数。 删除使用 rm -i,移动使用 mv -i。
  • 理解权限,而不是盲目使用 sudo。 管理员权限只在确实需要时使用。
  • 掌握这些命令后,就能完成大部分 Linux 入门练习。后续再学习 grep、find、权限、管道、重定向和 Shell 脚本,命令行才会真正成为高效的开发工具。

    赞(0)
    未经允许不得转载:171主机测评 » 03.Linux 文件系统与常用命令入门:从路径导航到文件管理
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址