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

相关推荐

  • Linux-正则表达式

    REGEXP:Regular Expression 由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能 程序支持:grep,sed,awk,vim, less,nginx,varnish等 分两类: 基本正则表达式:BRE 扩展正则表达式:ERE grep -E, egrep 正则表达式引擎: 采用不同算法…

    2018-04-08
  • 一些基础命令的基本用法介绍

    节选一部分常用参数用法 基础命令 tty 切换X Window或命令行模式 Ctrl+Alt+F1~F6  tty1~tty6文字界面 Ctrl+Alt+F7  图形界面 startx 登录图形界面系统 date 日期 date +%Y/%m/%d  当前日期 date +%H:…

    Linux干货 2016-10-31
  • web服务及常见配置

    一次HTTP请求过程1、建立连接:接收或拒绝连接请求2、接收请求:接收客户端请求报文中对某资源的一次请求的过程Web访问响应模型(Web I/O)单进程I/O模型:启动一个进程处理用户请求,而且一次只处理一个,多个请求被串行响应多进程I/O模型:并行启动多个进程,每个进程响应一个连接请求复用I/O结构:启动一个进程,同时响应N个连接请求实现方法:多线程模型和…

    Linux干货 2017-10-09
  • 马哥教育网络班第20期第5周练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; 1 ]grep "^[[:space:]]\+" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; 1 ]grep "^#[[:spac…

    2016-07-22
  • Linux获取命令帮助的途径

    在学习和使用Linux的过程中,免不了会遇到一些我们不熟悉或者不知道的命令。对于这些我们不熟悉的命令,就需要查找帮助文档来获取更多信息来协助我们完成相关的工作。 如何获取Linux命令的使用帮助? 1.  针对内部命令 help [命令名] 2.  针对外部命令 [命令名] –help,    获取简要帮助…

    Linux干货 2017-09-01

评论列表(1条)

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

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