马哥教育网络班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

相关推荐

  • N22-第四周

    1、复制/etc/skel目录到/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 ~]# cp -r /etc/skel /home/tuser1~]# ll -d /home/tuser1drwxr-xr-x. 3 root root 74 Aug 31 10:13 /home/tuser1~]# ch…

    Linux干货 2016-09-07
  • DNS搭建实例

      环境介绍 系统版本:CentOS 7.2 程序包:bind(提供的dns server程序、已经几个常用的测试程序)、bind-utils(bind客户端程序集,例如dig,host,nslookup等) 缓存名称服务器的配置: 1、安装程序包     ~]# yum install&…

    Linux干货 2017-02-15
  • Linux基础—磁盘管理

    1、创建一个10G分区、并格式化为ext4文件系统 1)要求其block大小为2048,预留空间百分比2,卷标MYDATA,默认挂载属性包含acl 2)挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳 #mkfs.ext4 -b 2048 -m 2 -L my…

    Linux干货 2016-11-17
  • Sed文本文件工具的使用详解

    Sed文本文件工具的使用详解 一、概述 sed 工具实际上就是一个非交互式的编辑器,主要是为了处理文本而生的,我们知道处理文本的三剑客是 grep sed awk 我们之前学习过 grep 文本过滤工具,它的主要作用是为了过滤文本,而sed 工具也是过滤文本,只不过sed工具针对的是文件中的每一行,而且sed工具更加强大,下面还具体说明一下sed 工具的原理…

    Linux干货 2016-10-09
  • 自动化运维工具Puppet

        开发puppet模块,nginx负载均衡并反代动态请求至httpd,httpd用ajp连接器将反代请求至tomcat,并部署tomcat-session-memcached 架构图为 在master主机上开发的模块为: 1、chrony模块; ├── chrony│   ├── files│…

    2017-07-28
  • httpd的介绍以及常用配置

    继上一篇写了LAMP的编译安装之后没有介绍如何配置使用,接下来的几篇会依次介绍,编译安装的过程为http://www.178linux.com/64006 一.httpd介绍 1.httpd是http协议的一个经典实现,也是apache组织中的一个顶级项目,其官方站点为httpd.apache.org。 2.httpd的运行机制 高度模块化(Core+Mod…

    Linux干货 2016-12-22

评论列表(2条)

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

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

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

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