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

    相关推荐

    • 搭建lnmp实现动静分离

      LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。 (nginx主机)web 处理静态内容 172.16.250.149 (fpm server   mariad bserver)处理动态内容 172.16.253.131 以上为两台CentOS7.3主机 试验拓扑图如下:   ==…

      2017-07-22
    • 文件查找:find命令、locate命令;Linux文件系统上的权限

      文件查找:find、locate locate:依赖事先构建的索引,是在系统空闲周期性自动进行;手动更新(updatedb);极其消耗资源;   find [option]… [查找路径] [查找条件] [处理动作] 查找条件: 根据文件名查找: -name “文件名称”:支持使用通配符glob(*,?,[],[…

      Linux干货 2017-12-14
    • shell编程循环语法作业

      判断/var/目录下所有文件的类型 [root@www sh.log]# cat typefile.sh  #!/bin/bash #author:DYW #显示目录下文件类型 if [ $# -lt 1 ];then echo "Please&nb…

      Linux干货 2016-08-21
    • 用户和组的四大配置文件简介

      一. 用户的由来 linux系统拥有的就是资源,最重要的事就是对资源的分配,资源分给谁?在linux上资源的访问是对用户赋予不同的权限实现,也就是说能访问资源的单位是用户。那用户在获取资源之前要实现证明自己是本用户,这个过程称为认证,他通过密码和用户名实现。在用户登录时会将用户输入的用户名和密码进行校验,校验过程就是将输入的用户名和密码与linux系统上记录…

      Linux干货 2016-10-24
    • echo命令使用详解

          echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用,在终端下打印变量的时候也是常常用到的,因此有必要了解下echo的用法。 语法: • 语法: echo [-neE][字符串]   命令选项:   &…

      Linux干货 2016-08-22
    • N28-第四周博客作业

      1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。

      2、编辑/etc/group文件,添加组hadoop。

      3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。

      4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。

      5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。

      6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;

      7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;

      8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;

      9、找出/etc/passwd文件中的一位数或两位数;

      10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

      11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

      12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

      13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

      Linux干货 2017-12-26

    评论列表(1条)

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

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