马哥教育网络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)
上一篇 2016-07-26 16:54
下一篇 2016-07-26 16:56

相关推荐

  • LVS详解

    概述     LVS是工作在4层的负载均衡调度器,可根据请求报文的目标IP和目标协议及端口,根据指定的调度算法,将请求调度转发至某RealServer,本篇就针对LVS的原理,配置和使用进行简单介绍,具体包含:     1、LVS的四种类型的介绍   &nbs…

    Linux干货 2016-10-27
  • Linux 基础(三)——用户管理&正则表达式

    1、  列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d " " -f1 | uniq 2、  取出最后登录到当前系统的用户的相关信息。 last -1 | cut -d " " -f1 | head -1 | id 3、  …

    Linux干货 2016-11-08
  • 文件处理工具系列(二):行编辑器sed

    1、sed介绍     sed(Stream EDitor),是一种行编辑工具,它一次处理一行内容。处理时,把当前匹配到的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令对这些数据做出相应的增删改查操作,处理完成后,默认输出至屏幕,而未被匹配到的行也将默认输出至屏幕。而原来的文件内容并没有发生改变,除…

    Linux干货 2016-08-11
  • LAMP

    备注:本次安装是采用的系统自带的yum源进行安装的 第一步:安装Apache 1:安装apache,命令如下: yum install -y httpd   2:修改httpd.conf,修改ServerName的域名,具体步骤如下: 使用vi编辑器打开apache配置文件,命令如下: vi /etc/httpd/conf/httpd.conf 按…

    Linux干货 2017-10-09
  • centos 6系统启动流程分析

    linux 系统启动流程: 之前有描述过linux的启动流程,但还有许多模糊的地方,经过一段时间了学习,查资料,看脚本,比初次理解更深,可以将上次模糊或不足的地方描述得比较清楚一些。 先看一张启动流程图。   分析: linux系统的启动流程大概可以分为两大部分: 第一部分为内核空间的启动 第二部分为用户空间的启动 其中,内核空间的启动主要可为分四…

    2017-05-15
  • vim文本编辑器简单用法

    vim最基础的用法

    2017-09-09

评论列表(1条)

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

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