马哥教育网络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,如若转载,请注明出处:/25851

评论列表(1条)

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

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

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达注册  万达招商  万达娱乐直属QQ  万达娱乐  guoqibee.com  万达娱乐主管  万达开户  万达娱乐直属  万达招商  测试