马哥教育网络班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
下一篇 2016-08-22

相关推荐

  • linux进程管理

    Linux内核:抢占式多任务 进程类型: 1、守护进程:在系统引导过程中启动的进程,与终端无关的进程; 2、前台进程:跟终端相关,通过终端启动的进程,注意:也可把前台启动的进程送往后台,以守护模式运行;   进程状态: 运行态:running 就绪态:ready 睡眠态:a、可中断:interruptable;b、不可中断:uninterrupta…

    Linux干货 2018-02-08
  • nmcli及网络配置

    2017-09-10
  • 马哥教育网络班21期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 #思路:使用who命令列出列出当明显登录的所有用户,使用cut命令取出用户名,使用uniq命令去重 [root@Centos6 ~]# who | cut -d" " -f1&n…

    Linux干货 2016-07-07
  • 5.20 TOMCAT

    需要安装JDK JAVA Development Kit //JAVA 2 SE 的接口    TOMCAT 的安装: yum 安装 #yum install -y java-1.8.0-openjdk-devel 如下界面出现的话就是安装OK 注意:安装完成后,要配置JAVA_HOME环境变量,指向java的安装路径; OpenJDK: JAVA_HOME…

    2017-07-09
  • 实现基于MYSQL验证的vsftpd虚拟用户

    马哥教育面授21期 运维 vsftpd MySQL 说明:本实验在两台CentOS主机上实现,一台做为FTP服务器,一台做数据库服务器 一、安装所需要包和包组: 在数据库服务器上安装包: yum –y install mariadb-server mariadb-devel systemctl start mariad…

    Linux干货 2016-12-21
  • SElinux

    SElinux:Secure Enhanced Linux   SElinux工作与linux内核中他所实现的功能叫做强制访问控制机制。DAC:是linux的自主访问控制。MAC:是SElinux引入的访问法则,叫作强制访问控制。   SElinux有两种工作级别:     strick:严格级别,每个进程都收到SEl…

    Linux干货 2016-09-23

评论列表(1条)

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

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