第二周的作业

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

命令:ls

NAME:用于列出目录的内容;

SYNOPSIS:ls [OPTION]… [FILE]…

FILE:

如果FILE是个文件的话,则显示文件名;

如果FILE是个目录的话,则列出目录的内容;

OPTION:

-l:显示长格式的信息,一共包含了7个字段的信息;

-rw-r–r– 1 root root 0 Sep  8 15:28 1.txt

字段1:-rw-r–r–

mode bit,模式位

第1位表示文件的类型,常规文件是-,目录文件是d,等等;

第2位至第10位,3位1组,表示相关用户对此文件锁拥有的权限,第一组表示文件所有者,第二组表示文件所有组,第三组表示其他人;

字段2:1

硬链接的数量

字段3:root

文件的所有者

字段4:root

文件的所有组

字段5:0

文件的大小

字段6:Sep  8 15:28

文件的修改时间的时间戳

字段7:1.txt

文件名

-a:显示所有文件,包含隐藏文件;

-A:同-a,但是不显示.和..文件;

-h,–human-readble:对文件大小的单位换算,但是换算后的结果不精确;

-r,–reverse:排序时逆序显示;

-R,–recursive:递归显示子目录;

-d:如果参数是个目录的话,可以查看目录的属性,结合-l选项使用;

命令:mkdir

NAME:创建目录

SYNOPSIS:mkdir [OPTION]… DIRECTORY…

OPTION:

-p:按需创建父目录;

-v:verbose,显示详细过程;

-m MODE:创建目录时给定权限;

注意:mkdir创建的是目标目录,如果目标目录的父目录或其他上级目录不存在,则默认情况下创建失败;

命令:rmdir

NAME:删除一个空目录

SYNOPSIS:rmdir [OPTION]… DIRECTORY…

必须是空目录,由于此特性,所以此命令很少使用

OPTION:

-p:删除目标目录以及它的上级目录,举个例子:

rmdir -p a/b/c等同于rmdir a/b/c a/b a

命令:touch

NAME:修改文件的时间戳

SYSNOPSIS:touch [OPTION]… FILE…

当该命令不添加任何的OPTION,并且FILE是新的文件名的时候,默认情况下,它会创建一个空内容的新文件;

不过该命令主要还是用于修改时间戳的,这次的作业是讲文件管理类命令,所以修改时间戳这块,这里就不说了;

命令:cp

在操作系统中,复制的本质是创建一个空文件,读取源文件并写入到空文件中。

NAME:复制文件和目录

SYNOPSIS:

SOURCE表示源文件,DEST表示目标文件;

单源复制:

cp [OPTION]… [-T] SOURCE DEST

如果DEST不存在,则事先创建DEST,并复制源文件的数据至DEST中;

如果DEST存在:

如果DEST是非目录文件,则会覆盖目标文件;

如果DEST是目录文件,则在DEST目录下创建一个与源文件同名文件并复制

多源复制:

cp [OPTION]… SOURCE… DIRECTORY

cp [OPTION]… -t DIRECTORY SOURCE…

注:第二种多源复制很少使用,用第一种即可。

如果DEST不存在:error;

如果DEST存在:

如果DEST是非目录文件,error;

如果DEST是目录文件,则分别复制多个源文件至目标目录下,并保持原名;

OPTION:

-i:interactive,交互式的,若需要覆盖,提醒用户确认;

-f:force,若需要覆盖,不提醒用户,强制覆盖;

-R,-r:recursive,递归复制目录;

-d,–no-dereference –preserve=links:在默认情况下,如果SOURCE是一个字符链接文件的话,cp会将字符链接文件参考的文件的数据复制到DEST中,复制之后的文件就不再是一个链接文件了;而如果加上此参数的话,那么会保留链接文件本身的参考信息,复制后的DEST仍会是一个链接文件;

–preserve:保留源文件的指定属性,包括权限mode、时间戳timestamp、归属ownship、上下文context、扩展属性xattr、字符链接links、以上所有all,多个属性之间,使用逗号分隔;

-a,–archive:等同于-dR –preserve=all,用于实现归档做备份;

命令:rm

NAME:删除文件或者目录

SYNOPSIS:rm [OPTION]… FILE…

OPTION:

-f, –force:强制删除,不提示;

-i:每次删除之前都要提示;

-r, -R, –recursive:递归删除,用于删除一个目录的时候;

命令:mv

NAME:移动或者重命名文件

大部分用法和机制,类似于cp命令;

mv的SOURCE如果是一个目录的话,无需加类似-r的递归选项;

如果SOURCE和DEST在同一路径下,则mv的功能由mv变为rename

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

命令执行状态返回值和命令行展开都属于bash的基础特性

命令执行状态返回值:

bash通过状态返回值来输出此结果:

成功:0

失败:1~255

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

命令行展开:

~:自动展开为当前用户的家目录或者指定的用户的家目录

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

例如:/tmp/{a,b}等同于/tmp/a和/tmp/b

具体的演示,我们在下面那题来操作看看就知道了。

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

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

mkdir -pv {a,b}_{c,d}

第二周的作业1.png

   (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 /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}}

第二周的作业2.png

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

答:

1、元数据我也不太好确定,大概有这些内容,文件的大小、属性、时间戳、块大小等等用于描述此文件的相关属性,不知道是否使用stat查出来的都算元数据。

2、查看的话,可以使用stat命令

NAME:显示文件或文件系统的状态;

第二周的作业3.png

File:文件名;Size:文件的大小,单位字节;Blocks:数据占用的块数量;IO Block:块大小,单位字节;regular file:说明文件类型;Device:设备ID之类的吧;Inode:inode节点的编号;Links:硬连接数;第一个Access:访问的权限;Uid:所有者;Gid:所有组;第二个Access:文件被访问的时间,一般是打开的时候就会记录,但是如果频繁打开的话,Linux默认不会修改此元数据;Modify:文件被修改的时间;Change:元数据改变的时间;

3、修改文件的时间戳信息,使用命令touch;

NAME:修改文件的时间戳

SYNOPSIS:touch [OPTION]… FILE…

OPTION:

-a:仅修改atime;

-m:仅修改mtime;

-t:指定时间戳,而不再是当前时间为时间戳;

[[CC]YY]MMDDhhmm[.ss]

ctime是无法指定的,因为ctime指的是元数据的改变时间,元数据是必定会被修改的;

第二周的作业4.png

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

定义一个别名

SYNOPSIS:alias ALIAS_COMMAND='COMMAND'

EXAMPLE:alias head='head -n 1'

取消一个别名的定义

SYNOPSIS:unalias ALIAS_COMMAND

EXAMPLE:unalias head

引用有两种方式

$()和“

EXAMPLE:

useradd $(head -n 1 /tmp/user.txt)

useradd `head -n 1 /tmp/user.txt`

马哥建议使用$()

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

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

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

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

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

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

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

touch /tmp/tfile-$(date +"%F-%H-%M-%S")

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

cp -r /etc/p*[^[:digit:]] /tmp/mytest1/

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

cp -r /etc/*.d /tmp/mytest2/

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

cp -r /etc/[lmn]*.conf /tmp/mytest3/

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

(0)
N24_alongdidiN24_alongdidi
上一篇 2016-11-23
下一篇 2016-11-23

相关推荐

  • Linux上bash的部分基础特性:

    命令补全: tab      shell程序在接收到用户执行命令的请求,分析完成后,最左侧的字符串会被当做命令 命令查找机制:     查找内部命令:     根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名 &n…

    Linux干货 2017-03-28
  • 分区管理

    分区管理     一.磁盘分类 机械硬盘(HDD):该硬盘是传统的普通硬盘。主要有:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成  固态硬盘(SSD):用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元组成。 二.特点 1.     &n…

    Linux干货 2017-08-20
  • grep与正则表达式

    grep与正则表达式 grep与正则表达式 grep 正则表达式 grep 使用语法:grep [-abcEFGhHilLnqrsvVwxy][-C<显示列数>][-e<范本样式>][-f<范本文件>][范本样式][文件或目录…]  功能说明:查找指定文件或标准输入里符合条件的字符串 常用选项 -a…

    Linux干货 2016-11-05
  • 开学第一天

      今天是我来到马哥教育的第一天,来之前心情非常之忐忑,因为没有接触过linux系统,感觉是个新事物,来到教室里,一百多人的大集体,年龄的差异,使我感觉到压力。首先马哥和张sir的讲话,非常的帮,其中令我记忆最深刻的是那句话,取上者得中,取中者得下。一个人在奋斗的时候如果给自己的目标定的低,那就收获的还要低。所以要高标准的要求自己,一开始给自己定一…

    Linux干货 2018-03-26
  • tomcat优化

    安装过程就不多说了,本次主要说明我在实际工作中的一些优化。    1,修改tomcat的运行模式,常见的有 bio,nio, apr三种    我选择的apr模式,这种对tomcat的性能有较大提高. a:可以根据压力测试工具来进行测试观察。(其实我没对修改apr模式后压测,我直接问百度的) b:重新启动tomcat后…

    Linux干货 2016-06-28
  • 关于大型网站技术演进的思考(七):存储的瓶颈(7)

    原文出处: 夏天的森林  本文开篇提个问题给大家,关系数据库的瓶颈有哪些?我想有些朋友看到这个问题肯定会说出自己平时开发中碰到了一个跟数据库有关的什么什么问题,然后如何解决的等等,这样的答案没问题,但是却没有代表性,如果出现了一个新的存储瓶颈问题,你在那个场景的处理经验可以套用在这个新问题上吗?这个真的很难说。 其实不管什么样的问题场景最…

    2015-03-11

评论列表(1条)

  • luoweiro
    luoweiro 2016-11-30 22:19

    使用$()和使用$xxx的差别在有一些地方还是很关键的,不如pig=2 $pigs 和 $(pig)s就是一个典型的例子