Linux --- 文件与目录管理(二)

1 篇文章 0 订阅
1 篇文章 0 订阅

完整的文件名包括:目录名称与文件名称,完整文件名最长可以达到4096个字符,那么怎么知道哪个是文件名还是目录名?其实就是利用斜线(/)来分辨的,取得文件名或者目录名称,一般的用途应该是在写程序的时候用来判断的。

下面来简单了解一下basename 与dirname 的用途:

(1)文件内容查阅

在《Linux --- 文件与目录管理(一)》中提到的都只是显示文件的属性或权限,或者是移动与复制一个文件或目录而已,那么如果我们要查阅一个文件的内容时,最常用的显示文件内容的命令是 cat 、more、less 了,下面先来总结一下这些命令吧

 

cat (concatenate) 直接查看文件内容 

# 在Linux 是以 $ 为断行字符,而在windows 则是以 ^MS 为断行字符 #

主要的功能是将一个文件的内容连续的显示出来,如果加上 -n 的话,则每一行前面还会加上行号!如果你的文件内容的行数超过 40 行以上,就不方便用 cat 了,用 more 或者是 less 来执行比较好,如果是一般的dos文件时,就需要特别留意一下奇怪的符号了,例如断行与 [ tab ]等要显示出来,就得使用 - A 之类的参数了! 

tac 反向列示

tac 刚好是将 cat 反过来写,所以它的功能就跟 cat 相反,cat 是将第一行到最后一行连续显示在屏幕上,而 tac 则是将最后一行到第一行反向在屏幕上显示出来。

nl  添加行号打印

列出 /etc/profile 的内容,注意看,这个文件第二行为空白行(没有任何字符),无论是否为空行都列出行号!

如果行号前面自动补上 0 呢

自动在自己字段的地方补上 0 了,预设字段是六位数,如果想要改成5位数呢

这样就变成仅有5位数了,其实 nl 可以将输出的文件内容自动的加上行号!,其结果与 cat -n 有点不太一样,nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等功能

(2)可翻页检视:前面提到 cat 、tac 、nl 等都是一次性的将数据显示到屏幕上,还有进行一页一页翻动查看的命令,那就是 more 和 less 

more 一页一页翻动

在运行 more 这个程序时,你有几个按键可以按的: 

less  一页一页翻动

less 的用法比起 more 又更有弹性,在使用 more 的时候,我们并没有办法向前 ,只能往后看,但使用 less 时就可以使用[pageup] [pagedown]等按键的功能来往前往后翻看文件,在 less 里面还可以向下搜寻或者向上搜寻,可以输入的指令有:

 

查看文件内容还可以进行搜索,less  还有很多功能,详细使用方式可以使用 man less 查询一下

(3)资料撷取:我们可以将输出的资料做一个简单的撷取,那就是取出前面(head)和取出后面(tail)文字的功能。要注意的是:head 和 tail 都是以为单位来进行数据撷取的。

head   取出前面几行

   参数        -n:后面接数字,代表显示几行的意思

head 的英文意思就是[ 头 ],就是显示一个文件的前几行,如果没有加上 -n 参数时,预设只显示10行。有head(头)自然就有tail(尾),tail 的用法跟 head 的用法差不多类似,只是显示的是后面几行而已

tail   取出后面几行

参数          -n:后面接数字,代表显示几行的意思

如果我要显示 /etc/profile 的第6行到第10行呢,这里就需要涉及到管道(|)命令了

(4)od    非纯文字文件

利用这个命令,可以将 data file 或是 binary file 的内容数据读出来,虽然读出来的数值预设是非文字文件,有可能是16进制的数值来显示的,,不过我们还是可以通过 -t c 的参数将数据内的字符以 ASCII 类型的字符来显示,这个指令可以将 binary file 的内容做一个大致的输出。

(5)touch   修改文件时间与新建文件

在介绍 ls(list)命令时,每个文件在Linux底下都会记录三个主要的变动时间,那么三个时间是哪三个呢

在默认情况下,ls 显示出来的是该文件的 mtime ,也就是这个文件内容上次被改动的时间

文件的时间很重要,如果文件的时间误判的话,可能会导致某些程序无法顺利的运行,那如果有一个文件的时间来自未来(比如GMT时间),那该如果让文件的时间变成现在的就用 touch 命令

新建一个 hello 空文件,这个文件大小是 0 ,在默认状态下,如果 touch 后面有接文件,则该文件的三个时间(atime/ctime/mtime)都会更新为目前的时间,如果文件不存在,则会主动新建一个空文件

将时间调整为3天前,本来是20日的,变成17日了(atime/mtime),不过 ctime 并没有跟着改变

将日期修改为2019/07/19 12:29   注意看日期 atime 与 mtime 都改变了,但是 ctime 则是记录目前的时间

通过 touch 这个命令,我们可以轻易的修改文件的日期和时间,并且也可以新建一个空文件,不过要注意的是,即使我们复制一个文件所有的属性时,也没办法复制 ctime 这个属性!ctime 可以记录这个文件最近的状态(status)被改变的时间,我们平时看的文件属性中比较重要的还是 mtime 这个属性。

touch 这个命令最常被使用的情况是:①建立一个空文件  ②将某个文件日期修改为当前日期(mtime 与 atime)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值