前提:
a:博主是在云服务器上进行操作的
b:windows上普通文件在Linux中也叫作普通文件,但是windows上的文件夹,在Linux中叫作目录
c:文件 = 文件内容 + 文件属性(创建时间,修改时间,访问时间........等一大堆)
即:一个0kb大小的文本文档,其也是要占据大小的,因为文件内容为空,但是文件属性也要占据大小
d:路径分隔符在windows中是 \ ,在Linux中是 /
e:思维导图
01. who am i 指令
功能:查看当前用户是谁
解释:当前的用户是root
02. who 指令
功能:查看当前有哪些用户登录了我的机器
解释:博主当前只要一个root用户,所以只显示一个。
不止一个用户的效果:
03. pwd 指令
功能:查看当前我所处的工作目录
解释:当前所处/root这个目录中
04. clear 指令
功能:清屏
05. ls 指令
a:ls 指令
ls
命令的最基本形式,用于列出当前目录下的文件和目录。
解释:一行就列出了所有的文件 ,过多的话,行数变多即可
b:ls -1指令
解释:即在ls 的基础上,一行只展示一个
c:ls -l指令
功能:以长列表格式更加详细的显示每个文件或目录的详细信息
解释:更加详细的展示了每个文件或目录的详细。
d:ls -a指令
功能:列出目录下的所有文件,包括以 . 开头的隐含文件
解释:Linux中 以 . 开头的文件就是隐藏文件,其中的. 和 .. (红框中的)是每一个目录下都会有的 两个 隐藏文件。
e:ls - l - a 指令
功能:以长列表格式更加详细的显示每个文件或目录的详细信息(包括隐藏文件)
解释:在ls -l 的基础上 ,把隐藏文件的文件信息也详细的展示了出来
注意:
1:ls -l 也缩写成 ll
2:ls -l -a 等于 ls -a -l ,并且都能缩写成 ls -la 或 ll -al 或 ll -a
即:
06. cd 指令(change directory)
(change directory)
隐藏文件 . 和 .. 的解释:
-
( . ):
- ( . )代表当前目录。
- 当你使用
cd .
命令时,你实际上没有改变当前的工作目录,因为你仍然在当前目录中。 - 在列出文件和目录时(例如使用
ls
命令),默认情况下.
不会显示,因为它代表的是当前目录。
-
( .. ):
- ( .. ) 代表当前目录的父目录,也就是当前目录的上一个层级。
- 使用
cd ..
命令可以让你从当前目录移动到父目录。
a : cd . 指令
解释:cd. 点前和后没改变,正如解释中的 ( . )代表当前目录
b:cd .. 指令
解释:从从当前目录移动到了上一级的目录(父目录)
如图所示:
相当于windows中的:
一直cd .. 会发生什么?
解释:会发现一直往上级目录进行移动,最后到 /的时候,再怎么cd .. 都不会改变了。
07. 根目录
解释:/ 是Linux的根目录 ,它就是最开始的目录,/目录下的隐藏文件 . 和 .. 都是指向自己的,所以,我们在 / 下一直cd .. 也是还在 /目录下的
相当于windows中的:
a:cd /
解释:cd / 直接进到根目录中。
相当于windows的:(在路径框中输入此电脑即回到根目录)
08.家目录
a:cd ~
解释:因为是root,所以cd~进入的用户家目录是/root
09. cd -
解释:返回最近访问目
从/root 到 /root/dir ,所以cd - 会在这两个目录中来回访问
10. 路径
什么叫路径?
解释:由一系列通过分隔符(如Unix/Linux中的/
或Windows中的\
)连接的目录名组成。
如:
a:绝对路径
解释:从根目录( / )开始,去访问一个文件的路径,就叫作绝对路径
如图所示:
b:相对路径
解释:根据当前所处的文件作为参考点,去定位一个文件的路径,就叫作相对路径
图中就是根据root这个目录为参考点,定位dir
如图所示:
11. tree 指令
解释:以树状图的形式显示指定目录下的所有子目录和文件
dir1中有3个文件,分别是1 2 3,所以我们在dir1这个目录下tree,就得到了以上的树状图
注意:如果在/目录下 tree,文件太多停不下来。ctrl+c即可。
12. touch 指令
语法:touch [选项]... 文件...
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件
解释:在dir1目录中,ls -l发现没有文件,我们touch 1,touch 2,touch 3来创建了3个文件,此时在ls -l就有了3个文件。
13. mkdir 指令
解释:dir1中一开始只有我们touch 出来的1 2 3 的文件,现在我们在dir1 中 mkdir dir2,再创建了一个目录(蓝色的是目录),所以我们就有了1 2 3 和 dir2这个目录。
a:mkdir -p 指令
如果不仅在dir1中创建一个dir2,还要在dir2中创建一个dir3,dir3中还要创建一个dir4,此时就需要 -p指令
这样的话:我们不需要cd进入dir2,再mkdir dir3,然后再进入dir3,再mkdir dir4
解释:
此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
14. rmdir指令(remove)
解释:dir1中的dir2不是一个空目录,所以我们rmdir dir2的时候,失败了,并且告诉我们,文件不为空。
解释:dir4是一个空目录,可以删除,返回dir1中,tree也能看到dir4被删除了。
15:rm 指令
a:rm删除普通文件
解释:1是一个文件,直接rm 1即可
rm -f +目录
如果询问你是否删除,则rm -f 1即可。(-f代表强制,不再询问)
b:rm 删除目录
错误写法:rm +目录
解释:rm删除目录,不能直接rm + 目录,错误原因是is a directory(是一个目录不能直接rm)
正确写法:rm -r +目录
解释:-r代表递归删除,因为如前文的多叉树一样,应该递归到最下面,逐级删除并且返回
rm -rf +目录
此时若询问你是否删除,你得输入y,也可以 rm -rf +目录,即不需要回答的强制递归删除,一般root用户的root下的目录被删除会询问,而普通用户哪里删除都不会循环
c:rm -i
在系统不询问的时候,rm -i 会让其在删除的时候进行询问
解释:删除1.txt这个文件,系统是不会询问的,但是rm -i 后系统会问了,输入y才能删除
d:rm - rf *
解释:删除指定目录所包含的所有文件和目录。默认不删除隐藏文件
16. 一些写法
ls dir1 = ls dir1/ = ls ./dir1/
解释:因为.代表当前目录,不需要.也是在当前目录
注意:!
切记不要 rm -rf/,即强制从根目录开始递归删除全部东西,那就从删库,到跑路了。