马哥教育网络21期+第二周练习博客

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

常用文件管理类命令有cp、mv、rm。

# cp命令:文件复制命令

    cp [OPTION]… [-T] SOURCE DEST 单文件复制

    cp [OPTION]… SOURCE… DIRECTORY 多源文件复制

    cp [OPTION]… -t DIRECTORY SOURCE… 多源文件复制的另一种方式

常用选项:

    -i:交互之前提醒用户确认

    -f:强行覆盖

    -r:递归复制目录;即复制文件及目录

    -d:复制链接文件本身,而非复制其链接的源文件

    -a:相当于 –drarchive用于实现归档

    –preserv=

             Mode:权限

             Ownetship:属主和属组

             Timestamps:时间戳

             Xattr:扩展属性

             Links:符号链接

             All:上述所有属性

单文件复制演示:

1

2

3

[root@localhost ~]# cp /var/log/boot.log /tmp/wangxg/

[root@localhost ~]# ls /tmp/wangxg/

boot.log

多源复制演示:

1

2

3

4

5

6

[root@localhost ~]# cp /var/log/{btmp,dmesg} /tmp/wangxg

[root@localhost ~]# ll /tmp/wangxg

总用量 112

-rw-r--r--. 1 root root 12838 7月  19 20:44 boot.log

-rw-------. 1 root root     0 7月  19 20:45 btmp

-rw-r--r--. 1 root root 94994 7月  19 20:45 dmesg

多源复制演示2:

1

2

3

4

5

6

7

8

9

10

11

12

13

[root@localhost ~]# cp -ir /var/log /tmp/log

[root@localhost ~]# ll /tmp/log/

总用量 2128

drwxr-xr-x. 2 root root    4096 7月  19 21:53 anaconda

drwxr-x---. 2 root root      22 7月  19 21:53 audit

-rw-r--r--. 1 root root   12838 7月  19 21:53 boot.log

-rw-------. 1 root root       0 7月  19 21:53 btmp

-rw-------. 1 root root    1536 7月  19 21:53 btmp-20160719

drwxr-xr-x. 2 root root       6 7月  19 21:53 chrony

-rw-------. 1 root root    6097 7月  19 21:53 cron

-rw-------. 1 root root   14798 7月  19 21:53 cron-20150718

-rw-------. 1 root root   98902 7月  19 21:53 cron-20150718

-rw-------. 1 root root  139236 7月  19 21:53 cron-20160719

# mv命令:文件移动或文件重命名命令

    如果目标文件在同一目录则重命名,反之则移动文件。

    mv [OPTION]… [-T] SOURCE DEST

    mv [OPTION]… SOURCE… DIRECTORY

    mv [OPTION]… -t DIRECTORY SOURCE…

#rm命令:文件删除命令

    rm [OPTION] [file…]

常用选项: 

    -r:递归删除

    -f:强制删除

删除演示

1 [root@localhost ~]# rm -rf /tmp/log/

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

  • bash特性之命令行执行状态返回值:

    命令执行结果无非有两种:一种是成功,一种是失败,在bash中命令执行成功则使用0表示,执行失败则使用1-255表示

1  ~]#echo $? 查看命令执行状态(注:仅能显示最近一次命令执行结果)

    引用命令的执行结果:

        $(COMMAND)

        或`COMMAND`

    例如:mkdir $(date +%T)  引用当前时间来创建文件名

    示例

1

2

3

4

5

[root@localhost ~]# mkdir /tmp/z

[root@localhost ~]# echo $?

0

[root@localhost ~]#

0:表示命令执行成功

  • bash特性之命令行展开

    ~:自动展开为用户家目录

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

  • 示例:

1 [root@localhost ~]# mkdir /tmp/{a,b}  相当于 mkdir /tmp/a  和 mkdir /tmp/b

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

1

2

3

4

5

6

7

root@localhost tmp]# mkdir {a,b}_{c,d}

[root@localhost tmp]# ls -l

总用量 76

drwxr-xr-x. 2 root root     22 7月  22 23:17 a_c

drwxr-xr-x. 2 root root     22 7月  22 23:17 a_d

drwxr-xr-x. 2 root root     22 7月  22 23:17 b_c

drwxr-xr-x. 2 root root     22 7月  22 23:17 b_d

1

2

3

[root@localhost tmp]# mkdir -p 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}}

[root@localhost tmp]# tree mylinux


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

元数据包含信息:

1

2

3

access time:访问时间,简写为atime,读取文件内容

modify time: 修改时间, mtime,改变文件内容(数据)

change time: 改变时间, ctime,元数据发生改变

查看方式:

1 # stat [OPTION]... FILE...

修改文件的时间戳信息:

1

2

3

4

5

6

7

touch命令:

  # touch [OPTION]... FILE...

        修改atime和mtime时间戳

            -a:只改atime

            -m:只改mtime

            -t:YYYYMMDDhhmm[.ss] :修改为指定的时间

            -c:如果文件不存在,则不予创建


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

(1)alias命令用于定义命令别名

1

2

3

~]# alias

# alias NAME=’COMMAND’定义别名

# unalias NAME 撤销别名

注意:仅在当前shell进程有效!)即:有时间限定、有位置限制

永久有效设置方法:写入文件内。

文件类型一:仅对当前用户有效~/.bashrc

文件类型二:对所有用户有效:/etc/bashrc

需要重新读取配置文件生效:source /.bashrc或者./.bashrc

(2)命令引用方法

$(COMMAND)

或者‘COMMAND’

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

1 # ls /var/l*[0-9]*[[:lower:]]


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

1 # ls  /etc/[0-9]*[^0-9]


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

1 ls /etc/[^a-z][a-z]*


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

1

2

3

4

5

6

7

8

9

10

11

[root@MyServer ~]#  touch /tmp/tfile-$(date +%F-%H-%M-%S)

[root@MyServer ~]# ll

total 8

-rw-r--r-- 1 root root    0 Jul 22 21:11 3

-rw-r--r-- 1 root root   27 Jul 21 22:43 aa.txt

-rw-r--r-- 1 root root    0 Jul 22 23:13 a_c

-rw-r--r-- 1 root root    0 Jul 22 23:13 a_d

-rw-r--r-- 1 root root    0 Jul 22 23:13 b_c

-rw-r--r-- 1 root root    0 Jul 22 23:13 b_d

drwxr-xr-x 2 root root 4096 Jul 22 23:34 shell

-rw-r--r-- 1 root root    0 Jul 22 23:20 tfile-2016-07-17-21-20-46


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

12 #mkdir /tmp/mytest1#cp -rf /etc/p*[^0-9] /tmp/mytest1

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

12 #mkdir /tmp/mytest2 #cp -r /etc/*.d /tmp/mytest2

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

12 #mkdir /tmp/mytest3#cp /etc/[l,m,n]*.conf /tmp/mytest3

备注:第二周作业

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

(0)
Net21_XUNet21_XU
上一篇 2016-07-26 16:54
下一篇 2016-07-26

相关推荐

  • 第一周作业

    1、描述计算机的组成及其功能。 计算机的基本功能:数据处理、数据存储、数据传输、控制; 计算机中的数据:包含计算机所能处理的给中对象,如数值、字符、图形、图像、声音、视频等。 计算机的所有功能都是通过指令实现的。 指令:是计算机硬件能直接识别并执行的命令,不同种类的计算机通常有着不同的指令编码,一台计算机的所有指令集合称之为指令系统。若干条指令组成的一个指令…

    Linux干货 2016-12-12
  • ansible

    运维工具介绍 Ansible Ansible优点:  Agentless       (去中心化)  Stupied Simple (上手简单,学习曲线平滑)  SSH by default (安全,无需安装客户端)  YAML no code,定制剧本 (语法简单,维护方便) 自动工具衍…

    Linux干货 2017-05-23
  • 正则表达式练习

       grep练习  : 1 、显示/proc/meminfo 文件中以大小s 开头的行:  2 、显示/etc/passwd 文件中不以/bin/bash 结尾的行      3 、显示用户rpc 默认的shell        4 、找出/etc…

    Linux干货 2016-08-10
  • ​入学了

    入学了

    Linux干货 2016-10-31
  • sed命令初识

           sed是一种流编辑器,它是文本处理中非常常用的工具,能够配合正则表达式使用。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自…

    Linux干货 2017-12-03
  • 文本处理工具-习题

    1 、找出ifconfig 命令结果中本机的所有IPv4地址 [root@centos7 ~]# ifconfig |head -2 |tail-1 |cut -dn -f2 |cut -d" " -f2 2 、查出分区空间使用率的最大百分比值 [root@centos7 ~]# df |cut -c44-46 |sort -n|tail…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-27 11:31

    写的很好,排版还可以在漂亮一点,加油