Linux常⽤命令(3)--⽂件管理(查看⽂件⼤⼩权限信息、修改⽂件所属⽤户和
操作权限、压。。。
⼀、查看⽂件⼤⼩、⽂件夹⼦⽬录
1、查看⽂件系统磁盘⼤⼩、挂载点
df :可以查看⼀级⽂件夹⼤⼩(默认单位为:k)、使⽤⽐例、档案系统及其挂⼊点(但对⽂件却⽆能为⼒)。
df -T :显⽰分区的⽂件系统(不带单位,默认为k;结果中包含分区⽂件类型Type)
df -h :显⽰⽂件系统的可⽤空间及使⽤情形(采⽤⽤户易读的⽅式)
概念解析:挂载点
  Linux是树型⽬录结构,Linux只有⼀个根⽬录'/',其余各个⽬录都是基于这个根⽬录发散,就是树形结构。Linux分区是将某个分区挂到⼀个对应的⽬录上。例如/home对应⼀块分区,home⽬录就是这块分区的挂载点;/boot对应
  虽然硬盘分区表中最多能存储四个分区,但我们实际使⽤时⼀般只分为两个分区,⼀个是主分区(Primary Partion)⼀个是扩展分区(extended partition)两种,主分区可以马
上被使⽤但不能再分区,扩展分区必须再进⾏分区后才能使⽤,也就是说它必须还要进⾏⼆次分区。那么由扩充分区再分下去的是什么呢?它就是逻辑分区(Logical
Partion),况且逻辑分区没有数量上限制。
  Linux⽆论有⼏个分区,分给哪⼀⽬录使⽤,它归根结底就只有⼀个根⽬录,⼀个独⽴且唯⼀的⽂件结构。每个分区都是⽤来组成整个⽂件系统的⼀部分,因为它采⽤了⼀种
叫“挂载点”的处理⽅法,它的整个⽂件系统中包含了⼀整套的⽂件和⽬录,且将⼀个分区和⼀个⽬录联系起来。这时要载⼊的⼀个分区将使它的存储空间在⼀个⽬录下获得。
  Linux的分区是不同于其它操作系统的分区,它的分区格式常⽤的有Ext3和Swap两种,Ext3⽤于存放系统⽂件,Swap则作为交换分区(相当于windows中的虚拟内存⽂
件)。
推荐阅读:
概念解析:tmpfs
  tmpfs是⼀种虚拟内存⽂件系统,⽽不是块设备。是基于内存的⽂件系统,创建时不需要使⽤mkfs等初始化。它最⼤的特点就是它的存储空间在VM(virtual memory虚拟内存),VM 是由linux内核⾥⾯的vm⼦系统管理的。
  linux下⾯VM的⼤⼩由RM(Real Memory真实内存)和swap组成,RM的⼤⼩就是物理内存的⼤⼩,⽽Swap的⼤⼩是由⾃⼰决定的。Swap是通过硬盘虚拟出来的内存空间,因此它的读写速度相对 RM 要慢许多,当⼀个进程申请⼀推荐阅读:
2、查看⽂件(⽂件夹)⼤⼩
du :可以查看⽂件及⽂件夹的⼤⼩。
du -sh ⽂件夹路径:查看当前⽬录下各个⽂件及⽬录占⽤空间⼤⼩
du -h --max-depth=1 ⽂件夹路径: max-depth指定深⼊⼦⽬录的
3、查看⽂件夹包含的内容(⼦⽬录)
ls ⽂件夹路径  :  查看⽂件夹下的⼦⽬录(结果中不包含隐藏的⽂件)
ls -a ⽂件夹路径 :  查看⽂件夹下的⼦⽬录,结果中包含隐藏的⽂件(-a)
ls -l  ⽂件夹路径  : (此命令可简写为:ll)查看⽂件的详细信息,包括修改权限、所属⽤户、字节⼤⼩、更新时间等
⼆、chmod 命令:修改⽂件/⽂件夹权限
  chmod命令是⾮常重要的,⽤于改变⽂件或⽬录的访问权限。⽤户⽤它控制⽂件或⽬录的访问权限。
  该命令有两种⽤法。⼀种是包含字母和操作符表达式的⽂字设定法;另⼀种是包含数字的数字设定法。
  1、⽂字设定法
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 属性。
  2、数字设定法
  我们必须⾸先了解⽤数字表⽰的属性的含义:0表⽰没有权限,1表⽰可执⾏权限,2表⽰可写权限,4表⽰可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的
⼋进制数,其顺序分别代表⽤户(u)、⽤户组(g)、其它⽤户(o)的所拥有的操作权限。
三、修改所属⽤户和⽤户组
  1、chown命令:⽤来修改⽂件或⽂件夹的所属⽤户和⽤户组。
chown  所属⽤户:所属⽤户组  -R  ⽂件名
  以下列举了三个chown命令的修改例⼦:
chown  sinosoft  ./test/                  修改test⽂件夹的所属⽤户为:sinosoft
chown  sinosoft:sinosoft  ./test/    修改test⽂件夹的所属⽤户为:sinosoft,所属⽤户组为:sinosoft
chown  :sinosoft  ./test/                修改test⽂件夹的所属⽤户组为:sinosoft
  2、chgrp命令:修改所属⽤户组
  使⽤chgrp命令可以修改⽂件或⽬录所属的组:
chgrp  ⽤户组名称⽬录或⽂件名
四、⽂件压缩与⽂件解压缩
  打包,即⽂件压缩,是指将⼀⼤堆⽂件或⽬录什么的变成⼀个总的⽂件;
  压缩,则是将⼀个⼤的⽂件通过⼀些压缩算法变成⼀个⼩⽂件。
1、tar 命令
  tar 可以为⽂件和⽬录创建档案。利⽤tar,⽤户可以为某⼀特定⽂件创建档案(备份⽂件),也可以在档案中改变⽂件,或者向档案中加⼊新的⽂件。tar最初被⽤来在磁带上创
建档案,现在,⽤户可以在任何设备上创建档案,如软盘。利⽤tar命令,可以把⼀⼤堆的⽂件和⽬录全部打包成⼀个⽂件,这对于备份⽂件或将⼏个⽂件组合成为⼀个⽂件以便
于⽹络传输是⾮常有⽤的。Linux上的tar是GNU版本的。
1)操作".tar"⽂件:
  打包 :  tar  -cvf  新⽂件名称.tar  源⽂件1  源⽂件2  源⽂件3
  解压:  tar  -xvf    源⽂件名称.tar
2)操作"."⽂件
  打包 :  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   *.jpg    //将所有.jpg的⽂件打成⼀个tar包,并且将其⽤gzip压缩,⽣成⼀个gzip压缩过的包
  # tar -xzf               //这条命令是将上⾯产⽣的包解开。
对于.gz结尾的⽂件,gunzip解压命令如下:
  gzip -
 
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.Zlinux查看当前文件夹内容
2、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)解压⽂件
# unzip  all.zip                      //把all.zip⽂件解压到当前⽬录下
# unzip -o -d  /home/sunny  all.zip    //把all.zip⽂件解压到 /home/sunny/
// -o:不提⽰的情况下覆盖⽂件;
// -d:指明将⽂件解压缩到/home/sunny⽬录下;
3、jar命令
  JAR包是Java中所特有⼀种压缩⽂档,其实⼤家就可以把它理解为.zip包。当然也是有区别的,JAR包中有⼀个META-INF\MANIFEST.MF⽂件,当你成JAR包时,它会⾃动⽣成。
  JAR包是由JDK安装⽬录\命令⽣成的,当我们安装好JDK,设置好path路径,就可以正常使⽤命令,它会⽤lib\tool.jar⼯具包中的类。
  (1)创建打包⽂件,并显⽰打包过程
$ jar -cvf 新⽂件名称.jar  源⽂件或源⽂件夹
  (2)显⽰jar包
$ jar -tvf ⽂件名称.jar
  (3)解压jar包
$ jar -xvf ⽂件名称.jar
  推荐阅读:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。