Linux经常使用命令(3)--文件管理(查看文件大小权限信息、修改文件所属用户和操做权限、压缩解压文件)

1、查看文件大小、文件夹子目录
 
一、查看文件系统磁盘大小、挂载点
  • df :      能够查看一级文件夹大小(默认单位为:k)、使用比例、档案系统及其挂入点(但对文件却无能为力)。
  • df -T : 显示分区的文件系统(不带单位,默认为k;结果中包含分区文件类型Type)
  • df -h : 显示文件系统的可用空间及使用情形(采用用户易读的方式)

概念解析:挂载点   Linux是树型目录结构,Linux只有一个根目录'/',其他各个目录都是基于这个根目录发散,就是树形结构。Linux分区是将某个分区挂到一个对应的目录上。例如/home对应一块分区,home目录就是这块分区的挂载点;/boot对应一块分区,boot目录就是这块分区的挂载点;/usr对应一块分区,usr目录就是这块分区的挂载点。你能够形象的理解:一棵大树(根目录/)有不少树枝(目录,挂载点),每一个树枝上都挂着一个箱子(分区,存储空间)。

  虽然硬盘分区表中最多能存储四个分区,但咱们实际使用时通常只分为两个分区,一个是主分区(Primary Partion)一个是扩展分区(extended partition)两种,主分区能够立刻被使用但不能再分区,扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩充分区再分下去的是什么呢?它就是逻辑分区(Logical Partion),何况逻辑分区没有数量上限制。 html

  Linux不管有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且惟一的文件结构。每一个分区都是用来组成整个文件系统的一部分,由于它采用了一种叫“挂载点”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下得到。linux

  Linux的分区是不一样于其它操做系统的分区,它的分区格式经常使用的有Ext3和Swap两种,Ext3用于存放系统文件,Swap则做为交换分区(至关于windows中的虚拟内存文件)。算法

        推荐阅读: Linux系统分区及挂载点概念解析windows

概念解析:tmpfs
  tmpfs是一种虚拟内存文件系统,而不是块设备。是基于内存的文件系统,建立时不须要使用mkfs等初始化。它最大的特色就是它的存储空间在VM(virtual memory虚拟内存),VM 是由linux内核里面的vm子系统管理的。
  linux下面VM的大小由RM(Real Memory真实内存)和swap组成,RM的大小就是物理内存的大小,而Swap的大小是由本身决定的。Swap是经过硬盘虚拟出来的内存空间,所以它的读写速度相对 RM 要慢许多,当一个进程申请必定数量的内存时,如内核的 vm 子系统发现没有足够的 RM 时,就会把 RM 里面的一些不经常使用的数据交换到Swap里面,若是须要从新使用这些数据再把它们从Swap交换到 RM 里面。若是有足够大的物理内存,能够不划分Swap分区。

        推荐阅读: tmpfs介绍及使用网络

 
二、查看文件(文件夹)大小
  • du :能够查看文件及文件夹的大小。
  • du -sh 文件夹路径 : 查看当前目录下各个文件及目录占用空间大小
  • du -h --max-depth=1 文件夹路径 : max-depth指定深刻子目录的

 
三、查看文件夹包含的内容(子目录)
  • ls 文件夹路径  :   查看文件夹下的子目录(结果中不包含隐藏的文件)
  • ls -a 文件夹路径 :  查看文件夹下的子目录,结果中包含隐藏的文件(-a)
  • ls -l  文件夹路径  : (此命令可简写为:ll) 查看文件的详细信息,包括修改权限、所属用户、字节大小、更新时间等

 
2、chmod 命令:修改文件/文件夹权限
  chmod命令是很是重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
  该命令有两种用法。一种是包含字母和操做符表达式的文字设定法;另外一种是包含数字的数字设定法。
  
  一、文字设定法
chmod [who] [+ | - | =] [mode] 文件名称/文件夹名称
注:chmod命令可加入其它额外的参数,如:chmod -R ,将文件夹的子目录的权限也一块儿修改

  命令中各选项的含义为:工具

  (1)操做对象who但是下述字母中的任一个或者它们的组合:
  •   u 表示“用户(user)”,即文件或目录的全部者。
  •   g 表示“同组(group)用户”,即与文件属主有相同组ID的全部用户。
  •   o 表示“其余(others)用户”。
  •   a 表示“全部(all)用户”。它是系统默认值。
  (2)操做符号能够是:
  •   + 添加某个权限。
  •   - 取消某个权限。
  •   = 赋予给定权限并取消其余全部权限(若是有的话)。
   (3)设置mode所表示的权限可用下述字母的任意组合:
  •   r 可读。
  •   w 可写。
  •   x 可执行。x只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
  
  二、数字设定法
  咱们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,而后将其相加。因此数字属性的格式应为3个从0到7的八进制数,其顺序分别表明用户(u)、用户组(g)、其它用户(o)的所拥有的操做权限。
  
 
 
3、修改所属用户和用户组
  一、chown命令:用来修改文件或文件夹的所属用户和用户组。
chown  所属用户:所属用户组  -R  文件名

  如下列举了三个chown命令的修改例子:spa

  • chown  sinosoft   ./test/                  修改test文件夹的所属用户为:sinosoft
  • chown  sinosoft:sinosoft  ./test/     修改test文件夹的所属用户为:sinosoft,所属用户组为:sinosoft
  • chown  :sinosoft   ./test/                 修改test文件夹的所属用户组为:sinosoft
  二、chgrp命令:修改所属用户组
  使用chgrp命令能够修改文件或目录所属的组:
chgrp  用户组名称  目录或文件名
 
 
4、文件压缩  与  文件解压缩
  打包,即文件压缩,是指将一大堆文件或目录什么的变成一个总的文件;
  压缩,则是将一个大的文件经过一些压缩算法变成一个小文件。
 
一、tar 命令
  tar 能够为文件和目录建立档案。利用tar,用户能够为某一特定文件建立档案(备份文件),也能够在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上建立档案,如今,用户能够在任何设备上建立档案,如软盘。利用tar命令,能够把一大堆的文件和目录所有打包成一个文件,这对于备份文件或将 几个文件组合成为一个文件以便于网络传输是很是有用的。Linux上的tar是GNU版本的。
1)操做".tar"文件:
  打包 :   tar  -cvf   新文件名称.tar  源文件1  源文件2  源文件3
  解压 :  tar  -xvf    源文件名称.tar    

2)操做".tar.gz"文件
  打包 :   tar  -cvf   新文件名称.tar  源文件1  源文件2  源文件3
  解压 :  tar  -xvf    源文件名称.tar  

  

tar命令语法:

tar [主选项+辅选项] 文件或者目录 主选项:   c 建立新的档案文件。   r 把要存档的文件追加到档案文件的未尾。   t 列出档案文件的内容,查看已经备份了哪些文件。   u 更新文件。就是说,用新增的文件取代原备份文件,若是在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。   x 从档案文件中释放文件。 辅助选项:   b 该选项是为磁带机设定的。其后跟一数字,用来讲明区块的大小,系统预设值为20(20*512 bytes)。   f 使用档案文件或设备,这个选项一般是必选的。   k 保存已经存在的文件。例如咱们把某个文件还原,在还原的过程当中,遇到相同的文件,不会进行覆盖。   m 在还原文件时,把全部文件的修改时间设定为如今。   M 建立多卷的档案文件,以便在几个磁盘中存放。   v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。   w 每一步都要求确认。   z 用gzip来压缩/解压缩文件,加上该选项后能够将档案文件进行压缩,但还原时也必定要使用该选项进行解压缩。
例子: # tar
-cf all.tar *.jpg   这条命令是将全部.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。   # tar -rf all.tar *.gif   这条命令是将全部.gif的文件增长到all.tar的包里面去。-r是表示增长文件的意思。   # tar -uf all.tar logo.gif   这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。   # tar -tf all.tar   这条命令是列出all.tar包中全部文件,-t是列出文件的意思   # tar -xf all.tar   这条命令是解出all.tar包中全部文件,-x是解开的意思 以上就是tar的最基本的用法。
为了方便用户在打包解包的同时能够压缩或解压文件,tar提供了一种特殊的功能。这就是tar能够在打包或解包的同时调用其它的压缩程序,好比调用gzip、bzip2等。
1) tar调用gzip   gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip相对的解压程序是gunzip。tar中使用-z这个参数来调用gzip。下面来举例说明一下:   # tar -czf all.tar.gz *.jpg //将全部.jpg的文件打成一个tar包,而且将其用gzip压缩,生成一个gzip压缩过的包   # tar -xzf all.tar.gz //这条命令是将上面产生的包解开。 对于.gz结尾的文件,gunzip解压命令以下:   gzip -d all.gz   gunzip all.gz 2) tar调用bzip2   bzip2是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。与bzip2相对的解压程序是bunzip2。tar中使用-j这个参数来调用bzip2。下面来举例说明一下:   # tar -cjf all.tar.bz2 *.jpg //将全部.jpg的文件打成一个tar包,而且将其用bzip2压缩,生成一个bzip2压缩包   # tar -xjf all.tar.bz2 //这条命令是将上面产生的包解开。 对于.bz2结尾的文件 ,bunzip2解压命令以下:   bzip2 -d all.bz2   bunzip2 all.bz2   3)tar调用compress   compress也是一个压缩程序,可是好象使用compress的人不如gzip和bzip2的人多。.Z结尾的文件就是compress压缩的结果。与 compress相对的解压程序是uncompress。tar中使用-Z这个参数来调用gzip。下面来举例说明一下:   # tar -cZf all.tar.Z *.jpg //将全部.jpg的文件打成一个tar包,并将其用compress压缩,生成一个compress压缩包   # tar -xZf all.tar.Z //这条命令是将上面产生的包解开 对于.Z结尾的文件,uncompress解压命令以下:  uncompress all.Z

 

二、zip命令
  对于Window下的常见压缩文件.zip,Linux也有相应的方法来解压它们:
  linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。
   (1)安装zip命令
安装zip/unzip服务
$ sudo yum install zip unzip

  (2)文件打包操作系统

# zip  all.zip  *.jpg    //将全部.jpg的文件压缩成一个zip包
# zip -r all.zip  ./*    //将当前目录下的全部文件和文件夹所有压缩成all.zip文件,-r表示递归压缩子目录下全部文件

  (3)解压文件.net

# unzip  all.zip                      //把all.zip文件解压到当前目录下
# unzip -o -d  /home/sunny  all.zip    //把all.zip文件解压到 /home/sunny/
                                       // -o:不提示的状况下覆盖文件;
                                       // -d:指明将文件解压缩到/home/sunny目录下;

 

三、jar命令
  JAR包是Java中所特有一种压缩文档,其实你们就能够把它理解为.zip包。固然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成。
  JAR包是由JDK安装目录\bin\jar.exe命令生成的,当咱们安装好JDK,设置好path路径,就能够正常使用jar.exe命令,它会用lib\tool.jar工具包中的类。
 
  (1)建立打包文件,并显示打包过程
$ jar -cvf 新文件名称.jar  源文件或源文件夹

  (2)显示jar包3d

$ jar -tvf 文件名称.jar

  (3)解压jar包

$ jar -xvf 文件名称.jar 
相关文章
相关标签/搜索