N22-第二周作业

1、文件管理类命令有:cp,mv,rm
    cp:复制命令
      用法:cp [OPTION]… SOURCE… DEST
        如果DEST不存在,则先创建此文件并复制源文件的数据流到DEST中
    ]# mkdir test
    tmp]# cd test/
    test]# cp /etc/fstab ./temp
    ]# ls
    temp
    如果DEST存在且是非目录文件,则覆盖目标文件
    ]# cp /etc/fstab ./
    cp:是否覆盖"./fstab"? y
    如果DEST存在且是目录文件,则先在DEST创建一个与源文件同名的文件,并复制其数据流
    ]# cp /etc/fstab ./
    ]# ls
    fstab
     常用选项:
    -i:覆盖文件前提醒用户确认  默认覆盖前需要用户确认
    -f:强制覆盖目标文件
    -r:复制目录并复制目录中的文件到目标   cp不加-r默认不能复制目录    
    ]# cp /dev/mapper ./
    cp: 略过目录"/dev/mapper"
    test]# cp -r /dev/mapper ./
    test]# ll
    总用量 8
    -rw-r–r–. 1 root root  632 8月  28 13:42 fstab
    drwxr-xr-x. 2 root root 4096 8月  28 13:49 mapper

    mv:移动命令
       mv  [OPTION]…  SOURCE DEST
    如果源文件和目标文件在同一目录下,则mv命令的作用是重命名文件
    mv命令等于是cp命令后加上删除源文件的操作。
    mv命令可以不加选项直接移动文件夹
    ]# mv mapper mymapper
    test]# ls
     fstab  mymapper
    
    rm:删除命令
    rm [OPTION]… FILE…
    常用选项:
    -r:递归删除目录及其目录下的文件
    -i   删除前提醒用户,root用户默认启用该选项
    -f   直接强制删除
    注意:生产环境所有不用的文件建议不要直接删除而是移动到某个专用的目录(模拟回收站)
    ]# rm -rf fstab mymapper/
    test]# ll
      总用量 0

2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
    bash通过状态返回码来输出命令执行的状态结果  区分状态返回值和命令自身的返回值
                    成功:0  失败:1~255
                 显示特殊变量 echo $? 来得到状态返回码
        ]# df -lh
         ….
        ]# echo $?
        0
        ]# fdisk -l /dev/sdd
          fdisk: 打不开 /dev/sdd: 没有那个文件或目录
        test]# echo $?
            1
   bash命令行展开:  
                     ~:自动展开为用户的家目录,或一个指定用户的家目录
                    {}:可承载一个以逗号分隔的路径列表,并自动将其展开为多个路径

            ]# pwd
            /tmp/test
            test]# cd ~
            ~]# pwd
            /root
            ~]# cd /tmp/test/
            test]# mkdir a{b,c}1{d,e,f}
            test]# ls
            ab1d  ab1e  ab1f  ac1d  ac1e  ac1f

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

]# mkdir -pv {a_,b_}{c,d}
mkdir: 已创建目录 "a_c"
mkdir: 已创建目录 "a_d"
mkdir: 已创建目录 "b_c"
mkdir: 已创建目录 "b_d"

]# mkdir -pv {bin,dev,lib64,proc,sbin,sys,tmp,boot/grub,etc/{rc.d/init.d,sysconfig/network-scripts},lib/mod
ules,usr/local/{bin,sbin},var/{lock,log,run}}mkdir: 已创建目录 "bin"
mkdir: 已创建目录 "dev"
mkdir: 已创建目录 "lib64"
mkdir: 已创建目录 "proc"
mkdir: 已创建目录 "sbin"
mkdir: 已创建目录 "sys"
mkdir: 已创建目录 "tmp"
mkdir: 已创建目录 "boot"
mkdir: 已创建目录 "boot/grub"
mkdir: 已创建目录 "etc"
mkdir: 已创建目录 "etc/rc.d"
mkdir: 已创建目录 "etc/rc.d/init.d,lib"
mkdir: 已创建目录 "etc/rc.d/init.d,lib/modules"
mkdir: 已创建目录 "etc/sysconfig"
mkdir: 已创建目录 "etc/sysconfig/network-scripts,lib"
mkdir: 已创建目录 "etc/sysconfig/network-scripts,lib/modules"
mkdir: 已创建目录 "usr"
mkdir: 已创建目录 "usr/local"
mkdir: 已创建目录 "usr/local/bin"
mkdir: 已创建目录 "usr/local/sbin"
mkdir: 已创建目录 "var"
mkdir: 已创建目录 "var/lock"
mkdir: 已创建目录 "var/log"
mkdir: 已创建目录 "var/run"

4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
 文件包含两类数据:
  元数据:metadata 描述属性的数据       可用stat file 看到
  数据:data    文件本身的数据              可用cat file看到
    test]# touch temp.txt
    test]# cat temp.txt
    test]# stat temp.txt
    文件:"temp.txt"
    大小:0             块:0          IO 块:4096   普通空文件
    设备:fd00h/64768d    Inode:67374345    硬链接:1
    权限:(0644/-rw-r–r–)  Uid:(    0/    root)   Gid:(    0/    root)
    环境:unconfined_u:object_r:user_tmp_t:s0
      时间戳信息:
    最近访问:2016-08-28 14:25:56.679054155 +0800
    最近更改:2016-08-28 14:25:51.339029587 +0800
    最近改动:2016-08-28 14:25:51.339029587 +0800
    创建时间:-
     可以用touch命令来修改时间戳信息
    t]# touch -a temp.txt
        test]# touch -m temp.txt
最近访问:2016-08-28 14:28:48.842846226 +0800
最近更改:2016-08-28 14:28:57.903887914 +0800
最近改动:2016-08-28 14:28:57.903887914 +0800

5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
    bash shell有两类配置文件。profile类和bashrc类。其中,可以在/etc/bashrc下定义对
    所有用户都生效的命令别名或者在~/.bashrc定义某个用户专属的命令别名。
    ]# vim + /etc/bashrc   例如定义对所有用户都生效的cls=clear清屏命令
    93 alias cls='clear'
***注意,在配置文件中定义的命令别名或做的其他设置,将在之后启动的bash shell中永远生效
    引用命令的执行结果
           1,$(COMMAND) 2,`COMMAND`
   ]# mkdir `date +%y%m%d`
   ]# ls
    160828
   ]# touch $(ls /var/log/m*log | cut -d/ -f4)backup
   test]# ls
     160828  maillogbackup

6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
~]# ls -d /var/l*[0-9]*[[:lower:]]
ls: 无法访问/var/l*[0-9]*[[:lower:]]: 没有那个文件或目录

7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
]# ls -d /etc/[0-9]*[^0-9]
ls: 无法访问/etc/[0-9]*[^0-9]: 没有那个文件或目录

8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
]# ls -d /etc/[^[:alpha]][0-9]*
ls: 无法访问/etc/[^[:alpha]][0-9]*: 没有那个文件或目录

9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
~]# touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`
~]# ls /tmp
tfile-2016-08-28-17-44-47

10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
]# cp -r /etc/p*[^0-9] /tmp/mytest1/
]# ls /tmp/mytest1/
pam.d   passwd-       pinforc  plymouth  pnm2ppa.conf  postfix  prelink.conf.d  profile    protocols  purple
passwd  pbm2ppa.conf  pki      pm        popt.d        ppp      printcap        profile.d  pulse      python

11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
]# cp -r /etc/*.d /tmp/mytest2
 tmp]# ls /tmp/mytest2
auto.master.d      depmod.d       init.d        modules-load.d  profile.d  rc5.d          sane.d       usb_modeswitch.d
bash_completion.d  dnsmasq.d      ipsec.d       my.cnf.d        rc0.d      rc6.d          setuptool.d  xinetd.d
binfmt.d           dracut.conf.d  ld.so.conf.d  oddjobd.conf.d  rc1.d      rc.d           statetab.d   yum.repos.d
cgconfig.d         exports.d      libibverbs.d  pam.d           rc2.d      request-key.d  sudoers.d
chkconfig.d        gdbinit.d      logrotate.d   popt.d          rc3.d      rsyslog.d      sysctl.d
cron.d             grub.d         modprobe.d    prelink.conf.d  rc4.d      rwtab.d        tmpfiles.d

12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
]# cp -r /etc/[l,m,n]*.conf /tmp/mytest3
 tmp]# ls /tmp/mytest3
ld.so.conf     libuser.conf  logrotate.conf  mke2fs.conf  nfsmount.conf  ntp.conf
libaudit.conf  locale.conf   man_db.conf     mtools.conf  nsswitch.conf  numad.conf

原创文章,作者:上海-brown,如若转载,请注明出处:http://www.178linux.com/41374

(0)
上一篇 2016-08-29 08:52
下一篇 2016-08-29 08:52

相关推荐

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-30 12:45

    希望同学注意一下作业格式,这样无论别人阅读及批改都很方便