代码改变世界

【Linux从零开始】:2.文件与目录的管理和配置(2)相关操作命令

2012-04-01 21:08  ATP_  阅读(707)  评论(0编辑  收藏  举报

   温故知新:                                                                                               

  上次说的是文件与目录的管理和配置,了解了相关的权限和访问组别,这节主要记录下相关的操作命令吧,毕竟理论知识还是挺枯燥的,还是实用更有意思。

   相关命令的介绍:                                                                                      

  在介绍如何改变文件属性以及权限之前,得先学习一下如何在目录之间切换,以及对基本文本文件的创建和读取。只列举了一些比较常用的,较详细的就用man来查询下吧,或者谷歌度娘神马的。。。

   1.查看文件与目录: ls   

   常用的参数:

            -l  详细格式列举出所有文件和文件夹(不包括隐藏文件和. ..2个路径)

           -a 简单格式(只有文件或目录名)列举初所有(包括隐藏)文件(夹)

           -h 将文件大小以可读的K,M,G等可读的形式输出(默认是B)

            -i  列举出文件(夹)所在的inode编号

         -d 仅列出目录本身(一般就是那个”.”)

   2.  pwd:显示当前目录        

 

    cd . 代表此层目录

    cd ..代表上一层目录

    cd – 代表前一个工作目录

    cd ~当前用户的根目录,也就是包含文档,下载,视频,桌面的那个目录

    cd account 进入该用户的根目录。

  @大家注意在路径切换的时候要多用[Tab][Tab]键进行补全噢,很有帮助的

   3. mkdir  目录名: 新建空目      

      rmdir  目录名:删除空目录

    touch  文件名:新建文件

  @rmdir只能删除空目录噢,若要删除非空的目录就得用 rm -r了(下面提到)

     

   4.复制:cp  源文件 目标文件   

  常用的参数:

    -r 递归复制,也就是复制目录的意思

    -p 连通文件的属性一起复制过去,而非使用默认属性(备份的时候使用)

    -i 若目标文件存在,在覆盖之前询问

    -s 复制为快捷方式(symbolic link)

    -u 若目标文件比源文件旧则更新目标文件

  @将文件复制到当前目录:  cp 源文件 .  (最后的点不能丢噢)

  

   5.删除:  rm   

    -r 递归删除,删除目录时使用

    -i 在删除前询问是否确定

    -f 强制删除,忽略不存在的文件

  

   6.移动:  mv 源文件 目标文件   

    -f 强制移动,如果已经存在直接覆盖

    -i 如果目标文件存在,询问是否覆盖

    -u 若目标文件存在,当原文件比较新的时候才更新

  

   7.文件的压缩: gizp   

  常用参数:

    -c 将压缩的数据输出到屏幕上

    -# 压缩等级,-1最快,但是压缩比最差,-9最满,但是压缩比最好,一般-6

    -v 可以显示出源文件/压缩文件的压缩比等信息

    解压缩: gzip -d 文件名

  #另一种压缩方式:bzip2

  常用参数:

    -z 进行压缩

    -k 保留源文件

    解压缩: bzip2 -d 文件名

   8.打包命令: tar   

  由于上述的压缩命令只能单一的压缩文件,而不同于Windows里面对文件夹的压缩,所以如果要对一个文件夹进行压缩的话,首先必须打包。

  A.常用参数:

    -c:新建打包文件,可搭配 -v 来查看过程中被打包的文件名

    -t:查看到打包文件的内容

    -x:解打包或解压缩的功能

    -v:在压缩/解压缩的时候将文件名列举出来

    -C:解压到特定的目录

    -j:通过bzip2的支持进行压缩/解压缩,文件名最好为*.tar.bz2

-z:通过gzip的支持进行压缩/解压缩,文件名最好为*.tar.gz

-f:后面要接被处理的文件名

-P:保留备份数据的原本权限与属性,用于备份

-p:保留绝对路径,允许备份数据中含有根目录

B.一般综合使用的3种方式:

压缩: tar -jcv -f *.tar.bz2

查询: tar -jtv -f *..tar.bz2

解压缩:tar -jxv -f *.tar.bz2 -C clounmname

   9.其他常用命令   

A.标准输入输出的重定向:<输入方   >输出方
  cat命令 : cat filename表示读取文件,也就是从文件输出数据并输出到屏幕上
  cat从键盘读取数据,并且输出到屏幕
  cat > filename从键盘输入,并且输出到文件中(会无条件的覆盖已有的文件)  
  以 ctrl + d 来结束输入  
  防止覆盖已有的文件:
          启用该设置:set -o noclobber
          禁用该设置:set +o noclobber
  使用追加标准输出:可以向某个文件的末尾添加新的内容
          cat filename1 >> filename2  
  使数据消失,同时不改变文件的权限:
          将数据重定向至 /dev/null
          eg: cat /dev/null > filename 将该文件内容清空

B.程序的挂起:ctrl + z 阻止程序的运行
  移动至前台运行: fg 作业编号
  终止后台程序:
          kill命令的使用
          kill -9 终止所有可以终止的程序
          kill %1 终止相应作业编号的程序
          kill PID 终止相应PID的作业编号
          ps 查看作业的PID
          jobs 显示当前会话的作业状态

 

   改变文件属性与权限:                                              

主要会使用到的有3个命令:

    1. chgrp:改变文件所属用户组
    2. chown:改变用户的拥有者
    3. chmod:改变文件的权限

         A.改变用户组和拥有者的方法十分简单:命令  用户组/拥有者  文件名。当改变的为文件时加上-R参数即可。

     B.权限的改变有2种方式:数字型和符号型

         #数字型就是利用2进制的加法,举几个例子就简单明了了:

         -rwxrwxrwx:   chmod 777 文件名

         -r--r--r--:        chmod 444 文件名

         -r-xr--rwx:  chmod 547 文件名

        #符号型主要是利用+ - = 这3个运算来进行的

         eg: chmod u=rwx,g=rx,o=rx 文件名

         比较推荐数字型吧,使用方便简单。