码迷,mamicode.com
首页 > 其他好文 > 详细

第二周作业

时间:2016-08-10 22:58:24      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:第二周作业

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

 文件管理类的命令:
        查看:cat, tac, head, tail, less, more
        时间戳管理:touch
        复制:cp
        移动:mv
        查看元数据属性:stat
        文本编辑器:nano, vi

    stat: 显示文件的元数据
        时间戳:
            atime
            mtime
            ctime

    touch:改变文件的atimemtime
        touch [option]... FILE
            如果FILE不存在,默认会创建一个空文件

            -a: 仅改变atime
            -m: 仅改变mtime
            -c: 不创建空文件
            -t [[CC]YY]MMDDhhmm[.ss]

    文件查看类命令:
        cat: 连接并显示文本文件内容

        数据流:stream

            -E:显示行结束符
            -n: 显示行号

        tac: 逆序显示文件内容

            Shift+PageUp/PageDown: 翻屏

        分屏显示:
            more 和 less

        查看首部或尾部的部分内容:
            head
            tail
                -n #: 指定的行数

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

命令行展开

            ~:展开为用户的主目录

            ~USERNAME:展开为指定用户的主目录

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

                /tmp/{a,b}=/tmp/a,/tmp/b

                /tmp/{tom,jerry}/hi=/tmp/tom/hi,/tmp/jerry/hi

    命令的执行结果状态

        成功:0

        失败:1-255

        bash使用特殊变量$?保存最近一条命令的执行状态结果:

        echo $?
3、请使用命令行展开功能来完成以下练习:
(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}}

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

文件的时间戳管理工具:

touch

文件:metadata,data

 File: `bin‘   文件

 Size: 4096  大小

 Blocks: 8   块大小

 IO Block: 4096 输入输出块大小  

 Directory  Device: 802h/2050d设备    

 Inode: 2883666  iNode号   Links: 2  链接

 Access: (0755/drwxr-xr-x) 权限 Uid: (    0/    root)   Gid: (    0/    root)

 Access: 2016-06-19 06:42:46.032726013 +0800

 Modify: 2016-06-19 06:42:46.032726013 +0800

 Change: 2016-06-19 06:42:46.032726013 +0800

        查看文件状态:stat

        三个时间戳:

            access time:访问时间,简写为atime,读取文件内容

            modify time:修改时间,mtime,改变文件内容(数据)

            change time:改变时间,ctime,元数据发生改变

    touch命令:

         touch [options]...FILE...

            -a:only atime

            -m:only mtime

            -t stamp:

                [[cc]yy]mmddhhmm[.ss]


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

命令别名(alias)

    通过alias命令实现

    (1)alias

        显示当前shell进程所有可用的命令别名

    (2)alias NAME=‘VALUE‘

        定义别名NAME,其相当于执行命令VALUE

注意:在命令行中定义的别名,仅对当前shell进程有效

        仅对当前用户:~/.bashrc

        对所有用户有效:/etc/bashrc

    note:编辑配置给出的新配置不会立即生效

    bash进程重新读取配置文件:

        source /path/to/config_file

        ./path/to/config_file

例子:alias cdnet=’cd /etc/sysconfig/network-scripts‘

    撤销别名:unalias

    unalias [-a] name [name...]

    note:如果别名同原命令的名称,则如果要执行原命令,可使用“\COMMAND


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

ls -d  /var/l*[0-9]*[[:lower:]]
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

ls -d  /etc/[0-9]*[^0-9]
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

ls -d  /etc/[^:alpha:][:lower:]*
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-08-06-09-32-22。

touch  tfile-`date +"%Y-%m-%d-%H-%M-%S"`
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

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

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

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

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

 


第二周作业

标签:第二周作业

原文地址:http://654057524.blog.51cto.com/11637454/1836672

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!