马哥教育网络班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
下一篇 2016-07-07

相关推荐

  • M25开篇”如何学习Linux”

    首先有幸参加马哥linux运维工程师培训,在接下来的四个半月里如何学好linux,首先得了解什么是linux? 在开班前对linux的初步了解中知道linux是免费、开源、拥有广泛而开放的linux社区的一款服务器操作系统,比较于windows和linux的用处都各有特点。 windows的用户体验众人皆知,作为一款亲民友善的系统,没有学习成本,甚至学龄前童…

    2017-07-11
  • locate,find文件查找

    locate | find *** locate 路径中包含字符串 即匹配;      -n#     指定显示结果前几个      -b      只匹配路径名中的基名      &nbs…

    Linux干货 2016-08-15
  • HipHop PHP实战(详解web运行模式)

    Note: These code examples assume the HipHop compiler is fully built. 1 . Setting Up Your Environment (构建环境) To get started, you need to configure two environment variables. cd…

    Linux干货 2015-04-10
  • 第三周作业

    1.列出当前系统上所有已经登录的用户名,同一个用户登录多次,只显示一次 [root@localhost ~]# who |awk '{print $1}'|sort -u root 2.取出最后登录到当前系统的用户的相关信息 [root@localhost ~]#&nb…

    Linux干货 2016-12-13
  • 马哥教育网络班22期+第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。     [root@director2 ~]# cp -a /etc/skel /home/tuser1   &n…

    Linux干货 2016-08-29
  • 第六周作业补充-vim简介及其使用方法详细介绍

    What       Vim是由Vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在Unix& Unix Like操作系统中被广泛使用。和Emacs并列成为Unix& Unix Like操作系统中最受欢迎的文本编辑器 When& Who  &nb…

    Linux干货 2016-09-26

评论列表(1条)

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

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