linux学习-目录
理解了Linux的目录结构,就像拿到了一张藏宝图,能让你清楚地知道文件都藏在哪儿、每个地方是干什么用的。结合你正在使用的WSL Ubuntu系统,我们来一起探索一下。
我把整个目录结构比作一棵树,这样会更好记。你可以随时打开WSL终端,输入 ls / 来看看这棵树的“主干”。
🌳 Linux目录结构详解
| 目录 | 形象比喻 | 存放内容 | 你的WSL中需要注意什么 |
|---|---|---|---|
/ (根目录) |
大树的“根”,所有目录的起点。 | 整个文件系统的起点,其他所有目录都从这里生长出来。 | 所有操作都从这里开始,但日常工作中不要在这里存放你自己的文件。 |
/home |
你的“私人房间”。 | 普通用户的个人目录。每个用户都有一个以自己用户名命名的子目录,比如你的WSL用户名可能叫ubuntu或你创建的其他名字,那你的“房间”就是 /home/你的用户名。 |
这是你的主战场! 你的代码、下载的文件、个人配置都放在这里。它对应Windows中的C:\Users\你的用户名。 |
/root |
超级管理员的“私人房间”。 | 系统管理员root用户的个人目录。普通用户无权访问。 | 日常使用不要在这里操作,避免不小心搞乱系统。 |
/bin |
系统的“瑞士军刀”。 | 存放系统启动和运行时必需的基本命令,比如 ls(查看文件)、cp(复制)、mv(移动)。 |
这些命令是系统自带的,你可以用它们,但别去改动。 |
/sbin |
管理员专用工具箱。 | 存放只有系统管理员(root)才能使用的系统管理命令,比如 iptables(配置防火墙)、fdisk(分区)。 |
普通用户一般用不到,执行它们通常需要加 sudo。 |
/etc |
系统的“控制中心”。 | 存放系统的配置文件。比如网络配置、软件源列表、服务的启动脚本等。 | 偶尔参观,小心修改。 比如配置镜像源时修改的 /etc/docker/daemon.json 就在这里。修改前最好备份。 |
/var |
系统的“日志仓库”。 | 存放经常变化的数据,比如系统日志 (/var/log)、缓存文件、打印任务等。 |
当程序出问题时,来这里查看日志文件是定位问题的第一步。 |
/tmp |
系统的“临时储物柜”。 | 存放临时文件,系统重启后,这个目录下的文件通常会被自动清理。 | 可以放心存放临时下载的测试文件,用完即走。 |
/usr |
系统的“应用程序商店”。 | 存放用户安装的应用程序和相关文件。它下面又有/usr/bin(用户命令)、/usr/local(用户手动编译安装的程序)等子目录。 |
你通过apt install安装的软件,大多会放在这里。 |
/opt |
第三方软件的“专属包厢”。 | 存放可选或第三方软件。比如一些商业软件(如Google Chrome)或手动解压安装的大型软件包。 | 如果你从官网下载.tar.gz直接解压安装软件,放在这里是个好习惯。 |
/mnt 或 /media |
外设的“停车场”。 | 用于临时挂载其他设备,比如U盘、移动硬盘或者(对你来说很重要的)Windows的C盘。 | 这是你访问Windows文件的通道! 在WSL中,你的Windows盘符就挂载在 /mnt/c/、/mnt/d/ 下。你可以在这里直接操作Windows上的文件。 |
/dev |
硬件的“接口”。 | 存放设备文件。在Linux中,硬件设备(如硬盘、鼠标)也会被抽象成文件放在这里。 | 作为开发者,你可能会在配置数据库或容器时接触到它。 |
/proc |
系统的“实时状态屏”。 | 这是一个虚拟目录,存放着系统内核和进程的实时信息,比如CPU信息 (/proc/cpuinfo)、内存信息 (/proc/meminfo)。 |
用 cat /proc/cpuinfo 可以查看CPU信息,非常方便。 |
💡 结合你的WSL环境,可以这样探索
- 进入你的主战场:
cd ~ pwd # 查看当前路径,应该显示 /home/你的用户名 - 访问Windows文件:
ls /mnt/c/Users/你的Windows用户名/Desktop # 你会看到Windows桌面上的文件!可以在这里直接复制、编辑。 - 查看系统日志:
sudo tail -f /var/log/syslog # 这会实时显示系统日志,按 Ctrl+C 退出。 - 查看配置:
cat /etc/os-release # 查看你的Ubuntu系统版本信息。
✨ 总结
对于刚开始的你,记住这几个核心就够了:
/home/你的用户名:你的地盘,随便折腾。/etc:系统设置的地方,修改要小心。/var/log:出问题查日志的地方。/mnt/c/:连接Windows世界的桥梁。- 其他地方,尤其是
/bin,/sbin,/dev,知道它们的存在和大致作用就行,可以先敬而远之。
理解了这些,你在Linux里就不会迷路了。
在Linux中(当然也包括你的WSL Ubuntu),目录访问和导航是最基础也是最常用的操作。掌握了这些命令,你就能在文件系统中自由穿行了。
我把最实用的目录操作命令分成了三类,每个都附上了在WSL中的实际使用场景:
🚶 目录导航(想去哪儿?)
| 命令 | 含义 | 典型用法 | 在WSL中的实际场景 |
|---|---|---|---|
pwd |
Print Working Directory | pwd |
现在在哪儿? 显示当前所在目录的完整路径,比如 /home/你的用户名 |
ls |
List | ls 或 ls -la |
这儿有什么? 列出当前目录的内容。-la 组合参数可以显示所有文件(包括隐藏文件)和详细信息 |
cd |
Change Directory | cd /etc |
去别处看看。 切换到指定目录 |
cd ~ 或 cd |
Change to Home | cd ~ |
回自己的房间。 快速返回你的主目录 /home/你的用户名 |
cd .. |
Change to Parent | cd .. |
上一层楼。 返回上一级目录 |
cd - |
Change to Previous | cd - |
哪儿来回哪儿去。 返回刚才所在的目录,在两个目录间快速切换 |
👀 目录查看(想看清什么?)
| 命令 | 含义 | 典型用法 | 在WSL中的实际场景 |
|---|---|---|---|
tree |
Tree View | tree /mnt/c/Users |
以树状结构显示目录。 可以直观看到文件夹的层级结构(可能需要先安装:sudo apt install tree) |
ls -l |
Long Listing | ls -l /var/log |
查看详细信息。 显示权限、所有者、大小、修改时间等 |
ls -a |
All | ls -a ~ |
看见隐藏文件。 显示所有文件,包括以.开头的隐藏配置文件(比如 .bashrc) |
du |
Disk Usage | du -sh ~/project |
看看多大。 查看目录占用的磁盘空间,-sh 表示以人类可读的方式汇总显示 |
find |
Find | find ~ -name "*.py" |
大海捞针。 在指定目录下查找文件,比如找所有的Python文件 |
✨ 目录操作(想改变什么?)
| 命令 | 含义 | 典型用法 | 在WSL中的实际场景 |
|---|---|---|---|
mkdir |
Make Directory | mkdir my_project |
建个新文件夹。 创建新目录 |
mkdir -p |
Make Parent | mkdir -p project/src/utils |
一口气建多级。 同时创建嵌套的多级目录 |
rmdir |
Remove Directory | rmdir empty_folder |
删除空目录。 只能删除空的文件夹 |
rm -r |
Remove Recursive | rm -r old_project |
删除非空目录。 递归删除整个目录及其内容。谨慎使用! |
cp -r |
Copy Recursive | cp -r project1 project2 |
复制整个文件夹。 递归复制目录及其所有内容 |
mv |
Move | mv project /mnt/c/Users/ |
移动或重命名。 可以移动目录到别处,或者给目录改名 |
💡 在WSL中的实用小技巧
结合你的环境,这几个组合特别有用:
-
快速在Windows和WSL间穿梭:
# 一键跳到Windows桌面 cd /mnt/c/Users/你的Windows用户名/Desktop # 快速返回WSL主目录 cd ~ -
用一条命令创建项目结构:
mkdir -p python-project/{src,tests,docs} # 这会一次性创建 python-project 文件夹,并在里面同时创建 src, tests, docs 三个子文件夹 -
查看目录大小,找出谁占用了空间:
du -sh * | sort -hr # 查看当前目录下所有文件和文件夹的大小,并按从大到小排序
🎯 初学者最常用的黄金组合
对于刚开始的你,掌握这五个命令就能走遍Linux:
pwd # 我在哪?
ls # 这有什么?
cd # 我要去...
cd .. # 回上一层
mkdir # 建个新目录
浙公网安备 33010602011771号