【Linux】-基本指令(下)

简介: 【Linux】-基本指令(下)

命令1~11详情见上文:【Linux】-基本指令(上)

命令12:重定向

12.1 echo指令

  1. 语法:echo 输出信息
  2. 功能:将信息打印到指定文件,默认为显示器。


12.2 输出重定向

我们可以使用输出重定向将echo输出的语句重定向到指定文件中,比如echo "hello bit" > tmp.txt 就能将字符串hello bit 重定向进tmp.txt文件中,如果该文件不存在则会自动创建。


我们除了使用输出重定向文件输入外,我们还可以利用>清空文件,因为文件一般打开都会默认清空其中的数据。


12.3 追加重定向

我们知道文件打开一般默认会清空其中的数据,为了不让打开的文件数据被清空,我们可以使用追加重定向。追加重定向与输出重定向的使用方式类似,只不过将>改为了>>


12.4 输入重定向

上面我们学了cat指令,一般我们后面会跟一个文件,就可以显示文件的内容,那如果cat之后不跟文件名呢:


这时我们输入什么,按回车后,显示器就回显什么,一直输入,就一直回显,按ctrl + c就可以结束。这就证明cat一直在默认从键盘读取数据,如果我们不想让其从键盘读取数据,就可以使用输入重定向>。


ffd24be823e0ae6364622d532b9d130b_85fdf0a848474973a14ae6181d506572.png


这个输出重定向虽然与我们的cat直接输出类似,但是这两者是有区别的,这个我们后面会单独来谈。


 

命令13:tac指令

  1. 语法:tac 文件
  2. 功能: 反向查看目标文件的内容。

97e1c362f8524aaa4d77fbc63ccc3129_11062af2a46f4faf9db9cd5cfe344ca7.png


命令14:more指令与less指令

14.1 基本语法

  1. 语法:more 选项 文件
  2. 功能: 查看目标文件的内容。


之前我们谈到,cat 指令只适用于查看内容较少的文件,如果一个文件的数据量过多,我们就可以使用more指令查看。首先我们可以通过以下脚本命令(不用知道什么意思)得到一个大文本bit.txt。


cnt=1; while [ $cnt -le 1000 ]; do echo “hello $cnt”; let cnt++; done > bit.txt

然后我们使用more令打开该文件可以看见全屏的数据,按下回车可以查看下面的数据。

并且值得注意的是,more指令无法进行上翻操作,并且more指令在查看之前会先加载整个文件。


14.2 选项

-n:对输出的所有行编号

-q:退出more


14.3 less指令

  1. 语法:less 选项 文件
  2. 功能: 查看目标文件的内容。


与more指令不同的是,less指令可以进行上翻操作,并且less指令在查看之前不会先加载整个文件。


命令15:head指令和tail指令

15.1 head指令

  1. 语法:head 选项 文件
  2. 功能: 用于显示文件的开头至标准输出中,默认 head 指令打印其相应文件的开头10行。


如果没有选项则默认为前10行

也可以通过指令 -n 来指定行数:



15.2 tail指令

  1. 语法:tail 选项 文件
  2. 功能: 用于显示文件的末尾至标准输出中,默认 tail 指令打印其相应文件的末尾10行。

与head类似,也可以通过指令 -n 来指定行数


命令16:命令行管道

如果现在有一个文件 bit.txt ,里面有1000行数据,该如何获取第501~510行的数据呢?我们可以通过两行指令来获取:

首先将文件的前510行数据重定向进一个临时文件 tmp

head -510 bit.txt > tmp.txt


然后使用tail指令来获取最后10行。

tail tmp.txt

但是这样操作就显得繁琐了,为了简化该操作,我们就可以使用 Linux 中的管道。管道是用于传输某种资源的,而计算机上面最重要的资源就是数据。在指令中管道用 | 来表示,管道左边接收产生的数据,右边读取数据。所以我们就可以将上述操作简化为:

head -510 bit.txt | tail -10


命令17:时间相关指令

17.1 显示时间

  1. 语法:date 选项 格式
  2. 功能: 用于显示时间、设置时间、完成时间与时间戳之间的相互转换等。



然后我们可以通过选项指定格式:


%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


date +%Y-%m-%d_%H:%M:%S


17.2 时间戳

时间戳,是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数(不考虑闰秒),用于表示一个时间点。然而,这种格式对于人类阅读并不友好,因此需要转换成可读的日期和时间格式。

我们通过 date +%s 指令获取当前的时间戳。



然后我们可以通过 date -d@时间戳 转换为正常时间。

17.3 设定时间

  • date -s 设置当前时间,只有root用户才能设置,普通用户只能查看。date -s 20210725 将时间设置为20210725,这样会将具体时间设置为空(00:00:00)。
  • date -s 01:01:01 设置具体时间,不会对日期做更改。
  • date -s “01:01:01 2021-07-25" 同时设置日期和具体时间。
  • date -s “01:01:01 20210725” 同时设置日期和具体时间。
  • date -s “2021-07-25 01:01:01” 同时设置日期和具体时间。
  • date -s “2021072501:01:01” 同时设置日期和具体时间。


命令18:cal指令

18.1 基本语法

  1. 语法:cal 选项 月份 年份。
  2. 功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1~9999),如有两个参数,则表示月份和年份。


18.2 选项

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

命令19:find指令

语法:find 路径 选项 …

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



命令20 :grep 指令

20.1 基本语法

  1. 语法:grep 选项 搜寻字符串 文件
  2. 功能: 在文件中搜索字符串,将找到的行打印出来。


20.2 选项

  1. -i:忽略大小写进行查找。
  2. -n:输出行号。
  3. -v:反向选择,显示出没有待搜索字符串的行。



命令21:zip 和 unzip指令

21.1 基本语法

如果系统内没有该指令,需要手动安装:

yum -y install zip

yum -y install unzip


zip指令和unzip指令的使用方式:

  1. 语法:zip 选项 压缩文件.zip 待打包目录或文件
  2. 功能: 将目录或文件打包压缩成zip格式。


-r 选项递归处理,将指定目录下的所有文件和子目录一并处理,否则只会打包压缩一个空文件。

  1. 语法: unzip 压缩文件.zip 选项 目录
  2. 功能: 将压缩文件解压到指定目录当中。


-d 选项将压缩包解压到指定目录里

21.2 linux和windows系统互传

将linux中文件上传到本地windows系统:

sz 压缩包


系统自动弹出Windows系统的文件目录,选择合适的位置点击Choose

将windows系统的压缩包上传到linux系统上:



注:不要使用中文名文件!


命令22:tar指令

22.1 基本语法

tar 指令也可以用来打包压缩和解压文件,并且可以实现不解开压缩包,直接查看里面内容的操作,以及只打包不压缩等操作。


注:tar指令生成的是后缀为 .tgz 的压缩文件

语法: tar 选项 压缩文件.tgz …

功能: 打包/解包,不解开压缩包,直接查看里面内容。


22.2 选项

  • -c:建立一个压缩文件的参数指令。
  • -x:解开一个压缩文件的参数指令。
  • -t:查看tarfile里面的文件。
  • -z:是否同时具有gzip属性?即是否需要用gzip压缩?
  • -j:是否同时具有bzip2属性?即是否需要用bzip2压缩?
  • -v:压缩的过程中显示文件(常用)。
  • -f:使用档名,请留意,在f之后要立即接文档名,不要再加参数。
  • -C:解压到指定目录。


  • 压缩:tar czf  xxx.tgz  xxx
  • 解压:tar  xzf  xxx.tgz   或者   tar  xzf  xxx.tgz  -C  指定目录

可根据需要加入其他选项(-C选项是加在后面的,其他的加在前面,如 cvzf )


22.3 linux之间互传

scp  xxx.tgc  用户名@ip4地址:目标机器指定路径

 

命令23:bc指令

  1. 语法: bc
  2. 功能: 打开计算器,进行运算。


常见用法:通过管道快速计算字符串组成的算术

 

命令23:uname指令

  1. 语法: uname 选项
  2. 功能: 用于获取电脑和操作系统的相关信息。


选项:

  1. -r:输出电脑和操作系统相关信息。
  2. -a详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。


命令24:shutdown指令

  1. 语法:shutdown 选项
  2. 功能:关闭计算机,并且所有关机指令只能由root用户执行。

选项:

  1. -h:将系统的服务停掉后,立即关机。
  2. -r:将系统的服务停掉之后就重新启动。
  3. -t s:经过s秒后关机。


几个常用快捷键

  1. Tab:命令补全和档案补齐。
  2. Ctrl+C:让当前程序停掉(终止失控程序)。
  3. Ctrl+D:退出当前命令行。
  4. Ctrl+R:搜索历史命令。
  5. 上下键:查看历史命令


tab键:


相关文章
|
2天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1519 4
|
29天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
5天前
|
人工智能 Rust Java
10月更文挑战赛火热启动,坚持热爱坚持创作!
开发者社区10月更文挑战,寻找热爱技术内容创作的你,欢迎来创作!
503 19
|
2天前
|
存储 SQL 关系型数据库
彻底搞懂InnoDB的MVCC多版本并发控制
本文详细介绍了InnoDB存储引擎中的两种并发控制方法:MVCC(多版本并发控制)和LBCC(基于锁的并发控制)。MVCC通过记录版本信息和使用快照读取机制,实现了高并发下的读写操作,而LBCC则通过加锁机制控制并发访问。文章深入探讨了MVCC的工作原理,包括插入、删除、修改流程及查询过程中的快照读取机制。通过多个案例演示了不同隔离级别下MVCC的具体表现,并解释了事务ID的分配和管理方式。最后,对比了四种隔离级别的性能特点,帮助读者理解如何根据具体需求选择合适的隔离级别以优化数据库性能。
179 1
|
8天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
21天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
9天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
457 5
|
7天前
|
存储 人工智能 搜索推荐
数据治理,是时候打破刻板印象了
瓴羊智能数据建设与治理产品Datapin全面升级,可演进扩展的数据架构体系为企业数据治理预留发展空间,推出敏捷版用以解决企业数据量不大但需构建数据的场景问题,基于大模型打造的DataAgent更是为企业用好数据资产提供了便利。
314 2
|
23天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
25天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2608 22
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析