Linux脱坑之路(3)-Linux文件系统

3.Linux文件系统

  Linux--一切皆是文件, 文件系统结构--树形结构, linux无论怎么分区所有的文件系统是一棵树,分区可以保证存储的隔离性。swap不属于分区,它属于一种类型,而不是一个挂载点。

*查看分区:

  df -h

3.1 Linux通用目录

1./home/用户名;/root:

  存放用户的个人数据,普通用户不能访问另外的用户的家目录的文件。

  ~代表进入用户的家目录

2. /bin,/usr/bin,/usr/local/bin:

  用户可执行文件目录

  bin=binary(二进制)二进制文件代表可执行文件

  bin目录下的这些可执行文件都是让你使用操作系统的

3./sbin,/usr/sbin,/usr/local/sbin:

  系统可执行文件(管理员)创建用户,添加分区。

4./etc:

  存放配置信息,密码,环境变量

5./tmp:

  临时文件的文件夹,可以在该文件夹下做任何操作,但是不要删除文件夹本身

如果你发现了图形界面起不开了,有可能是/tmp本身被删除了,之后系统不会自动生成一个tmp所以,图形界面启动会产生大量的临时文件,所以不能删。

6./boot:

  系统启动文件目录,单独分区,不能写满,否则无法开机。

7. /var,/srv:

  日志,邮件等文件

8./proc,/sys:

  存放内存中的数据,系统的状态数据

9./lib,/usr/lib,/usr/local/lib

  驱动数据

3.2文件与目录命名与创建

3.2.1文件与目录的命名规则

*文件名最长不得超过255个字符。

*在linux中没有扩展名,最大的作用就是识别,扩展名其实就是属于文件名中。*所有的字符都可以做文件名除了/字符。

*所有的文件名是区分大小写的

*目录也是文件,和文件一样

3.2.2文件与目录的创建

*创建文件:

  touch 文件名

  touch 还有一个功能就是更新文件时间戳,文件的时间介绍见3.3.2

*创建文件夹:

  mkdir 文件名

3.3文件与目录管理

3.3.1删除文件与目录

*删除文件:

  rm 文件名

*删除目录:

  rm -r目录名

可以添加-f选项,代表强制删除,包括当前文件正在执行。

3.3.2查看文件

*获取文件类型:

  file 文件名

*查看文件的详细信息:

  stat 文件名//查看文件的三个时间

  最后一次访问的时间

  最后一次修改的时间

  最后一次状态发生改变的时间

  当系统时间本身是错误的,但是我们之后修改对了,但是文件的时间戳却没有改变,所以我们必须要touch一下文件。

*查看当前路径下文件信息:

  ls (绝对路径)

*以列表的方式显示当前路径文件的详细的信息

  ls –l(ll)(绝对路径)

*查看当前路径的文件包括隐藏文件

  ls –a (绝对路径)

*当前目录和上级目录在文件中的表示

.代表当前目录 ..代表上一级目录

*详细的显示文件的大小(human):

  ls -h(绝对路径)

*仅显示当前目录的信息

  ls -d(绝对路径)

*递归显示信息

  ls -R(绝对路径)

3.3.3复制文件

*复制文件或目录:

  cp [源路径/源文件名] [绝对路径/目标文件名]

  -r  复制目录

  -p  连带文件属性一起复制  // 包括创建的时间,保留权限

  -d    //链接文件则复制链接属性

  -a  all //上述所有的选项功能都包括

  当多个文件复制到同一个地方的时候,目标只可以是文件夹

3.3.4 剪切文件

*剪切文件命令:

  mv 源文件或者目录 目标目录

  剪切命令可以移动文件,可以改名。

  剪切命令和复制命令用法是一样的。

  不管是移动还是改名都不会修改文件的时间和权限

  不需要加参数

3.4硬链接与软链接

3.4.1硬链接

  *硬链接必须要删除所有的链接文件加上源文件才是真正意义上的删除。

  *硬连接必须在同一个分区中才可以使用硬链接。

  *源文件和目的文件的地址都是可以使用绝对路径和相对路径。

  *硬连接只可以链接文件。

*硬链接命令:

ln 源文件 目的文件

3.4.2软链接

  *软链接类似于WIN下的快捷方式

  *软链接的格式:

lrwxrwxrwx 1 root root      23 Aug 17 15:42 vtrgb -> /etc/alternatives/vtrgb

l就是代表着这个文件是软链接。

  *软链接既可以链接文件又可以链接目录。

  *源文件和目的文件的地址都是可以使用绝对路径和相对路径。

*软链接命令:

  ln –s 源文件/目录 目的文件/目录

3.5压缩文件管理

3.5.1 Linux常用的压缩格式

  *zip和gz是Linux自带的压缩格式,但是可以在WINDOWS下使用。

  *bz2不能够在WIN上使用。

  *tar.gz 和tar.bz2//结合了打包的技术的压缩。

  *rar文件格式是windows自带的压缩格式,在Linux上不能使用。

3.5.2 zip文件压缩与解压缩

*zip压缩文件:

  zip 压缩文件名 源文件

  -r 压缩目录

*zip解压缩文件:

  unzip 压缩文件 -d 文件目录//将文件解压缩到当前路径文件目录中,不可以加绝对路径。

3.5.3 gzip文件压缩与解压缩

  gzip压缩和解压可以加绝对路径

*gzip文件压缩:

  gzip 源文件//压缩以后文件会消失

  gzip只可以压缩文件不可以压缩目录

*gzip递归压缩目录下的文件:

  gzip -r 目录//将目录下的所有文件都压缩成以它们本身命名的文件,有几个文件就生成几个压缩文件,并且删除源文件。

*gzip文件解压:

  gunzip 文件名(gzip -d 文件名)

  但是解压后自动删除原来的压缩文件。

3.5.4 bz2文件压缩与解压

  bz2全名bzip2 压缩时可以加绝对路径,默认不保留绝对路径

*bz2文件压缩:

  bzip2 源文件//压缩为.bz2格式,不保留源文件

  bzip2 –k 源文件//压缩之后保留源文件

  bzip2命令不能够压缩目录

*bz2文件解压:

  bzip2 –d 压缩文件//解压缩,不保留原来压缩文件

  bzip2 -d -k 压缩文件名//解压缩并保留原来压缩文件

  bunzip2 –k//解压缩并保留原来的压缩文件

3.5.5 tar打包技术

  因为gz和bz2是不可以压缩目录,只可以压缩文件的,所以我们用tar将多个文件打包成一个文件。

*tar打包:

  tar  打包文件名 源文件(绝对路径)

参数:

  -c:打包,必须要加上的

  -v:显示打包的过程,可以不加

  -f:指定打包后的文件名,必须加

  tar –cvf 文件名

*tar解打包:

  tar –xvf 打包文件名(绝对路径)

  -x:解打包

  -v:显示打包的过程,可以不加

  -f:指定打包后的文件名,必须加

  解打包将之前打包的目录原封不动的解压,并且不改变目录名

3.5.6 tar.gz和tar.bz2使用

*tar.gz格式

  tar.gz格式是先打包为tar再压缩成gz格式。

*tar.gz压缩:

  tar –zcvf 压缩包名tar.gz 源文件

*tar.gz解压:

  tar –zxvf 压缩包名tar.gz

*tar.bz2格式

  tar.bz2格式是先打包为tar再压缩成bz2格式。

*tar.bz2压缩:

  tar –jcvf 压缩包名tar.gz 源文件

*tar.bz2解压:

  tar –jxvf 压缩包名.tar.gz

3.6 Linux文件搜索

3.6.1基于后台数据库搜索

*locate命令格式

  locate 文件名

在后台数据库中按照文件名进行搜索,搜索速度快。但是不是文件匹配,会搜索出与名字相关的所有内容。

*locate命令所搜索的后台数据库:

  /var/lib/mlocate/mlocate.db

*更新数据库:

  updatedb

*搜索配置文件:

使用locate,需要查看 /etc/updated.conf的配置文件

PRUNE_BIND_MOUNTS="yes"

# PRUNENAMES=".git .bzr .hg .svn"

PRUNEPATHS="/tmp /var/spool /media /home/.ecryptfs /var/lib/schroot"

PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre tmpfs usbfs udf fuse.glusterfs fuse.sshfs curlftpfs ecryptfs fusesmb devtmpfs"

PRUNE_BIND_MOUNTS :是否开启搜索限制

# PRUNENAMES:搜索时不搜索文件的类型

PRUNEPATHS=搜索时,不搜索文件的路径

PRUNEFS=搜索时,不搜索文件的系统

3.6.2 find文件搜索命令

  直接从路径下查找,时间比较长,耗费资源,精确匹配。

*find 文件搜索命令:

  find [路径] [选项] 文件名

  find是在系统当中搜索符合条件的文件名(完全匹配)

*find选项:

  -name//根据文件名搜索

  –iname//不区分大小写

  –user//按照所有者搜索

  –nouser//查找没有所有者的文件

*find高级使用:

*查找 10天前修改的文件

  find /var/log –mtime +10

  -10   10天内修改的文件

   10   10天当天修改的文件

  +10  10天前修改的文件

*查找文件大小是25KB的文件

  find . –size 25k

  -25k   小于25KB的文件

   25k    等于25KB的文件

  +25K   大于25KB的文件

  k是小写,M是大写

*查找i节点是xxxxx的文件:

  find . –inum xxxxx

*查找/etc/目录下,大于20KB并且小于50KB的文件:

  find /etc –size +20k –a –size -50k

  -a and 逻辑与,两个条件都满足

  -o or 逻辑或,两个条件满足一个即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值