第二周作业

课后作业

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

cp:复制命令

三种常用方式:

cp[OPTION]...[-T] SOURCE DEST
cp[OPTION]...SOURCE...DIRECTORY
cp[OPTION]...-t DIRECTORY SOURCE

如果SRC是文件,

(1)如果DEST不存在:新建DEST,并将SRC中的内容填充至DEST中;

(2)如果DEST存在:

       若DEST是文件:将SRC中的内容覆盖至DEST中;(可以使用-i来提醒用户是否覆盖)

       若DEST是目录:在DEST下新建与源文件同名的文件,并将SRC中的内容填充至新文件中。 

常用选项:

i:交互式

在centos6.0版本后,原本的cp命令已经自带cp -i,所以当出现复制的源文件会覆盖掉已有目标文件时,就会出现交互命令。

[root@centPlinux ~]# alias cp
alias cp='cp -i'

[root@centPlinux ~]# cp /etc/rpc /tmp/111
cp:是否覆盖"/tmp/111"?

rR:递归复制目录及内部的所有内容

做一个对比:

[root@centPlinux ~]# cp -r /etc/yum /tmp/222
[root@centPlinux ~]# ls /tmp/222
pluginconf.d  protected.d  vars  version-groups.conf
[root@centPlinux ~]# cp /etc/yum /tmp/222
cp: 略过目录"/etc/yum"
[root@centPlinux ~]# ls /tmp/222
ls: 无法访问/tmp/222: 没有那个文件或目录

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

d:不跟踪符号链接所指向的源文件,只复制符号链接本身 –no-dereference –preserve=links

仍然做个对比:

[root@centPlinux tmp]# cp /etc/system-release /tmp
[root@centPlinux tmp]# ls /tmp
mylinux  system-release  yum.log
[root@centPlinux tmp]# cat /tmp/system-release
CentOS release 6.5 (Final)
[root@centPlinux tmp]# cp -d /etc/system-release /tmp
[root@centPlinux tmp]# ls /tmp
mylinux  system-release  yum.log
[root@centPlinux tmp]# cat /tmp/system-release
cat: /tmp/system-release: 没有那个文件或目录

preserve =   mode:权限

ownership:属主属组

timestamp:时间戳

links:链接

xattr:扩展属性

context:安全标签

all:以上所有属性

f:强制覆盖

v:显示过程


mv:移动命令

用法基本等同于cp,常用选项也参考cp


rm:删除命令

格式:rm [OPTION]…FILE…

常用选项:

i:交互式

f:强制删除

r:递归删除

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

注意:所有无用文件建议不要直接删除,而是移动到某个指定目录(用来模拟回收站),可设置定期删除指定目录里的无用文件。

touch:该命令是修改文件时间戳的命令,但当touch一个不存在的文件时,则会创造一个文件,所以可以用下面格式创建文件:

touch…FILE…

若不想创建文件,则touch加选项参数-c,即使如果文件不存在,也不创建该文件。

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

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

bash通过状态返回值来输出此结果,成功:0,失败:1-255

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

[root@guolin ~]# ls
10:06:44  a_c              CST   install.log         Nov
25        anaconda-ks.cfg  $Fri  install.log.syslog
[root@guolin ~]# echo $?
0

[root@guolin ~]# lss
-bash: lss: command not found
[root@guolin ~]# echo $?
127

引用命令的执行结果,有以下两种格式实现:

$(COMMAND)     'COMMADN'

[root@guolin ~]# mkdir /tmp/test_$(date +%H-%M-%S)
[root@guolin ~]# ls /tmp
test_19-45-16  wodediyigewenjian  yum.log

(2)命令行展开

~:展开为用户的主目录

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

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

[root@guolin ~]# mkdir -v /tmp/{a,b}
mkdir: 已创建目录 "/tmp/a"
mkdir: 已创建目录 "/tmp/b"

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

(1)、创建/tmp目录下的:a_ca_db_cb_d

结果如下:

[root@centPlinux ~]# mkdir -v /tmp/{a,b}_{c,d}
mkdir: 已创建目录 "/tmp/a_c"
mkdir: 已创建目录 "/tmp/a_d"
mkdir: 已创建目录 "/tmp/b_c"
mkdir: 已创建目录 "/tmp/b_d"
[root@centPlinux ~]# ls /tmp
a_c  a_d  b_c  b_d

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

种方法.png

结果如下:

[root@centPlinux ~]# mkdir -pv /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}}   
[root@centPlinux ~]# tree /tmp/mylinux
/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

24 directories, 0 files

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

元数据即为文件的属性信息,其中三个时间戳,分别是

access timeatime:访问时间,即通过使用cat,more等读取内容的时间

modify timemtime:修改时间,即文件内容发生改变的时间

change timectime:改变时间,即元数据发生改变的时间

stat:查看文件时间戳

touch:修改时间戳信息

常用参数:

a:仅修改atime

m:仅修改mtime

t:设置时间 CCYYMMDDhhmm,ss

注意:只要修改时间戳,则ctime必定会改变,所以ctime不能指定修改,只能同atime、mtime一起修改成当前时间。故-c并不是修改ctime,而是在前文提到的,在touch到的文件不存在时,不创建该文件

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

alias:定义命令别名 alias NAME='COMMAND'(仅对当前shell进程有效)

引用命令的结果:使用$(COMMAND)'COMMAND'

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

ls -d /var/l*[[:digit:]]*[[:lower:]]

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

ls -d /etc/[[:digit:]]*[^[:digit:]]

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

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

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

[root@centPlinux ~]# touch /tmp/tfile-$(date +%y-%m-%d-%H-%M-%S)
[root@centPlinux ~]# ls /tmp
a_c  a_d  b_c  b_d  mylinux  tfile-16-11-24-00-32-01  yum.log

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

mkdir /tmp/mytest1

cp -r /etc/p*[^[:digit:]] /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

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

(0)
gl693184974gl693184974
上一篇 2016-12-10
下一篇 2016-12-10

相关推荐

  • Linux基础命令之文本命令

    关于文本的命令:     1.文件查看命令:        a.cat:查看文件,实现参数给的内容一个个显示出来            -n:显示行号(显示的空行的行号)          …

    Linux干货 2016-08-07
  • 常用命令总结

    &:将要执行的进程送入后台进行执行alias:定义命令别名authconfig :对系统资源进行安全认证basename:抓取一个目录的基名basename pwdbzip2:压缩工具bzip2 case.sh case.sh.bz2    -[1-9]:指定压缩比   &nbsp…

    Linux干货 2017-04-09
  • 图解LVM(逻辑卷管理)

    图解LVM 1 什么是LVM?为什么要使用LVM? lvm(Logical Volume Manager)逻辑卷管理,是一种更为灵活弹性的磁盘管理工具。 通过逻辑卷管理,能够解决传统磁盘管理管理困难的问题,比如灵活的增删磁盘容量,增删磁盘分区等。 LVM由pv(Physical Volume),vg(Volume Group),lv(logical volu…

    2017-04-23
  • 网络N23期第三周cut,last,awk,tr,sort,useradd,usermod,groupadd等命令使用练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who | cut -d '  ' -f1|uniq xinghuo root 2、取出最后登录到当前系统的用户的相关信息。 [root@localhost ~]# last -1  -a…

    Linux干货 2016-12-05
  • heartbeat实现高可用集群(1)

    环境 node1 192.168.1.35 node2 192.168.1.36 fip 192.168.1.80 daemon httpd nfs 192.168.1.15 配置HA集群的前提 1.节点时间必须同步,使用ntp协议实现 2.节点间需要通过主机互相通信,必须解析主机名至IP地址 a.建议名称解析功能能使用hosts文件实现 b.通信中使用的名…

    Linux干货 2017-11-03
  • 搭建简单的svn服务器

        svn在版本控制方面还是挺有用的。坑运维的人中就有研发,出补丁或版本的时候很坚定的说“升吧,没问题”,结果升上去后就会狂报错。所以运维的要在打补丁,尤其是改动很大的时候一定要把后路想好。否则会长时间的影响业务。svn就有一个很好的机制–回退(当然你也可以事先备份下),可以回退到之前的某个时间节点,操作很方便的。当然sv…

    Linux干货 2015-11-18

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-16 15:55

    整体还是不错的,第11、12题有点问题~再注意下整体排版风格会更好~加油~