Linux操作系统从入门到精通!第二天(命令行)

一、Linux的命令行


1.Linux介绍:刚出世的时候,没有什么节目,所有的操作都是靠命令行来执行,后来Linux发展迅速,也出现了图形界面,但是由于命令行的执行速度比图形界面块,所以也得到了广泛的应用,可以说不会命令行就不会Linux。


2.Linux的命令格式
command [-options] [param1] [,param2]...
command:Linux命令的名称,一般就是相应功能的单词或单词的缩写
[-options]:选项,它和命令之间有一个空格,可以用于对命令进行控制,[]表示可以省略
[param1] [,param2]...:传递给命令的参数,可以有零个或多个


3.查看帮助文件:command --help
例如:

4.man(manual,手册,有问题找男人)命令
Linux的man命令提供了一个手册,包含了绝大部分的命令、函数的使用说明,分了几个章节(section):
1. Standard commands:标准命令
2. System calls:系统调用
3. Library function:库函数
4. Special devices:设备文件说明
5. File formats:文件格式
6. Games and toys:游戏和娱乐
7. Miscellaneous:杂项
8. Administrative Commands:管理员命令,例如ifconfig
man的使用:man [section] 命令名
运行man命令后可以执行的操作:
b:回滚一屏
f:前滚一屏
q:退出man命令
h:列出所有功能键
/字符串:查找字符串
同时可以使用上下键来移动内容
 

5.命令的自动补全
在敲命令的时候,可以只敲前面几个字母,然后按”Tab”键进行命令的自动补全
例如:敲一个m,然后按”Tab”键:

6.历史命令
当系统执行了一些命令之后,可以按上下键翻看以前执行过的命令。
在家目录中(~),存在一个隐藏文件(.bash_history),里面记录了之前执行过的bash命令:

7.文件管理相关命令
(1)查看文件信息:ls,list的简称,类似于Windows的dir命令
语法:
ls [选项] [文件名]
说明:[]内容可以省略,如果省略文件名,表示查看当前目录下的所有文件
选项:
-a:显示当前目录下的所有文件和子目录,包含隐藏文件(Linux中的隐藏文件都是以”.”开头的,例如”.bash_history”)
-l:以列表的形式显示文件的详细信息
-h:搭配”-l”使用,以更人性化的方式显示文件大小
示例:

其中”ls -l”可以简写成”ll”:

“ls -l”显示文件大小的时候,是以字节为单位,不方便查看,可以结合”-h”选项以更人性化的方式显示文件大小:

(2)输出重定向:>
默认情况下命令的执行结果是输出到控制台的,输出重定向允许将命令的执行结果输出到一个文件中。注意:输出重定向到相同文件时,后面的内容会覆盖之前的内容,如果不想覆盖,只是想追加,可以使用追加重定向:>>
示例:

追加:

(3)分屏显示:more
如果信息太多,一屏显示不完,可以通过more命令分屏显示
说明:
空格:显示下一页
q:退出
还可以使用上下键来移动内容,就像使用vi编辑器一样。

(4)less:分屏显示文件内容
less用于分屏查看文件内容,功能和more命令类似,但是比more命令更强大,支持各种显示终端。less命令在显示文件内容时,并不是一次将整个文件加载后显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
1)语法:
less 要查看的文件
2)操作说明:
 

(5)head:显示文件头部内容
head用于显示文件开头部分的内容,默认情况下显示文件的前10行内容。
1)语法:
head 文件(查看文件头10行内容)
head -n 5 文件(查看文件头5行内容,数字5可以任意)
2)选项

(6)tail:输出文件尾部的内容
tail用于输出文件尾部的内容,默认情况下显示文件后10行内容。
1)语法:
tail 文件(查看文件尾10行内容)
tail -n 5 文件(查看文件尾5行内容,5可以是任意数字)
tail -f 文件(实时追踪该文档的所有更新)
2)选项


(7)管道:|
类似于管子,一头塞进去,另一头取出来。
一个命令的输出可以通过管道作为另一个命令的输入


(8)清屏:clear
(9)切换工作目录:cd,change directory的简称

cd命令后面既可以跟绝对路径也可以跟相对路径,例如:
cd ~:进入家目录
cd .:进入当前目录
cd ..:进入上一级目录
cd -:进入上一个可以进入的目录
注意:Linux中的文件和目录严格区分大小写的,即使两个文件名相同,但是大小不一致,也是两个不同的文件(Windows是不区分大小写)
示例:
 
(10)显示当前路径:pwd

(11)创建目录:mkdir,make directory的简称
mkdir可以创建一个新的目录,通过-p选项可以递归的创建目录及其子目录,注意:目录的创建者必须具有对当前目录的写权限(w)
示例:

(12)删除目录:rmdir,remove directory的简称
注意:使用rmdir删除目录的时候,要求目录必须是空的目录,否则不能删除

(13)删除文件:rm,remove的简称
使用rm删除文件或目录的时候,需要注意,rm删除的文件不能够恢复,可以使用”-i”选项逐个确认之后再删除。
选项:
-i:interface的简称,以交互式的方式删除(询问),默认的情况。
-f:force的简称,强制删除,不提示。
-r:递归删除目录及其子目录。
示例:
 


练习:在家目录中创建一个demo目录,然后将其删除,然后创建test1/test2/test3目录,在test3目录中创建1.txt文件,然后删除整个test1目录。
 
(14)链接文件
Linux中的链接文件就类似于Windows中的快捷方式
分为软链接和硬链接:
软链接文件:不占用磁盘空间,源文件删除则链接文件就无用了
硬链接文件:占用磁盘空间,只能链接普通文件,不能链接目录
语法:ln,link的简称
软链接:ln -s 源文件 链接文件
硬链接:ln 源文件 链接文件
示例:


(15)查看或合并文件内容:cat
 
还可以使用cat来重定向:
 
合并:
 
合并之后输出到一个文件:
 
(16)正则表达式
1)什么是正则表达式:正则表达式使用某种模式(pattern)去匹配(match)一类受支持的公式
2)通常使用正则表达式进行查找替换等操作。
3)适当的使用正则表达式可以提高工作效率。
4)支持正则表达式的文本处理工具有:
a.grep:按模式匹配文本
b.sed:一个流编辑器
c.vi:一个屏幕编辑器
5)正则表达式的构成
a.正则表达式由一些普通字符和元字符(Meta Characters)组成
a)普通字符:包含大小写的字母和数字(非元字符)
b)元字符:具有特殊含义的字符
常用的元字符的表格:

非基本正则:

(17)文本搜索:grep
grep命令是Linux系统中一种强大的文本搜索工具,grep允许对文本进行模式查找,如果找到了匹配模式(正则表达式),grep打印包含模式的所有行。
语法:
grep [选项] ‘搜索的字符串’ 文件名
说明:其中’搜索的字符串’可以包含正则表达式
选项:
-v:不包含匹配行,即取反
-n:显示匹配行的行号
-i:忽略大小写
-r:递归搜索,对指定目录及其子目录中的文件进行遍历搜索
示例1:


注意:grep命令只支持基本的正则表达式。
示例2:查找当前目录及其子目录中所有文件中包含IP地址的行,其中”-E”选项表示使用扩展的正则

(18)查找文件:find
该命令功能强大,通常用于在特定的目录下搜索文件,语法:
find 搜索路径 [选项] 搜索内容

1)按照文件名搜索
常用选项:
-name:按照文件名搜索
-iname:按照文件名搜索,不区分文件名大小写
-inum:按照 inode 号搜索

2)按照文件大小搜索
常用选项:
-size [+|-]大小:按照指定大小搜索文件
“+”的意思是搜索比指定大小还要大的文件
“-”的意思是搜索比指定大小还要小的文件
find 命令的单位:
'b':默认以块为单位,一块=512字节
'c' :字节
'w' :双字节(中文)
'k':KB单位
'M':MB单位
'G':GB单位

 
3)按照修改时间搜索
常用选项:
-atime [+|-]时间:按照文件访问时间搜索
-mtime [+|-]时间:按照文件数据修改时间搜索
-ctime [+|-]时间:按照文件状态修改时间搜索
 
4)按照权限搜索
常用选项:
-perm 权限模式:查找文件权限刚好等于“权限模式”的文件
-perm -权限模式:查找文件权限全部包含“权限模式”的文件
-perm +权限模式:查找文件权限包含“权限模式”的任意一个权限的文件
 
5)按照所有者和所属组搜索
常用选项:
-uid 用户ID:按照用户ID 查找所有者是指定 ID 的文件
-gid 组ID:按照用户组 ID 查找所属组是指定 ID 的文件
-user 用户名:按照用户名查找所有者是指定用户的文件
-group 组名:按照组名查找所属组是指定用户组的文件
-nouser:查找没有所有者的文件
 
6)按照文件类型搜索
常用选项:
-type d:查找目录
-type f:查找普通文件
-type l:查找软链接文件
 
7)逻辑运算符
常用选项:
-a:and 逻辑与
-o:or 逻辑或
-not:not 逻辑非
 
8)其他选项
① -exec 选项
find 搜索路径 [选项] 搜索内容 -exec 命令2 {} \;
这个选项的作用其实是把 find 命令的结果交给由“-exec”调用的“命令2“ 来处理。“{}”就代表 find 命令的查找结果。


② -ok 选项
“-ok”选项和“-exec”选项的作用基本一致,区别在于:“-exec”的命令2 会直接处理,而不询问;“-ok”的命令2 在处理前会先询问用户是否这样处理,在得到确认命令后,才会执行。

(19)拷贝文件:cp,copy的简称
将指定的文件或目录复制到另一个文件或目录中
语法:
cp [选项] 源文件 目标文件
选项:
-a:保持源文件原有的属性
-f:删除已经存在的目标文件不提示(覆盖)
-i:交互式复制,有提示
-r:递归复制文件夹及其子文件夹
-v:显示拷贝的进度
示例:

(20)移动文件:mv,move的简称
mv命令可用于移动文件或目录,还可以重命名
语法:
mv [选项] 源文件 目的地
选项:
-f:禁用交互式提示(不提示)
-i:使用交互式提示(有提示)
-v:显示进度
示例:
 
(21)创建新文件:touch
语法:
touch 文件1 [文件2]...
 
(22)归档管理:tar
Linux系统数据经常需要备份,tar命令是最常用的备份工具,可以把一系列的文档归档到一个大的文件中(打包),也可以解开一个归档文件以恢复数据(解包)。
语法:
打包:
tar [选项] 打包后的文件名 源文件
解包:
tar [选项] 打包后的文件名 解包的目录
选项:
-c:create的简称,生成归档文件,打包
-v:显示归档的进度
-f:file的简称,指定归档文件的名称(是.tar文件),注意,这个选项只能作为最后一个选项,用于表示后面的文件的类型是.tar归档文件类型
-t:列出归档文件包含的文件
-x:relax的简称,解开归档文件,解包
示例:
 

(23)文件压缩和解压缩:gzip
1)tar和gzip结合可以打包并压缩以及解压缩文件
2)tar只负责打包,不负责压缩,gzip负责压缩打包后的文件,打包并压缩后的文件名如:xxx.tar.gz
语法:
gzip [选项] 被压缩的文件 生成的压缩文件
选项:
-d:解压
-r:递归压缩所有子目录
示例:
 
一般情况下,我们会将tar和gzip命令搭配使用来打包压缩和解压缩,语法如下:
压缩:tar -cvzf 压缩文件名.tar.gz 文件1 [文件2]...
注意:这里的f选项只能是最后一个选项,选项z表示压缩,即使用gzip压缩

解压:tar -zxvf 压缩文件名.tar.gz [-C 解压的目录]
其中-C表示解压到哪一个目录,如果省略就解压到当前目录

(24)文件压缩和解压缩:zip和unzip,对应于Windows中的.zip和.rar类型的压缩文件,注意,CentOS7默认没有安装zip和unzip,需要使用yum安装:


语法:
压缩:
zip [-r] 目标文件.zip 源文件
选项-r表示递归压缩目录及其子目录中的内容
示例:


解压:
unzip -d 解压后的目录 压缩文件
选项-d用于指定解压的目录
 
 
(25)查看命令的位置:which
 
(26)处理,编辑文本文件,流处理器:sed
sed命令可以依照脚本的指令来处理,编辑文本,可以对文本文件进行增删改查的操作,支持按行,按字段,按正则表达式的方式来匹配文档内容,使用方便,适合脚本编程。
语法:
sed [选项] ‘命令和字符串’ 文件
选项:
-c:默认选项,对文本进行编辑
-f:指定sed命令后保存的文件名
-n:取消默认输出,只打印处理过的行
-i:直接修改要处理的文件
命令:
-a:append,向匹配行追加
-d:delete,对匹配行删除
-c:更改匹配的内容
-s:将匹配行的内容替换
-i:insert,在匹配行前插入内容
-p:print,打印匹配行的内容,一般和-n选项搭配使用
示例:
 

 
 
示例2:
删除最后一行:sed -i ‘$d’ demo.txt
删除第一行:send -i ‘1d’ demo.txt
删除1~2行之外的行:
 
示例3:替换文本:
 
示例4:全局替换

(27)xargs
xargs是Linux中一个非常强大的命令,用于从标准输入构建并执行命令行。它通常和其他命令(如find、grep等)结合使用,以处理大量数据或文件。xargs的核心功能是将输入数据转换为命令行参数。
1)语法:
xargs [选项] [命令]
输入:xargs从标准输入(stdin)读取数据
输出:将输入数据作为参数传递给指定的命令并执行
2)常用选项


示例1:基本用法
将输入作为参数传递给echo(回显)命令:
 
示例2:结合find使用
查找当前目录下的所有.txt文件并删除
 
示例3:限制每次执行的参数个数(-n)
每次只传递2个参数给echo
 
示例4:使用占位符(-I)
将输入项替换为占位符{}

示例5:交互式模式(-p)
在执行命令前提示用户确认

示例6:打印执行的命令(-t)
在执行命令前打印命令:

示例7:忽略空输入(-r)
如果输入为空,则不执行命令
 
示例8:指定输入分隔符(-d)
使用逗号作为分隔符:

示例9:从文件读取输入(-a)
从文件note.txt中读取输入:

示例10:批量重命名文件
将当前目录下的.txt文件重命名为.bk:

示例11:并行压缩文件
使用xargs和gzip并行压缩文件(提高执行效率):

示例12:并行压缩并显示执行的命令

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

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

相关文章

使用Go高效对接印度金融市场数据:K线、新股与实时行情开发指南

使用Go高效对接印度金融市场数据:K线、新股与实时行情开发指南 印度国家交易所(NSE)日均交易额超79亿美元,孟买交易所(BSE)覆盖上市公司超5000家,双交易所体系为投资者提供了丰富机会。本文基于…

【计算机网络】补充

仅供参考 如果本地域名服务器无缓存,当采用递归方法解析另一网络某主机域名时,用户主机和本地域名服务器发送的域名请求条数分别为() A.1条 1条 B.1条 多条 C.多条 1条 D.多条 多条 A CSMA/CD的中文含义是(&#x…

最新PDF转markdown软件MonkeyOCR整合包,文档图片解析工具

MonkeyOCR是上个月刚发布的一款文档解析工具,可以将PDF文档或图片识别转换为markdown格式文件。官方测试显示性能极佳。我基于当前最新版制作了免安装一键启动整合包,支持批量操作,并降低了显卡要求。 MonkeyOCR官方介绍 MonkeyOCR 采用结构…

创客匠人深度剖析:家庭教育赛道创始人 IP 打造与知识变现的破局之道

在知识付费领域,家庭教育赛道的竞争日益激烈,如何从 0-1 打造创始人 IP 并实现高效拓客,成为创业者的核心难题。创客匠人服务的慈航德教育创始人陈向杰老师,通过视频号运营、产品矩阵设计与社群生态构建,实现单月拓客 …

UDP服务器主要是指什么意思?

UDP的全称为用户数据报协议,是一种在计算机网络中常用的传输协议,属于是传输层协议,UDP属于是一种无连接的协议,在发送数据信息之前,发送方和接收方不需要建立任何握手连接,主要是用于发送小量数据的实时应…

arm 精准总线错误与非精准总线错误

一、总线错误 1.1 arm总线设计 要了解什么是总线错误,就要先了解arm的总线设计。 AMBA(Advanced Micro-Controller Bus Architecture)是由ARM Limited公司推出的On-Chip Bus片上总线规范,是目前芯片总线的主流标准(该标准在不断演进&#…

Unity UGUI的Canvas以及内部元素之间遮挡关系调整

调UI遮挡关系有三种思路: 调Sorting Layer,层级越后渲染到越前面调Order in Layer,数字越大渲染到越前面修改UI材质调RenderQueue,数字越大越后渲染 对前两种比较陌生的同学可以看一下我以前写的这篇,不看也没事&…

SpringCloud系列(46)--SpringCloud Bus实现动态刷新全局广播

前言:上一节中我们简单的介绍了什么是SpringCloud Bus,SpringCloud Bus的用处,而本节内容则是使用SpringCloud Bus来实现动态刷新全局广播。 实现动态刷新全局广播的设计思想的架构图 注:在实现SpringCloud Bus动态刷新全局广播前…

Java+Vue开发的电子招投标管理系统,实现全流程线上操作,高效规范,助力招投标活动透明公正开展

前言: 在数字化浪潮席卷全球的当下,传统招投标模式面临着效率低下、信息不透明、管理成本高等诸多挑战。电子招投标管理系统应运而生,它借助先进的互联网技术和信息化手段,实现了招投标全流程的电子化、自动化和智能化管理。该系…

MyBatisPlus-02-核心功能

文章目录【README】【1】MyBatis-plus常见注解【2】MyBatis-Plus常见配置【2.1】MyBatis-Plus配置示例【3】MyBatisPlus核心内容【3.1】条件构造器【3.1.1】业务场景1-带多字段条件的查询-使用QueryWrapper【3.1.2】业务场景2-带条件的更新-使用QueryWrapper【3.1.3】业务场景3…

ZYNQ MPSOC GTH aurora8b10b IP的修改与仿真

1 ip设置好后的顶层模块接口: 根据自己的开发板修改接口如下: odule gtwizard_ultrascale_0_example_top (// Differential reference clock inputsinput wire mgtrefclk0_x0y1_p,input wire mgtrefclk0_x0y1_n,// Serial data ports for transceiver channel 0input w…

机器学习之线性回归

主要参考: 机器学习| 算法笔记-线性回归(Linear Regression) - 知乎 (zhihu.com) 2-2 线性回归_哔哩哔哩_bilibili Python机器学习实战:线性回归模型预测波士顿房价_哔哩哔哩_bilibili 回归分析 在数学和统计学中,回归…

Boost.Asio学习(2):同步读写

Asio 的 buffer 是什么? boost::asio::buffer(...) 是一个函数模板,用于创建一个通用的 buffer 对象,可传递给 I/O 函数(如 read, write, read_some, write_some 等)。 它返回的是 mutable_buffer 或 const_buffer 的…

Java中如何枚举正则表达式捕获组的名字

在使用正则表达式在匹配文本时&#xff0c;除了可以通过表达式捕获命中的文本串外&#xff0c;还可以对捕获的文本串进行命名。尤其是在解析日志的场景中&#xff0c;经常会被用到。表达式如下&#xff1a; \<(?<pri>\d)\>(?<time>.*) (?<host>\S)…

CentOS 系统高效部署 Dify 全攻略

系列文章目录 CentOS系统高效部署fastGPT全攻略 文章目录 系列文章目录一、前言二、准备工作与系统要求三、安装 Docker 与 Docker Compose四、部署 Dify 核心服务五、数据库与存储配置六、网络与安全优化七、监控与运维八、升级与扩展九、附录与资源关键命令速查表官方文档…

xyctf2025第三届京麒CTF

一.MISC 1.XGCTF 直接ai搜索一遍找到了出题人的博客LamentXU 2024-2025年终总结 - LamentXU - 博客园 知道了原题是ciscn中的 在LamentXU的博客乱逛Patriot CTF 2024 MISC 部分 wp - LamentXU - 博客园 找到了博客网站,让后搜索ciscn扎到了博客 CISCN华东南WEB-Polluted |…

Python爬虫 模拟登录 requests版

前言 网站必须是登录状态才能查看网站信息,是最常见的反爬手段,下面我分享一下request模拟登录状态进行请求 目录 模拟登录的原理 直接复制网站Cookie模拟登录状态 通过登录接口信息破解出Cookie模拟登录状态 模拟登录的原理 网站是使用Cookie和session记录网站的登录状态…

一些改进策略

1.要计算一个神经网络模型的总参数量、可训练参数量以及计算量&#xff08;FLOPs&#xff09;&#xff0c;可以使用以下步骤&#xff1a; ### 计算总参数量和可训练参数量&#xff1a; 1. **逐层计算参数量**&#xff1a; - 对于每一层&#xff0c;确定该层的参数量。这通…

React Native响应式布局实战:告别媒体查询,拥抱跨屏适配新时代

前言:当设计师说"这个页面要适配所有手机和平板…" “什么?React Native不支持CSS媒体查询?那怎么实现响应式布局?”——这是很多刚接触React Native的开发者会遇到的灵魂拷问。 但别慌,没有@media,我们照样能玩转多端适配!想象一下:你的App在iPhone SE的小…

[Java恶补day39] 整理模板·考点六【反转链表】

考点六【反转链表】 【考点总结】 1. 206. 【题目】 【核心思路】 【复杂度】 时间复杂度&#xff1a; O ( ) O() O()。 空间复杂度&#xff1a; O ( ) O() O()。 【代码】 92. 【题目】 【核心思路】 【复杂度】 时间复杂度&#xff1a; O ( ) O() O()。 空间复杂度&a…