马哥Linux第二周作业

第二周作业(6.25-7.1)

第二周作业(6.25-7.1)

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

答:Linux上的文件管理类命令有如下部分:

(1)pwd(printing working directory):显示工作目录

格式: pwd [OPTION]…

OPTION:

​ -L, –logical use PWD from environment, even if it contains symlinks(即使路径是链接也用pwd命令查看)

​ -P, –physical avoid all symlinks(不打开链接)

例如:pwd /ls

(2)cd(change directory)切换目录

格式: cd [/PATH/TO/SOMEDIR]

​ cd ~(USERNAME) :可切换至用户名的家目录

​ cd – :在上一级目录与当前目录之间随意切换

​ cd $PWD

例如:cd ~/etc 切换到etc目录之下

(3)ls (list) 到指定目录下的内容

格式:ls [OPTION]…[FILE]…

OPTION: -a : 显示所有文件,包括隐藏文件

​ -A:显示除 . 和 .. 之外的文件

​ -l : 显示文件的详细属性信息

​ -d : 查看目录自身路径而非内部文件的列表

​ -r :逆序目录

​ -R: 递归显示目录下所有文件

例如:ls -l /var/log (显示log文件的详细属性)

(4) cat (concatenate):文本文件查看工具(不能查看二进制文件)

格式:cat [OPTION]…[FILE]…

OPTION:

​ -n : 给显示的文本行编号

​ -E : 显示行结束符$

例如: cat /etc/fstab

(5) tac : 文本文件查看工具,是cat显示的逆序形式

格式:cat [OPTION]…[FILE]…

OPTION:

​ -n : 给显示的文本行编号

​ -E : 显示行结束符$

(6) echo :回显命令

格式:echo [SHOR-OPTION]…[STRING]…

OPTION:

​ -n : 不进行换行

​ -e:让转移符生效

STRING:

​ 单引号:强引用,变量引用不执行替换

​ 双引号:弱引用,变量引用会被替换

例如: echo “hello\n ereryone ” 与 echo -e “hello\n ereryone ” 显示结果不同

(7) shutdown : 关机并切断电源

格式:shutdown OPTIONS[WALL…]

OPTIONS :

​ -h : 关机

​ -r:重启

​ -c:取消关机

TIME :

​ now : 现在

​ hh:mm :几点几分关机

​ +m : 过几分钟之后

例如: shutdown -r +5 (通知每个用户终端5分钟后重启)

(8) date 显示和修改日期

格式:date [OPTION]…[+FORMAT]

​ date MMNNhhmm[[cc]YY]

例如: 修改时间

(9) clock 查询和设定硬件时钟

格式:shutdown [OPTIONS]

OPTIONS:

​ -s :系统设定时间与硬件一致,硬件为准

​ -w :硬件时间设定与系统时间一致,系统为准

(10) cal 显示日历

格式:cal [[month] year]

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

    答:bash的基础特性之-命令的执行状态结果:

    命令执行完成之后中间不能执行其他命令,其命令状态返回值保存在bash的特殊变量$?中。而命令执行的状态结果有两种,一种是成功(返回0)一种是失败(返回1-255状态码),例如在命令执行之后立即输入命令#: echo $?,若返回0则代表命令执行成功,若返回其他数字则表明命令执行失败。$符号也可以用来引用命令执行的结果,例如要创建一个以当前时间作为名称的文件时可以 #:mkdir $(date +%H-%m-%s) 用次命令执行。

    bash的基础特性之-命令行展开:

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

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

    例如: /tmp/{a,b,c} 相当于 /tmp/a /tmp/b /tmp/c 路径的集合表现形式

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

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

    ​ 答:#:mkdir -v {a,b}_{c,d}

    (2) : 创建/tmp/mylinux目录下的一系列子目录

答:# :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}}

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

答:文件的数据分为两种:一种是描述数据属性的一类,一种就是数据本身。文件的元数据查看为stat命令,例如如下所示:

[root@localhost mylinux]# stat /tmp/mylinux/

文件:”/tmp/mylinux/” 大小:143 块:0 IO 块:4096

目录设备:fd00h/64768d Inode:643 硬链接:14

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

环境:unconfined_u:object_r:user_tmp_t:s0

最近访问:2018-06-30 11:13:06.132151399 +0800

最近更改:2018-06-30 11:12:25.850338418 +0800

最近改动:2018-06-30 11:12:25.850338418 +0800创建时间:-

其中:

file(文件):文件名

size(大小):文件大小

block(块):文件占了多少数据块的块大小

IO Block(IO块):文件所占数据块的块大小

Device(设备):硬件,说明该文件在硬盘的那个柱面

Inode : 节点号

links(硬链接):链接

权限:第一个Access权限,Uid : 该文件所属的属主,Gid : 该文件所属的属组

context(环境): 上下文(发生事情的环境, 背景, 来龙去脉; 前后关系)

accesstime(最近访问):文件上一次的访问时间

modifytime(最近改动):文件上一次修改的时间

changetime(最近改动):文件上一次属性更改的时间

如何修改文件时间戳:利用touch命令可以改变时间戳,也可创建一个文件

格式:touch [OPTION]…FILE…

OPTION:

-C : 指定的文件路径不存在时不予以创建

-a:只改最近访问时间

-m:只改最近更改时间

-t:指定改某一时间

  1. 如何定义一个命令别名,如何在命令中应用另一个命令的执行结果?

    答:查看别名的命令 alias 可以获取所有可用别名

    格式: #: alias NAME=”COMMAND”

    撤销别名的命令 unalias

    格式:#: unalias NAME

    在命令应用中应用另一个命令的执行结果使用特殊字符$

    格式: $(COMMAND)

    例如在命令中应用此刻时间新建一个文件

    #:mkdir $(date +%H-%m-%s)

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

    答:[root@localhost ~]# ls /var/1*[[:lower:]]

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

    答:[root@localhost ~]# cat /etc/[[:digit:]][^[:digit:]] 或[root@localhost ~]# ls /etc/[0-9]*[^0-9]

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

    答:[root@localhost ~]# cat /etc/[^[:alpha:]]?*

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

    答:[root@localhost ~]# mkdir /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)

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

答:[root@localhost ~]# cp -r /etc/p*[^0-9] /tmp/mytest1

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

答:[root@localhost ~]# cp -r /etc/*.d /tmp/mytest2

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

答:[root@localhost ~]# cp -r /etc/[1,m,n]*.conf /tmp/mytest3

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/102022

发表评论

登录后才能评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.

评论列表(1条)

  • 马哥教育
    马哥教育 2018-07-18 22:11

    从内容上看作者比较认真,格式也比较清晰,期待后续实验的作品。

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code