N26-第二周

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

  1)alias:命令别名;

    # alias ;获取所有可用别名的定义;

    # alias NAME=‘COMMAND’:定义别名;

        ~]# alias hello='ls' 

        ~]# hello /tmp/

        19-52-46  1abc   a_c  b_c   

    # unalias NAME ;撤销别名;

        ~]# unalias hello

  2)which:shows the full path of (shell) commands

    which [options] programname […]

    

     ~]# which ls

     alias ls='ls –color=auto'

     /usr/bin/ls

    不显示命令别名:

    ~]# \which ls

    /usr/bin/ls

    ~]# which ls –skip-alias

    /usr/bin/ls

  3)whereis :locate the binary, source, and manual page files for a command

    whereis [options]  name…

       -b     Search only for binaries.

            仅搜索二进制程序路径;

         -m     Search only for manuals.

              仅搜索使用手册文件路径;

  4)history:命令历史;

    

    (1)定制history的功能,可通过环境变量实现:

     HISTSZIE:shell进程可保留的命令历史的条数:

     [root@localhost ~]# echo $HISTSIZE

     1000

     HISTFILE:持久保存命令历史的文件; .bash_history

     [root@localhost ~]# echo $HISTFILE

     /root/.bash_history

     HISTFILESIZE:命令历史文件的大小;

     [root@localhost ~]# echo $HISTFILESIZE

     1000

    (2)命令用法:

     history [-c] [-d 偏移量] [n] 

    或 

     history -anrw [文件名] 

    或 

    history -ps 参数 [参数…]

        -c        删除所有条目从而清空历史列表。

         -d offset偏移量 从指定位置删除历史列表。

         -w        将当前历史写入到历史文件中,并追加到历史列表中

         -r  从文件读取命令历史至历史列表中

         -w  把历史列表中的命令追加至历史文件中

      # history NUMBER :显示最近的NUMBER条命令

   (3)调用命令历史列表中的命令:

      !NUM :再一次执行历史列表中的第NUM条命令;

      !!  :再一次执行上一条命令;

      !STRING:再一次执行命令历史列表中最近一个以STRING开头的命令;

       注意:命令的重复执行有时候需要依赖于幂等性:(可成功执行)

      调用上一条命令的最后一个参数:

      a)快捷键:ESC键+. 

       b)字符串:!$

   (4)控制命令历史记录的方式;

      环境变量:HISTCONTORL

           [root@localhost ~]# echo $HISTCONTROL

          ignoredups

       ignoredups:忽略重复的命令;

       ignorespace:忽略以空白字符开头的命令;

       ignoreboth:以上两者同时生效;

  5)文件查看类命令:

   (1)more命令:

     more FILE

    特点:翻屏至文件尾部后自动退出;

   (2)less命令:

     less FILE

     man调用的就是less命令

   (3)head命令:

     查看文件的前n行;默认10行;

     head [options] FILE

         -n [NUM]

         -[NUM]

   (4)tail命令:

     查看文件的后n行;默认10行;

     tail [options] FILE

         -n [NUM]

         -[NUM]

         -f:查看文件尾部内容结束后不退出,跟随显示新增内容;

   (5)stat命令:

     stat – display file or file system status

     stat  FILE…

  6)touch :change file timestamps       

        touch [OPTION]… FILE…

             -c:指定的文件路径不存在时,不予创建;

             -a:改变访问时间,access time

             -m:改变更改时间,modify time

             -t:STAMP

                   [[CC]YY]MMDDhhmm[.ss] 

        touch FILE  创建空文件

  7)cp:copy    

    单源复制:cp [OPTION]… [-T] SOURCE DEST

     多源复制:cp [OPTION]… SOURCE… DIRECTORY

         cp [OPTION]… -t DIRECTORY SOURCE…

     (1)单源复制:cp [OPTION]… [-T] SOURCE DEST

       如果DEST不存在,则事先创建此文件,并复制源文件的数据流至DEST中;

       如果DEST存在:

         如果DEST是非目录文件:则覆盖目标文件;

         如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

     (2)多源复制:cp [OPTION]… SOURCE… DIRECTORY

             cp [OPTION]… -t DIRECTORY SOURCE…

       如果DEST不存在:错误;

       如果DEST存在:

         如果DEST是非目录文件,错误;

         如果DEST是目录文件,分别复制每个文件至目标目录中,并保持原名;

     (3)常用选项:

        -i:交互式复制,即覆盖之前提醒用户确认;

        -f:强行覆盖目标文件;

        -r,-R:递归复制目录;复制目录及目录中文件;

        -d:复制符号链接文件本身,而非其指向的源文件;

        -a: -dR –preserve=all,archive,用于实现归档;

        –preserv=

        mode:权限

             owership:属主和属组

        timestamps:时间戳

        context:安全标签

        xattr:扩展属性

        links:符号链接

        all:上述所有属性

  8)mv:move  

    mv [OPTION]… [-T] SOURCE DEST

     mv [OPTION]… SOURCE… DIRECTORY

     mv [OPTION]… -t DIRECTORY SOURCE…

      常用选项:

      -i:交互式;

      -f:force

 9)rm:remove    

     rm [OPTION]… FILE…

      常用选项:

      -i:交互式;

      -f:force

          -r:递归删除目录,recursive

      删除目录:rm -rf /PATH/TO/DIR

      危险操作:rm -rf /*

2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示;

    1)命令执行的状态结果:

    bash通过状态返回值来输出此结果:

        成功:0

         失败:1-255

    命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;  

        [root@localhost etc]# ls dd

        ls: 无法访问dd: 没有那个文件或目录

        [root@localhost etc]# echo $?

        2

         [root@localhost etc]# lss

        -bash: lss: 未找到命令

        [root@localhost etc]# echo $?

        127

    命令正常执行时,有的还会有命令返回值:

    根据命令及其功能不同,结果各不相同;

    

    2)引用命令的执行结果:

     $(COMMAND)

    

     `COMMAND`

         [root@localhost tmp]# mkdir $(date +%H-%M-%S)

         [root@localhost tmp]# ll

         总用量 4

         drwxr-xr-x. 2 root root   6 2月   8 19:52 19-52-46

         [root@localhost tmp]# mkdir $(date +%H-%M-%S)

         [root@localhost tmp]# ll

              总用量 4

         drwxr-xr-x. 2 root root   6 2月   8 19:52 19-52-46

         drwxr-xr-x. 2 root root   6 2月   8 19:52 19-52-54

    3)命令行展开:    

    ~ :自动展开为用户的家目录,或指定的用户的家目录;

    {};可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

    1、创建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b 目录;

    blob.png

3、使用命令行展开功能来完成以下练习;

  1)创建/tmp目录下:a_c,a_d,b_c,b_d    

    blob.png

  2)创建/tmp/mylinux目录;

blob.png

blob.png

4、文件的元数据信息有哪些,分表表示什么含义,如何查看?如何修改文件的时间戳信息。

  1)任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元

数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(inode…)等等。在集群文件系统中,分布信息包括文件在磁盘上的位置以及磁盘在集群中的位置。用户需要操作一个文件必须首先得到它的元数据,才能定位到文件的位置并且得到文件的内容或相关属性。

  2)stat:display file or file system status

    stat  FILE…  

    blob.png

  3)时间戳:

    access time(最近访问)

    modify time(最近更改)

    change time(最近改动)

  4)touch:change file timestamps

     touch [OPTION]… FILE…

         -c:指定的文件路径不存在时,不予创建;

         -a:改变访问时间,access time

         -m:改变更改时间,modify time

         -t:STAMP

              [[CC]YY]MMDDhhmm[.ss] 

     (1)更改访问时间(access time):

    blob.png

    (2)更改更改时间(modify time)    

    blob.png

    

    (3)使用[[CC]YY]MMDDhhmm[.ss]格式更改成确切的时间:    

    blob.png

    (4)也可以使用-d,改变日期;    

    blob.png

    

5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

  1)定义命令别名:

    blob.png

  2)重定向:

    (1)> :覆盖输出

      >>:追加输出

        blob.png

   (2)错误输出流重定向:2> ; 2>>

   (3)合并正常和错误输出流:

     1)&> ; &>>

     blob.png

    (4)合并输出:

       blob.png

    (5)命令的引用:

     blob.png

6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一个数字(可以有其他字符)的文件或目录。

  blob.png

7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

  blob.png

8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录。

  blob.png

9、在/tmp目录下创建以tfile开头,后跟当前日子和时间的文件。

  blob.png

10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

  blob.png

11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

  blob.png

12、复制/etc目录中所有以1或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

  blob.png

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

(0)
徐 琦徐 琦
上一篇 2017-02-11
下一篇 2017-02-11

相关推荐

  • Linux获取命令帮助的途径

    在学习和使用Linux的过程中,免不了会遇到一些我们不熟悉或者不知道的命令。对于这些我们不熟悉的命令,就需要查找帮助文档来获取更多信息来协助我们完成相关的工作。 如何获取Linux命令的使用帮助? 1.  针对内部命令 help [命令名] 2.  针对外部命令 [命令名] –help,    获取简要帮助…

    Linux干货 2017-09-01
  • grep命令及正则表达式

    grep命令和正则表达式 grep基本概念 grep:global search regular expression and print out the line. 作用:文本过滤器,用于文本搜索,用指定“模式”逐行匹配。 模式:由正则表达式字符及文本字符所编写的过滤条件 正则表达式:由一类特殊字符和文本字符所编写的模式,其有些字符不表示字符字面意义,而表…

    Linux干货 2016-11-05
  • Systemd——CentOS7的init

    Systemd:     POST –> Boot Sequeue(BIOS) –> Bootloader(MBR) –> kernel(ramdisk) –> rootfs –> /sbin/init init:   &nbsp…

    Linux干货 2016-09-20
  • vsftpd基于mysql存储认证(centos7)

    (1)首先开发包组和服务器平平台开发包组 (2)yum安装需要的依赖包 (3)编译安装pam_mysql模块 (4)配置mysql,并添加mysql中的vsftpd进程用户,且创建vsftpd数据库,并将vsftpd数据库授权给vsftpd用户,且创建vsftpd.users表,并在表中添加用户tom (5)创建vsftpd要上传和下载的URL (6)创建基…

    Linux干货 2016-10-15
  • 总考十分的学习宣言

    目标:按照学习线路图完成所有视频的学习,完成每一次的博客作业及云学堂考试,成功转型互联网运维。 宣言:我一定要转型互联网运维工程师,并在这个领域不断坚持耕耘下去,成为行业的专家,拿高薪,挣so much money,可以有钱去看看世界,去台湾环岛,去日本爬天空树,去北欧看极光,去南极看企鹅,去看盐湖和大象,去非洲看动物迁徙。一生的时间是有限的,在有限的时间里…

    Linux干货 2016-10-24
  • Linux系统初始化流程:系统初始化相关基础知识

    Linux系统初始化流程:系统初始化相关基础知识 内核简介 内核的功能 进程管理:通过task_struct, scheduler 实现 内存管理 I/O管理:中断以及中断处理 文件系统管理:ext3,ext4,xfs 等 驱动程序 安全相关:SELinux,各种加密库 通用软件,平台相关软件 内核设计流派 单内核:单一体系结构 linux 为单一内核 模块…

    2015-02-28

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-02 19:54

    非常的详细和认真,加油,再接再励。