# Linux 常识 当你照着上面的教程,费尽千辛万苦,历经千难万险,终于安装上 Rocky Linux 后,你肯定会有一个问题:我 C 盘呢? 其实,Linux 的很多逻辑以及文件的组织结构都是与 Windows 大不相同的,接下来,我们就一起了解一下。 > 注意,以下操作,若无特殊说明,输入命令均在终端(Terminal)下操作,可以按下 Ctrl-Alt-T 呼出。 ## Linux 路径的格式 > 注:文件夹(Folder)和目录(Directory)实际上是一个东西。只不过,我们在图形界面下更习惯叫文件夹,终端命令行下更喜欢叫目录。 Linux 中目录的分隔符是`/`,而非 Windows 中的`\\`。 Linux 中,每个文件夹下,都有两个特殊的目录,就是`.`和`..` 1. `.` 代表当前所在的文件夹 2. `..` 代表上一级文件夹,而 `/` 的上级文件夹就是它自己 > 这块似乎有一点不太好懂,我们通过实际的例子解释一下: 假设我们当现在目录`/foo/bar`下,那么`/foo/bar/.`就等同于`/foo/bar`,`/foo/bar/..`,就等同于`/foo` 如果一个路径以`/`开头,那代表这个目录是从根目录开始的,根目录就相当于 Windows 上的 C 盘,是存放系统的位置。 > 注:在 Windows 下也有一个隐藏的根目录,不过我们几乎访问不到也访问不了 而你所看到的主文件夹(或者是用户目录),位于 `/home/你的用户名`(Linux 中 root 用户比较特殊,就是`/root`),相当于 `C:\Users\你的用户名`(MacOS:`/Users/你的用户名`)。在这里你可以放置你的个人文件和代码。 > 实际上,`/`只是一块硬盘的挂载点,后面会讲到 ## 文件与目录的基本操作 ### `ls` 列出文件 `ls`,顾名思义,就是 list,列出当前目录下的文件,他的基本使用方法也很简单: ```bash ls <目录> ``` 这个命令就会列出那个目录下的文件。如果没有参数,ls 默认列出当前目录下的文件。你应该还能看见颜色,不同颜色就代表了文件(夹)的不同类型。 `ls` 还有一些其它的参数,比如输入 `ls -al` 就可以看见纵向排列的文件详细信息了,输入文件名就可以筛选出那个文件夹内/文件本身。 ### `pwd` 打印工作目录 `pwd`,名字拆解出来,就是 print work directory。也就是打印工作目录,这个命令可以让我们快速了解到我们当前所在的目录。 > 工作目录(work directory),可以简单的理解为用户当前所在的目录,在以后讲解 shell 的时候会进一步讲解这些概念。 使用方法也很简单: ```bash pwd ``` 这样就会输出当前的工作目录。 ### `cd` 切换目录 cd,更好理解了,就是 change directory,切换目录的意思。 使用方法更简单了: ```bash cd <目录> ``` 这样,就会把当前的工作目录切换到指定的目录了。 ### `mkdir` 新建文件夹 我们刚学习使用 Windows 时,除了开机,第一件事应该就是新建文件夹了。 这个命令的意思就是字面上的,make directory,新建文件夹。 你可以使用下面的命令: ```bash mkdir <目录名> ``` 另外,如果你想一次性创建多层目录,那么可以使用 `mkdir -p <多层目录>`,例如 `mkdir -p learn/linux/study`。 ### `mv` 移动文件 那我们的重命名,剪切,复制,粘贴去哪了呢?在 Linux 命令行中,其实没有剪切。 ```bash mv <你想移动的目录> <目标或新的名字> ``` 我们可以使用上面的命令移动或者重命名一个目录(是的,它们是一个命令)。 > 在同一磁盘内移动速度很快,但是跨磁盘就不一定了 ### `cp` 复制文件 而复制也是一个道理: ```bash cp <你想复制的文件或目录> <新文件或目录的名字> ``` ### `rm` 删除文件 都有复制了,怎么能没有删除呢? > 删除危险性较高,不要删除根目录或者其它重要目录!回车前再三确认! ```bash rm <你想删除的文件> ``` 另外,删除文件夹的操作有点不一样: ```bash rm -r <你想删除的文件夹> ``` 在`r`后面加上`f`就是强制删除了,而 `rm -rf /*` 就是强制删除根目录下所有的文件。以后看到这串命令不要被骗了! > 如果你真的想尝试,那么请一定在虚拟机下!搞坏系统作者可不负责! ### `poweroff`关机 很多同学刚使用 Linux 的时候,最大的问题就是:怎么关机? 实际上关机很简单,只需要键入: ```shell sudo poweroff ``` 回车执行之后会提示你输入密码,直接输入就可以了,输入的时候是没有回显的,不用担心,输入完直接回车即可。 > 关于`sudo`是什么意思,这个在以后我们讲解权限的时候会提到,你现在就理解为是用来获取系统的最高权限的意思就 ok 了。