马哥运维班第二周做业

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

1)cp:linux

复制centos

用法:bash

      cp [OPTION]... [-T] SOURCE DESTide

      cp [OPTION]... SOURCE... DIRECTORYspa

      cp [OPTION]... -t DIRECTORY SOURCE...命令行

选项:orm

    -i:交互式递归

    -r:递归复制ip

    -a:归档,至关于-dR--preserv-links

    -p:至关于--preserv=mode,ownership,timestamp

    -v:--verbose,显示详细信息

eg.

1.-a选项,归档复制

[yannic@localhost etc]$ ls -l  /etc/system-release
lrwxrwxrwx. 1 root root 14 Aug 14 03:24 /etc/system-release ->centos-release
[yannic@localhost etc]$ cp /etc/system-release /tmp
[yannic@localhost etc]$ ls -l /tmp/system-release 
-rw-r--r--. 1 yannic yannic 27 Aug 19 05:50 /tmp/system-release  //复制原文件,而不是软链接
[yannic@localhost etc]$ rm -f /tmp/system-release
[yannic@localhost etc]$ ls -l/tmp/system-release
lrwxrwxrwx. 1 yannic yannic 14 Aug 14 03:24/tmp/system-release -> centos-release

 

2)rm

删除文件或目录

用法:rm [OPTION]... FILE...

选项:

 -r 递归删除,包括目录以及目录下的文件

 -f 强制执行

 -i:交互式选项

 

3)mv

移动文件

用法:

      mv [OPTION]... [-T] SOURCE DEST

      mv [OPTION]... SOURCE... DIRECTORY

      mv [OPTION]... -t DIRECTORY SOURCE...

选项:

    -i:交互式选项

     -f:--force,强制执行

 

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

    (1)命令执行状态返回值:

        0- 成功

        1~255:失败

  (2)命令行展开:

     ~:展开为用户的主目录

     ~USERNAME:展开为指定用户的主目录

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

     eg.

[yannic@localhost tmp]$ mkdir -p/tmp/work2/{x,y}/a
[yannic@localhost tmp]$ tree /tmp/work2
/tmp/work2
├── x
│   └── a
└── y
└── a

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

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

     mkdir/tmp/{a,b}_{c,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

[yannic@localhost ~]$ mkdir -p /tmp/mylinux/{bin,boot/grub,etc/rc.d/init.d,etc/sysconfig/networkscrips,lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var,lock,log,run}


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

    元数据指用来描述一个文件的特征的系统数据,诸如文件权限(属主权限,属组权限、其余用户权限)、文件拥有者以及文件数据块的分布信息(inode...)等等。


    经过ls命令查看

[yannic@localhost profile.d]$ ll
total 56
-rw-r--r--. 1 root root 1127 Oct 17  2013 colorls.csh

 

    还能够经过stat命令查看更多详细信息:文件大小size,文件占用的块数,blocks,文件权限,GID和 UID。文件时间戳信息,最近一次访问时间Access,最后一次修改时间Modify,最后一次改变时间Change。

[yannic@localhost profile.d]$ stat colorls.csh
  File:`colorls.csh'
  Size:1127        Blocks: 8          IO Block:4096   regular file
Device: 802h/2050d  Inode:6029550     Links: 1
Access: (0644/-rw-r--r--)  Uid: (   0/    root)   Gid: (   0/    root)
Access: 2016-08-19 05:48:14.920032604 -0700
Modify: 2013-10-17 05:51:45.000000000 -0700
Change: 2016-08-14 03:22:38.972999939 -0700


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

    alias:定义别名

    alias NAME='VALUE',只对当前会话有效

    永久生效:

        仅对当前用户:~/.bashrc

         对全部用户有效:/etc/bashrc

    能够经过管道实如今命令中引用另外一个命令的执行结果:

    eg.

[yannic@localhost ~]$ ps aux |grep ls
root      1422  0.2 0.4 189328  4404 ?        Sl  Aug18   8:07 /usr/sbin/vmtoolsd
yannic    2462  0.0 0.4 450424  4720 ?        Ssl Aug18   0:02 /usr/bin/pulseaudio--start --log-target=syslog
yannic    2471  0.0  0.2  95228 2620 ?        S    Aug18  0:00 /usr/libexec/pulse/gconf-helper
yannic    2496  0.2 2.9 359016 29696 ?        S    Aug18  9:09 /usr/lib/vmware-tools/sbin64/vmtoolsd -n vmusr --blockFd 3
root     37630  0.0 0.1  22440  1076 ?       S    Aug20   0:00/usr/libexec/hald-addon-rfkill-killswitch
yannic   41418 1.0  0.0 103256   840 pts/1   S+   06:36   0:00 grep ls


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

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

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

ls -ld /etc/[0-9]*[^0-9]


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

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


九、在/tmp目录下建立以tfile开头,后跟当前日期和时间的文件,文件名形如:

    tfile-2016-08-06-09-32-22。

touch /tmp/tfile_$( date +'%F-%H-%M-%S')


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

cp -r /etc/p*[^0-9] /tmp/mytest1


十一、复制/etc目录下全部以.d结尾的文件或目录至/tmp/mytest2目录中。

cp -r /etc/*.d /tmp/test2


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

cp /etc/[lmn]*.conf /tmp/test3


若有错误之处,麻烦看官评论里指点一下,小女子不胜感激。