第二周作业

课后作业

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进程查看及管理(2)

    Linux进程查看及管理(2) CentOS5和6的启动流程: Liunx中的启动:kernel和rootfs(根文件系统) kernel:进程管理,内存管理,网络管理功能,驱动程序,文件系统,安全功能(权限模型), rootfs:glibc(lib,lib64) 库:函数集合,function(功能模块)有其调用接口(头文件是对函数功能或调用参数的功能进行…

    Linux干货 2016-08-08
  • rpm

    软件运行环境 API:Application Programming Interface     POSIX:Portable OS 程序源代码–> 预处理–> 编译–> 汇编–> 链接   &nb…

    Linux干货 2016-08-21
  • 怎么解决VMware“该虚拟机似乎正在使用中”问题

    1)故障现象:  最近使用vmware workstation测试资料,经常会出现打开虚拟机的时候提示:“该虚拟机正在被使用”,点击“获取所有权”或者“取消”都不能处理问题(一般是没有正常虚拟机导致的)。 2)处理方法: a.查找*.lck文件,然后删除。 b.重启vmware workstation服务 3)参考资料 http://jingyan…

    Linux干货 2016-07-29
  • Haproxy+keepalivd+LAMP

    目录 一、试验部署 1、实验要求 2、实验准备 3、拓扑结构 4、网络规划 二、基础设置 1、LAMP配置 2、HAProxy配置 3、Keepalived配置 三、测试 四、总结 一、试验部署 1、实验要求 (1) 动静分离部署wordpress,动静都要能实现负载均衡,要注意会话的问题; (2) 给出设计拓扑,写成博客; (3)haproxy的设定要求:…

    2017-05-18
  • 08.04 笔记总结

    1.ps axo  user,ruser,group,rgroup,cmd  //  ruser  表示程序发起的用户,一般是指系统当前的用户  //  user  表示程序的所有者。在大数情况下,两个用户都是系统当前的用户, 之后当程序被赋予suid的时候,可能user会发生变化。 2.…

    Linux干货 2016-08-08
  • 计算机基础及Linux基础入门

    一.计算机的组成及其功能一.计算机的组成及其功能  1.组成部分: 计算器是由运算器,控制器,存储器,输入设备以及输出设备五大部件组成。 2.功能: 运算器:    对数据进行各种运算 存储器:    存储程序和各种数据信息,并能在计算机运行过程中高速、自动地完成程序或数据的存取 控制器:    控制器是整个计算机系统的控制中心,指挥计算机各部分协调地工作,…

    2017-09-16

评论列表(1条)

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

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