Linux基础10
Linux文件管理命令详解2

附 :
1、如何获得Linux 当前最新的内核版本号?
www.kernel.org
2、发行版与内核的关系:
系统组成: Linux内核、库、应用程序
内核、库、应用程序都以源代码的形式提供,需要编译成二进制电脑可识别文件,厂商将其编译,并提供能够安装的载体,称其为发行版。
发行版(三大主流):Fedora(为Redhat提供测试), RedHat (CentOS), SUSE, Debian(Ubuntu, Mint)
Debian相比其他轻量限制少,但是比较难。
详见 : https://www.jianshu.com/p/3a3d068ab14c
64位cpu兼容32位版本,32位cpu无法兼容64位版本
通用格式编译:CPU是兼容前面版本(老版本),编译时以几年前的CPU来编译,则可以实现现在都可用。但是,无法发挥现有cpu的新特性(比如加速程序的运行),不能发挥现有硬件的优势。
Gentoo : 提供安装的载体,但很多软件需要自己编译,给我们编译的空间,以发挥硬件的优势。
LFS(linux from scratch): 一本书,教你如何下载内核及哪里下载软件,再自己编译拼凑形成一个系统。
3、Linux 哲学思想 :
1)一切皆文件 。
2)使用纯文本文件保存软件的配置信息 。
3)组合小程序完成复杂任务。
- file : 查看文件内容类型
查看文本 :cat、tac、more、less、head、tail -
cat : 连接并显示
image.png
-n : 显示行号(显示时对每一行进行编号)
image.png
-E : 显示每一行的行结束符
对于linux系统而言,文本文件的行结束符是$。window 文本文件的行结束符是$和回车符(换行符)。
所以把Linux文本文件复制到Windows,全变成一行,windows没看到换行符,默认为一行,但是专业级文本编辑器在Windows可以实现仅使用$就换行,如Notepad++(可以识别不同的结束符)。
windows 复制到Linux,会报错,识别不了换行符,
image.png
-T : 显示制表符
-v : 显示其他的非打印字符,如换行符等
-A : 显示所有
cat 文件时,文件过长,想翻屏,可以使用shift+ pageup/pagedown 进行翻屏,但是系统给你的内存有限,也就是说如果文件太大,你无法通过翻屏翻到最前面的内容并查看。
-
tac : 以反序的方式显示文件的内容。
image.png
附: 大多数命令的终止符:按住Ctrl + c
小技巧 : 当你发现还有一个命令未结束,而不想执行当前已输入的命令,可用Ctrl + c 终止命令,而不是用删除键一直删除。
-
分屏显示 : more、less
more :向后翻 敲空格键向后翻一屏 敲B键往前翻一屏,敲回车键一行一行往后翻,到尾部直接退出,无法继续向前翻。 -
less : man本身就是使用less命令打开并查看的。
space向后翻 k一行一行向前翻,敲B键往前翻一屏,q 退出 -
head : 查看文件的前n行(默认n为10,空白行也算一行)
-
tail : 查看文件的后n行(默认n为10,空白行也算一行太累)
支持-n 指定行数 如head -2 a.txt
image.png
image.png
tail -f : 查看文件尾部,不退出,等待显示后续追加至此文件的新内容,Ctrl+C退出。
- 文本处理 : cut、join、sed、awk
附 : database 数据库(不规定文件类型)
关系数据库: 表(可以没有行,但是不能没有列)
如何在数据库中分隔出列?
文本文件 : Tom : 23 : 2018/11/11 (两个分隔符隔开,出现三个字段(列),代表三个属性:姓名、年龄、出生日期) -
cut 只查看一些字段(并不影响源文件,仅是在输出进行切割并打印。)
cut -d : -f1 filename
-d :指定字段分隔符(默认一个空格)
-f : 指定要显示的字段。-f 1,3 显示第一和第三个字段。 -f 1-3 :显示第一到第三个字段。
d
image.png
文本排序 :
-
sort (默认根据ASCII表升序排列)
image.png
-n 数值排序

-r : 降序

指定分隔符,对某个特定字段进行排序
-t : 字段分隔符
-k3 : 对第三(某个)字段排序(默认不是数值,-n 数值排序)
(以哪个字段为关键词进行排序,不指定默认自左向右比较。)

-u :排序后相同的行(一定相邻,否则即使内容相同,也不认为是相同行)只显示一次。

Linux默认区分大小写。-f : 排序时忽略字符大小写。
-
uniq : 报告或略过重复行(相邻才重复)。
-d :只显示重复的行(只显示一次):
image.png
-D : 只显示重复的行(显示多次):
image.png
-c : 显示文件中行的重复次数:
image.png
文本统计 :
- wc (word count)统计有几行,有几个单词,有几个字节(空白行有空格键算有字节,没有空格键不算),。
8行 8个单词 32个字节(包括空白)
-l : 只显示行数
-w : 只显示单词数
-c : 只显示字节数
-m : 只显示字符数 (字符与字节的差别:https://blog.csdn.net/andyzhaojianhui/article/details/53785656 )

-L : 最长的一行包含多少个字符
字符处理命令 : tr 转换或删除字符
- tr [option ] .... set1 [set2]
set表示字符集,此命令无法再后面加文件,所以需要使用输入重定向(<)。
image.png
image.png
只要对应关系成立,可以任意替换,m也可以替换成n。
-d : 删除出现在字符集中的所有字符。
image.png
友情阅读推荐:
- 强烈推荐参加生信技能树(爆款入门培训课)全国巡讲 ,课程详情见:https://mp.weixin.qq.com/s/Z9sdxgvFj0XJjYaW_5yHXg 各大城市均有开课,随时随地报名。
- 生信技能树公益视频合辑:学习顺序是linux,r,软件安装,geo,小技巧,ngs组学!
B站链接:https://m.bilibili.com/space/338686099 - 学徒培养详见:https://mp.weixin.qq.com/s/3jw3_PgZXYd7FomxEMxFmw