N25-第二周作业

N25-第二周作业

博客作业


1、linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示

  • linux上处理目录的常用命令:

  • ls :列出目录

  • cd :切换目录

  • pwd:显示当前工作路径

  • mkdir:创建目录

  • rm:删除文件或目录

  • rmdir:删除空文件

  • mv:剪切、重命名文件、目录

  • cp:复制文件或目录

  • touch:创建空文件

  • ls:= list:查看指定目录下文件和目录; 

    • 语法: 
      ls [选项] [目录名]

    • 选项与参数: 

      • -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件 

      • -A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。 

      • -c 配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)配合 -l:显示 ctime 但根据名称排序否则:根据 ctime 排序 

      • -C 每栏由上至下列出项目 

      • –color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是'never'、'always'或'auto'其中之一

      • -d, –directory 将目录象文件一样显示,而不是显示其下的文件。

      • -D, –dired 产生适合 Emacs 的 dired 模式使用的结果

      • -f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效

      • -g 类似 -l,但不列出所有者

      • -G, –no-group 不列出任何有关组的信息

      • -h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)

      • –si 类似 -h,但文件大小取 1000 的次方而不是 1024

      • -H, –dereference-command-line 使用命令列中的符号链接指示的真正目的地

      • –indicator-style=方式 指定在每个项目名称后加上指示符号<方式>:none (默认),classify (-F),file-type (-p)

      • -i, –inode 印出每个文件的 inode 号

      • -I, –ignore=样式 不印出任何符合 shell 万用字符<样式>的项目

      • -k 即 –block-size=1K,以 k 字节的形式表示文件的大小。

      • -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。ls -l = ll

      • -L, –dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息

      • -m 所有项目以逗号分隔,并填满整行行宽

      • -o 类似 -l,显示文件的除组信息外的详细信息。

      • -r, –reverse 依相反次序排列,按照时间顺序排列,从旧到新;

      • -R, –recursive 同时列出所有子目录层

      • -s, –size 以块大小为单位列出所有文件的大小

      • -S 根据文件大小排序

      • –sort=WORD 以下是可选用的 WORD 和它们代表的相应选项: 
        extension -X status -c 
        none -U time -t 
        size -S atime -u 
        time -t access -u 
        version -v use -u

      • -t 以文件修改时间排序

      • -u 配合 -lt:显示访问时间而且依访问时间排序 
        配合 -l:显示访问时间但根据名称排序 
        否则:根据访问时间排序

      • -U 不进行排序;依文件系统原有的次序列出项目

      • -v 根据版本进行排序

      • -w, –width=COLS 自行指定屏幕宽度而不使用目前的数值

      • -x 逐行列出项目而不是逐栏列出

      • -X 根据扩展名排序

      • -1 每行只列出一个文件

      • –help 显示此帮助信息并离开

      • –version 显示版本信息并离开

  • 例:

    [root@zhao-66 ~]# ls
    anaconda-ks.cfg  install.log  shell  test
    [root@zhao-66 ~]# ll    #ls -l = ll
    总用量 76
    -rw-------. 1 root root  1106 5月   4 2016 anaconda-ks.cfg
    -rw-r--r--. 1 root root 22632 5月   4 2016 install.log
    drwxr-xr-x  2 root root  4096 7月  11 13:53 shell
    drwxr-xr-x  6 root root  4096 12月 13 14:21 test
    [root@zhao-66 ~]# ll -a    
    #显示隐藏文件总用量 152
    dr-xr-x---.  7 root root  4096 9月  22 12:06 .
    dr-xr-xr-x. 22 root root  4096 12月 13 14:17 ..
    -rw-------.  1 root root  1106 5月   4 2016 anaconda-ks.cfg
    -rw-------.  1 root root  9124 10月  1 21:25 .bash_history
    -rw-r--r--.  1 root root    18 5月  20 2009 .bash_logout
    -rw-r--r--   1 root root   287 7月   5 15:50 .bash_profile
    -rw-r--r--.  1 root root   176 9月  23 2004 .bashrc
    -rw-r--r--.  1 root root 22632 5月   4 2016 install.log
    drwxr-xr-x   2 root root  4096 7月  11 13:53 shell
    drwx------   2 root root  4096 6月  28 14:29 .ssh
    drwxr-xr-x   6 root root  4096 12月 13 14:21 test
    [root@zhao-66 ~]# ll -rt    
    总用量 76
    -rw-r--r--. 1 root root 22632 5月   4 2016 install.log
    -rw-------. 1 root root  1106 5月   4 2016 anaconda-ks.cfg
    drwxr-xr-x  2 root root  4096 7月  11 13:53 shell
    drwxr-xr-x  6 root root  4096 12月 13 14:21 test

    • cd:Change Directory的缩写,切换目录。 

    • 语法: 
      cd [相对路径或绝对路径]

    • 参数: 

      • -:切换到上一次打开的目录; 

      • ~:切换到当前用户家目录,不加参数也是切换到当前用户家目录; 

      • .:当前目录 

      • ..:上级目录

    • 例:

    [root@master long]# pwd
    /root/long
    [root@master long]# cd ceshi/
    [root@master ceshi]# pwd
    /root/long/ceshi
    [root@master ceshi]# cd 
    [root@master ~]# pwd
    /root
    [root@master ~]# cd -
    /root/long/ceshi
    [root@master ceshi]# cd -
    /root
    [root@master ~]# pwd
    /root
    [root@master ~]#

    • pwd:显示当前目录的绝对路径: 

      • 语法: 
        pwd [选项]

      • 选项与参数: 

        • 一般情况下不带任何参数,如果目录是链接时:

        • 格式:pwd -P 显示出实际路径,而非使用连接(link)路径。

    • 例:

    [root@localhost ~]# pwd
    /root
    [root@localhost ~]# cd /etc/init.d 
    [root@localhost init.d]# pwd
    /etc/init.d
    [root@localhost init.d]# pwd -P
    /etc/rc.d/init.d
    [root@localhost init.d]#

    • mkdir:创建指定名称的目录 

      • 语法: 
        mkdir [选项] 目录

      • 选项与参数: 

        • -m, –mode=模式,直接配置权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask

        • -p, –parents 递归创建多层目录,即一次可以建立多个目录;

        • -v, –verbose 显示创建过程

        • –help 显示此帮助信息并退出

        • –version 输出版本信息并退出

    • 例:

    [root@master ceshi]# mkdir test
    [root@master ceshi]# mkdir -pv test1/test2/{test3,test4}
    mkdir: 已创建目录 "test1"
    mkdir: 已创建目录 "test1/test2"
    mkdir: 已创建目录 "test1/test2/test3"
    mkdir: 已创建目录 "test1/test2/test4"
    [root@master ceshi]# mkdir -m 644 test5
    [root@master ceshi]# ll
    总用量 12
    drwxr-xr-x 2 root root 4096 12月 13 18:14 test
    drwxr-xr-x 3 root root 4096 12月 13 18:14 test1
    drw-r--r-- 2 root root 4096 12月 13 18:15 test5
    [root@master ceshi]# tree
    .
    ├── test
    ├── test1│   
    |    └── test2       
    |        ├── test3
    |        └── test4
    │   
    └── test5
    
    6 directories, 0 files
    [root@master ceshi]#

    rm:删除文件、目录;注意:rm是一个危险的命令,使用的时候要特别当心; 

    • 语法: 
      rm [选项] 文件目录…

    • 选项与参数: 

      • -f, –force 忽略不存在的文件,从不给出提示。

      • -i, –interactive 进行交互式删除

      • -r, -R, –recursive 指示rm将参数中列出的全部目录和子目录均递归地删除;用于删除目录;

      • -v, –verbose 详细显示进行的步骤

      • –help 显示此帮助信息并退出

      • –version 输出版本信息并退出

      例:

      [root@master ceshi]# ll
      总用量 12
      -rw-r--r-- 1 root root    0 12月 13 18:23 install.log
      -rwxr-xr-x 1 root root    0 12月 13 18:22 scp.sh
      drwxr-xr-x 2 root root 4096 12月 13 18:14 test
      drwxr-xr-x 3 root root 4096 12月 13 18:14 test1
      drw-r--r-- 2 root root 4096 12月 13 18:15 test5
      [root@master ceshi]# rm  install.log 
      rm:是否删除普通空文件 "install.log"?y
      [root@master ceshi]# rm -i scp.sh 
      rm:是否删除普通空文件 "scp.sh"?y
      [root@master ceshi]# rm -rf test
      [root@master ceshi]# ll
      总用量 8
      drwxr-xr-x 3 root root 4096 12月 13 18:14 test1
      drw-r--r-- 2 root root 4096 12月 13 18:15 test5
      [root@master ceshi]# rm -rfv test*
      已删除目录:"test1/test2/test3"
      已删除目录:"test1/test2/test4"
      已删除目录:"test1/test2"
      已删除目录:"test1"
      已删除目录:"test5"
      [root@master ceshi]#
      • rmdir:删除空目录,一个目录被删除之前必须是空的;删除某目录时也必须具有对父目录的写权限。 

        • 语法: 
          rmdir [选项]… 目录…

        • 选项:

        •  

          • -p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。

          • -v, –verbose 显示指令执行过程;

      例:

      [root@master ceshi]# mkdir -pv {test,test1/test2/{test3,test4}}
      mkdir: 已创建目录 "test"
      mkdir: 已创建目录 "test1"
      mkdir: 已创建目录 "test1/test2"
      mkdir: 已创建目录 "test1/test2/test3"
      mkdir: 已创建目录 "test1/test2/test4"
      [root@master ceshi]# tree
      .
      ├── test
      └── test1    
          └── test2        
          ├── test3        
          └── test4
      5 directories, 0 files
      [root@master ceshi]# ll
      总用量 8
      drwxr-xr-x 2 root root 4096 12月 13 18:36 test
      drwxr-xr-x 3 root root 4096 12月 13 18:36 test1
      [root@master ceshi]# rmdir test
      [root@master ceshi]# ll
      总用量 4
      drwxr-xr-x 3 root root 4096 12月 13 18:36 test1
      [root@master ceshi]# rmdir -pv test1/test2/test*
      rmdir: 正在删除目录 "test1/test2/test3"
      rmdir: 正在删除目录 "test1/test2"
      rmdir: 删除目录 "test1/test2" 失败: 目录非空
      rmdir: 正在删除目录 "test1/test2/test4"
      rmdir: 正在删除目录 "test1/test2"
      rmdir: 正在删除目录 "test1"
      [root@master ceshi]# ll
      总用量 0
      [root@master ceshi]#
      • mv:= move,可以用来移动文件或者将文件改名(move (rename) files) 

      • 语法: 
        mv [参数] 源文件或目录 目标文件或目录

      • 选项: 

        • -b :若需覆盖文件,则覆盖前先行备份。

        • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

        • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

        • -u :若目标文件已经存在,且 source 比较新,才会更新(update)

        • -t : –target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

    • 例:

    [root@master URLGenerator]# ll
    总用量 28
    -rwxr-xr-x 1 root root  329 5月  20 2016 restart.sh
    -rwxr-xr-x 1 root root  116 6月  23 20:23 start.sh_bak
    -rwxr-xr-x 1 root root  122 5月  20 2016 stop.sh
    [root@master URLGenerator]# mv -f restart.sh stop.sh
    [root@master URLGenerator]# ll
    总用量 24
    -rwxr-xr-x 1 root root  116 6月  23 20:23 start.sh_bak
    -rwxr-xr-x 1 root root  329 5月  20 2016 stop.sh
    [root@master URLGenerator]# mv start.sh_bak stop.sh
    mv:是否覆盖"stop.sh"? n
    [root@master URLGenerator]# ll
    总用量 24
    -rwxr-xr-x 1 root root  116 6月  23 20:23 start.sh_bak
    -rwxr-xr-x 1 root root  329 5月  20 2016 stop.sh
    [root@master URLGenerator]# mv -b start.sh_bak stop.sh  
    mv:是否覆盖"stop.sh"? n
    [root@master URLGenerator]# ll
    总用量 24-rwxr-xr-x 1 root root  116 6月  23 20:23 start.sh_bak
    -rwxr-xr-x 1 root root  329 5月  20 2016 stop.sh
    [root@master URLGenerator]#
    • cp:复制文件或目录;将单个或多个源文件复制至目标目录下。

      • 语法:

        • 单源复制: 
          cp [OPTION]… [-T] SOURCE DEST 
          选项 源 
          如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中; 
          如果DEST存在: 
          如果DEST是非目录文件:则覆盖目标文件; 
          如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

        • 多源复制: 
          cp [OPTION]… SOURCE… DIRECTORY 
          cp [OPTION]… -t DIRECTORY SOURCE… 
          如果DEST不存在:错误; 
          如果DEST存在: 
          如果DEST是非目录文件:错误; 
          如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

      • 选项:

        • -a :–archive 等于-dR –preserve=all

        • –backup[=CONTROL] 为每个已存在的目标文件创建备份

        • -b :类似–backup 但不接受参数

        • –copy-contents 在递归处理是复制特殊文件内容

        • -d :等于–no-dereference –preserve=links

        • -f :–force: 如果目标文件无法打开则将其移除并重试(当 -n 选项 
          存在时则不需再选此项)

        • -i : –interactive: 覆盖前询问(使前面的 -n 选项失效)

        • -H :跟随源文件中的命令行符号链接

        • -l, –link: 链接文件而不复制

        • -L, –dereference: 总是跟随符号链接

        • -n, –no-clobber:不要覆盖已存在的文件(使前面的 -i 选项失效)

        • -P, –no-dereference :不跟随源文件中的符号链接

        • -p :等于–preserve=模式,所有权,时间戳

        • –preserve[=属性列表 保持指定的属性(默认:模式,所有权,时间戳),如果 
          可能保持附加属性:环境、链接、xattr 等

        • -R, -r, –recursive 复制目录及目录内的所有项目

      • 例:

      • [root@master URLGenerator]# tree
      • .├── config│   ├── config.xml│   ├── log4j-config.xml│   └── private.key└── lib    ├── chardet.jar    ├── edtftpj.jar    └── jta.jar2 directories, 6 files[root@master URLGenerator]# cp config/config.xml lib/[root@master URLGenerator]# tree.├── config│   ├── config.xml│   ├── log4j-config.xml│   └── private.key└── lib    ├── chardet.jar    ├── config.xml    ├── edtftpj.jar    └── jta.jar2 directories, 7 files[root@master URLGenerator]# ll *config:总用量 12-rw-r--r-- 1 root root 2292 8月  23 16:39 config.xml-rw-r--r-- 1 root root 2940 5月  20 2016 log4j-config.xml-rw-r--r-- 1 root root  893 5月  20 2016 private.keylib:总用量 200-rw-r--r-- 1 root root  26568 5月  20 2016 chardet.jar-rw-r--r-- 1 root root   2292 12月 13 19:27 config.xml-rw-r--r-- 1 root root 156599 5月  20 2016 edtftpj.jar-rw-r--r-- 1 root root   9719 5月  20 2016 jta.jar[root@master URLGenerator]# cp -rp config/ lib/[root@master URLGenerator]# ll *config:
      • 总用量 12-rw-r--r-- 1 root root 2292 8月  23 16:39 config.xml-rw-r--r-- 1 root root 2940 5月  20 2016 log4j-config.xml-rw-r--r-- 1 root root  893 5月  20 2016 private.keylib:总用量 204-rw-r--r-- 1 root root  26568 5月  20 2016 chardet.jardrwxr-xr-x 2 root root   4096 12月 13 19:25 config-rw-r--r-- 1 root root   2292 12月 13 19:27 config.xml-rw-r--r-- 1 root root 156599 5月  20 2016 edtftpj.jar-rw-r--r-- 1 root root   9719 5月  20 2016 jta.jar[root@master URLGenerator]#
      • touch:一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个空文件; 

        • 语法: 
          touch [选项]… 文件名…

        • 选项与参数: 

    原创文章,作者:moer,如若转载,请注明出处:http://www.178linux.com/67845

    (0)
    moermoer
    上一篇 2017-02-07
    下一篇 2017-02-08

    相关推荐

    • LVS详解及基于LVS实现web服务器负载均衡

      前言 LVS(Linux Virtual Server)Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。通过LVS提供的负载均衡技术和Linux操作系统可实现一个高性能、高可用的服务器群集,从而以低成本实现最优的服务性能。 集群基础 集群简介 集群(Cluster)是一组相互独立…

      Linux干货 2015-06-01
    • Linux交换分区的创建和调整

      概述 本文对swap进行简要介绍,以及系统安装后(在运行中)如何建立或调整swap分区。 文中演示环境为: 什么是swap space? 交换分区,即swap space。它将某段磁盘空间独立划分出来,当物理内存不够的情况下,系统先把物理内存中暂时不用的数据,暂存到交换空间,腾出内存空间来,以保证程序的运行;当swap中存储的页面被访问到时,系统会将其重新载…

      Linux干货 2016-08-30
    • Flex Ant自动构建

      1.  Flex SDK Ant        Flex开发者会遇到很多,比如自动构建,在一个有着N多模块,N处源码,构建过程复杂的Flex项目开发中,依赖人力手工构建项目非常不现实(机械重复且枯燥无味的过程,相信哪位开发人员都会避之唯恐不及,而且对于人力是非常大的浪费),而通过使用Ant,我们可以将这些工作…

      Linux干货 2016-03-22
    • 磁盘管理(二)之swap、dd工具使用

      磁盘管理(二)之swap、dd工具使用   一、挂载点和/etc/fstab   (1)配置文件/etc/fstab,当系统启动时,自动加载该文件,会把写在配置文件里面的所有挂载点全部自动挂载上去,只要按照格式写,就不会丢失。   (2)文件挂载配置文件,如下图:    &nbs…

      Linux干货 2016-08-29
    • 第一周:Linux基础之系统入门知识(一)

      一、计算机的组成及功能 现代计算机的基本结构是由匈牙利-美国科学家冯· 诺依曼于1946年提出的。迄今为止所有进入实用的电子计算机  都是按冯· 诺依曼提出的结构体系和工作原理设计制造的故又统称为“冯·诺依曼型计算机"。 根据冯.诺依曼原理:计算机由运算器、控制器、存储器、输入设备、输出设备所组成 运算器: 进行算术与逻辑运算 控制器:&…

      Linux干货 2016-09-18
    • linux的发展史

      一、今天要介绍的Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 但是很多时候我们了解到的技术都不是…

      Linux干货 2016-10-17

    评论列表(1条)

    • 马哥教育
      马哥教育 2017-03-30 14:17

      不错,结构清晰,再接再励。