前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux】聊聊Linux文件管理那些事

【Linux】聊聊Linux文件管理那些事

作者头像
一名白帽的成长史
发布2019-10-08 15:28:14
8580
发布2019-10-08 15:28:14
举报
文章被收录于专栏:一名白帽的成长史

Hello 各位小伙伴好久不见~

今天小编来填填Linux的坑

就跟大家聊聊Linux文件管理的那些事吧~

Part.1

Linux的目录结构

目录结构

在window里面,打开我的电脑,可以看到一系列系统自带的文件夹和本地磁盘。

通过文件名,我们可以大致知道每个文件夹用来存放什么文件。

至于磁盘,Window是以多根的方式组织文件的,例如 C:\ D:\ 等等。

但在Linux中,则是以单根的方式组织文件,根目录为: /

根目录中存放着许多系统自带的目录文件,通过ls可以进行查看:

这些目录都是干嘛的呢?

Linux系统的目录结构,可以整理如下:

//在Centos7之前,bin目录和sbin目录直接存放于根目录中,Centos7就移动到了usr目录中了,同样tmp目录也从usr移动到了var目录中去。

//但是在根目录中,我们依然可以看到bin目录和sbin目录,这是为了照顾习惯了之前版本的人,而创建的链接文件~

每个目录的用处总结如下:

  • bin 存放普通用户使用的命令,如/bin/ls
  • sbin 存放管理员使用的命令,如/sbin/service
  • dev 存放设备文件,如/dev/sda
  • root root用户的HOME
  • home 普通用户的目录,如/home/monster
  • proc 虚拟的文件系统,反映出来的是内核,进程信息或实时状态
  • lib/lib64 库文件Glibc
  • tmp 存放临时文件,包括进程产生的临时文件
  • var 存放数据库、日志、邮件等变化文件
  • usr 存放系统文件,相当于C:\windows
  • boot 存放的系统启动相关文件,例如kernel、grub(引导装载程序)
  • etc 配置文件,如网络 /etc/sysconfig/network

例如我们看看/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

结语

好啦,以上就是今天的内容了,大家都明白了吗?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一名白帽的成长史 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档