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

相关推荐

  • bash语句的具体应用之“显示/etc/passwd文件中ID号最大的用户的用户名​”

    问题:显示/etc/passwd文件中ID号最大的用户的用户名 回答:sort -t; -k3 -n /etc/passwd | tail -1 |cut -d: -f1 看似很简答的一个回答,其实其中包含了多个命令的使用方法: 第一个用到的命令:sort sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式:  sort [-bcfMnrt…

    Linux干货 2016-04-11
  • Nginx 原理

    Web服务器处理并发连接请求的工作模型有以下几种方式: 1、单线程web服务器(Single-threaded web servers)此种架构方式中,web服务器一次处理一个请求,结束后读取并处理下一个请求。在某请求处理过程中,其它所有的请求将被忽略,因此,在并发请求较多的场景中将会出现严重的性能问题。(即一次只能处理一个请求) 2、多进程/多线…

    Linux干货 2017-05-07
  • Shell中的循环语句

    在编程语言中,循环语句是最基本的语法之一,在Shell(这里是Bash)中也不例外。把相关内容整理一下吧。 这里包括for/while/until循环,以及变量自增的语法实例。 Shell(以Bash为例)中的循环语句一般有for、while、until这几种,偶尔还有写错语法的时候,这里结合实例来自己总结一下。也为今后使用提供一个快捷的资料获取渠道。 一、…

    Linux干货 2016-08-22
  • 权限管理

           学习文件和目录的权限管理,不仅在学习上对我们的帮助很大,而且在工作上帮助也很大,因为你对文件或目录设置了权限,其他用户只能根据你设置的权限对文件或目录进行浏览,修改,删除或执行,也正是如此,权限的管理很重要。下面我就对Linux的权限管理进行简单的介绍。 Linux下的文件类型 -:普…

    Linux干货 2016-08-08
  • 新的开始

    加入马帮,新的开始,加油!

    Linux干货 2016-09-19
  • httpd服务归纳:浅谈I/O模型

    1. 四种理论的I/O模型      1) 调用者(服务进程):         阻塞:  进程发起I/O调用,如果调用为完成,进程被挂起休眠,不能再执行其他功能    …

    Linux干货 2015-05-27

评论列表(1条)

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

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