【Linux指令 (三)】从理解到熟悉:探索Linux底层逻辑与指令的高效之道,理解Linux系统理论核心概念与基础指令

【Linux指令 (三)】从理解到熟悉:探索Linux底层逻辑与指令的高效之道,理解Linux系统理论核心概念与基础指令

🔥艾莉丝努力练剑:个人主页

专栏传送门:《C语言》《数据结构与算法》C/C++干货分享&学习过程记录Linux操作系统编程详解笔试/面试常见算法:从基础到进阶

⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平


🎬艾莉丝的简介:


🎬艾莉丝的Linux专栏简介:


目录

前期提示

1  ~>  本期指令

2  ~>  查看相关的指令

19  cat

19.1  概念

19.2  实践

19.2.1  写入一句话

19.2.2  追加写

19.2.3  -n:带行号

19.2.4  -s:不能输出多行空行

19.2.5  -b:非空带编号,空行不带编号

19.2.6  -sb

19.3  cat  && 重定向

19.4  常用选项

19.5  举例

19.6  大文件:刷屏问题

20  nano(补充)

20.1  概念

20.2  快捷键

21  tac

21.1  概念

21.2  实践

21.3  记忆

22  more

22.1  概念

22.2  功能

22.3  缺点

22.4  结论

22.5  常用选项

22.6  举例

22.7  实践

22.7.1  more的使用特点

22.7.2  more的下翻快捷键

22.7.3  more的搜索

23  less

23.1  概念

23.3  常用选项

23.4  实践

23.5  举例

24  head

24.1  概念

24.2  功能

24.3  常用选项

24.4  示例

24.5  实践

24.6  管道:匿名管道  &&  命名管道

25  tail

25.1  概念

25.2  功能

25.3  常用选项

25.4  示例:重定向  &&  管道

25.5  实践

26  date

26.1  概念

26.2  指定格式显示时间

26.3  功能

26.3.1  在显示方面

26.3.2  在设定时间方面

26.4  时间戳

26.5  博主手记

26.6  举例

26.7  实践

27  cal

27.1  概念

27.2  功能

27.3  常用选项

27.4  举例

27.5  实践

27.5.1  cal 年份

27.5.2  cal -数字

28  find

28.1  概念

28.2  本质

28.3  功能

28.4  常用选项

28.5  示例

29  whereis(不常用)

29.1  功能

29.2  举例

29.3  实践

30  grep(重点)

30.1  概念

30.2  功能——grep有什么用?

30.2.1  grep有什么用?

30.3  常用选项

30.4  博主手记

30.5  示例 / 实践

31  top

31.1  概念

31.2  任务管理器  &&  task

31.2.1  任务管理器

31.2.2  task(进程)

31.3  常见选项和退出键

31.4  实践

31.5  top task

32  zip / unzip

32.1  功能

32.2  常用选项

32.3  举例

32.3.1  将test2目录压缩

32.3.2  解压到tmp目录

32.4  下载

32.5  rzsz

32.5.1  SZ(send)

32.5.2  rz(receive):Windows -> Linux

结尾


前期提示

1  ~>  本期指令

2  ~>  查看相关的指令



19  cat

19.1  概念

查看目标文件的内容。

19.2  实践

19.2.1  写入一句话

19.2.2  追加写

19.2.3  -n:带行号

19.2.4  -s:不能输出多行空行

加了这个选项就不能输出多行空行了——

19.2.5  -b:非空带编号,空行不带编号

19.2.6  -sb

19.3  cat  && 重定向

19.4  常用选项

上面已经演示过了——

19.5  举例

# 命令⾏构建多⾏⽂本 [whb@bite-alicloud test]$ cnt=0; while [ $cnt -le 20 ]; do echo "hello bite"; let cnt++; done > temp.txt # 测试cat基本命令 [whb@bite-alicloud test]$ cat temp.txt hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite # cat 输出携带⾏号 [whb@bite-alicloud test]$ cat -b temp.txt 1 hello bite 2 hello bite 3 hello bite 4 hello bite 5 hello bite 6 hello bite 7 hello bite ... # 修改temp.txt,使其携带多⾏空⾏ [whb@bite-alicloud test]$ vim temp.txt # 测试 -b 对⾮空输出⾏编号 [whb@bite-alicloud test]$ cat -b temp.txt 1 hello bite 2 hello bite 3 hello bite 4 hello bite 5 hello bite 6 hello bite 7 hello bite ... # 测试-n 对输出的所有⾏编号 [whb@bite-alicloud test]$ cat -n temp.txt 1 hello bite 2 hello bite 3 hello bite 4 5 6 7 hello bite 8 hello bite 9 10 hello bite 11 hello bite ... # 测试 -s 不输出多⾏空⾏,多⾏空⾏压缩成为⼀⾏ [whb@bite-alicloud test]$ cat -s temp.txt hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite ... 

19.6  大文件:刷屏问题

cat不好使了——


20  nano(补充)

20.1  概念

类似于Windows的记事本,相当于Linux的记事本。

20.2  快捷键

^X:Ctrl + X —— 保存修改内容。

Y:y —— 确认。

我这里存了两次——


21  tac

如果我想倒着打印,可以怎么做?

21.1  概念

tac也可以查看,从前往后打。

21.2  实践

21.3  记忆

cat  ~>  tac(两个指令的拼写刚好是逆转,所以tac是倒着打印)


22  more

22.1  概念

按行向下翻查(Enter回车向下翻)——不会刷屏。

22.2  功能

more命令,功能类似 cat。

22.3  缺点

more命令不支持上翻(回翻不了),只能先按“Q”(quit)退出。

22.4  结论

more现在没什么用,可能公司里面还有老程序员在使用,现在主流的查看大文件的指令是接下来我要介绍的less。more没什么用,但是为了知识学习的完整性,还是要介绍。

22.5  常用选项

-n:指定输出行数

q(quit):退出more

22.6  举例

# 命令⾏输出多⾏⽂本 [whb@bite-alicloud test]$ cnt=0; while [ $cnt -le 2000 ]; do echo "hello bite"; let cnt++; done > temp.txt # -n 指定输出⾏数 [whb@bite-alicloud test]$ more -10 temp.txt hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite --More--(0%)

22.7  实践

22.7.1  more的使用特点

more会打满一整行,然后就停下来了——

22.7.2  more的下翻快捷键

此时按“Enter”回车就可以逐行往下翻了!

22.7.3  more的搜索

/数字

23  less

23.1  概念

可上翻、下翻、搜索。

(1)less工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大;
(2)less的用法比起more更加的有弹性,在more的时候,我们并没有办法向前面翻,只能往面看;

(3)但若使用了less时,就可以使用[pageup][pagedown]等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容;

(4)除此之外,在less里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

23.2  功能

less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。

23.3  常用选项

23.4  实践

23.5  举例

# 命令⾏输出多⾏⽂本 [whb@bite-alicloud test]$ cnt=0; while [ $cnt -le 2000 ]; do echo "hello $cnt"; let cnt++; done > temp.txt # 测试搜索和-N等功能 [whb@bite-alicloud test]$ less -N temp.txt 1 hello 0 2 hello 1 3 hello 2 4 hello 3 5 hello 4 6 hello 5 7 hello 6 8 hello 7 9 hello 8 10 hello 9 11 hello 10 12 hello 11 13 hello 12 14 hello 13 ... # 其他选项也可以直接测试 

24  head

24.1  概念

head 与 tail就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head用来显示档案的开头至标准输出中,而tail想当然尔就是看档案的结尾。

24.2  功能

head用来显示档案的开头至标准输出中——查看头几个,默认head命令打印其相应文件的开头10行。

24.3  常用选项

-n<行数>显示的行数

24.4  示例

[whb@bite-alicloud test]$ head temp.txt hello 0 hello 1 hello 2 hello 3 hello 4 hello 5 hello 6 hello 7 hello 8 hello 9 [whb@bite-alicloud test]$ head -5 temp.txt hello 0 hello 1 hello 2 hello 3 hello 4

24.5  实践

查看开头三个——

24.6  管道:匿名管道  &&  命名管道

大家看我的【博主手记】吧!


25  tail

25.1  概念

tail命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail-ffilename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。

25.2  功能

用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

25.3  常用选项

-f:循环读取

-n:显示行数

25.4  示例:重定向  &&  管道

# 基本功能演⽰ [whb@bite-alicloud test]$ tail temp.txt hello 1991 hello 1992 hello 1993 hello 1994 hello 1995 hello 1996 hello 1997 hello 1998 hello 1999 hello 2000 [whb@bite-alicloud test]$ tail -3 temp.txt hello 1998 hello 1999 hello 2000

模拟动态日志查看功能。

# 综合问题 # 如何显⽰⽂件的[180,200]⾏的内容 [whb@bite-alicloud test]$ head -200 temp.txt | tail -20 hello 180 hello 181 hello 182 hello 183 hello 184 hello 185 hello 186 hello 187 hello 188 hello 189 hello 190 hello 191 hello 192 hello 193 hello 194 hello 195 hello 196 hello 197 hello 198 hello 199 

25.5  实践

查最后一行——

查看结尾三个——


26  date

26.1  概念

获取时间(提炼时间)。

这个时间指的是格林尼治时间。

26.2  指定格式显示时间

date +%Y:%m:%d

26.3  功能

26.3.1  在显示方面

使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下——

%H:小时(00...23)

%M:分钟(00...59)

%S:秒(00...61)

%X:相当于%H:%M:%S

%d :日 (01...31)

%m:月份(01...12)

%Y:完整年份(0000.9999)

%F:相当于%Y-%m-%d

26.3.2  在设定时间方面

date-s  //设置当前时间,只有root权限才能设置,其他只能查看。
date-s20080523  //设置成20080523,这样会把具体时间设置成空00:00:00
date-s01:01:01  //设置具体时间,不会对日期做更改
date-s“01:01:012008-05-23"  //这样可以设置全部时间
date -S:“01:01:0120080523”  //这样可以设置全部时间
date-s“2008-05-23 01:01:01"  //这样可以设置全部时间
date-s“20080523 01:01:01"  //这样可以设置全部时间

26.4  时间戳

(1)时间->时间戳:date +%s

(2)时间戳->时间:date-d@1508749502

(3)Unix 时间戳(英文为Unix epoch,Unix time,POSIX time或Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

26.5  博主手记

26.6  举例

# 显⽰常规时间 [whb@bite-alicloud test]$ date Wed Jan 11 18:22:50 CST 2023 [whb@bite-alicloud test]$ date +%Y/%m/%d 2023/01/11 [whb@bite-alicloud test]$ date +%Y/%m/%d-%H:%M:%S 2023/01/11-18:23:20 # 显⽰时间戳 [whb@bite-alicloud test]$ date +%s 1673432636 # 时间戳转成可视时间 [whb@bite-alicloud test]$ date +%Y/%m/%d-%H:%M:%S -d @0 1970/01/01-08:00:00 [whb@bite-alicloud test]$ date +%Y/%m/%d-%H:%M:%S -d @100000 1970/01/02-11:46:40 [whb@bite-alicloud test]$ date +%Y/%m/%d-%H:%M:%S -d @1000000000 2001/09/09-09:46:40 

26.7  实践

获取年——

获取年月日时间——

格林尼治时间不符合中国人的时间观,我们这样看年月日就清楚多了。


27  cal

27.1  概念

获取日历。

现如今互联网时代,手机如此普及,打开软件就能看,不需要通过日历来看日子了。

27.2  功能

用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份。

27.3  常用选项

-3:显示系统前一个月,当前月,下一个月的月历;
j:显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数);
-y:显示当前年份的日历。

27.4  举例

# 常规样例 [whb@bite-alicloud test]$ cal January 2023 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [whb@bite-alicloud test]$ cal 1949 1949 January February March Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 1 2 3 4 5 1 2 3 4 5 2 3 4 5 6 7 8 6 7 8 9 10 11 12 6 7 8 9 10 11 12 9 10 11 12 13 14 15 13 14 15 16 17 18 19 13 14 15 16 17 18 19 16 17 18 19 20 21 22 20 21 22 23 24 25 26 20 21 22 23 24 25 26 23 24 25 26 27 28 29 27 28 27 28 29 30 31 ... [whb@bite-alicloud test]$ cal -3 December 2022 January 2023 February 2023 Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 1 2 3 4 5 6 7 1 2 3 4 4 5 6 7 8 9 10 8 9 10 11 12 13 14 5 6 7 8 9 10 11 11 12 13 14 15 16 17 15 16 17 18 19 20 21 12 13 14 15 16 17 18 18 19 20 21 22 23 24 22 23 24 25 26 27 28 19 20 21 22 23 24 25 25 26 27 28 29 30 31 29 30 31 26 27 28 

27.5  实践

27.5.1  cal 年份

27.5.2  cal -数字


28  find

28.1  概念

(全局)全目录查找。

28.2  本质

本质:遍历(深度广度优先)目录结构——Linux的目录是多叉树结构。

28.3  功能

用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)。

28.4  常用选项

-name按照文件名查找文件;

其他选项需要在查,这个命令其实比较复杂。

28.5  示例

# 在指定路径下搜索执⾏名称的⽂件 [whb@bite-alicloud test]$ find ~ -name test.c /home/whb/test_code/old_code/test.c /home/whb/test_code/test.c ...

29  whereis(不常用)

29.1  功能

用于找到程序的源、二进制文件或手册。

29.2  举例

[whb@bite-alicloud test]$ whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz [whb@bite-alicloud test]$ whereis libc.so libc: /usr/lib64/libc.so /usr/lib64/libc.a /usr/share/man/man7/libc.7.gz 

29.3  实践


30  grep(重点)

30.1  概念

grep是一个对文本内容进行行过滤的工具。

30.2  功能——grep有什么用?

在文件中搜索字符串,将找到的行打印出来。

30.2.1  grep有什么用?

30.3  常用选项

-i:忽略大小写的不同,所以大小写视为相同;
-n:顺便输出行号;
-V:反向选择,即显示出没有 '搜寻字符串' 内容的那一行。

30.4  博主手记

30.5  示例 / 实践

[whb@bite-alicloud test]$ cat temp.txt abcd ABCD hello bite 1234 #基本查找 [whb@bite-alicloud test]$ grep "abcd" temp.txt abcd # 忽略⼤⼩写的不同,所以⼤⼩写视为相同 [whb@bite-alicloud test]$ grep -i "abcd" temp.txt abcd ABCD # 顺便输出⾏号 [whb@bite-alicloud test]$ grep -n "abcd" temp.txt 1:abcd [whb@bite-alicloud test]$ grep -ni "abcd" temp.txt 1:abcd 2:ABCD # 反向选择,亦即显⽰出没有 '搜寻字符串' 内容的那⼀⾏ [whb@bite-alicloud test]$ grep -v "abcd" temp.txt ABCD hello bite 1234 [whb@bite-alicloud test]$ grep -vn "abcd" temp.txt 2:ABCD 3:hello 4:bite 5:1234 [whb@bite-alicloud test]$ grep -vni "abcd" temp.txt 3:hello 4:bite 5:1234

31  top

31.1  概念

类似于Windows的任务管理器,相当于Linux的任务管理器。

31.2  任务管理器  &&  task

31.2.1  任务管理器

这就是Windows的任务管理器——

31.2.2  task(进程)

task就是进程,其实准确的翻译应该是“任务”,国内叫“进程”,主要是“任务”两个字没有动态感,而进程有。

31.3  常见选项和退出键

top -d 1 -n 5 -d: 刷新的时间间隔 -n: 刷新的次数 q:退出

31.4  实践

31.5  top task


32  zip / unzip

32.1  功能

将目录或文件压缩成zip格式。

32.2  常用选项

-r:(递归式的打包压缩)递归处理,将指定目录下的所有文件和子目录一并处理。

32.3  举例

32.3.1  将test2目录压缩

zip test2.zip test2/*

32.3.2  解压到tmp目录

unzip test2.zip -d /tmp

32.4  下载

32.5  rzsz

这个工具用于windows机器和远端的Linux机器通过XShell传输文件。安装完毕之后可以通过拖拽的方式将文件上传过去。

sudo yum/apt install -y lrzlz

32.5.1  SZ(send)

32.5.2  rz(receive):Windows -> Linux

也可以直接拖拽,也可以选择rz -E(没有-E回乱码)。


结尾

uu们,本文的内容到这里就全部结束了,感谢您的阅读!

往期回顾:

【Linux指令 (二)】不止于入门:探索Linux系统核心与指令的深层逻辑,理解Linux系统理论核心概念与基础指令

结语:本期我们在前一篇博客的基础上继续深入学习了Linux中的指令篇,希望对学习Linux指令相关内容的uu有所帮助,不要忘记给博主“一键四连”哦!

🗡博主在这里放了一只小狗,大家看完了摸摸小狗放松一下吧!🗡

૮₍ ˶ ˊ ᴥ ˋ˶₎ა

Read more

【DeepSeek微调实践】DeepSeek-R1大模型基于MS-Swift框架部署/推理/微调实践大全

【DeepSeek微调实践】DeepSeek-R1大模型基于MS-Swift框架部署/推理/微调实践大全

系列篇章💥 No.文章01【DeepSeek应用实践】DeepSeek接入Word、WPS方法详解:无需代码,轻松实现智能办公助手功能02【DeepSeek应用实践】通义灵码 + DeepSeek:AI 编程助手的实战指南03【DeepSeek应用实践】Cline集成DeepSeek:开源AI编程助手,终端与Web开发的超强助力04【DeepSeek开发入门】DeepSeek API 开发初体验05【DeepSeek开发入门】DeepSeek API高级开发指南(推理与多轮对话机器人实践)06【DeepSeek开发入门】Function Calling 函数功能应用实战指南07【DeepSeek部署实战】DeepSeek-R1-Distill-Qwen-7B:本地部署与API服务快速上手08【DeepSeek部署实战】DeepSeek-R1-Distill-Qwen-7B:Web聊天机器人部署指南09【DeepSeek部署实战】DeepSeek-R1-Distill-Qwen-7B:基于vLLM 搭建高性能推理服务器10【DeepSeek部署实战】基于Ollama快速部署Dee

By Ne0inhk

DeepSeek各版本说明与优缺点分析_deepseek各版本区别

DeepSeek各版本说明与优缺点分析 DeepSeek是最近人工智能领域备受瞩目的一个语言模型系列,其在不同版本的发布过程中,逐步加强了对多种任务的处理能力。本文将详细介绍DeepSeek的各版本,从版本的发布时间、特点、优势以及不足之处,为广大AI技术爱好者和开发者提供一份参考指南。 1. DeepSeek-V1:起步与编码强劲 DeepSeek-V1是DeepSeek的起步版本,这里不过多赘述,主要分析它的优缺点。 发布时间: 2024年1月 特点: DeepSeek-V1是DeepSeek系列的首个版本,预训练于2TB的标记数据,主打自然语言处理和编码任务。它支持多种编程语言,具有强大的编码能力,适合程序开发人员和技术研究人员使用。 优势: * 强大编码能力:支持多种编程语言,能够理解和生成代码,适合开发者进行自动化代码生成与调试。 * 高上下文窗口:支持高达128K标记的上下文窗口,能够处理较为复杂的文本理解和生成任务。 缺点: * 多模态能力有限:该版本主要集中在文本处理上,缺少对图像、语音等多模态任务的支持。 * 推理能力较弱:尽管在自然语言

By Ne0inhk

用DeepSeek和Cursor从零打造智能代码审查工具:我的AI编程实践

💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【星海网址导航】摸鱼、技术交流群👉 点此查看详情 引言:AI编程革命下的机遇与挑战 GitHub统计显示,使用AI编程工具的开发者平均效率提升55%,但仅有23%的开发者能充分发挥这些工具的潜力。作为一名全栈工程师,我曾对AI编程持怀疑态度,直到一次紧急项目让我彻底改变了看法。客户要求在72小时内交付一个能自动检测代码漏洞、优化性能的智能审查系统,传统开发方式根本不可能完成。正是这次挑战,让我探索出DeepSeek和Cursor这对"黄金组合"的惊人潜力。 一、工具选型:深入比较主流AI编程工具 1.1 为什么最终选择DeepSeek+Cursor? 经过两周的对比测试,我们发现不同工具在代码审查场景的表现差异显著: 工具代码理解深度响应速度定制灵活性多语言支持GitHub Copilot★★★☆★★★★★★☆★★★★Amazon CodeWhisperer★★☆★★★☆★★★★★★☆DeepSeek★★★★☆★★★★★★★☆★★★★☆Cursor★★★☆★★★★☆★★★★★★★★ 关键发现: * Dee

By Ne0inhk
【DeepSeek应用】100个 DeepSeek 官方推荐的工具箱

【DeepSeek应用】100个 DeepSeek 官方推荐的工具箱

【DeepSeek应用】Deepseek R1 本地部署(Ollama+Docker+OpenWebUI) 【DeepSeek应用】DeepSeek 搭建个人知识库(Ollama+CherryStudio) 【DeepSeek应用】100个 DeepSeek 官方推荐的工具箱 【DeepSeek应用】Zotero+Deepseek 阅读与分析文献 【DeepSeek应用】100个 DeepSeek 官方推荐的工具箱 * 1. DeepSeek 工具箱:应用程序 * 2. DeepSeek 工具箱:AI Agent 框架 * 3. DeepSeek 工具箱:RAG 框架 * 4. DeepSeek 工具箱:即时通讯软件 * 5. DeepSeek 工具箱:浏览器插件 * 6. DeepSeek 工具箱:

By Ne0inhk