N25-第二周作业

第二周作业


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

Linux上的文件管理命令有:cp , mv , rm 等命令

cp是复制命令: 
命令使用格式是: 
cp [OPTION]... SOURCE... DEST 
例:root@vps ~]# cp /etc/passwd /tmp 复制/etc/passwd文件到/tmp目录下。

cp命令的常用参数有: 
-i:交互式复制,即覆盖之前提醒用户确认;用于目标文件已存在,覆盖复制。

[root@vps ~]# cp -i /etc/passwd /tmpcp: overwrite ‘/tmp/passwd’?

-r, -R:递归复制目录;用于复制目录。

[root@vps ~]# cp -r /etc /tmp/

-d:复制符号链接文件本身,而非其指向的源文件; 
-a:-dR –preserve=all, archive,用于实现归档;-a就是递归复制和复制符号链接文件本身泉都包括的选项。

mv是移动或重命名文件命令: 
命令使用格式是: 
mv [OPTION]... SOURCE... DIRECTORY 
例:[root@vps ~]# mv /tmp/etc/hosts /tmp/移动/tmp/etc/hosts文件到/tmp下 
例:mv /tmp/hosts /tmp/hosss /tmp/hosts改名为hosss

rm是删除文件或目录命令: 
命令使用格式是: 
rm [OPTION] /PATH/FILE 
例:[root@vps ~]# rm /tmp/hosss 删除/tmp/hosss文件。 
如果想删除目录需要加参数 -r ,意思是递归删除目录及目录下文件。 
例:[root@vps ~]# rm -r /tmp 此命令操作相当危险,不建议使用。 
此外还有一个参数 -f 是强制删除的意思。

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

bash中命令执行完成之后,其状态返回值保存于bash的特殊变量$?中。命令正常执行后,根据命令及其功能不同,结果各不相同。

查看命令执行状态返回值的命令是: [root@vps ~]# echo $? 
如果命令执行成功,返回值会是0 
如果命令执行不成功,返回值会是1-255之间的数值。 
例:下面这个例子是命令执行成功的例子。

[root@vps ~]# ls /tmpetc  passwd[root@vps ~]# echo $?0

例:下面是命令执行失败的例子。

[root@vps ~]# lo /tmp-bash: lo: command not found[root@vps ~]# echo $?127

bash的基础特性之:命令行展开 
~:自动展开为用户的家目录,或指定的用户的家目录 
例:从/目录切换到登录用户的家目录。

[root@vps /]# cd ~[root@vps ~]# pwd/root

{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径 
例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b

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

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

[root@vps tmp]# mkdir -pv /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@vps tmp]#

(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

[root@vps tmp]# mkdir -p /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}}

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

文件的元数据是文件名、文件大小、占据磁盘的块、权限、时间戳等。可以用命令stat FILENAME来查询文件的元数据信息。 
例:

[root@vps tmp]# stat test/
  File: ‘test/’
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: ca01h/51713d	Inode: 402915      Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-12-14 18:31:19.645348845 +0800
Modify: 2016-12-14 18:31:19.645348845 +0800
Change: 2016-12-14 18:31:19.645348845 +0800
 Birth: -

File:文件名 , Size:文件大小 , Block:占据多少磁盘块 , IO Block:没个磁盘块的大小 ,regular file:文件是普通文件 , Device:文件所在设备主编号和次编号 , Inode:inode编号 , Linux:文件被硬链接的次数,1表示没有硬链接 . 
第一个Access:权限,属主uid及名字,属组gid及名字 . 
第二个Access:文件最后一次被访问的时间 . Modify:文件的数据最后一次被修改的时间 . 
Change:文件的元数据最后一次变化的时间.

修改时间戳的命令是touch: 
例:[root@vps tmp]# touch stat_test touch后的文件如果是已经存在的文件就会修改文件元数据的所有时间戳,如果文件不存在,touch会创建一个新的空文件。

touch常用参数: 
-c: 指定的文件路径不存在时不予创建 
-a: 仅修改access time 
-m: 仅修改modify time 
-t STAMP 修改自定义时间,格式:[[CC]YY]MMDDhhmm[.ss]

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

获取所有可用别名的定义: 
~]# alias 
定义别名: 
~]# alias NAME='COMMAND' 注意:仅对当前shell进程有效 
撤销别名: 
~]# unalias NAME

在命令中引用另一个命令的执行结果可以通过管道来实现: 
~]#cat /etc/passwd | grep "root"

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

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

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

~]#ls -d /etc/[0-9]*[^0-9]

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

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

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

~]#touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)

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

~]#mkdir /tmp/mytest1 
~]#cp -r /etc/p*[^0-9] /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 /tmp/mytest3

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

(0)
EasonEason
上一篇 2016-12-14 18:22
下一篇 2016-12-14 18:59

相关推荐

  • 文件目录介绍

    对于操作系统的目录感觉总是记不住,今天结合上课笔记和自己的理解总结一下:/——-执行操作时总是要跳转到不同的目录,根是一个树状结构,下面介绍都是根下的目录以及相关介绍├── bin 存放用户使用的基本命令(可执行程序,二进制文件)、分区的时候不会单独给它分区├── boot  跟内核有关的文件├── cgroup &nbsp…

    Linux干货 2017-04-10
  • Centos7下安装httpd源码包

    今天小编来跟大家做个练习,就是如何在Centos7下安装httpd源码包. 一:下载httpd最新版本的源码包 [root@localhost ~]# rpm -qa |grep httpd //查询系统上是否已安装httpd包 httpd-tools-2.4.6-45.el7.centos.4.x86_64 httpd-2.4.6-45.el7.cento…

    2017-08-19
  • RAID5的组建

        RAID5在实际场景中应用最多,RAID5最少使用3块硬盘,3块硬盘中允许1块硬盘损坏,RAID5它的最大特点是可以有一块硬盘做冗余,其使用率是 N-1存储空间(N表示硬盘数量)     首先创建分区,然后转换分区类型,最后保存退出。 注解:虚拟机总共有6块硬盘,我是从第3块硬盘开始做rai…

    Linux干货 2016-02-14
  • samba应用

    samba详解 前言 前面学过了NFS,是一个网络文件系统,可以让远程连接像访问本地文件一样,在同一个网络上的多个用户间共享目录和文件系统。只不过NFS只是针对于两个linux主机,我们现在需要linux主机和windows主机都能共享,这个时候就用到了samba。 1、步骤,允许个别用户访问 1、安装下面三个包: samba samba-common sa…

    Linux干货 2016-12-21
  • mongodb的复制集实现

    简介:  mongodb有两种类型的复制,第一种是同于MySQL的主从复制模式,第二种是复制集,提供了自动故障转移的主从复制集群。其中复制集没有固定的主节点,当一个主机的故障后从节点会重新“选举”出一个新的主节点,从而提高的系统的可用性 一、实验环境: (1)各节点信息: node1: 172.16.2.12 node2: 172.16.2.13 …

    Linux干货 2015-09-05
  • 文件处理工具

    Linux的哲学思想之一是一切皆文件,所有系统中有许多文本文件。因此Linux有许多关于文本处理的命令。 cat命令 连接文件并打印到标准输出设备上,cat经常用来显示文件内容。 语法 cat [OPTION]… [FILE]… 常用选项 -A, –show-all #显示所有控制符 -b, –num…

    Linux干货 2016-08-08