吴旭华 发表于 2024-6-25 00:21:19

探索Linux:深入理解各种指令与用法

https://img-blog.csdnimg.cn/direct/4498e72f3773440e895c9071c671590d.gif#pic_center
上一个Linux文章我们介绍了大部门指令,这节我们将继续介绍Linux的指令和用法。
cp指令

功能:复制文件或者目次
语法:cp [选项] 源文件或目次 目标文件或目次
举例说明:
   https://img-blog.csdnimg.cn/direct/208fe405eb9b4c9bab62bd71cfc69c3a.png
注意:当我们需要拷贝一个目次时且目次下有目次或者文件时,我们需要加上一个选项就是-r,这个我们已经不生疏了,就是递归拷贝。
举例:
这里new目次下有两个文件,这里就应该用递归拷贝
https://img-blog.csdnimg.cn/direct/2ea1ec28de6d493b8eff228e6feb5c61.png
这里我们已经将new拷贝到了new1中
https://img-blog.csdnimg.cn/direct/c150a2ecf8494a9fbf1f00821b34894d.png
且new中的文件全都拷贝进去了
https://img-blog.csdnimg.cn/direct/269988b990204ee79b18e3194aec69ba.png
mv指令

mv下令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的下令,经常用来备份文件或者目次。
语法: mv [选项] 源文件或目次 目标文件或目次
举例:
这里test目次下本来有的hello,用mv指令之后被移到了new当中
https://img-blog.csdnimg.cn/direct/1b6a805c7a6c4da7bd76b0a315f0c25f.png
mv的功能:

[*]视mv下令中第二个参数类型的不同(是目标文件照旧目标目次),mv下令将文件重命名或将其移至一个新的
目次中。
[*]当第二个参数类型是文件时,mv下令完成文件重命名,此时,源文件只能有一个(也可以是源目次名),它
将所给的源文件或目次重命名为给定的目标文件名。
[*]当第二个参数是已存在的目次名称时,源文件或目次参数可以有多个,mv下令将各参数指定的源文件均移至
目标目次中。
这里展示一个重命名功能:
https://img-blog.csdnimg.cn/direct/4c62fffa5dcc468e83e887d71b823198.png
cat指令

功能:查看目标文件的内容
语法:cat [选项][文件]
选项:

[*]-n:输出每行的编号
[*]-s:不输出多行空行,也就是将多个空行合并
[*]-b:对非空行进行编号
这里我们来逐一演示一下:
不加选项
https://img-blog.csdnimg.cn/direct/de90a0bda49a458eb8fe84f54d5805c2.png
-b选项
https://img-blog.csdnimg.cn/direct/efdb5fcc804b437e8d0e44de8d2ca0de.png
-n选项
https://img-blog.csdnimg.cn/direct/af8e421bb47940c5ae261ff91501a4c4.png
-s选项
https://img-blog.csdnimg.cn/direct/12ef5a6070c34ef09a4e72f0d48e274b.png
注意:每个选项之间都可以一起使用
more指令

语法:more [文件]
我们刚刚讲到cat指令只得当小文本内容的查看,cat不具备向上翻和向下滑的功能,所以当我们有一个很大的文件需要查看数时,用cat就会出现刷屏的效果,所以这里我们介绍一个更好用的指令,就是more。
大家可以用这段代码伪造一个大文件本身用more查看一下,Enter键就是下滑
   seq 1 10000 > numbers.txt
more也有弊端,more虽然避免了大文件刷屏的情况,但是当我们下滑的时候,在有些情况下我们也需要往上翻看,但是more没有往上翻看的功能,所以接下来我们就引入了less,less既可以往上看也可以往下看,注意当我们用more查看文件的时候,我们可以按q退出
less指令

语法:less [文件名]
less指令时最常用的指令之一,比more和cat都好用,常用于查看大文件,如果代码量小只有十多行的话,我们可以用cat进行查看,但是代码有500行或者更多的话我们更推荐用less或者more,但是more的弊端就是只能往下滑。
当我们在用less的时候,我们要查看某个数据的时候,可以用/[查找的数据]。
echo
这里再增补一个echo,echo可以将一个字符串写入指定文件中。
介绍了echo文件就不得不提输出重定向了,首先铺垫一下,在Linux系统中,一切皆是文件,如果我们的echo后面不加任何文件的话就是向表现器文件当中写入一段字符串。
https://img-blog.csdnimg.cn/direct/ecd4ed827e4b4b68885d0e0c35e4f0e3.png
但是如果我们指定写入的文件之后,就会写入到指定文件的当中,下面我们举个例子。
https://img-blog.csdnimg.cn/direct/8c371f2bd1ad40968c5279543d0ed744.png
这里我们写入成功了,注意:这里的>是输出重定向,这里的输出重定向后面的文件如果存在会直接写入,如果文件不存在,就会直接创造一个文件,再写入。这里我们就获得了一个新的创建文件的方法就是>文件名
这里我们还需要证实一个变乱就是echo+输出重定向是追加拷贝照旧直接覆盖,照旧重新开始一个全新的拷贝?
https://img-blog.csdnimg.cn/direct/c4f2c4c679f345f986974af238ab9dba.png
注意:上面几条语句足以证实echo+输出重定向是一个全新的拷贝。如果我们想保留原来文件中的内容的话该怎么办呢?
下面再介绍一个新的操作:追加重定向(>>)
追加重定向可以保留原来的内容直接在后面换行进行追加字符串
https://img-blog.csdnimg.cn/direct/8408ad4b31eb4f8d85aa6dd2a7300fb3.png
接着,我们再来介绍一个输入重定向(<),本来应该是默认在键盘文件中读入数据,但是加上<(输入重定向)之后就变成在文件中读取数据了。
我们每次用echo进行输出数据都要进行换行,如果不想进行换行的话,可以直接用printf进行输入数据。
head指令

语法:head [参数]… [文件]…
功能:head 用来表现档案的开头至标准输出中,默认head下令打印其相应文件的开头10行
选项:-n<行数> 表现的行数
示例:
https://img-blog.csdnimg.cn/direct/1b2072d70132420daed59efb2708f22a.png
加上选项可控制行数
https://img-blog.csdnimg.cn/direct/9f6dbb97aa4744699721e9b35cd4ef3b.png
tail指令

语法: tail[须要参数][选择参数][文件]
功能:用于表现指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:

[*]-f 循环读取
[*]-n<行数> 表现行数
示例:
https://img-blog.csdnimg.cn/direct/dd27642369354dffa5d5ab3a1c8fca5f.png
加上选项:
https://img-blog.csdnimg.cn/direct/46d52205bef54b5688d7461f3b0978cb.png
这里讲了head和tail就产生了一个标题,如果我们想查看中心某一段的值应该如何操作,这里就引入了一个新的操作:管道(|),这里我先展示代码:
比如我要取第三十到第四十项
   head -n40 numbers.txt |tail -n10
https://img-blog.csdnimg.cn/direct/6d78211b6a834055ab905870a6d1811f.png
管道,很形象的一个词,就是把前一个式子的结果传给后一个式子,意思就是后一个式子的执行源就是上一个式子的执行结果,很简单把!!
看我上面的式子,意思就是我先取出文件中的前四十行,取出来了之后,我用这前四十行作为后面式子的执行源,后面的式子就是取这四十行的后十行,最后输出结果,所以就取到了三十到四十的数字了。
与时间相干的指令

date指令

date 指定格式表现时间: date +%Y:%m:%d
date 用法:date … [+FORMAT]
选项:

[*]%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的用法我就简单的说明一下就可以了
获取年月日
https://img-blog.csdnimg.cn/direct/0a76c0e074264966ab7b33cf83fcfbf8.png
获取十秒分
https://img-blog.csdnimg.cn/direct/4008896aae9a4d66921fc5f8523fc394.png
但是这种时间不便于我们比较,所以在盘算机中还有一种时间,就是时间戳,时间戳不懂的可以上网查一查,简单来讲时间戳就是从1970年1月1日半夜开始,每一秒都在变,时间戳就是从那时开始到现在一共经历的秒数。
获取时间戳
https://img-blog.csdnimg.cn/direct/107ae21a297a41699887e6c1b5e81303.png
cal指令

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

[*]-3 表现系统前一个月,当前月,下一个月的月历
[*]-j 表现在当年中的第几天(一年日期按天算,从1月1号算起,默认表现当前月在一年中的天数)
[*]-y 表现当前年份的日历
这个指令不需要太掌握,由于基本上用不到。
示例:
https://img-blog.csdnimg.cn/direct/16fb0b31bd7945e5aff246f81e33e40a.png
剩下的选项可以本身去试一试
find指令

Linux下find下令在目次结构中搜索文件,并执行指定的操作。
Linux下find下令提供了相当多的查找条件,功能很强盛。由于find具有强盛的功能,所以它的选项也很多,此中大部门选项都值得我们花时间来相识一下。即使系统中含有网络文件系统( NFS),find下令在该文件系统中同样有效,只你具有相应的权限。在运行一个非常消耗资源的find下令时,很多人都倾向于把它放在后台执行,由于遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
语法:find pathname -options
功能:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
find的选项有很多,这里我们介绍一个常用的选项
选项:-name 按照文件名查找文件。
grep指令

语法: grep [选项] 搜寻字符串 文件
功能:在文件中搜索字符串,将找到的行打印出来
常用选项:

[*]-i :忽略大小写的不同,所以大小写视为雷同
[*]-n :趁便输出行号
[*]-v :反向选择,亦即表现出没有 ‘搜寻字符串’ 内容的那一行
示例:
这里我们有一个new.txt内里的内容在下面:
https://img-blog.csdnimg.cn/direct/43486a82942b47b695d592ef1f30b95e.png
下面展示一下搜索效果
https://img-blog.csdnimg.cn/direct/534cd93a26ae4c49b2fda99f808fa3a3.png
zip/unzip指令

如果输入zip或者unzip没有任何提示的话说明Linux机器上没有,可以用下面的代码进行下载。
   sudo yum install zip
语法:zip 压缩文件.zip 目次或文件
功能:将目次或文件压缩成zip格式
选项:-r 递 归处理,将指定目次下的所有文件和子目次一并处理
这里我们示范一下打包文件:
https://img-blog.csdnimg.cn/direct/5b0898716d094a9ea9cc37b15dac883e.png
这里我们就打包好了一个文件
https://img-blog.csdnimg.cn/direct/af9af2a86288453cbcd743f4680ce53f.png
这里我们将其移到new1下进行解压缩就可以查看文件啦。
总结

在本文中,我们探索了Linux系统中一些常用的下令以及它们的用法和功能。通过学习这些下令,我们可以更有效地管理文件和目次、执行系统操作、进行网络通讯以及监控系统状态等。总的来说,纯熟掌握这些下令对于任何使用Linux系统的人来说都是至关紧张的。
虽然我们只是触及了Linux下令的外貌,但我们希望本文可以或许为你提供一个精良的起点,帮助你进一步深入学习和探索Linux系统。记住,实践是掌握Linux下令的最佳方法。不断练习并尝试新的下令和技巧,你将逐渐成为一个纯熟的Linux用户。
无论是作为系统管理员、开发人员照旧普通用户,熟悉Linux下令都将成为你工作和一样平常生存中的强盛工具。希望本文可以或许帮助你更好地使用Linux系统,提高工作效率并办理实际标题。
感谢您的阅读!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 探索Linux:深入理解各种指令与用法