当前位置: 首页 > news >正文

Linux基本指令(下)

1.Linux

在Linux系统中一切皆是文件,我们新建的文件、键盘、显示器等皆是文件,所以使用scanf/cin获取键盘输入信息和printf/cout向屏幕上输出信息,这一切的本质其实就是文件操作,而文件操作文件必须被先打开,所以这些设备文件在访问之前,也必须被打开。

1.1echo指令和printf指令

echo指令用法:echo 数据,该指令默认将数据打印到显示器上,本质其实就是将数据写入显示器这个文件中。
echo后面的数据可以用双引号/单引号或者不加引号,大多数场景都是使用双引号的,其他用到的很少;
不使用双引号的:echo $PATH,这个用来输出环境变量的值; echo *txt输出匹配的文件名;
其他你要输出字符串,就使用双引号的就行;单引号几乎用不到
在这里插入图片描述
printf指令与其差不多,但echo会自己换行,printf需手动加
在这里插入图片描述

1.2重定向操作符

1.2.1输出重定向操作符 > 和输入重定向符 <

刚才我们说过echo默认是向显示器这个文件中写入数据,但其实echo也可以向其他文件中写入数据,如下:
我们发现,我们可以将数据写入到 hello.txt 这个目标文件中,然后我们再次写入,我们可以看出,exho写入数据之前会将文件中原本的内容清空,然后写入。我们还可以发现,如果目标文件不存在,他会创造一个文件出来。
在这里插入图片描述

1.2.2追加操作符>>

输出重定向操作符 > 会清空目标文件中的内容,追加操作符不会清空,会在原数据后追加数据
在这里插入图片描述

1.2.3终端本质也是文件

我们使用的Linux终端其实也是一个文件,如下图,终端也是一个文件,它在/dev/pts这个路径下,当我们只开一个终端的时候,这个路径下只有一个数字名文件,再开一个,我们发现多了一个数字名文件,而这些以数字名命名的文件其实就是我们的终端,我们打开一个终端他就会创建一个文件。
在这里插入图片描述
那既然终端也是个文件,echo又可以把数据通过输出重定向符向其他文件写入数据,那我们是不是可以利用这个来模拟实现微信的收发消息?是的,可以。
在这里插入图片描述

2.文件类型

Linux中判断文件的类型不看文件后缀,如 .txt / .c,我们需要查看文件的属性才能知晓。
如下,我们可以根据文件第一个类型属性进行辨别。
d:目录文件
-:普通文件
c:字符文件
b:块设备文件
l:连接文件
p:管道文件
在这里插入图片描述
但是,系统不观心文件后缀,不代表工具(gcc)不观心。
在这里插入图片描述

3.mv指令

mv命令是move的缩写,可以⽤来移动⽂件或者将⽂件改名(move(rename)files,经常⽤来备份⽂件或者⽬录
语法mv [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录
常⽤选项:
• -f:force强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖
• -i:若⽬标⽂件(destination)已经存在时,就会询问是否覆盖!

如果目标文件存在,则是移动文件,源文件是目录的时候,则整体移动,此时目标文件也得是目录才能移动。目标文件不存在,则是文件改名。
在这里插入图片描述

4.cat指令

语法: cat [选项] [⽂件]
功能:查看⽬标⽂件的内容
常⽤选项:
• -b对⾮空输出⾏编号
• -n对输出的所有⾏编号
• -s不输出多⾏空⾏

cat指令可以读取文件中的内容,cat后面更文件的话可以读取文件中的内容,和在中间加上输入重定向操作符 < 的结果一样,如果cat后面不加文件,默认读取键盘上的内容,即读取键盘这个设备文件。
在这里插入图片描述
cat -n对输出的所有⾏进行编号
在这里插入图片描述

5.tac指令

tac指令与cat指令一样,但区别是会方向输出文件中的内容
在这里插入图片描述

6.more指令

语法: more [选项]
功能:more命令,功能类似cat
常⽤选项:
• -n指定输出⾏数
• q退出more

一般我们会使用more指令查看存在大量数据的文件,如系统日志。
他会显示文件展示进度,按键盘下键可以向下继续查看文件内容,按q退出查看。
缺点:不能向上看。
在这里插入图片描述

7.less指令

• less⼯具也是对⽂件或其它输出进⾏分⻚显⽰的⼯具,应该说是linux正统查看⽂件内容的⼯具,功能极其强⼤
• less的⽤法⽐起more更加的有弹性,在more的时候,我们并没有办法向前⾯翻,只能往后⾯看
• 但若使⽤了less时,就可以使⽤[pageup][pagedown]等按键的功能来往前往后翻看⽂件,更容易⽤来查看⼀个⽂件的内容
• 除此之外,在less⾥头可以拥有更多的搜索功能,不⽌可以向下搜,也可以向上搜。

语法: less [参数] ⽂件
功能:less与more类似,但使⽤less可以随意浏览⽂件,⽽more仅能向前移动,却不能向后移动,⽽且less在查看之前不会加载整个⽂件。

选项:
• -i忽略搜索时的⼤⼩写
• -N显⽰每⾏的⾏号
• /字符串:向下搜索“字符串”的功能
• ?字符串:向上搜索“字符串”的功能
• n:重复前⼀个搜索(与/或?有关)
• N:反向重复前⼀个搜索(与/或?有关)
• q:quit

less指令和more指令一样,less可以向上查看,弥补了more的这一缺点。我们还可以使用 /字符串 查找文件中我们想要的内容,可以按 n 查找下一个包含此关键字的内容。比如我使用 /101 查找101字符串,他会跳转至此,并标黑显示。
在这里插入图片描述

8.head指令和tail指令

8.1head指令

head与tail就像它的名字⼀样的浅显易懂,它是⽤来显⽰开头或结尾某个数量的⽂字区块,head⽤来显⽰档案的开头⾄标准输出中,⽽tail想当然尔就是看档案的结尾。

语法:
head [参数]…[⽂件]…

功能:
head⽤来显⽰档案的开头⾄标准输出中,默认head命令打印其相应⽂件的开头10⾏。

选项:
• -n<⾏数>显⽰的⾏数

默认最多展示10行,可根据 -n 展示指定行数。
在这里插入图片描述

8.2tail指令

tail命令从指定点开始将⽂件写到标准输出.使⽤tail命令的-f选项可以⽅便的查阅正在改变的⽇志⽂件,tail -f filename会把filename⾥最尾部的内容显⽰在屏幕上,并且不断刷新,使你看到最新的⽂件内容.

语法: tail 必要参数 [⽂件]

功能:⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。

选项:
• -f循环读取
• -n<⾏数> 显⽰⾏数

默认最多展示10行,可根据 -n 展示指定行数。
在这里插入图片描述

8.3管道符 |

在 Linux 中,管道符 | 的核心作用是连接多个命令,将前一个命令的标准输出(stdout)作为后一个命令的标准输入(stdin),实现命令间的数据传递和协同处理。
因为不管是cat、tac、head、tail。我们都只能看见开头或者结尾的内容,如果一个文件中的内容特别多,我们向查看文件中间的内容就显得比较困难,而利用管道符就可以解决这一问题。
比如:现在我有一个 log.txt 文件,里面有1000行内容,我们想查看第501行至510行的内容,我们就可以这样做。
在这里插入图片描述

9.date指令

指定格式显⽰时间: date +%Y:%m:%d
⽤法: date [OPTION]… [+FORMAT]

  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
  2. 在设定时间⽅⾯• date-s//设置当前时间,只有root权限才能设置,其他只能查看。
    • date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
    • date -s 01:01:01 //设置具体时间,不会对⽇期做更改
    • date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
    • date -s “01:01:01 20080523″ //这样可以设置全部时间
    • date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
    • date -s“20080523 01:01:01″ //这样可以设置全部时间
  3. 时间戳
    • 时间->时间戳:date+%s
    • 时间戳->时间:date-d@1508749502
    • Unix时间戳(英⽂Unix epoch,Unix time,POSIX time或Unix timestamp)是从1970年1⽉1⽇(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

注意,+和后面的%(选项)之间不能有空格。
在这里插入图片描述

10.cal指令

cal命令可以⽤来显⽰公历(阳历)⽇历。公历是现在国际通⽤的历法,⼜称格列历,通称阳历。“阳历”⼜名“太阳历”,系以地球绕⾏太阳⼀周为⼀年,为西⽅各国所通⽤,故⼜名“西历”。

命令格式: cal 参数 [年份]

功能:⽤于查看⽇历等时间信息,如只有⼀个参数,则表⽰年份(1-9999),如有两个参数,则表⽰⽉份和年份

常⽤选项:
• -3显⽰系统前⼀个⽉,当前⽉,下⼀个⽉的⽉历
• -j显⽰在当年中的第⼏天(⼀年⽇期按天算,从1⽉1号算起,默认显⽰当前⽉在⼀年中的天数)
• -y显⽰当前年份的⽇历
• cal 年份显示该年日历
在这里插入图片描述

11.which指令

功能:搜索系统指定的命令
只会去/usr/bin/目录下查找命令。
在这里插入图片描述

12.whereis指令

功能:⽤于找到程序的源、⼆进制⽂件或⼿册
它不仅能查找可执行文件,还能查找文件的帮助文档、源代码文件等。它会在一些特定的系统目录(如 /bin、/sbin、/usr/bin、/usr/sbin、/usr/share/man 等)中进行搜索。
在这里插入图片描述

13.find指令

• Linux下find命令在⽬录结构中搜索⽂件,并执⾏指定的操作。
• Linux下find命令提供了相当多的查找条件,功能很强⼤。由于find具有强⼤的功能,所以它的选项也很多,其中⼤部分选项都值得我们花时间来了解⼀下。
• 即使系统中含有⽹络⽂件系统(NFS),find命令在该⽂件系统中同样有效,只你具有相应的权限。
• 在运⾏⼀个⾮常消耗资源的find命令时,很多⼈都倾向于把它放在后台执⾏,因为遍历⼀个⼤的⽂件系统可能会花费很⻓的时间(这⾥是指30G字节以上的⽂件系统)。

语法: find pathname -options
功能:⽤于在⽂件树中查找⽂件,并作出相应的处理(可能访问磁盘)

常⽤选项
• -name按照⽂件名查找⽂件
• 其他选项需要在查,这个命令其实⽐较复杂

由于需要遍历大量的文件和目录,查找速度可能会比较慢。
在这里插入图片描述

14.alias指令

功能:设置命令的别名
如下:redir是个可执行程序文件,使用alias起一个go别名。
使用alias指令起的别名,关闭终端后再打开,别名就消失了。
在这里插入图片描述

http://www.lryc.cn/news/579626.html

相关文章:

  • 建设工程停工损失从哪些方面取证,如何取证?
  • 经典灰狼算法+编码器+双向长短期记忆神经网络,GWO-Transformer-BiLSTM多变量回归预测,作者:机器学习之心!
  • 在鸿蒙(HarmonyOS)中安装 .app 格式的应用包(即 HAP 或 APP 文件),可以通过以下方法实现
  • 服务器如何配置SSH密钥登录提高安全性?
  • 基于Anything LLM的本地知识库系统远程访问实现路径
  • vue2+elementui使用compressorjs压缩上传的图片
  • 机器人“触摸”水果成熟度突破:SwishFormer模型与DIGIT视触觉传感器在HelloRobot上的水果检测应用
  • 从0到1解锁Element-Plus组件二次封装El-Dialog动态调用
  • Unity-Shader-几何着色器
  • 学习设计模式《十六》——策略模式
  • Linux 73 LAMP4
  • 离线迁移 Conda 环境到 Windows 服务器:用 conda-pack 摆脱硬路径限制
  • 从0开始学习R语言--Day37--CMH检验
  • VR 果蔬运输开启农业物流新变革
  • AI无标记动捕如何结合VR大空间技术打造沉浸式游戏体验
  • 从0到1实战!用Docker部署Qwerty Learner输入法的完整实践过程
  • https如何利用工具ssl证书;使用自己生成的证书
  • 创建 TransactionStatus
  • rabbitmq 与 Erlang 的版本对照表 win10 安装方法
  • Debian-10-standard用`networking`服务的`/etc/network/interfaces`配置文件设置多网卡多IPv6
  • 贝叶斯深度学习:赋予AI不确定性感知的认知革命
  • 日本IT|日本做后端开发需要具备什么技能开发经验?
  • 深入理解CSS中的BFC 与IFC , 布局的两大基础概念
  • Day50 预训练模型+CBAM模块
  • 【Python】图像识别的常用功能函数
  • golang json omitempty 标签研究
  • 服务器如何配置防火墙规则开放/关闭端口?
  • 数据库运维指导书
  • 74. 搜索二维矩阵
  • WPS 如何使用宏录制功能