查看文件内容

一些重要的目录:

/usr/share/    帮助文档、说明文档
/var/log/       日志
/var/run/       运行中程序
/var/tmp       临时文件

  • 根(/)相当于一个入口,文件的总入口,也是唯一入口
  • bin (sbin) 二进制文件,可执行文件,也可能存在别处,默认使用较多所有用户软连接文件 ----------------命令
  • sbin 管理员可使用的二进制文件-------------命令ls cd useradd
  • boot 系统内核、启动文件
  • dev 硬件文件(黄色)
  • etc 配置文件等同于windows 注册表,一般都是文本文件
  • usr应用程序和操作系统相关的文件 bin sbin
  • var/log日志文件,数据变化的
  • proc 主要保存系统的内核、进程、外部设备状态和网络状态等
  • mnt 默认挂载点
  • opt 第三方应用程序安装所在目录程序

Cat(查看文件内容)

格式:

cat [选项] 文件名

选项:

选项 效果
-n 显示行号包括空行
-b 跳过空白行编号
-s 将所有的连续的多个空行替换为一个空行(压缩成一个空行)
-A 显示隐藏字符

示例:

Cat 查看文件内容

把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:

cat -b textfile1 textfile2 >> textfile3

清空 /etc/test.txt 文档内容:

cat /dev/null > /etc/test.txt

cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:

cat /dev/fd0 > OUTFILE

相反的,如果想把 image file 写到软盘,输入:

cat IMG_FILE > /dev/fd0

cat加选项

-n
[root@localhost jlx]#cat -n 1.txt //显示行号包括空行
2 222
3
4
5 222
6
7
8 333

-b
[root@localhost jlx]#cat -b 1.txt //跳过空白行编号
2 222

3 333

4 444

-s
[root@localhost jlx]#cat -s 1.txt //将所有的连续的多个空行替换为一个空行
222

333

444

-A
[root@localhost jlx]#cat -A 1.txt //显示隐藏字符
222$
$
$
333$
$
$
444$

more(分页查看文件内容)

格式:

more 文件名

操作说明:

指令 功能
空格
向下 一页
 回车  向下一行
 b  向上
 q  退出

语法

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

实例

逐页显示 testfile 文档内容,如有连续两行以上空白行则以一行空白行显示。

more -s testfile

从第 20 行开始显示 testfile 之文档内容。

more +20 testfile

less(分页查看文件内容)

格式:

less 文件名

操作说明:

指令 功能
空格 向下 一页
回车 向下一行
b 向上
q 退出
/ 查找内容
n 向下查找
N 向上查找

实例

1、查看文件

less log2013.log

2、ps查看进程信息并通过less分页显示

ps -ef |less

3、查看命令历史使用记录并通过less分页显示

[root@localhost test]# history | less

22 scp -r tomcat6.0.32 root@192.168.120.203:/opt/soft

23 cd ..

24 scp -r web root@192.168.120.203:/opt/

25 cd soft

26 ls

……省略……

4、浏览多个文件

less log2013.log log2014.log

说明:
输入 :n后,切换到 log2014.log
输入 :p 后,切换到log2013.log

附加备注

1.全屏导航

  • ctrl + F - 向前移动一屏

  • ctrl + B - 向后移动一屏

  • ctrl + D - 向前移动半屏

  • ctrl + U - 向后移动半屏

单行导航

  • j - 下一行

  • k - 上一行

3.其它导航

  • G - 移动到最后一行

  • g - 移动到第一行

  • q / ZZ - 退出 less 命令

4.其它有用的命令

  • v - 使用配置的编辑器编辑当前文件

  • h - 显示 less 的帮助文档

  • &pattern - 仅显示匹配模式的行,而不是整个文件

5.标记导航

当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:

  • ma - 使用 a 标记文本的当前位置

  • 'a - 导航到标记 a 处

head/tail(查看头部和尾部内容)

格式:

head -n <行数> 文件名 (不加行数默认开头十行)

tail -n<行数> 文件名 (不加行数默认结尾十行)

tail -f 文件名:实时跟踪最后十行

实例

要显示 runoob_notes.log 文件的开头 10 行,请输入以下命令(默认带参赛 -n 10):

head runoob_notes.log

以上命令等价于:

head -n 10 runoon_notes.log

显示 notes.log 文件的开头 5 行,请输入以下命令:

head -n 5 runoob_notes.log

显示文件前 20 个字节:

head -c 20 runoob_notes.log

【“ | ”管道符 将前面命令的结果 交给后面的命令执行】 【tips:不是所有的命令都支持管道符】

拓展:

通过组合完成要求: 我只要第二行

[root@localhost jlx]#cat 2.txt|head -n 2|tail -n 1
2

wc(统计文件中的信息)

格式:

wc [选项] 目标文件

不加选项,则默认统计行数、单词个数、字节数三者

  • -l:统计行数

  • -w:统计单词个数

  • -c:统计字节数

实例

在默认的情况下,wc将计算指定文件的行数、字数,以及字节数。使用的命令为:

wc testfile

先查看testfile文件的内容,可以看到:

$ cat testfile

Linux networks are becoming more and more common, but scurity is often an overlooked

issue. Unfortunately, in today’s environment all networks are potential hacker targets,

fro0m tp-secret military research networks to small home LANs.
Linux Network Securty focuses on securing

Linux in a networked environment, where the
security of the entire network needs to be considered rather than just isolated machines.
It uses a mix of theory and practicl techniques to teach administrators how to install and

use security applications, as well as how the applcations work and why they are necesary.

使用 wc统计,结果如下:

$ wc testfile            # testfile文件的统计信息

3 92 598 testfile  # testfile文件的行数为3、单词数92、字节数598

其中,3 个数字分别表示testfile文件的行数、单词数,以及该文件的字节数。

如果想同时统计多个文件的信息,例如同时统计testfile、testfile_1、testfile_2,可使用如下命令:

wc testfile testfile_1 testfile_2 #统计三个文件的信息

输出结果如下:

$ wc testfile testfile_1 testfile_2 #统计三个文件的信息

3 92 598 testfile #第一个文件行数为3、单词数92、字节数598

9 18 78 testfile_1 #第二个文件的行数为9、单词数18、字节数78

3 6 32 testfile_2 #第三个文件的行数为3、单词数6、字节数32

15 116 708 总用量 #三个文件总共的行数为15、单词数116、字节数708

grep(66检索、过滤文件内容)

格式:

grep [选项] 查找条件 目标文件

选项:

选项 作用
-i 查找时忽略大小写
-v 反向查找,输出与查找条件不相符的行
-o 只显示匹配项
-r 在目录内递归查找
-n 显示匹配行及行号

语法

grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

实例

1、在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。此时,可以使用如下命令:

grep test *file

结果如下所示:

$ grep test test* #查找前缀有“test”的文件包含“test”字符串的文件

testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行

testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行

testfile_2:Linux test #列出testfile_2 文件中包含test字符的行

2、以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件,并打印出该字符串所在行的内容,使用的命令为:

grep -r update /etc/acpi

输出结果如下:

$ grep -r update /etc/acpi #以递归的方式查找“etc/acpi”

#下包含“update”的文件

/etc/acpi/ac.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.)

Rather than

/etc/acpi/resume.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of
IO.)

Rather than

/etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys--update

3、反向查找。前面各个例子是查找并打印出符合条件的行,通过"-v"参数可以打印出不符合条件行的内容。

grep -v test *test*

查找文件名中包含 test 的文件中不包含test 的行,此时,使用的命令为:

$ grep-v test* #查找文件名中包含test 的文件中不包含test 的行

testfile1:helLinux!

testfile1:Linis a free Unix-type operating system.

testfile1:Lin

testfile_1:HELLO LINUX!

testfile_1:LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM.

testfile_1:THIS IS A LINUX TESTFILE!

testfile_2:HELLO LINUX!

testfile_2:Linux is a free unix-type opterating system.

正则表达式:

  • ^ 以什么开头 放最前

  • $ 以什么什么结尾 放最后

  • 空白行怎么表示?------^$

  • grep -n 'bash$' passwd 以bash结尾的行

  • grep -n '^$' fstab 找出空白行

  • grep -nv '^$' fstab 找出非空白行

压缩文件

gzip和bzip2

区别:

Bzip2 -k 保留源文件,压缩比gzip 要好一点

常用选项:

标题  
-9 压缩
-d 解压缩

格式:

  • 压缩

gzip [-9] 文件名

bzip2 [-9] 文件名

  • 解压缩

  • gzip -d .gz格式的压缩文件

  • bzip2 -d .bz2格式的压缩文件

语法

gzip [-acdfhlLnNqrtvV][-S &lt;压缩字尾字符串&gt;][-&lt;压缩效率&gt;][--best/fast][文件...] 或 gzip [-acdfhlLnNqrtvV][-S &lt;压缩字尾字符串&gt;][-&lt;压缩效率&gt;][--best/fast][目录]

实例

压缩文件

[root@runoob.com a]# ls //显示当前目录文件

a.c b.h d.cpp

[root@runoob.com a]# gzip * //压缩目录下的所有文件

[root@runoob.com a]# ls //显示当前目录文件

a.c.gz    b.h.gz    d.cpp.gz

[root@runoob.com a]#

接范例1, 列出详细的信息

[root@runoob.com a]# gzip -dv * //解压文件,并列出详细信息

a.c.gz:     0.0% -- replaced with a.c

b.h.gz:     0.0% -- replaced with b.h

d.cpp.gz:     0.0% -- replaced with d.cpp

[root@runoob.com a]#

接范例1,显示压缩文件的信息

[root@runoob.com a]# gzip -l *

compressed uncompressed ratio uncompressed_name

24 0 0.0% a.c

24 0 0.0% b.h

26 0 0.0% d.cpp

Linux查看文件内容和压缩文件命令的更多相关文章

  1. 003Linux查看文件内容的5个命令姿势

    01 开篇 Linux 中查看文件内容常用的有如下 5 个命令: cat: more: less: tail: head. 02依次看看这些命令的使用姿势 cat 一次性将所有内容输出到屏幕上,方便查 ...

  2. linux中合并多个文件内容到一个文件的例子

    尊敬的用户您好,从即日起 导入 及 导出 功能已经下线,请到阿里云官方数据库管理平台 iDB Cloud 使用该功能! 继续在 iDB Cloud 中发现导出的数据库文件是按照每个表生成的SQL文件, ...

  3. 整理Linux查看系统日志的一些经常使用命令

    整理Linux查看系统日志的一些经常使用命令 last -a 把从何处登入系统的主机名称或ip地址,显示在最后一行. -d 指定记录文件.指定记录文件.将IP地址转换成主机名称. -f <记录文 ...

  4. 07.进程管理+作业控制+文件查找与压缩+文件压缩与打包+tar打包解包+NFS

    进程管理 程序放在磁盘上叫文件,把它复制到内存,并在cpu运行,就叫进程, 进程多少也反映当前运行程序的多少 进程在系统中会为每个进程生成一个进程号,在所有的进程中有一个特殊进程即init进程, 它是 ...

  5. linux查看目录下各个文件大小的命令

    linux查看目录下各个文件大小的命令 由于需要经常查看各个文件的具体大小 ,所以这里记一下. 命令如下: du -h --max-depth=1

  6. Linux查看系统当前登录用户的命令,top命令看到users有多个用户登录

    Linux查看系统当前登录用户的命令,top命令看到users有多个用户登录 作为系统管理员,top命令看到users有多个用户登录,会需要查看下是否被黑客进入了. 实战例子:top命令:top - ...

  7. 【linux学习笔记六】压缩 解压缩命令

    所有的压缩文件一定要写压缩格式的扩展名 .zip格式压缩 #压缩文件 zip 压缩文件名 源文件 #压缩目录 zip -r 压缩文件名 源目录 #解压缩 unzip 压缩文件 .gz格式压缩 #压缩为 ...

  8. 用C#Winform写个简单的批量清空文件内容和删除文件的小工具

    用C#Winform写个简单的批量清空文件内容和删除文件的小工具 本文介绍这个简单得不能再简单的小项目.做这个项目,有以下目的. 1 当然是做个能用的工具 2 学习使用Github 关于用VS2013 ...

  9. java 压缩文件 传入文件数组,压缩文件,在指定路径下生成指定文件名的压缩文件

    /** * 传入文件数组,压缩文件,在指定路径下生成指定文件名的压缩文件 * * @param files * 文件数组 * @param strZipName * 压缩文件路径及文件名 * @thr ...

随机推荐

  1. NC201605 Bits

    NC201605 Bits 题目 题目描述 Nancy喜欢做游戏! 汉诺塔是一个神奇的游戏,神奇在哪里呢? 给出 \(3\) 根柱子,最开始时 \(n\) 个盘子按照大小被置于最左的柱子. 如果盘子数 ...

  2. kubectl 最新常用命令 --V1.24版本

    Kubectl 自动补全 BASH source <(kubectl completion bash) # 在 bash 中设置当前 shell 的自动补全,要先安装 bash-completi ...

  3. C#实现FFT(递归法)

    C#实现FFT(递归法) 1. C#实现复数类 我们在进行信号分析的时候,难免会使用到复数.但是遗憾的是,C#没有自带的复数类,以下提供了一种复数类的构建方法. 复数相比于实数,可以理解为一个二维数, ...

  4. 看起来是线程池的BUG,但是我认为是源码设计不合理。

    你好呀,我是歪歪. 前几天看到一个 JDK 线程池的 BUG,我去了解了一下,摸清楚了它的症结所在之后,我觉得这个 BUG 是属于一种线程池方法设计不合理的地方,而且官方在知道这个 BUG 之后表示: ...

  5. 挑战30天写操作系统-day1-从计算机结构到汇编程序入门

    先动手操作 软盘映像文件制作:先采用二进制编辑器编辑我们所需要的映像文件helloos.img 二进制编辑器下载链接:Bz - c.mos (vcraft.jp) 制作好之后,可以选择写入软盘,通过软 ...

  6. 抢先体验! 在浏览器里写 Flutter 是一种什么体验?

    Invertase 是一间位于英国的开源软件制作公司.主要构建关于开发者工具.SDK 等应用程序,早在 Flutter 2.2 的时候,Invertase 团队就开始帮助构建和贡献 Firebase ...

  7. 什么是好的 API 设计?【eolink翻译】

    对于试图完善其 API 策略的团队来说,良好的 API 设计是一个经常出现的话题. API 设计的重要性相信不需要赘述,精心设计的 API 的好处包括:更好开发人员体验.更快的文档编制以及更高的 AP ...

  8. Spring Data JPA 在 @Query 中使用投影的方法

    Spring Data JPA 在 @Query 中使用投影的方法 关于投影的基本使用可以参考这篇文章:https://www.baeldung.com/spring-data-jpa-project ...

  9. 总结下对我对于CSS中BFC的认知

    首先第一个,什么是BFC? BFC的全称叫Block  Formatting  Context   (块级格式化上下文)BFC是css中隐含属性,开启BFC后元素会变成一个独立的布局环. 简单来说,它 ...

  10. Hive优化(面试宝典)(详细的九个优化)

    Hive优化(面试宝典) 1.1 hive的随机抓取策略 理论上来说,Hive中的所有sql都需要进行mapreduce,但是hive的抓取策略帮我们 省略掉了这个过程,把切片split的过程提前帮我 ...