马哥教育网络班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

相关推荐

  • 详解 /etc/inittab 文件

    当内核初始化后,就会启动第一个进程 init,init进程会进行一系列的系统初始化工作,init是根据什么来进行初始化的? init 会读取/etc/inittab文件(针对CentOS 5 系列),执行里面的内容来进行初始化工作,这个文件是一定的格式。 获取inittab文件的帮助,输入 man inittab 命令 过滤掉空白行和以#号开始的行,内容如下…

    Linux干货 2015-03-10
  • 文件系统上的权限管理

                        文件系统上的权限管理: 一 、三种权限       &nbs…

    Linux干货 2017-04-03
  • Linux文件管理命令和bash基础特性

    1、Linux上的文件管理命令都有哪些,其常用的使用方法及其相关示例演示  文件管理命令:mkdir,rmdir,cp,mv,rm,cat,tac,head,tail,more,less mkdir命令:   mkdir – make directories   mkdir [OPTION]… DIREC…

    2017-07-13
  • 深入理解java异常处理机制

     1. 引子        try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正…

    Linux干货 2015-04-12
  • N25第九周博客作业

    1、 写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/sh lg=0 nlg=0 while read line;do   if [[ “${line}” =~“/sbin/nol…

    Linux干货 2017-03-06
  • python使用paramiko 模块建立ssh通讯

    一 paramiko简介 下文是我从别人博客那里copy下来的: paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。 由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOSX, Windows…

    Linux干货 2017-03-07

评论列表(1条)

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

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