N23-第二周博客作业

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

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

   cp命令:cope

      源文件:目标文件

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

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

            cp [OPTION]… -t DIRECTORY SOURCE…

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

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

        如果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

       重命名示例:

       [root@localhost ~]# cd /tmp/x

       [root@localhost x]# ls

       hi.text  y1  y2

       [root@localhost x]# mv hi.text hello.text

       [root@localhost x]# ls

       hello.text  y1  y2

    

   rm命令:remove

     -i:interactive 交互式

     -f:force   强制进行

     -r:recursive   递归,用户删除目录及其包含的所有内容

    

     示例:[root@localhost ~]# rm -rf /tmp/x

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

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

      成功:0

      失败:1-255

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

        示例:

            [root@localhost tmp]# ls

            a_c  b_c  conf.d     

            [root@localhost tmp]# echo $?

            0

            [root@localhost tmp]#

        

    bash的基础特性:命令行展开

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

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

         示例:

            [root@localhost ~]# mkdir -pv /tmp/x/{y1/{a,b},y2}

            意:

              创建: /tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y2/b

    

    

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

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

            [root@localhost ~]# mkdir -v /tmp/{a,b}_{c,d}

            mkdir: created directory ‘/tmp/a_c’

            mkdir: created directory ‘/tmp/a_d’

            mkdir: created directory ‘/tmp/b_c’

            mkdir: created directory ‘/tmp/b_d’

            [root@localhost ~]# ls /tmp

            a_c  a_d  b_c  b_d  conf.d  functions  gelv  magedu.com  man  mysysroot  x

    

    

    (2)、创建/tmp/mylinux目录下的:    

            mylinux/

                –bin

                –boot

                    –grub

                –dev

                –etc

                    –rc.d

                        –init.d

                    –sysconfig

                        network-scripts

                –lib

                    –modules

                –lib64

                –proc

                –sbin

                –sys

                –tmp

                –user

                    –local

                        –bin

                        –sbin

                –var

                    –lock

                    –log

                    –run

                    

            

            答:

                [root@localhost ~]# mkdir -p /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,user/local/{bin,sbin},var/{lock,log,run}}

                [root@localhost ~]# tree /tmp/mylinux

                /tmp/mylinux

                ├── bin

                ├── boot

                │   └── grub

                ├── dev

                ├── etc

                │   ├── rc.d

                │   │   └── init.d

                │   └── sysconfig

                │       └── network-scripts

                ├── lib

                │   └── modules

                ├── lib64

                ├── proc

                ├── sbin

                ├── sys

                ├── tmp

                ├── user

                │   └── local

                │       ├── bin

                │       └── sbin

                └── var

                    ├── lock

                    ├── log

                    └── run

                24 directories, 0 files

                [root@localhost ~]#             

            

            

            

            

            

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

    (1)文件的元数据信息有:

        File:文件的名字

        Size:文件的大小

        Blocks:文件使用的块的大小

        IO Blocks:文件使用的IO块的大小

        regular file:标识文件的性质(此处文件为普通文件)

        Device:该文件所在的设备的设备号

        Inode:索引节点号

        Access:使用权限

        Uid:属主

        Gid:属组

        以及时间戳等信息

    

    (2)如何查看?

        使用stat命令查看。

        示例:[root@localhost ~]# stat functions

    (3)如何修改文件的时间戳信息?

        可使用touch命令修改文件的时间戳信息。

        示例:

            [root@localhost ~]# touch -m -t 200601030303.03 /tmp/functions

            意:将/tmp目录下的functions文件的modify time修改为2006年1月3日3点3分3秒

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

    (1)使用alias命令定义一个命令的别名。

      示例:

      [root@localhost ~]# alias giveip=giveip='ip addr list'

      

    (2)在命令中引用另一个命令的执行结果。  

      [root@localhost ~]# mkdir /tmp/$(date +%H-%M-%S) 

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

    [root@localhost ~]# ls /var/l*[0-9]*[[:lower:]]

            

            

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

    [root@localhost ~]# ls /etc/[0-9]*[^0-9]      

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

    [root@localhost ~]# ls /etc/[^a-z][a-z]*

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

    [root@localhost tmp]# touch tfile-$(date +%F-%H-%M-%S)

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

    [root@localhost ~]# cp -r /etc/p*[^0-9] /tmp/mytest1/

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

    [root@localhost ~]# cp -r /etc/*.d /tmp/mytest2/

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

    [root@localhost ~]# cp /etc/[lmn]*.conf /tmp/mytest3/

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

(0)
hotpointhotpoint
上一篇 2016-12-05 17:03
下一篇 2016-12-05 17:03

相关推荐

  • ping命令的部分用法

    Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”不能打开网页时会说“你先ping网关地址192.168.1.1试试”。它通过发送ICMP ECHO_REQUEST数据包到网络主机(send ICMP ECHO_REQUEST to&nbsp…

    Linux干货 2017-07-30
  • vim、定时任务、脚本初步应用及详解

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;   ~]#cp  /etc/rc.d/rc.sysinit   /tmp   在末行模式下输入:%s@^[[:space:]]\+[^[:space:]]@#&@g     &:匹配模式找到的全部…

    2016-12-04
  • 计算机基础

    一,计算机的组成        计算机由硬件(hardware)系统和软件(software)系统两大部分组成的         硬件系统是由主机和外部设备 二,计算机硬件 计算机: 是一种能接受和存储信息,并按照存储在其内部的程序对海量数据进行自动,高速地 处理, 然后把 处理的结果输出的现代化智能电子设备  发展历史       第一代计算机(1946-…

    Linux干货 2018-03-26
  • Linux 下openssl搭建一个CA

    CA : 证书颁发机构PKI : 公钥基础设施,公钥基础构架证书: 里面存放了用户的各种信息,最核心的部分就是公钥 谁来给CA颁发公钥,解决方法是,CA自己给自己颁发公钥 openssl 是一个强大的工具可以帮助我们来创建颁发证书,下面我们就来看下在linux下 opensssl 搭建一个CA,并实现管理 1、首先我们需要给CA生成一个私钥  cd…

    2017-07-16
  • N28-第四周

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。
    2、编辑/etc/group文件,添加组hadoop。
    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。
    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。
    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。
    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;
    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;
    9、找出/etc/passwd文件中的一位数或两位数;
    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    2017-12-30
  • Tomcat公猫

    官方站点:http://tomcat.apache.org/ Tomcat是一个能够运行java页面(jsp)的java’web服务器程序;安装使用之前需要先安装jdk包 jdk是JAVA的开发工具包,已随base收录进来,安装jdk1.8版本:yum -y install java-1.8.0-openjdk-devel (其中jvm虚拟机的运行程序就叫j…

    2017-05-23