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

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

cp命令:copy,有2类复制方法

 1、单源复制:如果DEST不存在:则实现创建此文件,并复制源文件的数据流至DEST中;

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

 2、多源复制:

   如果DEST不存在:错误;

   如果DEST存在:

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

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

      

   常用选项:

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

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

      -r:递归复制目录;

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

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

           –preserv=

                 mode:权限

                  ownership:属主和属组

                  timestamps:时间戳

                  context:安全标签

                  xattr:扩展属性

                  links:符号链接

                  all:上述所有属性

mv命令:移动或者改名

  mv – move (rename) file

   用法:

       mv [OPTION]… [-T] SOURCE DEST

       mv [OPTION]… SOURCE… DIRECTORY

       mv [OPTION]… -t DIRECTORY SOURCE…

   在同一级的目录下,用mv命令,为改名,并把目标文件的内容修改为何源文件一样内容;

 ~]# cat test1 
    1 
 ~]# mv test1 test3
 ~]# cat test3 
    1

   在不同目录下,目标目录内无与之要移动文件的目录内的相同名字的文件,则把源文件移动至目标目录下;

rm命令:删除命令

  rm – remove files or directories

   用法:

      rm [OPTION]… FILE…

   选项:

      -r:递归删除

      -f:–force 强制删除  

      -i:交互式删除,删除前需用户确认

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

命令行展开:

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

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

     mkdir -pv /tmp/x/{y1/{a,b},y2}

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

命令的执行状态结果:

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

   成功:0

   失败:1-255

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

    引用命令的执行结果是:

     $(COMMADN)或`COMMAND`

~]# cat /etc/fstab &>/dev/null
~]# echo "$?"
   0
   
~]# cat /etc/fstabb &>/dev/null
~]# echo "$?"
   1

 

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

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

~]# mkdir /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
~]# mkdir -p /tmp/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}}

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

文件分为两类数据:

1、元数据:metadata 描述数据的,例如书中的目录

2、数据:data  真正的数据,例如书中的内容

  时间戳:

 Access(访问时间): 2016-08-16 06:39:59.915983316 +0800 读取文件

 Modify(更改时间): 2016-08-16 06:39:59.915983316 +0800 数据改变

 Change(改动时间): 2016-08-16 06:39:59.915983316 +0800 元数据改变

  数据改变,元数据一定改变,所以改动时间随着更改时间改变而改变

用stat查看

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

 touch命令:

  change file timestamps;

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

   -a:仅修改access time;

   -m:仅修改modify time;

   -t:年月日小时分钟秒

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

分为两种模式定义别名,一种为全局模式下,一种为用户个人;

其中交互式登录shell进程:

/etc/prifile->/etc/profile.d/*->~/bash_profile->~/.bashrc->/etc/bashrc 从一级级的去定义。

非交互式登录shell进程:

~/.bashrc->/etc/bashrc->/etc/profile.d/*

可以在这些配置文件中去定义别名;

仅在当前shell生效的别名:

alias NAME='VALUE'

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

 ~]# ls /var/ |grep "^l*[0-9][a-z]$"

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

~]# ls -d /etc |grep "^[0-9].*[^0-9]$"

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

~]# ls  /etc/ |grep "^[^[:alpha:]][[:alpha:]].*"

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

~]# touch /tmp/tfile-`date +%F-%H-%M-%S`

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

~]# cp -fr /etc/p*[^[:digit:]] /tmp/mytest1

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

~]# cp -fr /etc/*.d /tmp/mytest2

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

~]# cp /etc/[l,m,n]*.conf /tmp/mytest3

原创文章,作者:N22-白蚁,如若转载,请注明出处:http://www.178linux.com/38532

(0)
N22-白蚁N22-白蚁
上一篇 2016-08-22 09:30
下一篇 2016-08-22 09:30

相关推荐

  • linux内核(kernel)版本号的意义

      在linux下有一个目录,即/usr/src/kernels/目录,下面记载着一个linux系统的内核文件, 例如:2.6.18-164.el5-x86_64、2.6.18-8.el5-x86_64和2.6.18-194.el5-x86_64等,这些文件编号意味着什么呢?例如2.6.18代表着什么?el5代表着什么?x86_64又代表着什么? …

    Linux干货 2016-01-14
  • Linux用户和组命令

                        groupadd命令用户和工作组管理 groupadd命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。-g:指定新建工作组的id;  -r:创建系统工作组,系统工作组的组ID小于500; -K:…

    2016-02-09
  • Linux下/proc目录详解

    Linux下/proc目录详解 proc目录总的概述 proc下有关进程的目录概述 proc下针对Linux系统相关的参数目录概述 /proc目录总的概述 1.首先,我们可以使用ll命令查看下/proc目录,如下 [root@centos6 ~]# ls -l /proc total 0 dr-xr-xr-x. 8 root root 0 May 19 04…

    Linux干货 2017-05-20
  • Linux下XFS、Ext2文件系统对比、文件管理、inode、文件名、标准I/O、管道|tee、tr -cs blog by fazionlan July.31st

    Linux下XFS、Ext2文件系统对比、文件管理、inode、文件名、标准I/O Ext2、Fat、XFS文件系统   文件系统是对一个存储设备上的数据和元数据进行组织的机制,文件系统的创建是在格式化分区的过程中完成的(一个分区就是一个系统),众所周知Windows操作系统使用的文件系统是FAT与NTFS;Linux不同的发行版本使用的文件系统主…

    Linux干货 2016-08-01
  • 马哥教育网络班22期+第3周课程练习

    1、列出系统上所有已登陆的用户的用户名,注意:同一个用户登录多次,只显示一次即可。     who | cut -d' ' -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息;    &…

    Linux干货 2016-09-26
  • 马哥教育网络班22期+第6周课程练习

    week6: 请详细总结vim编辑器的使用并完成以下练习题 vim编辑器小结: 1. vim编辑器的模式: vim编辑器有很多模式,常用模式有:Normal,Insert,Command; 通常,打开一个文件,此时所处的就是normal模式;normal模式下可以浏览,修改文件内容; 在任何模式下,只要按ESC就可以返回到Normal模式; Ins…

    Linux干货 2016-09-26

评论列表(1条)

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

    写的很好,排版还可以在漂亮一点,加油。3大题2小题跟老师的题目不一样