N32(第二周)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了N32(第二周)相关的知识,希望对你有一定的参考价值。

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

A、目录管理类命令:cd pwd ls mkdir redir tree
  • cd (change directory):改变工作目录
  • 使用方法:cd /path/to/directory
    cd:切换回家目录
    cd ~:切换回家目录
    cd ~USERNAME 切换到指定目录的主目录
    cd -:在上一次目录与当前目录之间进行切换

技术分享图片

  • pwd (printing working directory):显示当前工作目录
    相关环境变量
    $PWD:当前的工作目录 echo $PWD
    $OLDPWD:上一次的工作目录 echo $OLDPWD

技术分享图片

  • ls:list列出指定目录下的内容
    ls [option]…[file]…
    -a:显示所有文件,包括隐藏文件
    -A:显示除 . 和 .. 之外的所有文件
    -l:长格式显示,显示文件的详细属性信息
    -h:将文件大小单位换算成人类易读单位
    -d:查看目录本身,而非目录内部文件
    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片

  • mkdir:创建目录
    mkdir [option]…directory…
    -p:目录不存在时自动创建目录,存在时不返回错误信息
    -v:显示详细过程
    -m:创建目录是直接指定权限
    技术分享图片

  • rmdir:删除目录
    注:只能删除空目录
    rmdir [option]…[directory]…
    -v:显示执行过程
    -p:删除某目录后,如果父目录为空则一并删除
    技术分享图片

  • tree:查看目录结构
    -d:只显示目录
    -L level:显示指定的层级数目
    -P pattern:只显示指定pattern匹配到的路径
    技术分享图片
B、文件查看命令:cat head tail less more
  • cat :一次性显示文件所有内容
    -n:给显示内容进行文本编号
    技术分享图片

  • head:显示文件前几行
    -n #:显示文件前#行
    -c #:显示文件前#字节内容
    技术分享图片

  • tail:显示文件后几行
    -n #:显示后#行
    -c #:显示后#字节内容
    -f:动态显示文件内容,退出ctrl + c
    技术分享图片

  • more:
    注:到文件底部自动退出
    more [options] file […]
    -d:显示翻页及退出提示

  • less:与more相反
    注:到文件底部不自动退出,需手动退出(q)
C、文件管理类命令:cp mv rm
  • cp:复制命令
    cp [option]…[-T] source dest
    cp [option]…source…directory
    cp SRC…DEST
    a、 SRC是文件
    a) 目标不存在:新建DEST,将SRC内容复制到DEST中
    b) 目标存在
    DEST是文件:将SRC内容覆盖到DEST
    DEST是目录:在DEST中新建SRC同名文件,并将内容复制到其中
    b、 SRC是目录
    a) DEST不存在:新建DEST目录,并将SRC内容复制到DEST目录中
    b) DEST存在
    不是目录:报错
    是目录:在DEST目录下创建与SRC同名目录,并将SRC内容复制到DEST中
    常用选项:
    -i:交互式
    -r:递归复制目录
    -p:保持原有文件的属性信息
    -f:强制覆盖
    -v:显示过程
    技术分享图片

  • mv:移动、更名命令
    -i:交互式
    -f:强制
    技术分享图片

  • rm:删除命令
  • rm [option]… file…
    -i:交互式
    -f:强制
    -r:递归

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

  • 命令的执行结果状态
    成功:0
    失败:1-255
    bash使用 $? 保存上一条命令的执行状态结果:echo $?

  • 命令行的展开
    ~:展开为用户的主目录
    ~USERNAME:展开为指定用户的主目录
    { }:可承载一个以逗号分隔的列表,并将其展开为多个路径
    技术分享图片

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 -pv /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、文件的元数据有哪些,分别表示什么含义,如何查看,如何修改文件的时间戳信息

元数据:文件名、大小属性等,可通过命令stat filename查看

状态信息三个时间戳:
access time:访问时间,atime即通过cat,more读取内容
modify time:修改时间:mtime即改变文件内容
change time:改变时间:ctime即元数据发生改变
时间戳管理命令:touch
    touch [opeion]…FILE…
        -a:修改atime
        -m:修改mtime
        -t [[CC]YY]MMDDhhmm[ss.]:修改指定时间戳为某时间
        -c:文件不存在时不创建文件

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

alias:别名定义、查看命令
定义别名:alias ALIAS_NAME=’COMMAND’
    注:仅对当前shell生效,永久生效
        ~/.bashrc:仅对当前用户有效
        /etc/bashrc:对所有用户有效
撤销别名:unalias ALIAS_NAME

使用管道可以引用另一个命令的执行结果

技术分享图片

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

ls -d /var/l*[[:digit:]]*[[:lower:]]

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

ls -d /etc/[0-9]*[^[:digit:]]

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

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

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目录中

cp -r /etc/p*[^[:digit:]] /tmp/mytest1

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

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

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

cp /etc/{l,m,n}*.conf /tmp/mytest3

以上是关于N32(第二周)的主要内容,如果未能解决你的问题,请参考以下文章

《实时控制软件》第二周作业

第二周续.(代码)

20165302第二周学习总结

20165306课下作业(第二周)

20165233 第二周课堂代码补充

第二周