Homework Week-2 Linux文件管理

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

文件管理工具:cp, mv, rm

        cp命令:copy  源文件  目标文件

               单源复制:cp [OPTION]… [-T] SOURCE DEST

                   如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;

                   如果DEST存在:

                       如果DEST是非目录文件:则覆盖目标文件;

                       如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

               多源复制:cp [OPTION]… SOURCE… DIRECTORY

                    cp [OPTION]… -t DIRECTORY SOURCE…

                   如果DEST不存在:错误;

                   如果DEST存在:

                       如果DEST是非目录文件:错误;

                       如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

               常用选项:

                   -i:交互式复制,即覆盖之前提醒用户确认;

                   -f:强制覆盖目标文件;

                   -r, -R:递归复制目录;

                   -d:复制符号链接文件本身,而非其指向的源文件;

                   -a:-dR –preserve=all, archive,用于实现归档;

                   –preserv=

                       mode:权限

                       ownership:属主和属组

                       timestamps: 时间戳

                       context:安全标签

                       xattr:扩展属性

                       links:符号链接

                       all:上述所有属性

mv命令:move

        mv [OPTION]… [-T] SOURCE DEST

        mv [OPTION]… SOURCE… DIRECTORY

        mv [OPTION]… -t DIRECTORY SOURCE..           

        常用选项:

                   -i:交互式;

                   -f:force

      rm命令:remove

            rm [OPTION]… FILE…

            常用选项:

                -i:interactive

                -f:force

                -r: recursive

                删除目录:rm -rf /PATH/TO/DIR

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

bash的基础特性(命令的执行状态结果):

        命令执行的状态结果:

            bash通过状态返回值来输出此结果:

                成功:0

                失败:1-255

            命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;

        命令正常执行时,有的还回有命令返回值:

            根据命令及其功能不同,结果各不相同;

bash的基础特性(命令行展开)

        ~:自动展开为用户的家目录,或指定的用户的家目录;           

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

            例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b

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

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

#cd /tmp

#touch {a_,b_}{c,d}

     (2)创建/tmp/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

#cd /tmp

#mkdir mylinux/

#cd mylinux/

# mkdir -p {bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-s
cripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

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

文件的元数据信息有访问时间(access time)、修改时间(modify time)、状态改动时间(change time);

查看使用stat命令:

            stat – display file or file system status

            stat FILE…

            时间戳:

                access time:2015-12-10 16:12:22.776423693 +0800

             modify time:2015-12-10 16:12:22.776423693 +0800

             change time:2015-12-10 16:12:22.776423693 +0800

修改时间戳信息使用touch命令

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

定义别名使用命令# alias NAME='COMMAND'

例:#alias cl=clear

命令中可以通过管道引用另一个命令的执行结果;管道是连接程序,实现将前一个命令的输出直接定向后一个程序当作输入数据流

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

# ls -d /var/l?*[[:lower:]]

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

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

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

# ls -d /etc/[^[:alpha:]][[:alpha:]]*

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

# touch $(date +tfile-%Y-%m-%d-%H-%M-%S)

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

# mkdir   /tmp/mytest1/

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

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

# mkdir     /tmp/mytest2/

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

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

# mkdir /tmp/mytest3/

# cp -r /etc/[lmn]*.conf  /tmp/mytest3/ 

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

(0)
N22_ElephantN22_Elephant
上一篇 2016-08-22 09:29
下一篇 2016-08-22 09:29

相关推荐

  • lvs nat模型调度双http服务且http上布置discuz

    实验的拓扑图: 实验方案: 我们先在real server上编译安装好http,然后,咋们切换到mysql服务器上安装mysql,在换到http主机上编译php的工作方式基于模块的,再把discuz资源放到http的资源访问目录下,且在双方http主机上布上rsync服务器,双反的主机也要加上inotify来实时关注http访问目录的资源变化,有变化就要数据…

    Linux干货 2015-10-22
  • keepalived +LVS DR 双主互备模型实验

    keepalived +LVS DR 双主互备模型实验  实验环境介绍     操作系统:DR:centos 7.2 两个节点,都安装keepalived             &nbsp…

    Linux干货 2016-03-09
  • DNS高级应用之ACL和View

    一、环境准备:     1、准备三台主机,要求如下      (1) DNS服务器双网卡:eth0:192.168.10.203  eth1: 172.16.2.10       (2)测试机1双网卡: eth0: 172.16.…

    Linux干货 2015-06-01
  • 1017练习题

    1017练习题 作业 10月17日 柴震 1.生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。 hwclock 查看硬件是否准确,如准确无误,可以使用hwclock -s以硬件时间为准。 或者使用ntpdate命令指定一台NTP服务器,进行同步。 2.生产有一个数据同步脚本需要执行很长时间,怎样做到无人值守,在…

    Linux干货 2016-10-18
  • 使用ext_skel和phpize构建php5扩展

    首先声明:我们要构建的是扩展或者模块名为hello_module.该模块提供一个方法:hello_word. 1、php环境的搭建 我们一般使用源码包编译安装,而不是binary包安装。因为使用PHP的二进制分发包安装有些冒险,这些版本倾向于忽略./configure的两个重要选项,它们在开发过程中很便利: 第一个–enable-debug。这个…

    Linux干货 2015-05-28
  • find、locate详细解析

    文件查找 在linux系统中如果我们不知道具体的文件的具体位置,我们可以使用文件查找命令来找到我们想找的文件,linux中也有相当优秀的查找命令,(如locate、find),通常查找速度快是locate,因为它是利用数据库查找的,所以速度很快,而find是全磁盘扫描进行查找,所以速度比较慢。 locate和find都是在文件系统上查找符合条件的文件含义。 …

    Linux干货 2016-08-13

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-22 14:31

    写的很好,排版还可以在漂亮一点,加油,3大题2小题跟老师要求的不一样