马哥教育网络班21期-第二周课程练习

STOP WISHING

START DOING

                                          —- WEEKLY PLAN


内心是很不愿意写作业的,费时费力。就写作业这会时间都可以听马主持最少2节课程了。为了让按时完成作业,两个个"护法(班主任)"居然是 威胁加利诱(色诱),可怜寺里的纯情小男人立即就妥协了。那些说自己是硬汉子的人呢?当 "护法" 放出一张照片之后,我都能想象到他们狼吼+口水的画面。就差……….(此处省略1w字)

小僧早些时候在某个地方看到过这样一句话:衡量一个程序员价值的标准并不是他掌握了多少知识,而是他掌握的知识与学会这些所花的时间之比 ] 。这***让小爷很尴尬。(不知道老师怎么看?)


[root@CentOS7: ~]$ cd /作业
[root@CentOS7: /作业]$ cat week2
1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
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
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

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

小僧仅写出自己平时常用到的(脑子一时间想不到更多的),如有错误辛苦老师指出:cd,ls,pwd,chmod,cat,vim,find,grep,mkdir,rm,tail,cp,mv,wc,cut,sort,touch

示例1:进入/var/log 目录,监视message日志

[root@CentOS7: ~]$ cd /var/log/
[root@CentOS7: /var/log]$ tail -f messages
Jul  6 09:00:01 CentOS7 systemd: Removed slice user-0.slice.
Jul  6 09:00:01 CentOS7 systemd: Stopping user-0.slice.
Jul  6 09:01:01 CentOS7 systemd: Created slice user-0.slice.
Jul  6 09:01:01 CentOS7 systemd: Starting user-0.slice.
Jul  6 09:01:01 CentOS7 systemd: Started Session 77 of user root.
Jul  6 09:01:01 CentOS7 systemd: Starting Session 77 of user root.
Jul  6 09:01:01 CentOS7 systemd: Removed slice user-0.slice.
Jul  6 09:01:01 CentOS7 systemd: Stopping user-0.slice.
Jul  6 09:07:13 CentOS7 chronyd[530]: Frequency -1199959.7 ppm exceeds allowed maximum
Jul  6 09:07:13 CentOS7 chronyd[530]: System clock wrong by 331.812631 seconds, adjustment started

示例2:在/tmp目录下,新建一个test目录并在里面建立一个test文件,将/etc/passwd和/etc/group的内容放进去,将test更名为sb

[root@CentOS7: ~]$ cd /tmp/
[root@CentOS7: /tmp]$ mkdir test
[root@CentOS7: /tmp]$ cd test/
[root@CentOS7: /tmp/test]$ touch test
[root@CentOS7: /tmp/test]$ cat /etc/passwd > test && cat /etc/group >> test 
[root@CentOS7: /tmp/test]$ mv test sb
[root@CentOS7: /tmp/test]$ ls
sb

示例3:删除/tmp/test/ 内所有文件,查找/etc/下的最近1天修改过的配置文件,放到该目录

[root@CentOS7: ~]$ rm -rf /tmp/test/*
[root@CentOS7: ~]$ find /etc/ -name *.conf -type f  -ctime -1 -exec cp '{}' /tmp/test/ ';'
[root@CentOS7: ~]$ ls /tmp/test/
global.conf  resolv.conf

示例4:只显示出/etc/passwd 里面root有关的信息。只打印帐号和uid

[root@CentOS7: ~]$ grep root /etc/passwd | cut -d: -f 1,3
root:0
operator:11

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

命令执行状态只有两种结果

  • 正确

  • 错误 

执行成功返回0,错误返回1-255数字(详细信息自己搜)

#查看命令
[root@CentOS7: ~]$ bls
bash: bls: 未找到命令...
[root@CentOS7: ~]$ echo $?
127
[root@CentOS7: ~]$ ls
adduser.sh  anaconda-ks.cfg  disk.sh  testshell.sh
[root@CentOS7: ~]$ echo $?
0

命令行展开所涉及内容(笔记截图)

blob.png

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

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

[root@CentOS7: /tmp]$ mkdir -pv {a,b}_{c,d}
mkdir: 已创建目录 "a_c"
mkdir: 已创建目录 "a_d"
mkdir: 已创建目录 "b_c"
mkdir: 已创建目录 "b_d"

(2) 省略(太占地方)。小僧这么节约的一个人

[root@CentOS7: /tmp]$ mkdir -pv 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: 已创建目录 "mylinux"
mkdir: 已创建目录 "mylinux/bin"
mkdir: 已创建目录 "mylinux/boot"
mkdir: 已创建目录 "mylinux/boot/grubdev"
mkdir: 已创建目录 "mylinux/etcrc"
mkdir: 已创建目录 "mylinux/etcd"
mkdir: 已创建目录 "mylinux/etcd/init.d"
mkdir: 已创建目录 "mylinux/etcsysconfig"
mkdir: 已创建目录 "mylinux/etcsysconfig/network-scripts"
mkdir: 已创建目录 "mylinux/lib"
mkdir: 已创建目录 "mylinux/lib/modules"
mkdir: 已创建目录 "mylinux/lib64"
mkdir: 已创建目录 "mylinux/proc"
mkdir: 已创建目录 "mylinux/sbin"
mkdir: 已创建目录 "mylinux/sys"
mkdir: 已创建目录 "mylinux/tmp"
mkdir: 已创建目录 "mylinux/usr"
mkdir: 已创建目录 "mylinux/usr/local"
mkdir: 已创建目录 "mylinux/usr/local/bin"
mkdir: 已创建目录 "mylinux/usr/local/sbin"
mkdir: 已创建目录 "mylinux/var"
mkdir: 已创建目录 "mylinux/var/lock"
mkdir: 已创建目录 "mylinux/var/log"
mkdir: 已创建目录 "mylinux/var/run"
[root@localhost: /tmp]# tree 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

24 directories, 0 files

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

blob.png

修改文件时间戳信息命令:touch

blob.png

blob.png

blob.png

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

命令:aliax

小僧在用户目录下.bashrc里面进行的设定,仅对当前的root用户有效

blob.png

 

  善意的提醒:该文件内的设定之后需要通过 source 命令使设置生效。

        另外:在命令行直接使用命令设置的话只对当前进程有效       

  补充:/etc/bashrc 内设置的话将是全局有效(所有用户)

 

引用另一个命令的执行结果,可以通过管道符"|" 。示例:

[root@localhost: ~]# cat .bashrc | grep alias
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ssh5='ssh 10.90.50.217'
alias mysqll='mysql -uroot -p'

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

[root@CentOS7: ~]$ ls -d /var/l*[0-9]*[[:lower:]]

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

[root@CentOS7: ~]$ ls -d /etc/[0-9]*[^0-9]

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

[root@CentOS7: ~]$ ls /etc/[^[:alpha:]][[:alpha:]]*

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

[root@CentOS7: ~]$ touch tfile-`date +%F-%H-%M-%S`

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

[root@CentOS7: ~]$ cp /etc/p*[^0-9] /tmp/mytest1

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

[root@CentOS7: ~]$ cp /etc/*.d /tmp/mytest2/

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

[root@CentOS7: ~]$ cp /etc/[lmn]*.conf /tmp/mytest3/

总结:

写作业的时候,小僧比较忙。过程会以完任务形式进行。。,but 我还是较为用心的。不足之处已心中了然。

 

2016年 07月 06日 星期三 16:46:32 CST


THE END

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

(0)
勇爷勇爷
上一篇 2016-07-07 10:51
下一篇 2016-07-07 10:51

相关推荐

  • 新开始,新航程

           每一个夏天都是变动的季节,这个夏季我毕业了。大学最后的时光是在实验室度过的,每天都被瓶瓶罐罐所包围,鼻子里不时的飘进乙酸乙酯的香味,研究完了生物柴油的催化,是时候该为自己的未来找一条出路了。         大二的时候出于对计算机的着迷,一不小心点进了51cto,从此就走上了不归路。从计算机网络到linux,再到mysql,我在这个世界里乐此不…

    Linux笔记 2018-07-21
  • FTP服务介绍及相关实验

    FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。FTP协议是早期的三个应用级协议之一。

    2018-06-26
  • linux的终端类型

    Linux系统的终端类型    Linux系统的终端主要包括控制台终端、控制终端、串口终端、伪终端、虚拟终端。                 1.  控制台终端(/dev/console)。    在Unix系统中,计…

    Linux干货 2016-10-19
  • linux网络属性管理

    Linux网络属性配置 计算机网络:TCP/IP:协议栈(使用)ISO,OSI:协议栈(学习) MAC:Media Access Control48bits:ICANN:24bits, 2^24地址块:2^24 网桥(bridge):MAC地址表静态指定:动态学习:根据原地址学习; 交换机(switch):多端口网桥; IP(Internet protoco…

    Linux干货 2017-10-14
  • Linux软件包管理与实例

    Linux系统的早期,编译是利用程序代码生成可执行文件的过程的手动编译。虽具有一定优势,但是专业知识要求高,不利于实际操作。因此出现了许多软件包管理器,最具代表的是由Red Hat 推出的RPM。Yum则有利于解决linux安装软件时的依赖性。 所谓依赖性,就是linux系统中的软件将不同的功能模块单独写入到不同的软件包中,最后将多个相互依存的软件包结合起来…

    2017-08-13
  • 马哥教育网络班22期+第1周课程练习

    Linux的发行版以及不同发行版之间的联系与区别    Linux发行版主要的大分支有三个:dibian  S.U.S.E  redhat 一个操作系统由kernel和application组成。编译封装的时候根据不同的application,可以编译成不同的发行版本。 所有的linux发行版都是基于GPL的版权,它们…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-07 11:00

    写的很好,排版也很棒,为了照片,你可以几个明亮的常用参数加以说明,加油