N22-Dexter-第二周博客作业

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

   Linux上的文件管理类命令有cp,rm,mv

   cp命令:copy

   常用选项:

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

      [root@Dexter_Centos7 tmp]# alias 

            alias cp='cp -i'

      [root@Dexter_Centos7 tmp]# cp -i /etc/passwd /tmp/

            cp: overwrite ‘/tmp/passwd’? 

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

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

      [root@Dexter_Centos7 tmp]# cp /etc /tmp

            cp: omitting directory ‘/etc’

            [root@Dexter_Centos7 tmp]# cp -r /etc /tmp

            [root@Dexter_Centos7 tmp]# 

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

      [root@Dexter_Centos7 tmp]# ll /etc/system-release

            lrwxrwxrwx. 1 root root 14 Aug 14 14:43 /etc/system-release -> centos-release

            [root@Dexter_Centos7 tmp]# cp /etc/system-release /tmp

            [root@Dexter_Centos7 tmp]# ll                                            

            total 4                                                                  

            -rw-r–r–. 1 root root 38 Aug 22 12:19 system-release                   

            [root@Dexter_Centos7 tmp]# cp -d /etc/system-release /tmp                

            cp: overwrite ‘/tmp/system-release’? y                                 

            [root@Dexter_Centos7 tmp]# ll                                            

            total 0                                                                  

            lrwxrwxrwx. 1 root root 14 Aug 22 12:20 system-release -> centos-release 

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

      –preserv=

      mode:权限

      ownership:属主和属组

      timestamps: 时间戳

      context:安全标签

      xattr:扩展属性

      links:符号链接

      all:上述所有属性

mv命令:move

      mv [OPTION]… [-T] SOURCE DEST

      mv [OPTION]… SOURCE… DIRECTORY

      mv [OPTION]… -t DIRECTORY SOURCE..    

      常用选项:

      -i:交互式;

      -f:force

rm命令:remove

    rm [OPTION]… FILE…

    常用选项:

    -i:interactive

    [root@Dexter_Centos7 tmp]# rm -i dexter1

          rm: remove regular empty file ‘dexter1’? y

    -f:force

    [root@Dexter_Centos7 tmp]# rm  dexter1 

          rm: remove regular empty file ‘dexter1’? n    

          [root@Dexter_Centos7 tmp]# ll                   

          total 0                                         

          -rw-r–r–. 1 root root 0 Aug 22 12:26 dexter1  

          [root@Dexter_Centos7 tmp]# rm -f  dexter1       

          [root@Dexter_Centos7 tmp]# ll                   

          total 0                                         

    -r: recursive    

    [root@Dexter_Centos7 tmp]# rm -f /tmp/*

          rm: cannot remove ‘/tmp/abrt’: Is a directory            

          rm: cannot remove ‘/tmp/alsa’: Is a directory            

          rm: cannot remove ‘/tmp/alternatives’: Is a directory    

          rm: cannot remove ‘/tmp/at-spi2’: Is a directory         

                                                                     

          [root@Dexter_Centos7 tmp]# rm -rf /tmp/*                   

          [root@Dexter_Centos7 tmp]# ll                                 

          total 0                      

   

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

   命令执行的状态结果:                       

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

成功:0                         

失败:1-255                     

                                 

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

[root@Dexter_Centos7 tmp]# ll /tmp

   total 0                                

   [root@Dexter_Centos7 tmp]# echo $?     

   0                                      

   [root@Dexter_Centos7 tmp]# lless /tmp  

   bash: lless: command not found…      

   Similar command is: 'less'             

   [root@Dexter_Centos7 tmp]# echo $?     

   127            

   命令行展开

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

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

例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b                        

    [root@Dexter_Centos7 tmp]# mkdir -pv /tmp/{a,b}

    mkdir: created directory ‘/tmp/a’            

    mkdir: created directory ‘/tmp/b’                     

    [root@Dexter_Centos7 tmp]# ll                  

    total 0                                        

    drwxr-xr-x. 2 root root 6 Aug 22 12:49 a       

    drwxr-xr-x. 2 root root 6 Aug 22 12:49 b       

    

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

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

      mkdir -pv /tmp/{a,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@Dexter_Centos7 tmp]#  mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,etc/sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}                                                                                      

   mkdir: created directory ‘/tmp/mylinux’                                      

   mkdir: created directory ‘/tmp/mylinux/bin’                                  

   mkdir: created directory ‘/tmp/mylinux/boot’                                 

   mkdir: created directory ‘/tmp/mylinux/boot/grub’                            

   mkdir: created directory ‘/tmp/mylinux/dev’                                  

   mkdir: created directory ‘/tmp/mylinux/etc’                                  

   mkdir: created directory ‘/tmp/mylinux/etc/rc.d’                             

   mkdir: created directory ‘/tmp/mylinux/etc/rc.d/init.d’                      

   mkdir: created directory ‘/tmp/mylinux/etc/etc’                              

   mkdir: created directory ‘/tmp/mylinux/etc/etc/sysconfig’                    

   mkdir: created directory ‘/tmp/mylinux/etc/etc/sysconfig/network-scripts’    

   mkdir: created directory ‘/tmp/mylinux/lib’                                  

   mkdir: created directory ‘/tmp/mylinux/lib/modules’                          

   mkdir: created directory ‘/tmp/mylinux/lib64’                                

   mkdir: created directory ‘/tmp/mylinux/proc’                                 

   mkdir: created directory ‘/tmp/mylinux/sbin’                                 

   mkdir: created directory ‘/tmp/mylinux/sys’                                  

   mkdir: created directory ‘/tmp/mylinux/tmp’                                  

   mkdir: created directory ‘/tmp/mylinux/usr’                                  

   mkdir: created directory ‘/tmp/mylinux/usr/local’                            

   mkdir: created directory ‘/tmp/mylinux/usr/local/bin’                        

   mkdir: created directory ‘/tmp/mylinux/usr/local/sbin’                       

   mkdir: created directory ‘/tmp/mylinux/var’                                  

   mkdir: created directory ‘/tmp/mylinux/var/lock’                             

   mkdir: created directory ‘/tmp/mylinux/var/log’                              

   mkdir: created directory ‘/tmp/mylinux/var/run’                              

   [root@Dexter_Centos7 tmp]# tree /tmp/mylinux                                   

   /tmp/mylinux                                                                   

   |– bin                                                                        

   |– boot                                                                       

   |   `– grub                                                                   

   |– dev                                                                        

   |– etc                                                                        

   |   |– etc                                                                    

   |   |   `– sysconfig                                                          

   |   |       `– network-scripts                                                

   |   `– rc.d                                                                   

   |       `– init.d                                                             

   |– lib                                                                        

   |   `– modules                                                                

   |– lib64                                                                      

   |– proc                                                                       

   |– sbin                                                                       

   |– sys                                                                        

   |– tmp                                                                        

   |– usr                                                                        

   |   `– local                                                                  

   |       |– bin                                                                

   |       `– sbin                                                               

   `– var                                                                        

       |– lock                                                                   

       |– log                                                                    

       `– run                                                                    

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

   元数据:包括文件的权限,属主、属组信息,inode信息,数据大小,时间信息(atime,mtime,ctime)等

   [root@Dexter_Centos7 tmp]# ll -i

   total 0

   35123168 drwxr-xr-x. 2 root root 6 Aug 22 12:49 a

   69412032 drwxr-xr-x. 2 root root 6 Aug 22 12:49 b

   时间

   

   modification time (mtime):                                                                                                       

   当该档案的内容数据变更时,就会更新这个时间!内容数据指的是档案的内容,而不是档案的属性或权限                                      

   status time (ctime):                                                                                                             

   当该档案的状态(status)改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间。                              

   access time (atime):                                                                                                             

   当该档案的内容被取用时,就会更新这个读取时间 (access)。举例来说,我们使用 cat 去读取 /etc/man.config 就会更新该档案的atime 了。

  [root@Dexter_Centos7 tmp]# stat /tmp

   File: ‘/tmp’

   Size: 4096       Blocks: 8          IO Block: 4096   directory

  Device: 803h/2051d Inode: 100663425   Links: 10                          

  Access: (1777/drwxrwxrwt)  Uid: (    0/    root)   Gid: (    0/    root)  

  Context: system_u:object_r:tmp_t:s0                                       

  Access: 2016-08-22 12:49:53.892349320 +0800                               

  Modify: 2016-08-22 12:49:22.714025306 +0800                               

  Change: 2016-08-22 12:49:22.714025306 +0800                               

   Birth: –   

   

   修改文件的时间戳信息用touch命令

   -a :仅修订 access time;                                                   

   -c :仅修改档案的时间,若该档案不存在则不建立新档案;                       

   -d :后面可以接欲修订得日期而不用目前的日期,也可以使用 –date="日期或时间" 

   -m :仅修改 mtime ;                                                        

   -t :后面可以接欲修订的时间而不用目前的时间,格式为[YYMMDDhhmm]             

                                                 

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

   alias NAME="VALUE"

   注意:此种设置方式至对当前Shell有效!如果需要全局有效,可以在/etc/bashrc(全局)、~/.bashrc(用户个人)文件创建别名命令。

   引用命令的执行结果

   $(COMMAND)或`COMMAND`

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

   [root@Dexter_Centos7 ~]# ls -d /var/l?[[:lower:]]

   /var/lib  /var/log

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

   [root@Dexter_Centos7 ~]# ls -d /etc/[0-9]*[^0-9]

   /etc/5bcc

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

    [root@Dexter_Centos7 ~]# ls -d /etc/[^a-z][a-z]*

    /etc/5bcc

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

   [root@Dexter_Centos7 tmp]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)

   [root@Dexter_Centos7 tmp]# ll

   total 0

   -rw-r–r–. 1 root root 0 Aug 22 17:24 tfile-2016-08-22-17-24-31

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

    cp -r /etc/p*[^0-9] /tmp/mytest1

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

    cp -r /etc/*.d /tmp/mytest2

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

    cp -r /etc/[lmn]*.conf /tmp/mytest3

原创文章,作者:N22-昆山-Dexter_Wang,如若转载,请注明出处:http://www.178linux.com/38949

(0)
N22-昆山-Dexter_WangN22-昆山-Dexter_Wang
上一篇 2016-08-24
下一篇 2016-08-24

相关推荐

  • N25第一周作业

    第一周作业 一、计算机由硬件系统和软件系统两部分组成如下: 计算机硬件由CPU、内存、输入设备、输出设备组成。 1、中央处理器(CPU,Central Processing Unit)   CPU的功能主要是对输入指令的判断和运算;CPU包括运算器、控制器和寄存器三部分; (1)、运算器   执行各种算术和逻辑运算操作,计算机运行时,运算…

    Linux干货 2016-12-05
  • ☞Web服务器之apache

    Web服务器之apache http协议 telnet的使用 curl命令 httpd的相关配置 welcome.conf — 403 forbidden 修改监听的端口和地址 保持连接 DSO 定义物理主机站点文档 资源访问授权 路径别名Alias 本地httpd-manual 开启status 日志设定 虚拟主机 基于用户的访问控制 httpd压力测试 …

    Linux干货 2016-10-08
  • 解决线上服务器httpd无法反向代理resin的解决方法

    一、简述   前两天有后端的小伙伴跟我反映说使用httpd反向代理resin时遇到的问题,在做网站管理后台的时候,发起的http的put,delete的请求无法经由resin传递到后面的dbserver。当时的第一反应就是httpd的反向代理设置出现的问题,但是关于httpd反代resin的内容在网上机会搜索不到。于是,查看httpd反代tomca…

    Linux干货 2017-01-11
  • 内核编译之增加ntfs文件系统

    内核编译 内核编译 单内核体系设计,但充分借鉴了微内核设计体系的优点,为内核引入模块化机制。 内核组成部分:     Kernel,内核核心,一般为bzImage,通常在/boot目录下,名称为vmlinuz-WERSION- RELEASE;     Kernel object…

    Linux干货 2016-09-13
  • 软链接和硬链接的区别

          什么是链接文件? 使用windows的朋友们应该会经常接触到快捷方式吧!它也就是能让我们快速的打开一个目标应用程序,文件,或者文件夹来使我们的操作更加快捷。那么下面我们就来简单聊聊linux上的“链接文件”吧!            &n…

    Linux干货 2016-10-19
  • Linux ansible 服务

                      Linux ansible 服务 Ansible:    运维工具的分类: agent:基于专用的agent程序完成管理功能,puppet, func, zabbix, … agentless:基于ss…

    系统运维 2016-11-19