Linux常用文件管理命令详解
cat
cat
命令用于连接文件并打印到标准输出设备上。
命令语法:cat [参数] [文件名]
参数说明:
参数 | 说明 |
---|---|
-n | 由1开始对所有输出的行数进行编号。 |
-b | 由1开始对所有输出的行数进行编号,对于空白行不编号。 |
-s | 当遇到有连续两行以上的空白行,就替换为一行的空白行。 |
-E | 在每行结束处显示$。 |
-T | 将 TAB 字符显示为^I |
使用示例:
- 将一个
万猫学社
每个字占一行写入one.txt文件中,再查看文件one.txt内容。
echo -e '万\n猫\n学\n社' > one.txt
cat one.txt
效果如下图:
- 将one.txt的文件内容加上行号后输入到more.txt文件,再查看文件more.txt内容。
cat -n one.txt > more.txt
cat more.txt
效果如下图:
- 将one.txt文件内容清空,查看文件one.txt内容。
cat /dev/null > one.txt
cat one.txt
效果如下图:
可以看到one.txt文件没有任何内容。
file
file
命令用于辨识文件类型。
命令语法:file [参数] [文件]
参数说明:
参数 | 说明 |
---|---|
-b | 列出辨识结果时,不显示文件名称 |
-c | 详细显示指令执行过程,便于排错或分析程序执行的情形 |
-L | 直接显示符号连接所指向的文件的类别 |
-v | 显示版本信息 |
-z | 解读压缩文件的内容 |
使用示例:
- 显示onemore.txt文件类型。
echo '万猫学社' > onemore.txt
file onemore.txt
效果如下图:
- 显示百度logo的文件类型并不显示文件名称。
wget https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png
file -b PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png
效果如下图:
find
find
命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
命令语法:find [参数] [文件]
参数说明:
参数 | 说明 |
---|---|
-mount | 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件 |
-amin n | 在过去n分钟内被读取过文件 |
-type 文件类型 | 指定查找的文件类型,d: 目录,c: 字型装置文件,b: 区块装置文件,p: 具名贮列,f: 一般文件,l: 符号连结,s: socket |
-cmin n | 在过去n分钟内被修改过 |
-name name | 查找文件名称为name的文件 |
-size n | 文件大小 |
使用示例:
- 将当前目录及其子目录下所有文件后缀为.txt的文件列出来。
touch one.txt more.txt
find . -name "*.txt"
效果如下图:
- 将当前目录及其子目录下3天以前的普通文件列出来。
find . -type f -mtime +3
效果如下图:
cmp
cmp
命令用于比较两个文件是否有差异。当相互比较的两个文件完全一样时,该指令不会显示任何信息。否则会标示出第一个不同之处的字符和列数编号。当不指定任何文件名称,或文件名为"-",则cmp指令会从标准输入设备读取数据。
命令语法:cmp [-clsv][-i <字符数目>][--help][第一个文件][第二个文件]
参数说明:
参数 | 说明 |
---|---|
-c | 除了标明差异处的十进制字码之外,一并显示该字符所对应字符 |
-i <字符数目> | 指定一个数目 |
-l | 标示出所有不一样的地方 |
-s | 不显示错误信息 |
-v | 显示版本信息 |
--help | 显示帮助信息 |
使用示例:
将一个万猫学社77
每个字占一行写入one.txt文件中:
echo -e '万\n猫\n学\n社\n77' > one.txt
将一个万猫学社88
每个字占一行写入more.txt文件中:
echo -e '万\n猫\n学\n社\n88' > more.txt
比较one.txt文件和more.txt文件是否相同:
cmp one.txt more.txt
效果如下图:
可以看到one.txt文件和more.txt文件第5行就有不同之处。
diff
diff
命令用于比较文件的差异。diff命令以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。
命令语法:diff [参数] [文件或目录1] [文件或目录2]
参数说明:
参数 | 说明 |
---|---|
-<行数> | 指定要显示多少行的文本,此参数必须与-c或-u参数一并使用 |
-c | 显示全部内文,并标出不同之处 |
-u | 以合并的方式来显示文件内容的不同 |
-a | 只会逐行比较文本文件 |
-b | 不检查空格字符的不同 |
-d | 使用不同的演算法,以较小的单位来做比较 |
-i | 不检查大小写的不同 |
-y | 以并列的方式显示文件的异同之处 |
-W<宽度> | 在使用-y参数时,指定栏宽 |
使用示例:
比较one.txt文件和more.txt文件,以并排格式输出。
diff one.txt more.txt -y -W 10
效果如下图:
最后,谢谢你这么帅,还给我点赞和关注。
微信公众号:万猫学社
微信扫描二维码
关注后回复「电子书」
获取12本Java必读技术书籍

Linux常用文件管理命令详解的更多相关文章
- Linux - 常用网络命令详解netstat,scp
ifconfig 查看生效的ip信息. [root@local ~]# ifconfig eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICA ...
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- Linux下rar命令详解
Linux下rar命令详解 用法: rar <命令> -<选项1> ….-<选项N> < 操作文档> <文件…> <@文件列表…> ...
- linux下tar命令详解
linux下tar命令详解 tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.ta ...
- Linux下top命令详解
Linux下top命令详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷 ...
- 【转帖】Linux定时任务Crontab命令详解
Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲sys ...
- Linux主要shell命令详解(上)
[摘自网络] kill -9 -1即实现用kill命令退出系统 Linux主要shell命令详解 [上篇] shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的 ...
- Linux定时任务Crontab命令详解_转
转自:Linux定时任务Crontab命令详解 (部分修改) linux 定时系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服 ...
- Linux 系统性能监控命令详解
Linux 系统性能监控命令详解 CPU MEMORY IO NETWORK LINUX进程内存占用查看方法 系统负载过重时往往会引起其它子系统的问题,比如:->大量的读入内存的IO请求(pag ...
随机推荐
- JAVA多线程学习九-原子性操作类的应用
当程序更新一个变量时,如果多线程同时更新这个变量,可能得到期望之外的值,比如变量i=1,A线程更新i+1,B线程也更新i+1,经过两个线程操作之后可能i不等于3,而是等于2.因为A和B线程在更新变量i ...
- 有了Autolayout的UILabel
在没有Autolayout之前,UILabel的文字内容总是居中显示,导致顶部和底部会有一大片空缺区域 有Autolayout之后,UILabel的bounds默认会自动包住所有的文字内容,顶部和底部 ...
- node.js中的fs.appendFile方法使用说明
方法说明: 该方法以异步的方式将 data 插入到文件里,如果文件不存在会自动创建.data可以是任意字符串或者缓存. 语法: 代码如下: fs.appendFile(filename, data, ...
- 调试程序Bug-陈棚
1.使用NSAssert 主要可以作为自定义bug的返回信息,对调试极为方便知道bug出现在哪 NSAssert()只是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式 ...
- Pytest用例编写1
一.编写pytest测试样例非常简单,只需要按照下面的规则: 测试文件以test_开头(以_test结尾也可以) 测试类以Test开头,并且不能带有 __init__ 方法 测试函数以test_开 ...
- postman中用当前时间戳做请求的入参
用postman做接口测试的,有些接口需要带上当前时间的时间戳作为请求的入参,postman支持这种功能吗? 答案是肯定的. 文中有使用时间戳的两种方法和postman常用的预定义变量. 例子中接口的 ...
- pycharm软件安装
目前热门的编程软件: 1.VScode 小巧轻便但是对小白不是很优化 2.sublime 时下最流行的代码编辑器,功能十分强大可以运行在windows.macOS和linux系统中,小白先不要使用 3 ...
- Solution -「CF 494C」Helping People
\(\mathcal{Description}\) Link. 给定序列 \(\{a_n\}\) 和 \(m\) 个操作,第 \(i\) 个操作有 \(p_i\) 的概率将 \([l_i,r_ ...
- Dump Lsass内存转储新旧方法
之前看到一篇关于Lsass内存dump的文章,学习记录一下. lsass.exe(Local Security Authority Subsystem Service)进程空间中,存有着机器的 ...
- 利用shell脚本[带注释的]部署单节点多实例es集群(docker版)
文章目录 目录结构 install_docker_es.sh elasticsearch.yml.template 没事写写shell[我自己都不信,如果不是因为工作需要,我才不要写shell],努力 ...