第二周 博客作业

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

文件管理命令:rm  mv cp

      cp 复制命令

      cp   源文件   目标文件 

         工作机制:如果目标是一个目录,则以源文件同样的名字,创建到目标目录下,再把数据添加进去;如果目标不是一个目录,则先查看以目标命名文件是否存在,如不存在,则以指定的目标文件名,创建一个文件,并将源文件数据导入,如存在,责询问是否覆盖;复制多个源文件时,需要先创建目录,如果目标目录不存在,则失败,目标文件不为目录,也会失败。

  

   常用选项:

        

        -f= force,不询问是否覆盖,直接覆盖。

        -a= 会复制源文件的所有元数据。

       -r\-R= 递归复制目录

             cp /etc/issue /tmp        复制etc下的issue到tmp目录下

             cp /etc/issue /tmp/11123  复制etc下的issue到tmp目录下并改名11123

             cp /etc/issue /etc/redhat-release /tmp  复制etc下的issue和redhat-release到tmp目录下

             cp -r /etc /tmp           复制etc下的所有文件到tmp目录下

             

       mv  改名、剪切命令

   

            mv   源文件  目标文件

         工作机制和cp命令相同,只是是剪切文件,如果源文件和目标文件都为同一个目录是则就等于改名。

 

    常用选项:

                    -i= 交互式

                  -f= force 

 

    rm  删除文件

         rm   选项   文件

     常用选项:

             -r= 递归删除

             -f= force 强制执行,不询问

              -i= 交互式

         rm -rf /tmp/etc          删除/tmp下的etc目录,不询问,强制删除

linux中删除文件后几乎无法找回,建议创建一个目录做为保存不用的文件存储,过一段时间确定不用,在进行删除

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

    bash基础特性: 命令行展开和命令状态返回值

       命令行展开 {} 

         

            如果要对多个文件进行操作,且都路径相近时,可以用花括号代替写重复的路径;

       例:

          要查看/etc/issue和/etc/redhat-release 内容

          可以写成  cat /etc/issue /etc/redhat-release 

          使用命令行展开功能

          则写成    cat etc/{issue,redhat-release}

   

       命令状态返回值

          

          我们在输入一个命令,例如敲一个命令在屏幕上返回的结果称为命令执行结果,一个命令敲完时,使用$?查看命令返回值 0位成功执行 1-255位执行失败。

例:

          ls /

           $?   状态返回值为0

           lss /

           $?   状态返回值不为0 表示上一条命令执行错误

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

    (1)、创建/tmp目录下的:a_c,a_d,b_c,b_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

     1:

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

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

     2:

         mkdir -p /tmp/mylinux/{bin,boot/{grub},dev,etc/{xc.d/init.d,sysconfig/network-scripts},lib/nodules,lib64,proc,sbin,sys,tmp,user/local/{bin,sbin},var/{lock,log,run}}

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

     使用stat命令查看所有元数据

     stat /tmp    查看tmp目录的元数据   输出结果为下:

                文件:"/tmp"

大小:4096       块:8          IO 块:4096   目录

设备:fd00h/64768d Inode:8388738     硬链接:7

权限:(1777/drwxrwxrwt)  Uid:(    0/    root)   Gid:(    0/    root)

环境:system_u:object_r:tmp_t:s0

最近访问(accees time):2016-11-02 16:16:58.165040911 +0800

最近更改(modify time):2016-11-02 16:16:56.329040766 +0800

最近改动:2016-11-02 16:16:56.329040766 +0800

创建时间:-

主要关注最近访问时间(access time)和最近更改时间(modify time) 访问时间指的是最后一次类似于cat命令查看时的时间,最近更改则为里面的内容改动,最近改动指的是上述两种任意时间改动,均会改动,这三种时间称为时间戳信息。

        可以使用touch改动时间戳  

  touch   FILE

选项:

           -a=改动access time

           -m=改动modify time

           -t=改为指定时间(如不指定都会将时间改为当前时间)

        示例:

            touch -a -t 201111111111.11 FILE   将FILE的access time 改为2011年11月11日11点11分11秒。

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

     alias  定义命令别名。

     示例 :  alias mm='date'

     定义之后敲入mm命令=执行date, 只对当前shell有效,登出失效

     使用$(COMMAND)或者` `命令引用  列入我要将当前时间追加写入文件/tmp/123中:

     

     echo `date` >> /tmp/123

     

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

   ls /var/l*[0-9]*[[:lower:]]

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

   ls /etc/[0-9]*[^0-9]

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

    

   ls /etc/[^[:alpha:]][[:alpha:]]*

   ls /etc/[^a-z][a-z]*

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

   

   touch /tmp/tfile`date +%Y-%m-%d-%H-%M-%S`

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

   mkdir /tmp/mytest2

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

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

   mkdir /tmp/mytest2 

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

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

   mkdir /tmp/mytest3

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

原创文章,作者:N24_Ghost,如若转载,请注明出处:http://www.178linux.com/57254

(0)
N24_GhostN24_Ghost
上一篇 2016-11-03 15:27
下一篇 2016-11-03 20:06

相关推荐

  • rsyslog学习

    一、rsyslog日志服务简介 二、rsyslog的配置详解 三、实现日志服务器收集日志及last、lastb、dmseg命令的使用 四、实现日志存储在mysql中 一、rsyslog日志服务简介 日志的概念好理解,日志作用可用于排障和追溯审计的等 1、rsyslog是一个C/S架构的服务,可监听于某套接字,帮其它主机记录日志信息,在linux系统中可以分类…

    Linux干货 2016-10-24
  • mysql进阶之MySQL查询

    一、MySQL多表查询和子查询 别名:as        表别名        字段别名        查询结果亦可命名别名   联结查询:事先将两张或多张表join,根…

    2016-11-18
  • rpm实现LAMP

    rpm实现LAMP部署 LAMP概述 LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web应用平台。常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同…

    Linux干货 2016-11-02
  • keepalived+nginx

    keepalived可以认为是VRRP协议在Linux上的实现,主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。本文基于如下的拓扑图: 配置keepalived+nginx的方…

    Linux干货 2016-11-04
  • N21-北京-兔锅-马哥教育网络班21期+第二周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 A.wc命令: 功能:统计指定文件中的字节数、字数、行数,并将统计结果显示输出 语法:wc [选项]文件… 参数: -c:统计字节数。 -l:统计行数。 -m:统计字符数。这个标志不能与 -c 标志一起使用。 -w:统计字数。一个字被定义为…

    Linux干货 2016-07-07
  • LVM2基本应用,扩展及缩减实现

    LVM(Logical Volume Manager,逻辑卷管理)是CentOS6中常用的磁盘管理的工具。常用于CentOS6上,提供了分区的动态扩展、缩减等功能。目前的常用版本为LVM2。 结构: 一、物理卷 LVM的物理卷以分区为单位。通常情况下,会以一个硬盘一个分区的情况下进行容量扩展。 在分区之后,要使用fisk命令来改变分区的类型,LVM的磁盘类型…

    Linux干货 2016-02-25

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-10 20:13

    总结的比较详细,能注意下排版会更好~加油~