文件层级和文件管理

FHS(Filestystem Hierarchy Standard) 文件系统层级

FHS定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。因为Linux的开发人员实在太多了,如果每个人都使用自己的目录配置方法,那么将可能会带来很多管理问题。你能想象,你进入一个企业之后,所接触到的Linux目录配置方法竟然跟你以前学的完全不同吗?很难想象。所以,后来就有所谓的文件系统层次标准(Filesystem Hierarchy Standard,FHS)出台。

第二层则是针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。

文件系统在这里插入图片描述

文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。

1.文件

第一层

/ 所有数据文件

第二层

bin(binary)命令文件

sbin 只有管理员才能执行的命令

lib 32位数据的库文件

lib64 64位数据的库文件

usr 系统核心资源文件

root (管理员)root用户家目录

home 所有普通用户的主路径

boot 系统加载引导相关所有文件

dev 设备目录文件 主:有设备号(标记设备类型) 次:没有设备号(时间前的数字)

etc 系统中所有的配置文件(软件初始化参数文件)

opt 自定义软件的安装路径

proc 系统内核相关的进程

sys 硬件驱动程序

run 应用程序文件的进程

srv 服务程序文件的路径

tmp 临时目录

var 动态可变化的数据文件路径

lrwxrwxrwx.   1 root root    7 Jun 21  2021 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Nov 19 13:49 boot
drwxr-xr-x.  20 root root 3200 Nov 23 18:07 dev
drwxr-xr-x. 145 root root 8192 Nov 23 18:07 etc
lrwxrwxrwx.   1 root root   10 Nov 23 18:50 file.lnk -> /root/file
drwxr-xr-x.   3 root root   20 Nov 19 12:24 home
lrwxrwxrwx.   1 root root    7 Jun 21  2021 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Jun 21  2021 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Jun 21  2021 media
drwxr-xr-x.   3 root root   18 Nov 19 12:13 mnt
drwxr-xr-x.   2 root root    6 Jun 21  2021 opt
dr-xr-xr-x. 306 root root    0 Nov 23 18:06 proc
dr-xr-x---.  16 root root 4096 Nov 25 10:54 root
drwxr-xr-x.  42 root root 1220 Nov 23 18:09 run
lrwxrwxrwx.   1 root root    8 Jun 21  2021 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Jun 21  2021 srv
dr-xr-xr-x.  13 root root    0 Nov 23 18:07 sys
drwxrwxrwt.  23 root root 4096 Nov 25 03:28 tmp
drwxr-xr-x.  13 root root  158 Nov 19 12:13 usr
drwxr-xr-x.  21 root root 4096 Nov 19 13:48 var

2.文件相关的操作命令

(1)同一路径下,不能有两个相同的文件名

(2)严格区分大小写

(3)文件命令不能以/字符命名

(4)文件命名字符不能超过255个

stat   列出一个文件的详细信息

Acces 访问时间      Modify修改时间     Change源数据改变时间    barth创建时间

创建文本文件的两种命令

(1)touch 创建文本文件

【当一个路径下不存在该文件,通过touch可以创建一个普通文本文件;当存在文件时通过touch可以更改时间信息】

stat FILENAME   文件详细属性信息
touch FILENAME...

touch   a b c

touch {1,2,3,4}

touch  {1..10}

例:

touch /root/a  b  c     创建/root/a、b、c三个文件
touch /root/{1..3}      创建/root/1、/root/2、/root/3三个文件

(2)mkdir DIRNAME

mkdir    d1 d2 d3
mkdir dd{1..3}
-p(parents)父目录:目录多级结构
-v   详细信息

例:

root@localhost ~]# mkdir -pv /root/{1..3}/abc
mkdir: created directory '/root/1'
mkdir: created directory '/root/1/abc'
mkdir: created directory '/root/2'
mkdir: created directory '/root/2/abc'
mkdir: created directory '/root/3'
mkdir: created directory '/root/3/abc'

tree 树状结构显示目录文件

[root@localhost ~]# tree /1
/1
└── 2
    └── 3
        └── 4
            └── 5

4 directories, 0 files

rm删除文件

-r 递归 -f(force)强制(工作环境不要用)

rm FILENAME删除文本文件

rm -r DIRNAME 删除目录文件

rm -rf 强制删除文件

*(通用匹配符)任意长度的任意字符

mv移动文件

mv 源文件名 目标路径(目录)

touch   /root/file
mv /root/file  /
mv /root/file  /newfile
(1)当/newfile不存在,将file移动到/目录并改名为newfile
(2)当/newfile存在,如果是目录文件,表示file移动到/newflile目录下
                  如果是文本文件,表示file移动到/目录改名为newfile

cp 复制文件

-r 递归

cp 源文件 目标路径

touch   /root/file
cp  /root/file   /
cp  /root/file   /newfile
(1)当/newfile不存在,将file移动到/目录并改名为newfile
(2)当/newfile存在,如果是目录文件,表示file复制到/目录改名为newfile
mkdir /root/file
cp -r  /root/test   /    复制目录文件

查看文本文件的6个命令

cat -n显示行号   tac反序显示文本
more 文件名     分屏显示文件内容,向下翻一页(空格,翻到最后一页自动退出)逐条显示(enter)向上翻一页(b)最后将内容输出到终端
less  分屏显示文件内容,打开文件内容,不会自动退出,退出(q)文件内容不会显示到终端
/关键字匹配   (/或?关键字+enter)n切换到下一个N切换到上一个
head 文件名   -n   查看前十行内容
head -n5文件名 ==head -5 文件名 
tail文件名   查看文件后十行
tail -n5文件名 ==tail -5 文件名 
wget下载文件
wget  网址.rpm
wget -O  将链接文件下载到对应路径进行改名
wget -p  将链接文件下载到对应路径
wget -c  实现断点续传
wget -r  下载目录文件

作业题:

1、#创建目录(尝试以下通过一条命令实现)

在/mnt下创建boot和sysroot目录  
在/mnt/boot下创建grub目录
在/mnt/sysroot下创建proc,sys,bin,sbin,lib,usr,var,etc,dev,home,root,tmp

    在/mnt/sysroot/usr下创建bin,sbin,lib

    在/mnt/sysroot/lib下创建modules

    在/mnt/sysroot/var下创建run,log,lock

    在/mnt/sysroot/etc下创建init.d 
    #mkdir -pv /mnt/{sysroot/{proc,sys,bin,sbin,lib/modules,usr/{bin,sbin,lib},var/{run,log,lock},etc/init.d,dev,home,root,tmp},boot/grub}

2.如何一次性在/test目录创建以abc表示的100个文件,例如abc1,abc2,abc3,…abc100

#mkdir  /test

#touch/test/abc{1..100}

3.复制/mnt/boot目录文件到/test并改名为/boot.bak。

#cp -r/mnt/boot  /test/book,bak或
#cp -r/mnt/boot  /test
#mv  /test/boot  /test/boot.bak

4.复制/test所有有9字符命名的文件到/pub下。

#mkdir/pub
#cp -r  /test/*9*  /pub

5.移动/test所有有1字符命名的文件到/pub目录下。

#mv /test/*1*    /pub

ot.bak。

#cp -r/mnt/boot  /test/book,bak或
#cp -r/mnt/boot  /test
#mv  /test/boot  /test/boot.bak

4.复制/test所有有9字符命名的文件到/pub下。

#mkdir/pub
#cp -r  /test/*9*  /pub

5.移动/test所有有1字符命名的文件到/pub目录下。

#mv /test/*1*    /pub
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值