第二周博客作业

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

常用命令有:cp, mv, rm

复制命令:cp

cp [OPTION]… [-T] SOURCE DEST

                cp [OPTION]… SOURCE… DIRECTORY

                cp [OPTION]… -t DIRECTORY SOURCE…

                cp SRC DEST

        SRC是文件:

        如果目标不存在:新建DEST,并将SRC中内容填充至DEST中;

                         [root@ocp etc]# more nano1

                         nano1: No such file or directory

                         [root@ocp etc]# cp issue nano1

                         [root@ocp etc]# more issue

                         Red Hat Enterprise Linux Server release 5.4 (Tikanga)

                         Kernel \r on an \m

        如果目标存在:

        如果DEST是文件:将SRC中的内容覆盖至DEST中;此时建议为cp命令使用-i选项;

                                 [root@ocp etc]# cp -i issue nano1

                                 cp: overwrite `nano1'? y

                                 [root@ocp etc]# 

       

        如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;

                                 将etc目录下的issue文件复制到etc/ntp目录下:

                                 [root@ocp etc]# cp -i issue ntp/issue

                                 [root@ocp etc]# more ntp/issue

                                 Red Hat Enterprise Linux Server release 5.4 (Tikanga)

                                 Kernel \r on an \m

        cp SRC… DEST

        SRC…:多个文件

        DEST必须存在,且为目录,其它情形均会出错;

                        将etc下的文件passwd和issue复制到/tmp目录下    

                        [root@ocp etc]# cp -i passwd issue /tmp

                        [root@ocp etc]# ls /tmp

                        issue  keyring-WqJMI0  mapping-oracle  mapping-root  passwd  vmware-root

                        复制etc下的文件passwd和issue,目标为tmp目录下的issue文件:

                        [root@ocp etc]# cp -i passwd issue /tmp/issue

                        cp: target `/tmp/issue' is not a directory

                        [root@ocp etc]# 

                        

        cp SRC DEST

        SRC是目录:

        此时使用选项:-r

                        常用选项:

        -i:交互式

        -r, -R: 递归复制目录及内部的所有内容;

        -a: 归档,相当于-dR –preserv=all

        -d:–no-dereference –preserv=links

        –preserv[=ATTR_LIST]

        mode: 权限

        ownership: 属主属组

        timestamp: 

        links

        xattr

        context

        all

        -p: –preserv=mode,ownership,timestamp

        -v: –verbose

        -f: –force

        如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;

        如果DEST存在:

       

如果DEST是目录:

[root@ocp etc]# ls ntp

issue  keys  nano1  ntpservers  step-tickers

[root@ocp etc]# ls yum

pluginconf.d  yum-updatesd.conf

[root@ocp etc]# cp -i -r ntp yum

[root@ocp etc]# ls yum

ntp  pluginconf.d  yum-updatesd.conf

[root@ocp etc]# ls yum/ntp

issue  keys  nano1  ntpservers  step-tickers

[root@ocp etc]# 

如果DEST是文件:报错

[root@ocp etc]# cp -i -r ntp yum/yum-updatesd.conf 

cp: cannot overwrite non-directory `yum/yum-updatesd.conf' with directory `ntp'

[root@ocp etc]# 

        

    mv: move,移动文件

       mv [OPTION]… [-T] SOURCE DEST

       mv [OPTION]… SOURCE… DIRECTORY

       mv [OPTION]… -t DIRECTORY SOURCE…

       

       常用选项:

        -i: 交互式

[root@ocp etc]# mv -i issue ntp/issue

mv: overwrite `ntp/issue'? y

        -f: 强制

[root@ocp etc]# mv -f ntp/issue issue

[root@ocp etc]# more issue

Red Hat Enterprise Linux Server release 5.4 (Tikanga)

Kernel \r on an \m

[root@ocp etc]# 

    rm: remove,删除

    rm [OPTION]… FILE…

    常用选项:

    -i: 交互式

交互式删除/tmp下的passwd文件,并选择不删除

[root@ocp etc]# rm -i /tmp/passwd 

rm: remove regular file `/tmp/passwd'? n  

[root@ocp etc]# ls /tmp

issue  keyring-WqJMI0  mapping-oracle  mapping-root  passwd  vmware-root

    -f: 强制删除

    -r: 递归

    rm -rf 

[root@ocp etc]# rm -rf /tmp/passwd 

[root@ocp etc]# ls /tmp

issue  keyring-WqJMI0  mapping-oracle  mapping-root  vmware-root

[root@ocp etc]# 

   

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

                                命令的状态结果

成功:0

失败:1-255

[root@ocp etc]# rm -rf /tmp/passwd

[root@ocp etc]# echo $?

0

[root@ocp etc]# more /tmp/passwd

/tmp/passwd: No such file or directory

[root@ocp etc]# echo $?

0

[root@ocp etc]# moore /tmp/passwd

-bash: moore: command not found

[root@ocp etc]# echo $?

127

[root@ocp etc]# 

命令行展开:

                ~: 展开为用户的主目录

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

[root@ocp ~]# cd ~

[root@ocp ~]# cd ~oracle

[root@ocp oracle]# ls

backup  Desktop

[root@ocp oracle]# pwd

/home/oracle

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

/tmp/{a,b} = /tmp/a, /tmp/b

/tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi

示例演示:

创建x-a,y_a,x_b,y_b:

mkdir {x,y}_{a,b}

[root@ocp oracle]# cd /tmp

[root@ocp tmp]# mkdir {x,y}_{a,b}

[root@ocp tmp]# ls

issue  keyring-WqJMI0  mapping-oracle  mapping-root  vmware-root  x_a  x_b  y_a  y_b

[root@ocp tmp]# 

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

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

[root@ocp tmp]# mkdir {a,b}_{c,d}

[root@ocp tmp]# ls

a_c  a_d  b_c  b_d  issue  keyring-WqJMI0  mapping-oracle  mapping-root  vmware-root  x_a  x_b  y_a  y_b

[root@ocp tmp]# 

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

[root@ocp tmp]# ls

issue  keyring-WqJMI0  mapping-oracle  mapping-root  vmware-root

[root@ocp 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,rum}}

[root@ocp tmp]# tree

.

|– issue

|– keyring-WqJMI0

|   `– socket

|– mapping-oracle

|– mapping-root

|– 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

|       `– rum

`– vmware-root

    |– vmware-apploader-2684.log

    `– vmware-apploader-2700.log

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

文件的元数据包含访问权限、文件拥有者以及文件数据块的分布信息等等

stat /PATH/TO/SOMEFILE:获取指定文件的元数据

[root@ocp ~]# stat /etc/issue

  File: `/etc/issue'

  Size: 74              Blocks: 16         IO Block: 4096   regular file

Device: fd00h/64768d    Inode: 11206843    Links: 1

Access: (0644/-rw-r–r–)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2016-06-19 16:11:01.000000000 +0800

Modify: 2009-08-04 16:25:07.000000000 +0800

Change: 2016-06-19 16:10:56.000000000 +0800

[root@ocp ~]# 

三个时间戳:

access time:访问时间,简写为atime,读取文件内容

modify time: 修改时间, mtime,改变文件内容(数据)

change time: 改变时间, ctime,元数据发生改变

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

                touch命令:

touch [OPTION]… FILE…

-a: only atime

-m: only mtime

-t STAMP:

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

命令的别名通过alias命令实现,

alias NAME='VALUE'

撤消别名:unalias

unalias [-a] name [name …]

可以使用管道,实现在命令中引用另外一个命令的执行结果

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

[root@ocp ~]# ls /var

account  crash  db     games  lib    local  log   nis  preserve  run    tmp  www

cache    cvs    empty  gdm    lin3b  lock   mail  opt  racoon    spool  tux  yp

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

/var/lin3b

[root@ocp ~]# 

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

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

/etc/1xy

[root@ocp etc]# 

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

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

/etc/1xy

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

[root@ocp etc]# touch /tmp/tfile-`date "+%Y-%m-%d-%H-%M-%S"`

[root@ocp etc]# ls /tmp

issue  keyring-WqJMI0  mapping-oracle  mapping-root  mylinux  tfile-2016-06-19-22-28-11  vmware-root

[root@ocp etc]# date

Sun Jun 19 22:28:39 CST 2016

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

[root@ocp etc]# ls /tmp

issue  keyring-WqJMI0  mapping-oracle  mapping-root  mylinux  tfile-2016-06-19-22-28-11  vmware-root

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

cp: target `/tmp/mytest1' is not a directory

[root@ocp etc]# mkdir /tmp/mytest1

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

[root@ocp etc]# ls /tmp/mytest1

pam.d         pango   passwd-  php.d    pinforc  pm   prelink.cache  prelink.conf.d  profile    protocols

pam_smb.conf  passwd  pcmcia   php.ini  pki      ppp  prelink.conf   printcap        profile.d

[root@ocp etc]# 

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

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

cp: target `/tmp/mytest2' is not a directory

[root@ocp etc]# mkdir /tmp/mytest2

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

[root@ocp etc]# ls /tmp/mytest2

cron.d    dnsmasq.d  ld.so.conf.d   makedev.d   pam.d           profile.d  rc2.d  rc5.d  readahead.d    sane.d       yum.repos.d

depmod.d  gre.d      logrotate.d    modprobe.d  php.d           rc0.d      rc3.d  rc6.d  reader.conf.d  setuptool.d

dev.d     init.d     lsb-release.d  netplug.d   prelink.conf.d  rc1.d      rc4.d  rc.d   rwtab.d        xinetd.d

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

[root@ocp etc]# cp -r /etc/[l,m,n]*.conf /tmp/mytest3

cp: target `/tmp/mytest3' is not a directory

[root@ocp etc]# mkdir /tmp/mytest3

[root@ocp etc]# cp -r /etc/[l,m,n]*.conf /tmp/mytest3

[root@ocp etc]# ls /tmp/mytest3

ldap.conf   lftp.conf      libuser.conf    ltrace.conf  modprobe.conf  multipath.conf  nsswitch.conf

ld.so.conf  libaudit.conf  logrotate.conf  mke2fs.conf  mtools.conf    nscd.conf       ntp.conf

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

(0)
liuyichenliuyichen
上一篇 2016-06-23
下一篇 2016-06-23

相关推荐

  • rsync+inotify实现数据的实时同步更新

      rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rsync同步,这样就可以解决同步数据的实时性问题。 一、rsync的优点与不足 rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的…

    2018-01-06
  • 磁盘运作方式及分区,挂载等操作

    磁盘运作方式及分区,挂载等操作 磁盘是我们存储数据的空间,而为了方便我们对数据的管理,我们需要对磁盘进行分区。而在我们创建过分区之后 ,我们为了能 够访问磁盘 ,需要对磁盘进行挂载 。文件系统通过为每个文件在分区上分配文件块的方式把数据存储在硬盘上。所以,就是使用文件系统在 硬盘分区上对数据块的各种信息的操作。这样就需要我们了解磁盘的运作方式,学会磁盘的分区…

    Linux干货 2016-08-29
  • 分别设置CentOS 6与CentOS 7的开机启动为3模式 遇到的问题

    vim /etc/inittab (centos 6) 把id:5: initdefault: 改成3模式 reboot 2  (centos7) vim /etc/inittab 打开文件没有id:5: initdefault: 这一项 systemd使用比sysvinit的运行级别更为自由的target概念作为替代 第三运行级: multi-u…

    2017-05-18
  • 1. 什么是Linux

        如果以前从没有接触过linux, 你可能会对为什么会存在这么多不同的linux发行版有些困惑. 在看linux软件包时, 你肯定听过发行版, LiveCD和GNU之类的等等术语, 也肯定摸不着头脑. 第一次接触linux,想理解会有些困难.  我们就先了解下linux系统内部结构的一些信息. &nbs…

    Linux干货 2016-10-26
  • N22 网络班第五周课程作业

    1、显示当前系统上root、fedora或user1用户的默认shell; grep -E "^(root|fedora|user1)\>" /etc/passwd | ll grep -E "^(root|fedora|user1)\>" /etc/passwd | cut -d: -f 1,7…

    Linux干货 2016-09-19
  • N22-第十二周作业

    1、请描述一次完整的http请求处理过程; (1)建立或处理连接:接受请求或拒绝请求 (2)接收请求:接收来自于网络上的主机请求报文中对某特定资源的一次请求的过程 (3)处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息 (4)访问资源:获取请求报文中请求的资源 (5)构建响应报文 (6)发送响应报文 (7)记录日志:访问日志和错误日志 …

    Linux干货 2016-11-04

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-23 14:11

    写的很棒,可以关注一些排版的技巧,那样会更完美