马哥教育网络班22期+第2周课程练习

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

    文件管理类命令有:cp,mv,rm

    1. cp:copy

    

     使用方法:  

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

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

            cp [OPTION]… -t DIRECTORY SOURCE…

    

     常用选项:

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

        -f:强制覆盖目标文件

        -r,-R:递归复制目录

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

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

         –preserv=

              mode:权限

              ownership:属主和属组

              timestamps:时间戳

              context:安全标签

              xattr:扩展属性

              links:符号链接

              all:上述所有属性

        

     实例:

     [root@test samba]# cp -air /etc/samba /tmp   将samba目录下的所有文件包括子目录及其所有属性以交互的方式的复制到/tmp目录下

     [root@test samba]# ll /etc/samba /tmp/samba/

     /etc/samba:

     total 20

     -rw-r–r–. 1 root root   20 May 12 13:23 lmhosts

     -rw-r–r–. 1 root root 9778 May 12 13:23 smb.conf

     -rw-r–r–. 1 root root   97 May 12 13:23 smbusers

    

     /tmp/samba/:

     total 20

     -rw-r–r–. 1 root root   20 May 12 13:23 lmhosts

     -rw-r–r–. 1 root root 9778 May 12 13:23 smb.conf

     -rw-r–r–. 1 root root   97 May 12 13:23 smbusers

    

   2. mv:move

    

    使用方法:

     mv [OPTION]… [-T] SOURCE DEST

    mv [OPTION]… SOURCE… DIRECTORY

    mv [OPTION]… -t DIRECTORY SOURCE..  

      

    常用选项:

           -i:交互式;

           -f:force

    实例:

    [root@test tmp]# mv samba  mv_samba  将samba目录重命名为mv_samba

    [root@test tmp]# ll |grep *samba               

     drwxr-xr-x. 3 root root 4096 Aug 19 09:43 mv_samba

    

     [root@test tmp]# mv test  test2   将test目录移动到test2目录下

    

    

   3. rm:remove

    

     使用方法:

     rm [OPTION]… FILE…

    

    常用选项:

         -i:interactive

         -f:force

         -r: recursive

    

    实例:

     [root@test tmp]# rm -rf mv_samba   删除mv_samba目录及目录内所有子目录和文件

    

             危险操作:rm -rf /*

    

             注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录;(模拟回收站)

    

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

 1.bash的基础特性:命令的执行状态结果

  命令执行的状态结果:

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

     成功:0

     失败:1-255

    

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

  示例 :

     [root@test tmp]# ll tmp   命令失败输出结果为:2

     ls: cannot access tmp: No such file or directory

     [root@test tmp]# echo $?

     2

  

     [root@test tmp]# ll tfile-2016-08-20-22-17-45   命令成功输出结果为:0

     -rw-r–r–. 1 root root 0 Aug 20 22:17 tfile-2016-08-20-22-17-45

     [root@test tmp]# echo $?

     0

    

 2.bash的基础特性之:命令行展开

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

  示例:

     [root@test tmp]# cd ~   进入root家目录

     [root@test ~]# pwd

     /root

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

    

  示例:

     [root@test tmp]# mkdir ./{a,b}  在tmp目录同时创建a,b两个目录

     [root@test tmp]# ll -d a b

     drwxr-xr-x. 2 root root 4096 Aug 20 22:34 a

     drwxr-xr-x. 2 root root 4096 Aug 20 22:34 b

    

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

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

   mkdir /tmp/{a,b}_{c,d}

   mkdir /tmp/{a_{c,d},b_{c,d}}

  (2)、创建/tmp/mylinux目录下的:

  mylinux/

     —bin

        —boot

             —grub

        —dev

        —etc

         —rc.d

              —init.d

             —sysconfig

                  —network-scripts

         —lib

              —modules

         —lib64

         —proc

         —sbin

         —sys

         —tmp

         —usr

               —local

                   —bin

                   —sbin

         —var

           —lock

           —log

           —run

   [root@test tmp]# mkdir -p mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-                                    scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

   [root@test tmp]# tree mylinux/

     mylinux/

     ├── bin

     ├── boot

     │   └── grub

     ├── dev

     ├── etc

     │   ├── rc.d

     │   │   └── init.d

     │   └── sysconfig

     │       └── network-scripts

     ├── lib

     │   └── modules

     ├── lib64

     ├── proc

     ├── sbin

     ├── sys

     ├── tmp

     ├── usr

     │   └── local

     │       ├── bin

     │       └── sbin

     └── var

        ├── lock

        ├── log

        └── run

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

   元数据信息:

     File:文件名

     Size:文件大小

     Blocks:多少块

     IO Block: 块大小

     regular file:文件类型

     Device: 设备

     Inode: 索引节点

     Links: 连接数

     Access: (0600/-rw——-) 文件权限

     Uid: 所属用户ID  

     Gid: 所属组ID  

     Access: 访问时间

     Modify: 修改时间

     Change: 改动时间

    

  查看文件的元数据:stat FILE…

    

  示例:

     [root@test tmp]# stat sshd_config   

      File: `sshd_config'

      Size: 3880            Blocks: 8          IO Block: 4096   regular file

     Device: fd00h/64768d    Inode: 68946       Links: 1

     Access: (0600/-rw——-)  Uid: (    0/    root)   Gid: (    0/    root)

     Access: 2016-08-20 23:00:29.481616790 +0800

     Modify: 2016-08-20 23:00:29.481616790 +0800

     Change: 2016-08-20 23:00:29.481616790 +0800

    

    

  修改文件时间戳信息:

    

  touch命令:

     touch – change file timestamps

    

     touch [OPTION]… FILE…  注:不加选项时,所有时间都会改变

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

     -a: 仅修改access time;

     -m:仅修改modify time;

     -t STAMP

     [[CC]YY]MMDDhhmm[.ss]

  示例:

     [root@test tmp]# touch -m -t 200201010101.01 sshd_config 

     [root@test tmp]# stat sshd_config   更改时间改为:2002年1月1日1点1分1秒(注:改动时间为命令执行时间)

      File: `sshd_config'

      Size: 3880            Blocks: 8          IO Block: 4096   regular file

     Device: fd00h/64768d    Inode: 68946       Links: 1

     Access: (0600/-rw——-)  Uid: (    0/    root)   Gid: (    0/    root)

     Access: 2016-08-20 23:00:29.481616790 +0800

     Modify: 2002-01-01 01:01:01.000000000 +0800

     Change: 2016-08-20 23:18:48.023616905 +0800

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

  1.定义命令别名格式:

     alias [-p] [name[=value] … ]

    

   实例:

     [root@test ~]# alias cls=clear   用cls命令实现清屏功能

    

  2.引用命令执行结果:

    $(COMMAND)  或  $'COMMAND'

    

   实例:

     [root@test tmp]# mkdir $(date +%Y-%m-%d)   创建以今天的日期为名字的目录

     [root@test tmp]# ll

     total 60

     drwxr-xr-x.  2 root root 4096 Aug 20 21:22 2016-08-20

6、显示/var目录下所有以l开头,且非数字结尾的文件或目录。

      [root@test var]# ls -d l*[^0-9]          

      lib  local  lock  log

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

     [root@test var]# ls -d /etc/[0-9]*[^0-9]

     ls: cannot access /etc/[0-9]*[^0-9]: No such file or directory

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

     1.[root@test var]# ls /etc/[^a-z][a-z]*

      ls: cannot access /etc/[^a-z][a-z]*: No such file or directory

     2.[root@test var]# ls /etc/[^[:alpha:]][a-z]*

      ls: cannot access /etc/[^[:alpha:]][a-z]*: No such file or directory

9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22

     [root@test tmp]# touch tfile-$(date +%F-%H-%M-%S)

     [root@test tmp]# ls |grep tfile

     tfile-2016-08-20-22-17-45

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

     1.[root@test tmp]# cp -r /etc/p*[^0-9] /tmp/mytest1

     2.[root@test tmp]# cp -r /etc/p*[^[:digit:]] /tmp/mytest1

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

    [root@test tmp]# cp -r /etc/*.d /tmp/mytest2

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

    [root@test tmp]# cp -r /etc/[lmn]*.conf /tmp/mytest3

原创文章,作者:N22_上海_长清,如若转载,请注明出处:http://www.178linux.com/38129

(0)
N22_上海_长清N22_上海_长清
上一篇 2016-08-22
下一篇 2016-08-22

相关推荐

  • 学习试题演练

    1.写一个脚本实现:提示用户给出自己的选择随后显示对应的信息。 区分大小写: if [[ "$option" =~ [Dd][Ii][Ss][Kk] ]];then 2.根据id号来判断用户类型,若没有则提示没有此用户 0:管理员 1-999:系统用户 1000+:登陆用户 不得不提下: bash -n usertype.sh 前期擅用是…

    Linux干货 2016-08-21
  • 系统无法正常启动的解决之道

    先来看下配置文件的格式: [root@centos6 ~]# uname -r 2.6.32-642.el6.x86_64 [root@centos6 ~]# cat /boot/grub/grub.conf  # Note that you do&…

    Linux干货 2016-09-19
  • OpenStack之keystone

    一、什么是OpenStack    OpenStack是一种云操作系统,它控制着一个数据中心里大量的计算、存储和网络资源。管理员在一个web界面内通过仪表盘方便地管理,控制,授权用户,以提供各种资源。 二、云服务分类 可分为IAAS, PAAS, SAAS等 IAAS:Infrastructure as a Service (操作系统级别…

    Linux干货 2017-01-19
  • Bash Shell详解

    引言:什么是Shell? Linux的命令行接口归结起来就是各种Shell,那么到底什么是Shell?Shell,译为外壳,是用户直接连入计算机所使用的计算机程序,负责解析用户提供的命令,如词法分析、语法分析、句法分析。 1.Shell的分类 Linux 的命令 shell 是与操作系统相分离的一层。不同的 shell 环境影响您具备不同的功能,比如可编辑的…

    2017-09-07
  • mysql5.6 GTID的实现以及maridb 10.9多主一从的架构

    一、MySQL 5.6 以后出现的GTID:     GTID概念:          1. GTID是一个由服务器的UUID和事务序号组成的唯一事务序号       &…

    Linux干货 2015-12-18
  • 马哥教育网络班22期+第一周课程练习

    计算机的组成及其功能 计算机主要由五大部分组成:控制器、运算器、存储器、输入设备、输出设备,即CPU(控制器、运算器)、内存、I/O(输入/输出设备)。 控制器 是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器 对数据进行各种算术运算和逻辑运算,即对数据…

    Linux干货 2016-08-15

评论列表(2条)

  • 马哥教育
    马哥教育 2016-08-22 14:17

    写的很好,排版还可以在漂亮一点,加油,3大题2小题在仔细看看老师出的题目

    • N22_长清
      N22_长清 2016-08-22 15:15

      @马哥教育老师,我是进入tmp目录下使用的mkdir -p mylinux/ , [root@test tmp]# 相对路径 ,是这个有问题吗?