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

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


cp:复制


CP SRC DEST

    SRC是源文件:

               如果目录不存在,新建DEST,并将SRC的内容填充到DEST;

               如果目录存在:

                             如果DEST是文件,将SRC中的内容覆盖至DEST两种

                              此时建议是用-i选项:

                              如果DEST是目录,则直接原名复制。

CP SRC…   DEST

              SRC…..:多个文件

                   DEST必须存在,且为目录,其他情形会报错。

 

CP SRC DEST

             SRC是目录:

                     则使用选项:-r (递归);

                     如果DEST目录不存在,新建DEST目录,并将SRC的内容复制到新建的DEST。

                     如果DEST存在:

                                         必须是目录,则同名复制。

 

相关参数:

-a:归档保留所有属性

-r/-R: 递归

-p:保留mode,ownership,timestamp

-f:如果目标文件无法打开,则使用-f强制cp

-i:开启交互式界面

 

示例演示:

cp:

[root@localhost etc]# ll aa.sh

-rwxrwxrwx. 1 root root 0 Jul  7 22:01 aa.sh

[root@localhost etc]# cp aa.sh /root

[root@localhost etc]# ll /root/aa.sh

-rwxr-xr-x. 1 root root 0 Jul  7 22:02 /root/aa.sh

 

cp -a:

[root@localhost etc]# ll aa.sh

-rwxrwxrwx. 1 root root 0 Jul  7 22:01 aa.sh

[root@localhost etc]# cp -a aa.sh /dev

[root@localhost etc]# ll /dev/aa.sh

-rwxrwxrwx. 1 root root 0 Jul  7 22:01 /dev/aa.sh

 

cp -r:

[root@localhost ~]# ls test

a.txt  b.txt  c.txt  test_for_root  test_for_user1.sh

[root@localhost ~]# cp -r test /etc

[root@localhost ~]# ls /etc/test

a.txt  b.txt  c.txt  test_for_root  test_for_user1.sh

 

 

mv:移动

         

mv [OPTION]… [-T] SOURCE DEST

mv [OPTION]… SOURCE… DIRECTORY

mv [OPTION]… -t DIRECTORY SOURCE…

相关参数:

-i:交互式,每次移动,系统都会提示是否需要这样做;

-f:强制执行

-r:递归,移动文件夹以及文件夹内的所有内容

 

实例参照cp,其实差不多。

 

rm:删除

 

rm [OPTION]… FILE…

相关参数:

-i:交互式,每次移动,系统都会提示是否需要这样做;

-f:强制执行

-r:递归,移动文件夹以及文件夹内的所有内容

可以利用rm -rf 来删除目录下的所有子目录,包括文件。

 

实例参照cp,其实差不多。

 

 

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


命令行展开;

~:展开为当前用户的主目录;

~ username:展开为指定用户的家目录;

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

/tmp/{a,b}=/tmp/a,/tmp/b

 

命令的执行状态结果

逻辑上只有两种:成功,失败

$?:存储最近一次执行结果

利用echo $?查看。

(0:成功,1-255:失败)

 

实例:

[chenchen@localhost ~]$ echo 'this is a good begging!' &> /dev/null

[chenchen@localhost ~]$ echo $?

0

[chenchen@localhost ~]$ echp 'this is a good begging!' &> /dev/null

[chenchen@localhost ~]$ echo $?

127

 

 

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


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

[chenchen@localhost ~]$ touch /tmp/{a,b}_{c,d}

[chenchen@localhost ~]$ ls /tmp | egrep '\<.\_.\>'

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

 

[chenchen@localhost ~]$ 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}}

 

 

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

权限:定义文件属主,属组以及其他用户的权限(可读?可写?可执行?)

属主:文件的归属用户;

属组:文件的归属用户所在的群组;

大小:文件大小;

Modify time:最后一次文件的修改时间;

查看方式:ls -l 或者 ll

[chenchen@localhost ~]$ ls -l

[chenchen@localhost ~]$ ll

 

时间戳修改:

Access:最后访问时间

Modify:最后修改时间

Change:状态更改时间(由系统维护,无法随意修改)

touch -a :仅更新Access time(同时更新Change为current time)

touch -m:仅更新Modify time(同时更新Change为current time)

touch -c:不创建新文件

touch -t:使用指定的时间更新时间戳(仅更改Access time与Modify time,Change time更新为current time)

 

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

定义别名:alias  [name]=源命令

实例:

alias grep = 'grep –color = auto'

定义的别名仅对当前shell进程有效。

如果想永久有效,需要定义配置文件。

对当前用户有效:~/.bashrc

对所有用户有效:/etc/bashrc

在配置文件中定义alias之后,需要重新加载文件:利用source命令。

可使用管道符“|”来引用其他命令的执行结果:

实例:

ifconfig | egrep -o '\<addr:.{1,3}(\.).{1,3}(\.).{1,3}(\.).{1,3}\>' | cut -d: -f2

 

 

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


[root@localhost ~]# ls /var | grep '^l.\+\?[[:digit:]]\+.\+\?[a-z]$'

 

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

[root@localhost ~]# ls /etc | grep '^[[:digit:]].\+\?[^[:digit:]]$'

 

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

[root@localhost ~]# ls /etc | grep '^[^[:alpha:]].\+\?[[:alpha:]].\+\?'

 

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


[root@localhost ~]# touch /tmp/title-"$(date +%Y-%m-%d-%H-%M-%S)"

 

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

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

 

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


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

 

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


[root@localhost ~]# cp -r /etc/{l,m,n}*.conf /tmp/mytest3

原创文章,作者:N21-yoyo_chen,如若转载,请注明出处:http://www.178linux.com/23914

(0)
N21-yoyo_chenN21-yoyo_chen
上一篇 2016-07-12 11:18
下一篇 2016-07-12 11:20

相关推荐

  • Linux网络管理相关工具

      Linux本身提供了许多用于网络测试、网络排错、网络状态分析的工具,下面来看几个比较常用的工具。   一、ping命令   ping命令是利用ICMP协议还测试网络的连通性。   命令格式:ping [option] IP     常用选项:       -c #:…

    Linux干货 2016-01-14
  • Centos7上安装Ansible和基础应用

    Ansible 简介 ansible是个什么东西呢?官方的title是“Ansible is Simple IT Automation”——简单的自动化IT工具。这个工具的目标有这么几项:自动化部署APP;自动化管理配置项;自动化的持续交互;自动化的(AWS)云服务管理。所有的这几个目标从本质上来说都是在一个台或者几台服务器上,执行一系列的命令而已。通俗的说…

    Linux干货 2016-04-15
  • hadoop分布式集群

    分布式集群的实现 环境: 192.168.36.129   node1:NN,SNN,RM  192.168.36.130  node2:DN,NM 192.168.36.132   node3:DN,NM 192.168.36.133   node4:DN,NM 配置java环境,每个节点时间同步,基于主机名互相通信,定义/etc/hosts 文件 &nb…

    2017-12-09
  • 【26期】Linux第二周学习小总结

    关于用户组的一些小小的整理     本周学习很多的知识,一些文件管理的技巧和命令,重定向和管道的实用技巧和拓展,最后则是到了我们的用户组的权限和管理,既然说到了管理,我们都知道在Linux中,老师讲的最多的一句话就是一切皆文件,既然是文件就会有用户去用,在里面进行各种的操作,比如增删改查啊,对文件的重新定义啊,那我们就…

    2017-07-21
  • linux学习总结-linux基础(之一)

    一、计算机的组成及其功能 冯诺依曼结构的计算机由运算器、控制器、存储器和输入设备、输出设备五部分组成。冯诺依曼理论的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。 控制器:控制程序执行; 存储器:记忆程序和数据; 输入设备:输入数据和程序; 输出设备:输出处理结果。 二、Linux发行版 Linux的发型版本众多,大体可以分为两类,一类是商…

    Linux干货 2016-09-23
  • 文件查找:find命令、locate命令;Linux文件系统上的权限

    文件查找:find、locate locate:依赖事先构建的索引,是在系统空闲周期性自动进行;手动更新(updatedb);极其消耗资源;   find [option]… [查找路径] [查找条件] [处理动作] 查找条件: 根据文件名查找: -name “文件名称”:支持使用通配符glob(*,?,[],[…

    Linux干货 2017-12-14

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-12 11:41

    写的很好,排版还可以在漂亮一点,在尝试一下12题看看对吗?加油