Hello 各位小伙伴好久不见~
今天小编来填填Linux的坑
就跟大家聊聊Linux文件管理的那些事吧~
Part.1
Linux的目录结构
目录结构
在window里面,打开我的电脑,可以看到一系列系统自带的文件夹和本地磁盘。
通过文件名,我们可以大致知道每个文件夹用来存放什么文件。
至于磁盘,Window是以多根的方式组织文件的,例如 C:\ D:\ 等等。
但在Linux中,则是以单根的方式组织文件,根目录为: /
根目录中存放着许多系统自带的目录文件,通过ls可以进行查看:
这些目录都是干嘛的呢?
Linux系统的目录结构,可以整理如下:
//在Centos7之前,bin目录和sbin目录直接存放于根目录中,Centos7就移动到了usr目录中了,同样tmp目录也从usr移动到了var目录中去。
//但是在根目录中,我们依然可以看到bin目录和sbin目录,这是为了照顾习惯了之前版本的人,而创建的链接文件~
每个目录的用处总结如下:
例如我们看看/proc目录,该目录中的每一个数字(目录)都是一个进程:
Part.2
Linux的文件路径
文件路径
Linux的文件路径分为绝对路径和相对路径。
绝对路径从根目录开始查找,
相当路径从当前目录开始查找。
例如我们当前在/etc目录下,需要访问network-scripts目录,有两种方法:
绝对路径:cd /etc/sysconfig/network-scripts/
//pwd命令可查看当前所在路径
相对路径:cd sysconfig/network-scripts/
此外,~符号表示home,root账号的home为/root。
只输入cd,我们会回到~目录中去:
. 表示当前路径位置,.. 表示上一级路径位置:
通过以上讲解,大家明白文件路径是怎么一回事了吗?
那么思考一下:
/home/monster/file1与monster/file1是不是一定是同一个文件呢?
Part.3
Linux的文件类型
文件类型
Linux的文件类型如下所示:
我们可以通过ll命令进行查看,如下:
文件属性的第一个字符表示文件类型,如上图中的-和d。
细心的小伙伴会发现目录文件的大小都是相同的,而且都很小。
那是因为Linux下的目录不同于window中的文件夹,仅仅是个用于记录文件的名字和位置的文件而已,就像我们书本的目录,记录了所有文章的位置,但仅仅占用一页纸。
但是要注意的一点是,不要以为目录不存放文件就可以随便删除,删除目录后,目录下的所有文件也会随之被系统删掉。
file方法
除了ll方法,我们也可以通过file方法,单独查看文件的类型:
还记得/bin目录是我们最开始提到的链接文件吗?
Linux文件的文件类型并不像Windows一样,由文件的后缀名决定,如下:
//txt后缀和cfg后缀都是文本文件
这是因为Linux系统中文件是没有扩展名的,上面的扩展名只是为了方便给人看的。
stat方法
通过stat方法,我们也可以查看文件的属性,包括时间属性:
Linux中的文件一共有4种时间属性,分别如下:
Part.4
Linux的文件管理
文件管理
讲清楚Linux的文件之后,我们再看看怎么管理这些文件吧~
(1)touch 创建文件
通过合集{ }的方式创建多个文件:
注意:touch /home/file5 file6 不等于touch /home/file5 ,touch /home/file6 ,file6为当前目录下直接创建的
(2)mkdir 创建目录
mkdir -v 打印创建信息
mkdir -pv 当父路径不存在时,会一层层创建下去
(3)cp 复制
将anaconda-ks.cfg文件复制到dir1目录中去
复制并修改文件名
(4)mv 移动(剪切)
将file2.txt文件移动到dir1目录中去:
利用mv功能对文件改名:
(5)查看文件内容
cat 适合查看内容较短的文件
head 查看文件前十行
-number 查看文件前5行
tail 看文本后十行
less 分页显示,上下键可以进行翻页,q键退出。
相较于cat,适合查看长文件,因为cat会一次显示,不会翻页。
grep 针对文件内容进行过滤后显示
Part.5
结语
好啦,以上就是今天的内容了,大家都明白了吗?