linux-centos7 常用的基本命令--文件内容查看、硬链接和软链接

一、文件内容查看

1、cat (由第一行开始显示文件内容)

cat [-AbeEnstTuv] [--help] [--version] fileName

参数说明:

  • -n 或 --number:由 1 开始对所有输出的行数编号。
  • -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
  • -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
  • -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
  • -E 或 --show-ends : 在每行结束处显示 $。
  • -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
  • -A, --show-all:等价于 -vET。
  • -e:等价于"-vE"选项;
  • -t:等价于"-vT"选项;

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

cat -n textfile1 > textfile2

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

cat -b textfile1 textfile2 >> textfile3

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

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

2、tac (由最后一行开始显示文件内容,tac是cat倒着写)

tac 参数和cat不共用,感觉tac用处不大,完全是cat倒着显示。
比如cat显示为123,tac显示为321.

tac textfile1

3、nl(显示时输出行号)

nl [选项]... [文件]...

参数说明:

  • -b :指定行号指定的方式,主要有两种:
    • -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
    • -b t :如果有空行,空的那一行不要列出行号(默认值);
  • -n :列出行号表示的方法,主要有三种:
    • -n ln :行号在萤幕的最左方显示;
    • -n rn :行号在自己栏位的最右方显示,且不加 0 ;
    • -n rz :行号在自己栏位的最右方显示,且加 0 ;
  • -w :行号栏位的占用的位数。

实例:
默认情况:

[root@localhost test]# nl 41  1112  2223  333

无论空行否都添加行号:

[root@localhost test]# nl -b a 41  1112  222345  333

行号在自己栏位的最右方显示,且加 0:

[root@localhost test]# nl -n rz 4
000001  111
000002  222000003  333

行号在萤幕的最左方显示:

[root@localhost test]# nl -n ln 4
1       111
2       2223       333

4、more(一页一页的显示文件内容)

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

参数说明:

  • -num 一次显示的行数
  • -d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
  • -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
  • -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
  • -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
  • -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
  • -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
  • +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
  • +num 从第 num 行开始显示
  • fileNames 欲显示内容的文档,可为复数个数

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

more +20 testfile

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

more -s testfile

常用操作命令

  • Enter 向下n行,需要定义。默认为1行
  • Ctrl+F 向下滚动一屏
  • 空格键 向下滚动一屏
  • Ctrl+B 或 b 返回上一屏
  • = 输出当前行的行号
  • :f 输出文件名和当前行的行号
  • V 调用vi编辑器
  • !命令 调用Shell,并执行命令
  • q 退出more

5、less(less与more类似,比more更好的是,他可以往前一行一行翻)

less 与 more 类似,less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。

less [参数] 文件 

参数说明:

  • -b <缓冲区大小> 设置缓冲区的大小
  • -e 当文件显示结束后,自动离开
  • -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  • -g 只标志最后搜索的关键词
  • -i 忽略搜索时的大小写
  • -m 显示类似more命令的百分比
  • -N 显示每行的行号
  • -o <文件名> 将less 输出的内容在指定文件中保存起来
  • -Q 不使用警告音
  • -s 显示连续空行为一行
  • -S 行过长时间将超出部分舍弃
  • -x <数字> 将"tab"键显示为规定的数字空格
  • /字符串:向下搜索"字符串"的功能
  • ?字符串:向上搜索"字符串"的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • b 向上翻一页
  • d 向后翻半页
  • h 显示帮助界面
  • Q 退出less 命令
  • u 向前滚动半页
  • y 或 向上按键 向前滚动一行
  • 回车键 或 向下按键 滚动一行
  • 空格键 滚动一页
  • 回车键 滚动一行

更多详情可参考:
https://www.runoob.com/linux/linux-comm-less.html

6、head(只看头几行)

head 命令可用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。

head [参数] [文件]  

参数说明:

  • -q 隐藏文件名
  • -v 显示文件名
  • -c<数目> 显示的字节数。
  • -n<行数> 显示的行数。

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

head -n 5 runoob_notes.log

显示文件前 20 个字节:

head -c 20 runoob_notes.log

7、tail(只看最后几行)

tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

tail [参数] [文件]  

参数:

  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示文件的尾部 n 行内容
  • –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
  • -q, --quiet, --silent 从不输出给出文件名的首部
  • -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

实例
要跟踪名为 notes.log 的文件的增长情况,请输入以下命令:

tail -f notes.log

此命令显示 notes.log 文件的最后 10 行。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。
显示文件 notes.log 的内容,从第 20 行至文件末尾:

tail -n +20 notes.log

二、硬链接和软链接

Linux的链接分为两种:硬链接 和 软链接
硬链接: A 生成了一个硬链接 B,A和B指向同一个文件,当把A删除后,可以通过B访问到这个文件。允许一个文件拥有多个路径,用户可以通过这种机制建立硬链接到一些重要的文件上,防止误删!
软链接: 类似windows下的快捷方式,删除源文件后,快捷方式也就无法访问了。
ln(英文全拼:link files)命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。

ln [参数][源文件或目录][目标文件或目录]
其中参数的格式为
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[--help] [--version] [--]

软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建

必要参数说明:
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程
选择参数说明:
-S "-S<字尾备份字符串> "或 “–suffix=<字尾备份字符串>”
-V “-V<备份方式>“或”–version-control=<备份方式>”
–help 显示帮助信息
–version 显示版本信息

实例:
创建 f1文件,把f1硬链接到f2,把f1软链接到f3,并修改f1的内容:

[root@localhost test]# touch f1  # 创建 一个 f1文件
[root@localhost test]# ln f1 f2  # 创建 一个 硬链接f2文件
[root@localhost test]# ln -s f1 f3  # 创建 一个 软链接(符号链接)f3文件
[root@localhost test]# ls -l
total 0
-rw-r--r--. 2 root root 0 Feb 21 13:47 f1
-rw-r--r--. 2 root root 0 Feb 21 13:47 f2
lrwxrwxrwx. 1 root root 2 Feb 21 13:48 f3 -> f1
[root@localhost test]# echo "hello world" > f1  # 给 f1 文件中写入一些东西
[root@localhost test]# ll
total 8
-rw-r--r--. 2 root root 12 Feb 21 13:52 f1
-rw-r--r--. 2 root root 12 Feb 21 13:52 f2
lrwxrwxrwx. 1 root root  2 Feb 21 13:48 f3 -> f1
[root@localhost test]# cat f1  # 查看 f1
hello world
[root@localhost test]# cat f2  # 查看 f2
hello world
[root@localhost test]# cat f3  # 查看 f3
hello world

touch命令:创建文件
echo命令: 输出字符串,也可以输出到文件中

>>和>都属于输出重定向:
>会覆盖目标的原有内容。当文件存在时会先删除原文件,再重新创建文件,然后把内容写入该文件;否则直接创建文件。
>>会在目标原有内容后追加内容。当文件存在时直接在文件末尾进行内容追加,不会删除原文件;否则直接创建文件。

删除f1后,查看f2和f3的区别:

[root@localhost test]# rm f1
rm: remove regular file ‘f1’? y
[root@localhost test]# ll
total 4
-rw-r--r--. 1 root root 12 Feb 21 14:03 f2
lrwxrwxrwx. 1 root root  2 Feb 21 13:48 f3 -> f1
[root@localhost test]# cat f2  # f2 硬链接还在
hello world
[root@localhost test]# cat f3  # f3 (软链接、符号链接)快捷方式失效了
cat: f3: No such file or directory
[root@localhost test]#

在这里插入图片描述

https://www.bilibili.com/video/BV187411y7hF?p=8
https://www.bilibili.com/video/BV187411y7hF?p=9

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/518090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

共享学习:蚂蚁金服数据孤岛解决方案

如果有A、B、C三位同学&#xff0c;他们各自手上有10、15、20块钱&#xff0c;这时需要在相互不知道对方有多少钱的情况下&#xff0c;不借助力第三方来计算三个人一共有多少钱。请问这时候&#xff0c;我们如何实现呢&#xff1f;——这&#xff0c;就是最经典的秘密共享场景。…

学之思开源考试系统 - 使用手册

文章目录一、前期准备1. 启动后端2. 启动前台管理员端3. 启动前台学员端二、用户添加2.1. 学生添加2.2. 管理员添加三、题目管理3.1. 添加学科2.2. 单选题添加2.3. 多选题添加2.4. 判断题添加2.5. 填空题添加2.6. 简答题添加四、试卷管理4.1. 固定试卷添加4.2. 时段试卷添加4.3…

看似简单的搜索引擎,原来背后的数据结构和算法这么复杂?

来源 | 码海封图 | CSDN 付费下载于视觉中国前言我们每天都在用 Google, 百度这些搜索引擎&#xff0c;那大家有没想过搜索引擎是如何实现的呢&#xff0c;看似简单的搜索其实技术细节非常复杂&#xff0c;说搜索引擎是 IT 皇冠上的明珠也不为过&#xff0c;今天我们来就来简单…

阿里巴巴在应用性能测试场景设计和实现上的实践

本文是《Performance Test Together》&#xff08;简称PTT&#xff09;系列专题分享的第5期&#xff0c;该专题将从性能压测的设计、实现、执行、监控、问题定位和分析、应用场景等多个纬度对性能压测的全过程进行拆解&#xff0c;以帮助大家构建完整的性能压测的理论体系&…

linux-centos7 常用的基本命令--Vim编辑器

一、Vim编辑器 1、什么是 vim&#xff1f; Vim通过一些插件可以实现和IDE一样的功能&#xff01; Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富&#xff0c;在程序员中被广泛使用。 简单的来说&#xff0c; vi 是老式的字处理器…

linux-centos7 常用的基本命令--用户账号管理、查看和修改主机名

简介 Linux系统是一个多用户多任务的分时操作系统&#xff0c;任何一个要使用系统资源的用户&#xff0c;都必须首先向系统管理员申请一个账号&#xff0c;然后以这个账号的身份进入系统。 用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪&#xff0c;并控制他们…

领导者必备:三元简化模型,助你加速团队成长

关注成员成长 很早之前&#xff0c;现代管理之父德鲁克提出过一个影响深远的观点&#xff0c;“21世纪的组织&#xff0c;最有价值的资产是组织内的知识工作者和他们的生产力。”现代企业的各位管理者&#xff0c;遇到最大的两类问题就是战略和组织&#xff0c;看不到、想不到…

90% 程序员都吃亏在这门技术上了,你呢!

老李一直怀疑自己是不是年纪大了&#xff0c;脑子跟不上了。作为十几年经验的资深 Java 工程师&#xff0c;维护这公司产品的核心代码的他&#xff0c;现在迭代产品的时候&#xff0c;经常出 Bug 。有时修复一个 Bug 时间&#xff0c;比开发一个需求的时间要长很多&#xff0c;…

车载多传感器融合定位方案:GPS +IMU+MM

导读 高德定位业务包括云上定位和端上定位两大模块。其中&#xff0c;云上定位主要解决Wifi指纹库、AGPS定位、轨迹挖掘和聚类等问题&#xff1b;端上定位解决手机端和车机端的实时定位问题。近年来&#xff0c;随着定位业务的发展&#xff0c;用户对在城市峡谷&#xff08;高…

linux-centos7 常用的基本命令--用户组管理

用户组管理 每个用户都有一个用户组&#xff0c;系统可以对一个用户组中的所有用户进行集中管理&#xff08;开发、测试、运维、root&#xff09;。不同Linux 系统对用户组的规定有所不同&#xff0c;如Linux下的用户属于与它同名的用户组&#xff0c;这个用户组在创建用户时同…

我画了35张图,就是为了让你深入 AQS!

来源 | 程序员cxuan责编 | Carol谈到并发&#xff0c;我们不得不说AQS(AbstractQueuedSynchronizer)&#xff0c;所谓的AQS即是抽象的队列式的同步器&#xff0c;内部定义了很多锁相关的方法&#xff0c;我们熟知的ReentrantLock、ReentrantReadWriteLock、CountDownLatch、Sem…

Cassandra Java堆外内存排查经历全记录

背景 最近准备上线cassandra这个产品&#xff0c;同事在做一些小规格ECS(8G)的压测。压测时候比较容易触发OOM Killer&#xff0c;把cassandra进程干掉。问题是8G这个规格我配置的heap(Xmx)并不高&#xff08;约6.5g&#xff09;已经留出了足够的空间给系统。只有可能是Java堆…

数据中台之结构化大数据存储设计

前言 任何应用系统都离不开对数据的处理&#xff0c;数据也是驱动业务创新以及向智能化发展最核心的东西。这也是为何目前大多数企业都在构建数据中台的原因&#xff0c;数据处理的技术已经是核心竞争力。在一个完备的技术架构中&#xff0c;通常也会由应用系统以及数据系统构…

清华硕士爆料:这些才是机器学习必备的数学基础

现如今&#xff0c;计算机科学、人工智能、数据科学已成为技术发展的主要推动力。无论是要翻阅这些领域的文章&#xff0c;还是要参与相关任务&#xff0c;你马上就会遇到一些拦路虎&#xff1a;想过滤垃圾邮件&#xff0c;不具备概率论中的贝叶斯思维恐怕不行&#xff1b;想试…

从求生存到修体系,我在阿里找到了技术人的成长模式

阿里妹导读&#xff1a;做业务就好比打仗&#xff0c;团队是我们的归属。在团队中&#xff0c;我们既要通力协作&#xff0c;又要定义问题&#xff0c;既要业务先赢&#xff0c;又要技术成长。越来越多的前端投身业务研发中。想要有更好的发展&#xff0c;业务理解力非常关键。…

2分钟 Docker 部署 SprinBoot 集成 Flowable 工作流引擎

文章目录一、 简介二、 docker流程引擎部署2.1. jdk安装配置2.2. 下载打包好的tar包2.3. 上传tar包2.4. 在线安装Docker2.5. 检验安装是否成功三、tar转docker镜像3.1. 查看当前镜像3.2. 加载备份的flow-mysql.tar镜像文件3.3. 加载备份的flow-admin.tar镜像文件3.4. 加载备份的…

亿级规模的 Feed 流系统,如何轻松设计?

阿里妹导读&#xff1a;互联网进入移动互联网时代&#xff0c;最具代表性的产品就是各种信息流&#xff0c;像是朋友圈、微博、头条等。这些移动化联网时代的新产品在过去几年间借着智能手机的风高速成长。这些产品都是Feed流类型产品&#xff0c;由于Feed流一般是按照时间“从…

linux-centos7 常用的基本命令--磁盘管理(df、du)、进程管理

一、磁盘管理 df&#xff08;英文全称&#xff1a;disk full&#xff09;&#xff1a;列出文件系统的整体磁盘使用量&#xff08;类似于windows我的电脑中的显示&#xff09;du&#xff08;英文全称&#xff1a;disk used&#xff09;&#xff1a;检查磁盘空间使用量 1、df …

他靠下班后 1 小时,挣到 3 倍工资:赚钱,真的不用拼命

越来越多的人学习编程不再只是为了当程序员&#xff0c;而是为了提升效率&#xff0c;多一份职业技能&#xff0c;正面应对瞬息万变的全球大环境。据麦肯锡全球研究院发布的一份就业报告中显示&#xff0c;到 2030 年&#xff0c;中国预计将有 1200 万&#xff5e; 1.02 亿人面…

蚂蚁金服褚霸:敲最牛的代码,骑最野的车

你印象中的程序员是怎样的群体&#xff1f;随着全民互联网的发展&#xff0c;程序员这个群体快速走进大众视野&#xff0c;在新闻和影视剧中&#xff0c;他们被贴上各种标签&#xff1a;双肩包、格子衫、拖鞋、秃顶、刻板、木讷、单身……热搜新闻“996.ICU”更是道出了万千程序…