Linux系统中的文件查看和查询命令
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
✅作者简介热爱国学的Java后端开发者修心和技术同步精进。
🍎个人主页Java Fans的博客
🍊个人信条不迁怒不贰过。小知识大智慧。
💞当前专栏Java案例分享专栏
✨特色专栏国学周更-心性养成之路
🥭本文内容Linux系统中的文件查看和查询命令
文章目录
💖 文件查看命令
常用的查看命令有cat、tac、more、less、head、tail、nl
命令 | 解释 |
---|---|
cat | 由第一行开始显示档案内容 |
tac | 从最后一行开始显示档案内容tac是cat的倒写 |
more | 一页一页地显示档案内容 |
less | 与more类似但比more更好它可以往前翻页 |
head | 只看前几行 |
tail | 只看末尾几行 |
nl | 显示行号。 |
💫 cat命令
名称cat
全称concatenate
使用权限所有使用者
使用方式cat [-AbeEnstTuv] [–help] [–version] file Name
说明将文件串连接后传到基本输出输出到屏幕或加>file Name 重定向到另外的文件。
参数 | 说明 |
---|---|
-n或–number | 由1开始对所有输出的行数编号。 |
-b或–number-nonblank | 和-n相似但对空白行不编号。 |
-s或–squeeze-blank | 当遇到有连续两行以上的空白行就代换为一行。 |
-v或–show-nonprinting | 显示具体格式。 |
💫 tac命令
名称tac
使用权限所有使用者
使用方式tac fileName
说明将文件从最后一行到第一行反向输出。
💫 more命令
名称more
使用权限所有使用者
使用方式more [-dlfpcsu] [-num] [+/pattern] [+linenum] [filename…]
说明类似cat不过会以一页一页地显示方便使用者逐页阅读按空格键Space往下一页显示按B键往回back一页显示而且还有搜寻字串的功能与vi相似。使用中按H键可以查看说明文件
💫 less命令
名称less
使用权限所有使用者
使用方式less [Option] filename
参数 | 说明 |
---|---|
-c | 从顶部从上到下刷新屏幕并显示文件内容而不是通过底部滚动完成刷新。 |
-f | 强制打开文件二进制文件显示时不提示警告。 |
-i | 搜索时忽略大小写除非搜索串中包含大写字母。 |
-I | 搜索时忽略大小写除非搜索串中包含小写字母。 |
-m | 显示读取文件的百分比。 |
-M | 显示读取文件的百分比、行号及总行数。 |
-N | 在每行前输出行号。 |
说明less的作用与more十分相似不同的是less允许使用者往回翻页以浏览已经看过的部分同时因为less并未在一开始就读入整个文件因此在遇到大型文件的开启时会比一般的文书编辑器如vi来得快速。
💫 head命令
名称head
使用权限所有使用者
使用方式head [Option] filename
参数 | 说明 |
---|---|
-n | 后面接数字代表显示几行。 |
说明以行为单位进行数据读取。
💫 tail命令
名称tail
使用权限所有使用者
使用方式tail [Option] filename
参数 | 说明 |
---|---|
-n | 后面接数字代表显示几行。 |
说明以行为单位读取文档最后n行的数据。
💖 文件查询命令
Linux下有locate、whereis以及find命令可以供选择查找文件。
💫 locate命令
名称locate
使用权限所有使用者。
使用方式locate [-d] [–help] [–version] keyword
补充说明locate指令用于查找符合条件的文档它会去保存文档和目录名称的数据库内查找合乎范本样式条件的文档或目录。
参数 | 说明 |
---|---|
-d或—database= | 配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里文档名为slocate.db可使用这个参数另行指定。 |
–help | 在线帮助。 |
–version | 显示版本信息。 |
-i | 忽略大小写。 |
-r | 后面接正则表达式。 |
说明1在caowei目录下创建了6个空文件并且其名字中都有whb字样但是使用locate whb查找却没有找到刚刚建立的几个文件。
说明2使用locate查找速度非常快因为locate是在以建立的数据库/var/lib/slocate/里面查找资料的根本没有去找文件本身所以不用去硬盘当中存取文件结果当然速度很快。但有个限制就是locate所依赖的数据库每天更新一次所以当新建一些文件的时候是查不到的要想查找到新建的文件需要更新这个数据库可以使用updatedb命令更新数据库不过只有root账户才可以手动更新数据库。
说明3updatedb用来更新数据库。
说明4当时用updatedb命令更新数据库时会有一个长时间的等待过程不是系统死机这是在执行更新。如果想让其在后台执行可以在执行的时候在前面加上&符号让其在后台执行。
说明5出现updatedb无法打开临时文件的问题是因为权限不够所以切换到了root账户下。切换的时候加了“-”意思是保持原来的环境变量。
说明6当updatedb完毕后再次使用locate whb去查询发现仍然看不到因为测试的东西都在/tmp目录下updatedb默认更新是不包含/tmp/下的内容所以即使更新了数据库还是看不到想要的数据。
💫 Whereis命令
名称whereis
使用权限所有使用者
使用方式whereis [-bfmsu] [-B <目录>…] [-M <目录>…] [-S <目录>…] [文件…]
补充说明whereis指令会在特定目录中查找符合条件的文件。这些文件的类型应属于原始代码、二进制文件或是帮助文件。
参数 | 说明 |
---|---|
-b | 只查找二进制文件。 |
-B<目录> | 只在设置的目录下查找二进制文件。 |
-f | 不显示文件名前的路径名称。 |
-m | 只查找说明文件。 |
-M<目录> | 只在设置的目录下查找说明文件。 |
-s | 只查找原始代码文件。 |
-S<目录> | 只在设置的目录下查找原始代码文件。 |
-u | 查找不包含指定类型的文件。 |
💫 find命令
find命令相对于前面两个查询命令速度慢但功能非常强大。
名称find
使用权限和要查找的文件相关
使用方式find pathname -options [-print –exec –ok…]
参数 | 说明 |
---|---|
pathname | find命令所查找的目录路径 .表示当前目录/表示系统根目录。 |
find命令将匹配的文件输出到标准输出。 | |
-exec | find命令对于匹配的文件执行该参数所给出的shell命令。相应命令的形式为‘command’{} 注意{}和之间的空格。 |
-ok | 和-exec的作用相同只不过以一种更安全的模式来执行该参数所给出的shell命令在执行每一个命令之前都会给出提示让用户来确定是否执行。 |
补充说明find命令是这三个搜索命令中功能最强大的如果用户有读取的权限可以将Linux磁盘中的任何文件全部搜索并显示出来但正式因为其功能如此强大也导致其搜索速度不如另外两个搜索命令。
参数 | 说明 |
---|---|
-name | 按照文件名查找文件。 |
-perm | 按照文件权限来查找文件。 |
-prune | 使用这一选项可以使find命令不在当前指定的目录中查找如果同时使用-depth选项那么-prune将被find命令忽略。 |
-user | 按照文件所属用户来查找文件。 |
-group | 按照文件所属的组来查找文件。 |
-mtime | -n、+n按照文件的更改时间来查找文件-n表示文件更改时间距现在n天以内+n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime选项它们都和-mtime选项基本一样。 |
-nogroup | 查找无有效所属组的文件即该文件所属的组在/etc/groups中不存在。 |
-nouser | 查找无有效属组的文件即该文件的属组在/etc/passwd中不存在。 |
-newer file | file为一个已经存在的文件名称查找比file更新的文件名。 |
-type | 查找某一类型的文件列举如下。 |
b – 块设备文件 | |
d – 目录 | |
c – 字符设备文件 | |
p – 管道文件 | |
l – 符号链接文件 | |
f – 普通文件。 | |
-size | [±]查找大小比size还要大+或者小-的文件size的衡量标准说明如下 |
c代表byte | |
k代表1M byte | |
-depth | 在查找文件时首先查找当前目录中的文件然后在其子目录中查找。 |
-fstype | 查找位于某一类型文件系统中的文件这些文件系统类型通常可以在配置文件/etc/fstab中找到该配置文件包含了本系统中有关文件系统的信息。 |
-mount | 在查找文件时不跨越文件系统mount点。 |
-follow | 如果find命令遇到符号链接文件就跟踪至链接所指向的文件。 |
-cpio | 对匹配的文件使用cpio命令将这些文件备份到磁带设备中。 |
查找httpd.conf这个文件在系统的哪个目录下
说明find为查找“/”为在根目录下查找但如果需要在其他的目录下查找则直接输入目录信息即可-name后面接要查找的文件名字这里需要注意的是挡在admin账户下查找httpd.conf的时候提示权限不够切换账户至root后可得到结果。
💫 find 的复杂应用
find的特殊功能是能够执行额外的命令find为查找命令pathname为find所查找的范围-option为find的参数可以加上上面列举的所有参数-exec表示额外命令的开始command是额外命令-parameter为command所带的参数{}代表find与后面参数结合起来查找的结果“\”为额外命令的结束。
.代表目前目录-type f代表普通文件-exec执行的额外命令为ls -l
将当前目录下的所有目录查找出来并复制到/tmp目录下。
说明1这个命令组合执行的结果不是将当前目录复制到/tmp而是将当前目录下的所有内部文件全部复制到/tmp目录中。
说明2cp {}代表复制的源为find所得到的结果/tmp当前为目标所在了。
码文不易本篇文章就介绍到这里如果想要学习更多Java系列知识点击关注博主博主带你零基础学习Java知识。与此同时对于日常生活有困扰的朋友欢迎阅读我的第四栏目《国学周更—心性养成之路》学习技术的同时我们也注重了心性的养成。