正在看一本适合初学者的Linux入门书籍,本文集是整理出来的笔记。希望有人能喜欢。
不管是Windows系统也好,还是Linux系统也好,它们存储的文件的结构都是按照一种叫做“树”的数据结构存储的。
这棵树上挂满了文件和目录。你可以把这棵树想象成一颗被装扮好的圣诞树,只不过上面没有星星或是十字架;取而代之的是一个叫做“根目录”的目录,他是整个文件系统的顶端(当然如果你愿意,那它也是底端),下面全部都是它的崽儿。
如果你想看你自己电脑中的“文件树”,你可以打开命令行终端,键入
tree
就可以看到了。这个命令在Windows操作系统下同样适用。
如果你的Ubuntu没有安装这个功能,需要在网络连接的环境下键入sudo apt-get install tree
安装一下就可以了。
在安装过程中你可能需要输入你的用户密码。Linux为了帮你保守住秘密,在你输入密码的时候终端不会有任何反应,不要误以为是终端没有反应,或是Linux坏掉了。这个问题在我初学Linux的时候困扰了我一周,导致我装了5天的虚拟机。
![](https://img.haomeiwen.com/i12499787/3a9bb79ddc2a3c42.png)
zuoshiyu@mypc:~/文档$ tree
.
├── book
│ ├── Git权威指南.pdf
│ ├── JavaScript+DOM编程艺术(中文第2版).pdf
│ └── The Linux Command Line 中文版-10150838.pdf
└── readme.md
1 directory, 4 files
有时候当你在终端中执行操作的时候需要切换目录,然而对于新手来说切换到哪里首先需要知道我在哪?(我是谁?谁在打我?)
这时候你就需要一个获取当前工作目录的命令:pwd
pwd(print working directory)
zuoshiyu@mypc:~$ pwd
/home/zuoshiyu
当我第一次登录到(打开)终端的时候,我们所在的目录是家目录,如果我是以一个普通用户的身份登录系统,我只可以在家目录下进行写入文件操作(其它地方需要充会员)。
当你知道所在的位置时,你可能想知道你的工作目录working directory下面有哪些文件或目录?
可以通过ls
(list)命令进行查看。
zuosy@honor:~$ ls
book examples.desktop javascript workspace 模板 图片 下载 桌面
build extract MyHero.png 公共的 视频 文档 音乐
如果想要得到文件的更多信息,可以使用长格式输出:ls -l
zuosy@honor:~$ ls -l
总用量 1664
drwxrwxr-x 2 zuosy zuosy 4096 7月 25 23:29 book
drwxrwxr-x 2 zuosy zuosy 4096 7月 25 19:47 build
-rw-r--r-- 1 zuosy zuosy 8980 7月 23 22:06 examples.desktop
drwxr-xr-x 4 zuosy zuosy 4096 6月 28 2016 extract
drwxrwxr-x 3 zuosy zuosy 4096 7月 25 22:48 javascript
-rw-rw-r-- 1 zuosy zuosy 1638400 7月 23 23:08 MyHero.png
drwxrwxr-x 3 zuosy zuosy 4096 7月 23 23:18 workspace
drwxr-xr-x 2 zuosy zuosy 4096 7月 24 06:13 公共的
drwxr-xr-x 2 zuosy zuosy 4096 7月 24 06:13 模板
drwxr-xr-x 2 zuosy zuosy 4096 7月 24 06:13 视频
drwxr-xr-x 2 zuosy zuosy 4096 7月 23 23:08 图片
drwxr-xr-x 2 zuosy zuosy 4096 7月 24 06:13 文档
drwxr-xr-x 2 zuosy zuosy 4096 7月 25 20:25 下载
drwxr-xr-x 3 zuosy zuosy 4096 7月 24 23:03 音乐
drwxr-xr-x 2 zuosy zuosy 4096 7月 25 23:34 桌面
ls -l
命令在很多系统中,都有它的快捷键:ll
。现在看ll
的输出结果可能大多数人都十分困惑,不要怕,等我学会了,写成笔记,大家就全会了。
![]()
当我们学会了查看当前工作目录命令pwd
以及查看目录下的文件命令ls
之后嘞。我们可能想看一下当前目录下的某个文件夹中的内容有没有大姐姐什么的。那你就需要使用到一个切换目录的命令:cd
不是游戏里面技能冷却的那个CD(cool down time),而是change directory,换句话说这个命令切换了你的工作目录(你在哪儿,那儿就是你的working directory
比如说我想知道电脑里面有什么好听的音乐啊,我就用cd <dir_name>
进行切换目录。看到了我电脑里仅存的两首歌,仿佛都露出了自己的年龄。。。
zuosy@honor:~$ ls
book examples.desktop javascript picture 公共的 视频 文档 音乐
build extract MyHero.png workspace 模板 图片 下载 桌面
zuosy@honor:~$ cd 音乐
zuosy@honor:~/音乐$ ls
CloudMusic 把悲伤留给自己.mp3 刘若英后来.flac
相对路径 & 绝对路径
可能有很多初学者看到这里会有很多的疑惑,比如说用pwd
命令显示出的当前目录看起来为什么像是某个神秘链接呢?其实那并不是什么神秘链接,它实际上是目录的完整路径,专有名词叫绝对路径。
在Windows系统中,它是存在多个逻辑分区的,比如说C盘、D盘、E盘等等。Windows系统中的绝对路径是以文件存储的逻辑分区开始一步一步索引的。比如说D:\\高数学习资料\\拉格朗日中值定理\\苍老师\\××××××××.avi
这就是Windows系统中的绝对路径。
然而啊,我们Linux系统中没有那么多的逻辑分区,它只存在一个名为根
的目录,是Linux文件系统的“本源”
当你用pwd
命令查看当前位置:/home/zuosy
,这表明你在根目录下的home文件夹下面的zuosy文件夹中,绝对路径的第一个字符都是根目录/
。
![](https://img.haomeiwen.com/i12499787/3a9bb79ddc2a3c42.png)
比如图中的
me
文件夹的绝对路径为:/home/me
。
学过物理的学霸们都知道,相对静止与绝对运动。既然有绝对路径,那就一定存在相对路径喽。你猜对了,确实有相对路径这种表示。
不过在学习相对路径之前,需要明白以下三点,分别是:.
和..
,没错就是这三点。
你在所有的目录中,使用ls -a
(list all)命令都会看到这两个文件,我还可以很不负责任的告诉你他们其实是两个目录。
-
.
(一个点)代表这你当前的目录。 -
..
(两个点)代表你的父目录,即你当前目录所在的目录。
比如当前,我现在在家目录下:
zuosy@honor:~$ pwd
/home/zuosy
我想要推到我的父目录(home)中;我可以使用绝对路径切换cd /home
:
zuosy@honor:~$ pwd
/home/zuosy
zuosy@honor:~$ cd /home/
zuosy@honor:/home$ pwd
/home
同样,我也可以使用相对路径进行切换cd ..
:
zuosy@honor:~$ pwd
/home/zuosy
zuosy@honor:~$ cd ..
zuosy@honor:/home$ pwd
/home
再举一个例子:
我先切换到usr目录下cd /usr
;
然后查看一下该目录下有哪些文件(和目录)ls
;
又然后我随机切换到一个目录下cd lib
;
又又然后我想要去usr目录下的bin目录,我可以cd ../bin/
;
最后我就顺利地到达了我想要去的地方
zuosy@honor:~$ cd /usr/
zuosy@honor:/usr$ ls
bin games include lib local locale sbin share src
zuosy@honor:/usr$ cd lib/ <-----这里的'/'有没有都无所谓
zuosy@honor:/usr/lib$ pwd
/usr/lib
zuosy@honor:/usr/lib$ cd ../bin/
zuosy@honor:/usr/bin$ pwd
/usr/bin
补充
我们使用ls -a
命令时,可能会看到许多以'.'开头的文件(夹)。这代表这它是一个隐藏文件(夹)。还有Linux中没文件扩展名(后缀名);使用扩展名只是为了方便用户区分他们。如:.cpp
、.conf
、.txt
、你一下就能分辨出他们是什么文件。.avi
小结
那啥 | 还有那啥 |
---|---|
pwd | print working directory |
cd | change directory |
ls | list |
- 相对路径
- 绝对路径
网友评论