6.2 KiB
文件与路径
当你终于按照上面的教程安装好Linux,并激动地打开文件管理器的时候,你会惊叹:我C盘呢?
Linux的文件结构
当你第一次打开文件管理器的时候,你可能会看见“主文件夹”这样的字样,但是就是找不到C盘和D盘。
其实,Linux的文件管理结构还是和Windows有较大差别的。
Windows的文件系统中的“路径分隔符”(就是你单机路径在文件夹之间的斜杠)是
\
(右斜线),而Linux和MacOS(准确来说是任何POSIX标准的计算机系统)是/
(左斜线),Windows中左斜线被当成了参数的前缀符号(Linux中是-
)。下文不再提及。
不过不要担心,我们所说的C盘就是 /
了(叫做根目录,真的只有一个斜杠)。那么,我们的D盘和E盘等等呢?它们则被系统放到了别的地方,你甚至可以自定义这些地方(其实Windows也可以,不过放得很深),不过一般被放在了 /mnt
,/run/mount
或者 /media/你的用户名
下。(根据发行版和桌面环境的不同有所区别。如果你是安装上文安装的,那么应该在 /media/你的用户名
里面)
而你所看到主文件夹(或者是用户目录),位于 /home/你的用户名
(Linux中root用户比较特殊,就是/root
),相当于 C:\Users\你的用户名
(MacOS:/Users/你的用户名
)。在这里你可以放置你的个人文件和代码。
另外,还有几个特殊的文件夹:
.
代表当前所在的文件夹..
代表上一级文件夹,而/
的上级文件夹就是它自己。
注:在Windows下也有一个隐藏的根目录,不过我们几乎访问不到也访问不了
基本命令行
上面的一切都是在图形界面下的操作。如果只有一个黑框框终端,我们该怎么办呢?
首先,在终端中,记住:我们输入任何命令后都要接一个回车,让终端知道你打完了一行命令。
pwd
查看当前目录
如何知道我们现在在哪?我们可以键入
pwd
就可以看到看下面立刻出现了一行文字(如果是一个刚打开的终端,那么通常在主文件夹里)。
ls
列出所有文件和文件夹
但是只有这行命令,终端又不能像图形界面一样直观看到所有的文件。如果看不到文件夹下有什么文件,我们就相当于瞎子。
那么就要请出下面的命令了:
ls
我们可以看到当前目录下有什么文件和文件夹。你应该还能看见颜色,不同颜色就代表了文件(夹)的不同类型。
ls
还有一些其它的参数,比如输入 ls -al
就可以看见纵向排列的文件详细信息了,输入文件名就可以筛选出那个文件夹内/文件本身。
cd
切换目录
接下来,我们还要在文件系统中切换目录。那么,我们可以:
cd <你想切换的目录>
如果你的目录以 /
开头,那么它就会从根目录去寻找,否则就会从当前目录去寻找。cd ..
就是返回上级目录。
这三个命令也是命令行中最常用的命令。如果你是第一次见到命令行,你是不是感觉自己很像个黑客?
mv
移动文件
那我们的重命名,剪切,复制,粘贴去哪了呢?在Linux命令行中,其实没有剪切。
mv <你想移动的目录> <目标或新的名字>
我们可以使用上面的命令移动或者重命名一个目录(是的,它们是一个命令)。
在同一磁盘内移动速度很快,但是跨磁盘就不一定了
cp
复制文件
而复制也是一个道理:
cp <你想复制的文件或目录> <新文件或目录的名字>
rm
删除文件
都有复制了,怎么能没有删除呢?
删除危险性较高,不要删除根目录或者其它重要目录!回车前再三确认!
rm <你想删除的文件>
另外,删除文件夹的操作有点不一样:
rm -r <你想删除的文件夹>
在r
后面加上f
就是强制删除了,而rm -rf /*
就是强制删除根目录下所有的文件。以后看到这串命令不要被骗了!
如果你就是想尝试,那么请一定在虚拟机下,并且你就需要重装系统了。
磁盘与挂载
你可能会发现一个东西:就是在根目录里,怎么还会有其它的磁盘呢?这是因为,在Linux系统下,所有的磁盘都需要挂载才能访问。而其它的磁盘必须挂载在根目录下。
之前我们说到了Linux“一切皆文件”。我们的硬盘其实也是一个文件。其中,通常 /dev/sd+一个小写a-z字母
是你的硬盘(也有可能是 /dev/nvmeX
(X是任意的数字) 或者 /dev/mmcblkX
)。而分区是 /dev/sd+一个小写a-z字母+X
(nvme比较不同),如 /dev/sdc3
。
我们可以使用 lsblk
命令查看所有的硬盘和分区。
但是,磁盘文件并不能直接访问,这时候我们需要挂载了。
如果你有一个桌面或者文件管理器,那么它就会自动帮你执行操作。点击一下你的磁盘就可以挂载了。
关于挂载的内容,这里就不过多讲述了,后面会提到。
Linux下的重要文件夹
刚装完Linux,你会看到根目录下面有一些目录:(都不要删!)
/boot
存放系统启动信息/dev
大部分设备对应的文件,上文中提到了/proc
所有的进程信息(Linux中“一切皆文件”的思想)/lib
存放所有重要的被软件调用的以来。有时会有lib64
/etc
存放软件配置文件(其实很乱,相当于杂项)/opt
扩展软件目录,少部分软件会装到这里/tmp
存放一些临时文件,通常被挂载到了内存/usr
包含系统核心文件,其中的bin
目录包含的上述除cd
外的所有命令,sbin
也是(仅限root的命令),这两个文件夹还被映射到了根目录同名文件夹。/var
经常变动的一些重要的文件,也包含日志/sys
也是一个重要的设备目录/home
用户目录,相当于C:\Users
(MacOS:/Users
)
到这里,相信你已经掌握了Linux文件系统的简单使用。
study-area-cn