首页 > 系统相关 >Linux查看文件内容和压缩文件命令

Linux查看文件内容和压缩文件命令

时间:2022-09-21 14:33:50浏览次数:81  
标签:文件 log 查看 压缩文件 Linux test cat root testfile

查看文件内容

一些重要的目录:

/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

 

标签:文件,log,查看,压缩文件,Linux,test,cat,root,testfile
From: https://www.cnblogs.com/fengxia6/p/16715340.html

相关文章

  • sstate目录改变,导致PetaLinux工程编译出现错误“dpkg-architecture: command not foun
    最近编译PetaLinux工程时,出现错误“dpkg-architecture:commandnotfound”。经过检查,最近移动了本地sstate目录。PetaLinux工程中的sstate的本地目录,已经不存在。恢复......
  • MySQL查看数据库表容量大小
    1.查看所有数据库容量大小selecttable_schemaas'数据库',sum(table_rows)as'记录数',sum(truncate(data_length/1024/1024,2))as'数据容量(MB)',sum(truncate......
  • 使用linux时遇到的问题,ifconfig -a 报错不能找到命令,提示下载。
    1.问题截图    2.解决办法首先查看占用的进程  然后杀死进程  接下来输入如下命令  当前......
  • linux 常用命令(四)
    which:命令的功能是用于查找命令文件,能够快速搜索二进制程序所对应的位置。whereis:命令用来定位命令的二进制程序、源代码文件和man手册页等相关文件的路径。who:命令的功......
  • Linux安装Oracle11g
    一、准备工作1、下载Oracle安装包,通过ftp工具上传到linux服务器并解压由于Oracle官网上无法下载Oracle数据库之前的版本,可以在OracleSoftwareDeliveryCloud里搜索or......
  • 如何查看 计算机名 和 有线网物理地址
     计算机名查看方法:cmd-->ipconfig/all-->“WindowsIP配置”下的主机名 有线网物理地址查看方法:cmd-->ipconfig/all-->“以太网适配器以太网”下的物理地址(例如......
  • conda中如何创建、查看、删除虚拟环境
     001、查看利用conda创建的虚拟环境(base)[root@PC1software]#condaenvlist#condaenvironments:#base*/root/anaconda3  002、......
  • Linux FrameBuffer note
    https://learnopengl.com/Advanced-OpenGL/FramebuffersLinuxFrameBuffer如何直接操作FrameBuffer一般情况下,我们不会直接操作FrameBuffer,这是非常基础的操作,通常......
  • linux 网络路由
    一、路由表作用路由表的作用其实就类似于导航的作用,它告诉主机数据包应该转发到哪里。如果主机不含路由表,那么它所有的数据包都传送不出去。所以不关事路由器,主机也会有自......
  • linux 升级centos7版本
    目录linux升级centos7版本查看系统版本更换国内源验证linux升级centos7版本我这里从centos7.*升级到centos7.9查看系统版本[root@centos7-2~]#cat/etc/redhat-rel......