文档章节

Linux 文件查阅

拉普兰德
 拉普兰德
发布于 2015/10/28 16:21
字数 1457
阅读 5
收藏 0
点赞 0
评论 0

文件内容查阅:

  • cat   由第一行开始显示文件内容

  • tac   从最后一行开始显示,可以看出 tac 是 cat 的倒著写!

  • nl   显示的时候,顺道输出行号!

  • more 一页一页的显示文件内容

  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

  • head 只看头几行

  • tail 只看尾巴几行

  • od     以二进位的方式读取文件内容!

[root@www ~]# cat [-AbEnTv]选项与参数:
-A  :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b  :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E  :将结尾的断行字节 $ 显示出来;
-n  :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T  :将 [tab] 按键以 ^I 显示出来;
-v  :列出一些看不出来的特殊字符
[root@www ~]# tac /etc/issueKernel \r on an \m
CentOS release 5.3 (Final)# 嘿嘿!与刚刚上面的范例一比较,是由最后一行先显示喔!
[root@www ~]# nl [-bnw] 文件选项与参数:
-b  :指定行号指定的方式,主要有两种:
      -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
      -b t :如果有空行,空的那一行不要列出行号(默认值);
-n  :列出行号表示的方法,主要有三种:
      -n ln :行号在萤幕的最左方显示;
      -n rn :行号在自己栏位的最右方显示,且不加 0 ;
      -n rz :行号在自己栏位的最右方显示,且加 0 ;
-w  :行号栏位的占用的位数。

more (一页一页翻动):

  • 空白键 (space):代表向下翻一页;

  • Enter         :代表向下翻『一行』;

  • /字串         :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;

  • :f             :立刻显示出档名以及目前显示的行数;

  • q             :代表立刻离开 more ,不再显示该文件内容。

  • b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。

less (一页一页翻动):

  • 空白键    :向下翻动一页;

  • [pagedown]:向下翻动一页;

  • [pageup]  :向上翻动一页;

  • /字串     :向下搜寻『字串』的功能;

  • ?字串     :向上搜寻『字串』的功能;

  • n         :重复前一个搜寻 (与 / 或 ? 有关!)

  • N         :反向的重复前一个搜寻 (与 / 或 ? 有关!)

  • q         :离开 less 这个程序;

数据撷取
我们可以将输出的数据作一个最简单的撷取,那就是取出前面 (head) 与取出后面 (tail) 文字的功能。 不过,要注意的是, head 与 tail 都是以『行』为单位来进行数据撷取的喔!

[root@www ~]# od [-t TYPE] 文件选项或参数:
-t  :后面可以接各种『类型 (TYPE)』的输出,例如:
      a       :利用默认的字节来输出;
      c       :使用 ASCII 字节来输出
      d[size] :利用十进位(decimal)来输出数据,每个整数占用 size bytes ;
      f[size] :利用浮点数值(floating)来输出数据,每个数占用 size bytes ;
      o[size] :利用八进位(octal)来输出数据,每个整数占用 size bytes ;
      x[size] :利用十六进位(hexadecimal)来输出数据,每个整数占用 size bytes ;
范例一:请将/usr/bin/passwd的内容使用ASCII方式来展现!
[root@www ~]# od -t c /usr/bin/passwd
0000000 177   E   L   F 001 001 001  \0  \0  \0  \0  \0  \0  \0  \0  \0
0000020 002  \0 003  \0 001  \0  \0  \0 260 225 004  \b   4  \0  \0  \0
0000040 020   E  \0  \0  \0  \0  \0  \0   4  \0      \0  \a  \0   (  \0
0000060 035  \0 034  \0 006  \0  \0  \0   4  \0  \0  \0   4 200 004  \b
0000100   4 200 004  \b 340  \0  \0  \0 340  \0  \0  \0 005  \0  \0  \0.....(后面省略)....
# 最左边第一栏是以 8 进位来表示bytes数。以上面范例来说,第二栏0000020代表开头是
# 第 16 个 byes (2x8) 的内容之意。
范例二:请将/etc/issue这个文件的内容以8进位列出储存值与ASCII的对照表
[root@www ~]# od -t oCc /etc/issue
0000000 103 145 156 164 117 123 040 162 145 154 145 141 163 145 040 065
          C   e   n   t   O   S       r   e   l   e   a   s   e       5
0000020 056 062 040 050 106 151 156 141 154 051 012 113 145 162 156 145
          .   2       (   F   i   n   a   l   )  \n   K   e   r   n   e
0000040 154 040 134 162 040 157 156 040 141 156 040 134 155 012 012
          l       \   r       o   n       a   n       \   m  \n  \n
0000057# 如上所示,可以发现每个字节可以对应到的数值为何!
# 例如e对应的记录数值为145,转成十进位:1x8^2+4x8+5=101。

修改文件时间或建置新档: touch

我们在 ls 这个命令的介绍时,有稍微提到每个文件在linux底下都会记录许多的时间参数, 其实是有三个主要的变动时间,那么三个时间的意义是什么呢?

  • modification time (mtime)
    当该文件的『内容数据』变更时,就会升级这个时间!内容数据指的是文件的内容,而不是文件的属性或权限喔!

  • status time (ctime)
    当该文件的『状态 (status)』改变时,就会升级这个时间,举例来说,像是权限与属性被更改了,都会升级这个时间啊。

  • access time (atime)
    当『该文件的内容被取用』时,就会升级这个读取时间 (access)。举例来说,我们使用 cat 去读取 /etc/man.config , 就会升级该文件的 atime 了。



touch 这个命令最常被使用的情况是:

  • 创建一个空的文件;

  • 将某个文件日期修订为目前 (mtime 与 atime)

文件默认权限:umask

文件隐藏属性:

chattr (配置文件隐藏属性)

lsattr (显示文件隐藏属性)

观察文件类型:file

命令档名的搜寻:which (寻找『运行档』)

文件档名的搜寻:

whereis (寻找特定文件)

locate

© 著作权归作者所有

共有 人打赏支持
拉普兰德
粉丝 1
博文 35
码字总数 51254
作品 0
郑州
程序员
使用 Tripwire 保护 Linux 文件系统

如果恶意软件或其情况改变了你的文件系统,Linux 完整性检查工具会提示你。 尽管 Linux 被认为是最安全的操作系统(排在 Windows 和 MacOS 之前),但它仍然容易受到 rootkit 和其他恶意软件...

作者: Michael Kwaku Aboagye ⋅ 04/30 ⋅ 0

Boostnote 0.11.6 发布,Markdown 笔记编辑器

Boostnote 0.11.6 已发布,包括以下新特性: 分割视图可调整。现在可通过拖动来调整编辑器的宽度和预览框; 支持通过 OS shell 打开本地文件; 国际化:新增土耳其语; 改进笔记附件; 支持自...

王练 ⋅ 06/20 ⋅ 0

.NET Core 2.1 for Red Hat Platforms 正式发布

针对红帽企业 Linux 和 OpenShift 平台的 .NET Core 2.1 正式发布,新版本在开源环境中继续扩大对微服务开发的支持和工具,进一步减少了 Windows 和 Linux 之间的平台差异。 开发者可以将...

王练 ⋅ 06/16 ⋅ 0

AV Linux 2018.4.2 发布,基于 Debian 的视听制作系统

AV Linux 2018.4.2 已发布,带来了大量 Bug 修复、软件更新和新特性,亮点包括: 集成 4.9.76 RT Kernel 和 KPTI'Meltdown' 安全补丁 KPTI 可在启动时禁用 大量与 KXStudio 存储库兼容的重要...

王练 ⋅ 04/23 ⋅ 0

Red Hat Enterprise Linux 6.10 发布,提升安全性和可靠性

Red Hat Enterprise Linux 6.10 已发布,现有的 RHEL 6.x 的用户可免费更新到此版本。如果是新用户,开发团队建议直接考虑 7.x 分支。 此更新包含最近发现的 Spectre / Meltdown 安全漏洞的解...

王练 ⋅ 06/21 ⋅ 0

Linux Kernel 4.9 发布,全新主线开启

Linus 宣布 Linux Kernel 4.9 发布,这是新的 mainline 版本,4.10 的合并窗口因此同步开启。 Linus 称 4.9 是他们最大的发布,至少在提交的数量上是如此。如果单看改变行数,之前有过更大的...

王练 ⋅ 2016/12/12 ⋅ 14

Linus Torvalds:2016 会是“ARM 笔记本之年”

在爱尔兰都柏林举办的Linux大会(LinuxCon 2015)上,Linus Torvalds在演讲中谈到了很多事情,包括安全、以及Linux在ARM硬件上的愿景。最近一段时间,Linux内核开发社区经历了一些动荡,并且...

oschina ⋅ 2015/10/09 ⋅ 44

Samba 4.8.2 发布,SMB/CIFS 网络协议的重新实现

Samba 4.8.2 已发布,更新内容包括: 修复更新至 4.8.0 后,出现 “Failed to find our own NTDS Settings objectGUID” 报错的 bug 。 s3:VFS:修复 vfsceph 中的内存泄漏。 s3:smbspool:修...

王练 ⋅ 05/19 ⋅ 0

Linux Kernel 2.6.29 RC 2 发布

Linux Kernel 2.6.29 RC 1 在上一个周末发布,时隔还不到一周,Linus Torvalds 就公布了 Linux Kernel 2.6.29 的第二个候选发布版。这个版本主要更新了 MIPS 架构及固件,并添加了新的硬件驱...

红薯 ⋅ 2009/01/19 ⋅ 0

Node.js 10.0.0 正式发布,带来大量改进和修复

Node.js 10.0.0 正式发布,这是自 Node.js Foundation 开展以来的第七个主要版本,并将在 2018 年 10 月成为下一个 LTS 分支。 新版本自带定制化的 Node-ChakraCore 引擎,其功能亮点包括: ...

王练 ⋅ 04/25 ⋅ 31

没有更多内容

加载失败,请刷新页面

加载更多

下一页

mavne settings.xml

<?xml version="1.0" encoding="UTF-8"?> <settings> <localRepository>C:/Users/tuozq/.m2/repository</localRepository> <mirrors> <mirror> <id>a......

Jay丶 ⋅ 5分钟前 ⋅ 0

xuchen-mvc相关类

package org.mvc.framework.utils; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ContextPathUtil { public static List<String> splitConte......

徐志 ⋅ 18分钟前 ⋅ 0

JVM CMS和G1 有什么区别

1.CMS适用于要求:不能忍受长时间停顿要求快速响应的应用。 2.当新生代占用达到一定比例的时候,开始出发收集。不区分年轻代和年老代空间。它把堆空间划分为多个大小相等的区域。当进行垃圾收...

qimh ⋅ 20分钟前 ⋅ 0

重入(reentrant或re-entrancy)攻击

可重入 若一个程序或子程序可以「在任意时刻被中断然后操作系统调度执行另外一段代码,这段代码又调用了该子程序不会出错」,则称其为可重入(reentrant或re-entrancy)的。 例子如下: funct...

王坤charlie ⋅ 22分钟前 ⋅ 0

HTTP协议(超文本传送协议)详解

引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTT...

一个成都的小点点 ⋅ 22分钟前 ⋅ 0

bootstrap easyui

bootstrap easyui

霜叶情 ⋅ 23分钟前 ⋅ 0

数据结构与算法之双向循环链表实践

一、双向循环链表实践 1.题目1,要求实现用户输入一个数,使得26个字母的排列发生变化 例如用户输入3,输出结果:DEFGHIJKLMNOPQRSTUVWXYZABC 例如用户输入-3,输出结果:XYZABCDEFGHIJKLMN...

aibinxiao ⋅ 26分钟前 ⋅ 0

架构设计之初体验,送给准备进阶架构的朋友(个人总结)

1 基本概念和目的 架构设计的目的是为了解决系统复杂度带来的问题,并不是要面面俱到,不需要每个架构都具备高性能、高可用、高扩展等特点,而是要识别出实际业务实际情况的复杂点,然后有有...

James- ⋅ 27分钟前 ⋅ 0

获取jar中的资源文件途径

如果资源文件处于jar中而非当前项目中,可以通过如下方式加载 String path = Thread.currentThread().getConctextClassLoader().getResource("资源文件路径").getFile();...

最佳的时间就是现在 ⋅ 30分钟前 ⋅ 0

从方法论到零售客户实践 解码阿里巴巴数据中台——2018上海云栖大会

摘要: 一、数据中台之道 6月8日,上海云栖大会进入了第二天的议程,数据中台专场论坛座无虚席,数据中台总架构师邓中华女士向在场的观众介绍了数据中台的衍生发展之道。 基于OneID、OneData...

阿里云云栖社区 ⋅ 33分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部