【Linux】常见指令汇总

news2024/11/20 14:37:47

每个优秀的人,都有一段沉默的时光。
那段时光,是付出了很多努力,却得不到结果的日子,我们把它叫做扎根。

在这里插入图片描述

文章目录

  • 一、xshell的介绍+操作系统
    • 1.1 xshell
    • 1.2 操作系统
  • 二、Linux下基本指令
    • 2.1 ls(显示当前目录下的文件列表,包括目录,普通文本文件,ls+选项+目录或文件)
      • 2.1.1 ls -l(以list的形式,显示文件更多的属性)
      • 2.1.2 ls -l -a(显示更多的隐藏文件)
      • 2.1.3 ll -d(不进入目录,显示目录详细信息)
      • 2.1.4 ls -R(递归式列出所有子目录下的文件)
    • 2.2 mkdir(在当前路径下,创建一个目录)
      • 2.2.1 mkdir dirname(创建一个名为dirname的目录)
      • 2.2.2 mkdir -p dir1/dir2/dir3(递归建立多个目录)
    • 2.3 pwd(显示当前我所处的路径)
    • 2.4 cd (进入指定的目录)
      • 2.4.1 cd .(进入当前目录)和cd ..(进入上级目录)
      • 2.4.2 cd (绝对路径)或(相对路径)
      • 2.4.3 cd ~(回到当前用户的家目录(工作目录))
      • 2.4.4 cd -(回到上一次访问的目录)
    • 2.5 Linux热键
      • 2.5.1 Tab键
      • 2.5.2 crtl+c键
    • 2.6 touch(创建指定的普通文件)
    • 2.7 stat(查看文件的所有属性)
    • 2.8 gcc(运行我们的代码文件)&&nano(文本编辑器)
    • 2.9 rm&&rmdir
      • 2.9.1 rmdir(只能删除空目录)
      • 2.9.2 rm(默认删除文件)&&rm -r(递归删除目录)&&rm -rf(强制递归删除目录)&&rm -rf ./*(只要权限够,删除当前路径所有文件)
    • 2.10 man(查找Linux系统接口,指令,cLibrary的手册)
    • 2.11 cp(拷贝)
      • 2.11.1 cp(默认拷贝普通文件)
      • 2.11.2 cp -r(拷贝目录)&&cp -rf(强制拷贝目录)
    • 2.12 mv(剪切、重命名)
      • 2.12.1 如何看待工作目录&&mv剪切(mv src(目录或文件) dst(一定是目录))
      • 2.12.2 (mv src() 路径/文件名/路径+文件名)重命名
    • 2.13 cat(打印内容较短文本)&&echo(写入文件内容)
      • 2.13.1 wc(word count)&&echo(将状态信息写入文件/屏幕)&&输出重定向&&追加重定向&&输入重定向
      • 2.13.2 cat -n(输出文本带上行号)&&cat -s(不输出多行空行)
    • 2.14 more&&less(打印内容较长文本)
      • 2.14.1 more
      • 2.14.2 less(分批显示,功能更加强大,推荐使用less搜索)
    • 2.15 head&&tail(提取文本前后若干行的内容)
      • 2.15.1 |命令行管道
    • 2.16 data(时间)&&cal(日历)
      • 2.16.1 data&&时间戳
      • 2.16.2 cal
      • 2.16.3time接口(获取当前的时间戳)
    • 2.17 文档搜索三剑客:find(精确查找)whereis(文档.程序.压缩包)which(搜索指令的路径)
      • 2.17.1 find -路径 -name文件名
      • 2.17.2 whereis filename(文件名)
      • 2.17.3 which 指令(搜索指令的路径)
      • 2.17.4 alias(指令重命名)
    • 2.18 grep(文本行过滤工具)
      • 2.18.1 grep [选项] '字符串' 文件(进行字符串的过滤搜索)
      • 2.18.2 grep -n(带上行号)&&grep -v(反向匹配)&&grep -i(忽略大小写)
      • 2.18.3 带有命令行管道的方式cat my.txt | grep '字符串'
      • 2.18.4 sort(对文本内容进行排序)&&uniq(去掉相邻文本内容中的重复项)
      • 2.18.5 补充命令 top(任务管理器)
    • 2.19 zip(打包)&&unzip(解包)
      • 2.19.1 为什么要打包并压缩?
      • 2.19.2 zip -r dirname.zip dirname(打包一个目录)&&zip filename.zip filename(打包一个文件)&&unzip file/dirname.zip(解包)
      • 2.19.3 unzip file/dir name.zip -d /dir&&通配符介绍
    • 2.20 tar(压缩+解压)
      • 2.20.1 tar(单纯的一个归档文件)
      • 2.20.2 tar.gz格式[简写为tgz,gzip格式 (对归档文件tar压缩) ]
      • 2.20.3 tar.bz2(Burrows-Wheeler算法实现的tar.bz2格式,简写为.tbz2)
      • 2.20.4 tar -zxvf / -jxvf / -xvf -C选项(可以解压到指定的路径下)
    • 2.21 bc指令(运算指令)
    • 2.22 uname -r指令(查找软硬件体系结构)
    • 2.23 常用热键
      • 2.23.1 ctrl+c
      • 2.23.2 ctrl+d
      • 2.23.3 上下键
      • 2.23.4 ctrl+r&&左右键进行指令的选中
      • 2.23.5 history
  • 三、总结(看到这里你应该大残了👀👀👀)


一、xshell的介绍+操作系统

1.1 xshell

xshell是一款支持多种网络协议,能够通过互联网远程连接主机,是一款强大的安全终端模拟软件并且具有很多创新性的设计,我们linux的学习便是通过这款软件。

Linux中指令操作几乎所有的平台都是支持的,macos,windows,linux等等,只不过指令操作是Linux上专业程序员应该要懂得。

xshell可以配置登陆的用户名和IP,主题颜色等,全屏Alt+Enter。

可以选择ssh+root+@+公网IP登录xshell,也可以直接左上角新建会话属性,配置登录时的用户名。

配置好之后我们以后直接点击连接就可以登录xshell了,不用ssh+root那样登录了,可以省下一些时间。
在这里插入图片描述
登录时,我们可以选择记住用户名,这样你以后连接你创建的会话时就不需要重新再输入用户名了,直接输入密码登录就可以了。

1.2 操作系统

前言:
开机的本质就是加载操作系统。
计算机的软硬件是一个层状结构。
我们平常买回来外置的键盘或鼠标,如果插到电脑上之后,其实是要等一会儿才能使用,即使你插上之后显示灯已经亮起来了,操作系统也已经开机了,但短期内还是用不了的,这是因为在我们的操作系统和硬件层之间还有一层软件层,就是驱动程序。

我们的硬件如果想要投入使用,其实是要被驱动的,这个工作就交给了我们的驱动程序。,每一套硬件都会配套一款驱动程序,所以驱动程序是直接和硬件打交道的。

再往上就是用户层了,我们平常写的代码等都是用户层的应用软件,我们是没有在操作系统里写过系统级软件的,也没有在驱动程序里写过驱动软件。

1.什么是操作系统呢?

操作系统是一款进行软硬件管理的软件!

2.操作系统的意义是什么?

操作系统对软硬件进行合理的管理(手段),以达到为上层用户提供,良好的,稳定的,安全的运行环境的目的!

所以操作系统是非常重要的,我们需要操作系统对下面的软硬件管理好,让它别老是出错,崩溃,否则没人愿意使用这款笔记本或者手机了。

在这里插入图片描述

二、Linux下基本指令

2.1 ls(显示当前目录下的文件列表,包括目录,普通文本文件,ls+选项+目录或文件)

ls命令会显示根目录下的目录和普通文本文件
在这里插入图片描述
tree命令以树状形式列出当前目录下的所有文件和子目录,并且告诉我们当前路径下,还有几个目录和文件
在这里插入图片描述
ll后面如果没有+目录或文件,那就默认显示当前路径或称之为当前目录下的详细信息
在这里插入图片描述

2.1.1 ls -l(以list的形式,显示文件更多的属性)

进入子目录dir中,我们用ls -l显示出当前目录下文件更多的属性

在这里插入图片描述

这是根目录下文件的更多属性

在这里插入图片描述

2.1.2 ls -l -a(显示更多的隐藏文件)

我们在dir目录中新建了一个隐藏目录.youcannotseeme和一个隐藏文件.seeme
如果我们使用ls -l只会显示文件的更多属性,我们看不到隐藏文件或目录,如果我们使用ls -l -a就能看到dir目录下原本就有的隐藏文件或目录和我们刚刚创建的隐藏目录和隐藏文件
在这里插入图片描述
当然,我们也可以将-l -a连在一起,同时将文件和目录属性以及隐藏文件或目录都给我们显示出来。
在这里插入图片描述
除此,我们也可以使用ll -a,其中的ll就相当于我们的ls -l,我们用ll,Linux也是可以识别的。
在这里插入图片描述
当然ls -al 和ls -la 和ll -a等都是一样的操作,聪明的Linux都是可以识别的
在这里插入图片描述

2.1.3 ll -d(不进入目录,显示目录详细信息)

如果没有-d选项,我们会列出dir目录中的子目录以及文件的详细信息,不包括隐藏文件,但如果加上-d,我们就不会进入目录,直接将目录看作文件,列出他的详细信息
在这里插入图片描述
如果没有-d选项的话,我们会直接将根目录/中的所有子目录或文件的详细信息显示出来。带上-d选项之后我们就可以直接显示根目录本身的详细信息了,将其看作成一个文件。

在这里插入图片描述

2.1.4 ls -R(递归式列出所有子目录下的文件)

通过tree和ls -R两个命令的对比,我们可以看出ls -R可以以递归的形式列出当前路径下所有的子目录或文件

在这里插入图片描述

2.2 mkdir(在当前路径下,创建一个目录)

2.2.1 mkdir dirname(创建一个名为dirname的目录)

dir目录中的dirnext子目录就是我们通过mkdir创建出来的
在这里插入图片描述

2.2.2 mkdir -p dir1/dir2/dir3(递归建立多个目录)

使用-p选项之后我们就可以递归建立多个目录了。
在这里插入图片描述

2.3 pwd(显示当前我所处的路径)

我们每一次登录,或者长时间没操作,建议都先执行一下pwd,确认一下自己在哪里

比如,我现在就在根目录中的子目录dir中,/root/dir这就是我当前所处的路径。

在这里插入图片描述

2.4 cd (进入指定的目录)

2.4.1 cd .(进入当前目录)和cd …(进入上级目录)

我们在dir目录下,新创建了一个dirnext目录,当然这个目录看起来是什么都没有的,因为我们ls过后,没发现这个目录中有什么文件或子目录,但当我们ls -l -a过后我们可以看到有两个隐藏的文件出来了,一个是.一个是…,这两个分别代表的是当前路径和上级路径。

为什么我们新建目录时,目录中会自动带有这两个隐藏文件呢?道理很简单,这就可以方便我们任意的切换路径,这种切换路径的方式也被称为相对路径,另一种切换路径的方式就是我们退回到根目录下,一层一层的往下走,这样切换路径的方式称之为绝对路径。

一下操作中我们可以看到,cd …之后我们路径就切换为/root/dir了
在这里插入图片描述

2.4.2 cd (绝对路径)或(相对路径)

D:\linux操作系统\Linux课件.zip这就是windows下的路径,其中反斜杠\称之为windows下的路径分隔符,\用于分隔各个文件夹

/root/dir/dirnext这是Linux下的路径,其中斜杠/称之为Linux下的路径分隔符,/用于分隔各个目录

绝对路径:从根目录/(斜杠)开始找我们想要访问的目录
在这里插入图片描述
相对路径:在我们当前目录dirnext下,我们可以通过相对路径的方式直接进入到根目录/下的home目录
在这里插入图片描述

不管是windows还是Linux,每个文件夹或目录下都可以有新的子文件夹或者子目录,所以Linux的目录结构就是一个树的结构。

在这里插入图片描述
只要我们有cd命令,我们就可以访问到Linux下所有的路径。
在这里插入图片描述

2.4.3 cd ~(回到当前用户的家目录(工作目录))

我们刚刚是在根目录/下的home目录,我们可以通过cd ~直接回到根目录/下的root目录中,这个目录也是我们超级用户root的工作目录
在这里插入图片描述
我们可以通过whoami看到当前用户类型。比如我们现在就是root用户,其工作目录也就是家目录,也就是我们的/root目录。
在这里插入图片描述

2.4.4 cd -(回到上一次访问的目录)

我们进入了根目录中home中的lighthouse目录,通过cd -我们就可以直接返回到我们的工作目录(家目录)/root。
所以这个指令可以帮助我们快速回到两个热点访问的目录。
在这里插入图片描述

2.5 Linux热键

2.5.1 Tab键

当我们忘记某个命令时,我们只记得前几个字母,这时我们可Tab两下,它会自动帮我找出所有含我们输入的命令,例如下面的mkd,连续Tab两下,我们可以找出mkdir指令了就。
在这里插入图片描述

当我们想进入某个目录时,但不知道这个目录中的目录名时,我们可以选择Tab两下,他会自动补齐dir目录中还有哪些目录可以进入。由下面的图片可知,还有dirnext和youcannotseeme目录可以进入
在这里插入图片描述
文件名后面加个目录分隔符表示当前文件不是一般文件而是一个目录。

2.5.2 crtl+c键

我们可以使用crtl+c键,终止疯狂刷屏的程序。

2.6 touch(创建指定的普通文件)

dir目录中的test.c以及text.c等文件都是touch出来的。
我们创建目录用的是mkdir,创建文件用的是touch,不要搞混了。
在这里插入图片描述

2.7 stat(查看文件的所有属性)

在这里插入图片描述
这里有三个时间
Access time :表示最后一次访问(仅仅是访问,没有改动)文件的时间。
Modify time :表示最后一次修改文件的时间。
Change time :表示最后一次对文件属性改变的时间,包括权限,大小,属性等等。

2.8 gcc(运行我们的代码文件)&&nano(文本编辑器)

我们可以通过nano指令创建一个test2.c的文件,并向其中写一些c语言代码,然后利用gcc运行起来最后通过./a.out运行可执行程序a.out然后就出来我们的运行结果了。

在这里插入图片描述

当我们运行text.c文件后会产生可执行程序文件a.out我们可以通过gcc编译器完成a.out的运行。

./a.out就是执行当前路径下的a.out文件
在这里插入图片描述

2.9 rm&&rmdir

2.9.1 rmdir(只能删除空目录)

我们新建了一个mycode的空目录,我们现在不想要它了,直接rmdir删除这个目录就OK了。
在这里插入图片描述
但如果我们想要删除刚刚递归创建的dir1目录的话,他说目录不能为空,我们是删除不了这个dir1目录的。由此可见我们的rmdir指令只能删除空目录。
在这里插入图片描述
并且如果我们想要删除test.c文件,他也会报错说这不是一个目录,这也更能说明了我们的rmdir只能删除空目录
在这里插入图片描述

2.9.2 rm(默认删除文件)&&rm -r(递归删除目录)&&rm -rf(强制递归删除目录)&&rm -rf ./*(只要权限够,删除当前路径所有文件)

我们这里就已经把test.c文件删除了,ll显示文件详细信息时,我们可以看到test.c已经没有了

在这里插入图片描述
这里递归删除dir1时,它老是问我是否要删除,非常烦人阿,我们直接用rm -rf强制递归将这个一连串路径全给他删除了
在这里插入图片描述
rm -rf直接强制递归删除,删库跑路就用这个,但我们可不要做这样的人哦,简直太没良心了。
在这里插入图片描述
rm -rf ./*删除当前路径下的所有文件,比如下方我们递归建立了一串路径,使用rm删除不行,因为dir1是一个目录,使用rm -r他老是问我同不同意删除,所以我们使用rm -rf ./*删除当前路径下的所有文件。
我们也可以看到当执行过后,我再使用tree命令dirnext中什么文件都没有了,全被我们删除了。
在这里插入图片描述

删除目录-r,强制删除文件-f,强制删除目录中的所有文件-rf

2.10 man(查找Linux系统接口,指令,cLibrary的手册)

man man可以查到man到底是干什么的
在这里插入图片描述
最常用的就是前三个手册,命令手册,系统调用,库函数(c语言),其他的手册,我们暂时还用不上。
在这里插入图片描述

man 3 printf就可以查到printf这个接口了
在这里插入图片描述
你直接使用man printf出来的就是printf这个指令,而不是c接口里的printf,因为我们的man查找你如果不事先声明手册的类型,他就会从1手册开始往后找,直到找到位置,printf也是一条指令,所以如果你不用man 3 printf,用man printf就会从1手册里把printf指令显示出来。
在这里插入图片描述

2.11 cp(拷贝)

2.11.1 cp(默认拷贝普通文件)

我们把当前路径中dirnext中的file.txt文件拷贝到当前路径dirnext2目录中,tree一下当前路径就可以看到file.txt已经被我们拷贝到dirnext2目录中了
在这里插入图片描述

2.11.2 cp -r(拷贝目录)&&cp -rf(强制拷贝目录)

我们在dirnext目录中创建了一个dirnext3目录,然后递归式的将其拷贝到上级目录中,我们tree一下上级目录即可看到dirnext3已经被我们拷贝到dir这个路径下了。
在这里插入图片描述

2.12 mv(剪切、重命名)

2.12.1 如何看待工作目录&&mv剪切(mv src(目录或文件) dst(一定是目录))

默认登录Linux,所处的目录就是你的家目录 /home/xxx,普通用户,一般而言,在自己的家目录下能够畅通无阻

我们这里把当前目录下的file.txt文件剪切到上级目录中
在这里插入图片描述
我们还可以将上级目录中的file.txt文件再剪切回来
在这里插入图片描述
我们也可以将一个目录dirnext3直接剪切到上级目录也就是dir
在这里插入图片描述
我们也可以将dir中的dirnext3目录剪切回dirnext目录当中
在这里插入图片描述

2.12.2 (mv src() 路径/文件名/路径+文件名)重命名

如果mv的dst跟的是当前文件名,只会做重命名工作
如果mv的dst跟的是某个路径,他就是纯正的剪切
如果mv的dst跟的是某个路径,且路径后面又跟了个不存在的文件名,它即完成剪切又做了重命名的工作

我们下面就将mydirnext3剪切并重新命名到dirnext2目录当中。

我们要注意的是路径是要有分隔符的,我们剪切并重命名时,dst里面就是/之前的是路径,/之后的是重新命名的名字
在这里插入图片描述

这里还有一个问题,我其实是想把mycode 重命名为MYCODE的,可是我没有加路径,所以Linux自动默认为当前路径,Linux就把它理解为,我要把mycode剪切到当前路径并且重新命名为MYCODE了,就出现下面的事故了。
在这里插入图片描述
想要在并不处于当前目录下的文件,不改变其路径位置然后重新命名的话,应该是下面那样的指令,但如果我们进入了Mydirnext3中,自然就不用那么麻烦了,直接拿出当前路径的文件并对其重命名就OK了,麻烦的原因就是我们当前的路径位置让我们重命名起来有点麻烦,有点像递归了,我们的目录就是递归定义的,所以这里指令操作起来也有点递归的意思哈,你不觉得吗?
在这里插入图片描述

2.13 cat(打印内容较短文本)&&echo(写入文件内容)

2.13.1 wc(word count)&&echo(将状态信息写入文件/屏幕)&&输出重定向&&追加重定向&&输入重定向

echo “hello rygttm” > mylog.txt,输出重定向,如果目标文件不存在,会自动创建并把本来显示到显示器的文本写入到文件中 – 输出重定向

向显示器打印,可以理解为向显示器写入,可以把显示器看作一种"文件",平常c程序获取数据都是从键盘获取到的,所以键盘也可以看作成一种文件。

输出重定向是一种覆盖式写入,在准备写入之前,会先清空文件,然后在写入。

如下图,它只会保持最后一次重定向输入的结果。
在这里插入图片描述

echo “hello rygttm” >> mylog.txt,称之为追加重定向,不断地向目标文件新增内容
Linux下一切皆文件
在这里插入图片描述
cat < mylog.txt和cat 前者我们将输入重定向由键盘改为从mylog.txt获取输入了,后者cat后面什么都不加,就是等我们从键盘里写东西,然后获取我们输入的东西,输入方向是我们的键盘。
在这里插入图片描述

另一个指令wc可以统计指定文件中的字节数,字数,行数,加选项-l我们可以只看到文本的行数
在这里插入图片描述

2.13.2 cat -n(输出文本带上行号)&&cat -s(不输出多行空行)

在这里插入图片描述

2.14 more&&less(打印内容较长文本)

2.14.1 more

打印适应屏幕大小的文本内容,敲Enter键可将内容向下翻阅,并且只能向下翻阅
在这里插入图片描述

2.14.2 less(分批显示,功能更加强大,推荐使用less搜索)

支持上下翻阅,按住上下方向键,敲q可以退出
在这里插入图片描述
也可以在冒号部分输入关键字进行文本内容的搜索。
在这里插入图片描述

2.15 head&&tail(提取文本前后若干行的内容)

如果不指定提取的行数,默认显示10行内容

2.15.1 |命令行管道

对于计算机来说,最重要的资源就是数据,所以管道指令 | 就会被shell解释为连接两条指令,用来传送数据的一个指令。
在这里插入图片描述

如果我们想要提取文本中的500到520行的内容,我们可以通过创建临时文件存储前520行的内容,然后再通过tail -20拿到后20行的内容,这样我们就就可以完成需求了。

但我们其实也可以不用创建临时文件,使用多个管道。

管道最核心的意义在于,可以集联多条命令,让命令和命令组合来完成批量化文本处理的任务,以完成对数据的加工

例如我们下面便通过cat head tail wc等指令得到了文本某些行的内容和具体行的行数
在这里插入图片描述

2.16 data(时间)&&cal(日历)

2.16.1 data&&时间戳

对于data,使用者可以设定任意想要显示的格式
date +%Y:%m:%d
在这里插入图片描述
将时间以时间戳的方式显示,时间戳是指格林威治时间自1970年1月1日00:00:00至当前时间的总秒数
在这里插入图片描述
相应的我们也可以将时间戳转换为当前时间,并且按照我们想要的形式,由于我们在东八区所以时间戳为0时,我们当前时间是北京时间,8点整,格林威治是在英国。
在这里插入图片描述

2.16.2 cal

通过指令我们也可以获得任意年份的日历

在这里插入图片描述

2.16.3time接口(获取当前的时间戳)

我们可以通过Linux中的time接口获得当前时间的时间戳

在这里插入图片描述

2.17 文档搜索三剑客:find(精确查找)whereis(文档.程序.压缩包)which(搜索指令的路径)

2.17.1 find -路径 -name文件名

在这里插入图片描述

2.17.2 whereis filename(文件名)

在这里插入图片描述

2.17.3 which 指令(搜索指令的路径)

在这里插入图片描述

2.17.4 alias(指令重命名)

我们的alias可以重命名ls -a -l -i -n指令,我们通过which指令可以找到我们的myls是一个重命名指令,大家可以看到ls指令中alias带有color,这也可以解释为什么使用ls指令时某些目录带有颜色了。
在这里插入图片描述
带有颜色的目录

在这里插入图片描述

2.18 grep(文本行过滤工具)

2.18.1 grep [选项] ‘字符串’ 文件(进行字符串的过滤搜索)

在这里插入图片描述

2.18.2 grep -n(带上行号)&&grep -v(反向匹配)&&grep -i(忽略大小写)

(大于号)>my.txt,可以清空我们的my.txt文件

在这里插入图片描述

2.18.3 带有命令行管道的方式cat my.txt | grep ‘字符串’

采用命令行管道的方式,也可以完成过滤文本的功能

在这里插入图片描述

2.18.4 sort(对文本内容进行排序)&&uniq(去掉相邻文本内容中的重复项)

排序的原则是从左开始比较每一个字符的Ascll码值,从小到大排列,如果你带-r选项,那就是从大到小排列。

由于回车字符ascll码值小于哪些字符数字,所以排序时,前面的部分是回车字符
在这里插入图片描述
借助管道命令,我们可以完成去掉相邻文本内容的重复项并且完成文本内容的升序排序

在这里插入图片描述

2.18.5 补充命令 top(任务管理器)

在这里插入图片描述

2.19 zip(打包)&&unzip(解包)

2.19.1 为什么要打包并压缩?

打包:可以防止文件丢失。
压缩:利用特定的算法将我们的文件进行体积的减少,可以帮助我们在网络传输过程中节省时间。

2.19.2 zip -r dirname.zip dirname(打包一个目录)&&zip filename.zip filename(打包一个文件)&&unzip file/dirname.zip(解包)

打包一个目录时,我们应该带上-r选项,进行递归式的打包,打包普通文件不用-r

打包成功了
在这里插入图片描述
解包成功
在这里插入图片描述

2.19.3 unzip file/dir name.zip -d /dir&&通配符介绍

当我们解压压缩包的时候,一般有两种解压目的地,一种是默认解压到我们当前的位置,另一种是解压到我们默认的目录下。

从下图我们便可以看到,当unzip带上-d选项之后,我们就可以将dirnext.zip压缩包解压到我们根目录下的home目录下。
并且test.txt文件中也依然有我们的you can see me文本

在这里插入图片描述

通配符是指通用的字符,用来模糊查找信息,通配符能够代替任意字符,我们可以利用通配符删除某一个目录底下的所有文件,或用来删除某一个特定的后缀名的文件。
他就是用来匹配全部字符的一个通用符号

在这里插入图片描述
匹配所有字符之后我们就将home目录下面的所有文件全部删除了
在这里插入图片描述
我们也可以通过.txt后缀名的匹配,将dirnext目录下面的.txt文件全部删除。
在这里插入图片描述

2.20 tar(压缩+解压)

2.20.1 tar(单纯的一个归档文件)

严格的说,tar 只是一种打包格式,并不对文件进行压缩,主要是为了便于文件的管理,所以打包后的文档大小一般远远大于 zip 和 tar.gz,但这种格式也有很明显的优点,例如打包速度非常快,打包时 CPU 占用率也很低,因为不需要压缩嘛。

我们现在通过tar -cvf name.tar name命令其实就可以看到一个被打包好的dirnext.tar文件包

在这里插入图片描述
当然我们也可以通过tar -xvf name.tar name对这个文件包进行解包,如果不带-v选项,我们自然也就无法直观的看到解包过程中文件的显示了。这个选项怎么说呢?就是能让我们解包的时候看的更加全面一点。

在这里插入图片描述

我们对tar的选项进行一下解释
-c:建立一个压缩文件的参数指令(create的意思)
-x:解开一个压缩文件的参数指令!
-v:压缩的过程中显示文件!
-f:使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

我们这里要再提醒一下大家,我们确实通过cvf进行了目录的打包,但是由于我们没有利用算法对文件进行压缩,这就导致其实我们通过上述命令只能进行打包的操作。

2.20.2 tar.gz格式[简写为tgz,gzip格式 (对归档文件tar压缩) ]

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

我们可以通过带-zcvf选项来对目录进行打包并利用LZ77 算法将-cvf之后的归档文件进行压缩,因此就有了tar.gz的文件 (为遵循 8.3 MS-DOS 文件名称限制,又被简称为.tgz)。

由下图可知,我们利用了LZ77算法的gzip格式进行目录的打包和压缩,与上面的.tar命令不同的其实就是,tar指令执行的选项多加了一个z,这个z其实就是进行gzip算法压缩。
在这里插入图片描述
当然如果我们相对一个tar.gz形式的目录进行解压,可以使用-zxvf选项来进行解压,解压就是解包并压缩。
在这里插入图片描述

2.20.3 tar.bz2(Burrows-Wheeler算法实现的tar.bz2格式,简写为.tbz2)

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?

相比以上几种格式,tar.gz2 拥有最高的压缩率,但是压缩的时候所需要的时间也最长,CPU 占用率也最高。

如果我们相对一个目录进行超高压缩,以便于我们传输时,就可以采用-jcvf的选项来进行打包和压缩,这里的j就是是否采用bzip2的压缩

在这里插入图片描述
当然解包的话我们只需要将c选项换为x选项就可以进行bz2格式的解包了。
在这里插入图片描述

2.20.4 tar -zxvf / -jxvf / -xvf -C选项(可以解压到指定的路径下)

这里给大家演示一下,解压到指定路径下,其实这个-C选项和我们unzip的-d选项作用是相同的,我们可以看到通过-C选项我们就把压缩包解压到根目录下的home1目录当中了

在这里插入图片描述

在这里插入图片描述

2.21 bc指令(运算指令)

这个指令就是一个小玩意,和我们的cal一样,大家了解一下就好。
在这里插入图片描述

2.22 uname -r指令(查找软硬件体系结构)

-a或–all 选项详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

在这里插入图片描述
el就是centos的简称,el7就是centos7的简称
x86_64是我们的硬件结构
3.10.0-1160.71.1是我们的软件结构
el7是我们的商业化用户采用的发行版本,centos7

在这里插入图片描述
我们可以通过cat指令单独打印出来linux的发行版本,不显示内核版本信息。

2.23 常用热键

2.23.1 ctrl+c

强制终止前台影响我输入指令的程序

2.23.2 ctrl+d

自动退出

2.23.3 上下键

我们可以通过上下键,找到最近你曾输入过的命令
在这里插入图片描述

2.23.4 ctrl+r&&左右键进行指令的选中

ctrl+r在历史命令中进行智能搜索,然后按住左右键可对命令搜索
下面我们就搜索到了之前,我们打印的文本内容,并执行了一下。
在这里插入图片描述

2.23.5 history

将我们整个输入历史的指令全部保存起来

直接打印出来我们的历史指令

在这里插入图片描述
我们这里将历史搜索指令重定向到cmd.txt文件当中,然后通过less分批显示,并打印cmd.txt的内容

在这里插入图片描述

三、总结(看到这里你应该大残了👀👀👀)

其实像这种抽象的知识,我们一般会通过3种方式将其完美掌握
思考,重复,动手,翻译过来就是,多查查linux指令,多用用linux指令,多重复你上面的操作,你未来肯定是个大佬。

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

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

相关文章

【IVIF:引入注意力机制:GAN:双鉴别器】

AttentionFGAN: Infrared and Visible Image Fusion Using Attention-Based Generative Adversarial Networks &#xff08; AttentionFGAN&#xff1a;使用基于注意的生成对抗网络进行红外和可见光图像融合&#xff09; 在本论文中&#xff0c;我们将多尺度注意机制集成到GAN…

redis优化与一些问题

文章目录优化采用SSD硬盘-提升磁盘读写的速度控制 redis 的内存在10G以内&#xff0c;防止fork耗时太长fork 注意事项设置内存淘汰策略vm.overcommit_memory1尽可能地使用 hash 哈希存储参数调优swapinessulimitTCP backlog客户端缓冲优化碎片优化问题缓存与数据库数据不一致将…

换个地方写helloworld

1、Linux中I/O讲解 今天&#xff0c;我们重新学习C语言的基础&#xff0c;特别是I/O口的讲解。 所谓标准 I/O 库则是标准 C 库中用于文件 I/O 操作&#xff08;譬如读文件、写文件等&#xff09;相关的一系列库函数的集合&#xff0c;通常标准 I/O 库函数相关的函数定义都在头…

实时输出Java8 HashMap数据结构

看过 Java 8 HashMap 源码的知道底层数据结构是数组、链表和红黑树实现的&#xff0c;从Debug调试或者序列化输出的都是K,V值&#xff0c;没法直观的看到上述的数据结构&#xff0c;为了直观的看到数据结构存储方面的变化&#xff0c;本文通过动图演示HashMap的结构变化。 为了…

【6 - 完结】Sql Server - 郝斌(identity、视图、事务、索引、存储过程、触发器、游标、TL_SQL)

课程地址&#xff1a;数据库 SQLServer 视频教程全集&#xff08;99P&#xff09;| 22 小时从入门到精通_哔哩哔哩_bilibili ​ 目录 identity&#xff08;主键自动增长&#xff0c;用户不需要为identity修饰的主键赋值&#xff09; 用法 如何重新设置identity字段的值 如…

从React源码来学hooks是不是更香呢

本文将讲解 hooks 的执行过程以及常用的 hooks 的源码。 hooks 相关数据结构 要理解 hooks 的执行过程&#xff0c;首先想要大家对 hooks 相关的数据结构有所了解&#xff0c;便于后面大家顺畅地阅读代码。 Hook 每一个 hooks 方法都会生成一个类型为 Hook 的对象&#xff…

wpf布局学习二 wpf xaml 与android xml界面对比, C++图片旋转与缩放好复杂放弃

弄不明白的事&#xff0c;还是不要去做。 没懂清楚原理&#xff0c;不要尝试去修改。浪费时间。 wpf布局学习二 <Window x:Class"WpfM20UpdateFW.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://sch…

使用adb shell 命令接收串口发送过来的16进制数据 或者 发送16进制数据

首先执行 adb root Adb shell 找到你要发送或者接收串口数据的设备 如果我们再android设备上调试串口的时候&#xff0c;有时我们需要使用adb shell命令&#xff0c;假设我们使用串口发送的数据是16进制&#xff0c;那么使用cat 这个设备节点&#xff0c;有可能显示的是乱码例…

第6章 循环神经网络

系列文章目录 第1章 绪论 第2章 机器学习概述 第3章 线性模型 第4章 前馈神经网络 第5章 卷积神经网络 第6章 循环神经网络 第7章 网络优化与正则化 第8章 注意力机制与外部记忆 第9章 无监督学习 第10章 模型独立的学习方式 第11章 概率图模型 第12章 深度信念网络 第13章 深…

新相微在科创板过会:计划募资约15亿元,2022年业绩开始下滑

11月22日&#xff0c;上海证券交易所科创板披露的信息显示&#xff0c;上海新相微电子股份有限公司&#xff08;下称“新相微”&#xff09;获得上市委会议通过。据贝多财经了解&#xff0c;新相微于2022年6月28日在科创板递交招股书。 本次冲刺科创板上市&#xff0c;新相微计…

企业架构LB-服务器的负载均衡之LVS实现

01_学习目标和内容 02_LVS介绍和ipvsadm管理工具安装 03_LVS常见工作方式和调度算法介绍 04_需要知道的几个概念名词 05_LVS-NAT方式实现的流程原理 06_配置NAT模式准备工作 在centos中建立网卡配置信息 07_NAT模型RS真实服务器的网关配置 08_NAT模型DR调度服务器规则和转发配…

2010年数学二真题复盘

高数部分 选择题 第一题 思路分析:本要主要考察间断点的概念与极限运算. ☆首先无穷间断点属于第二类间断点,则至少有一个点不存在,要么没定义,要么就是在某个点的左极限或者右极限上趋于无穷,可以先化简,找一些分母趋于0的,那么就是无穷间断点了。 第二题 思路分…

设计模式之美——多组合少继承

组合优于继承&#xff0c;多用组合少用继承。 继承举例 假设我们要设计一个关于鸟的类。我们将“鸟类”这样一个抽象的事物概念&#xff0c;定义为一个抽象类 AbstractBird。所有更细分的鸟&#xff0c;比如麻雀、鸽子、乌鸦等&#xff0c;都继承这个抽象类。 我们知道&…

web前端期末大作业——贵州山地旅游介绍网页1页 HTML旅游网站设计与实现

&#x1f468;‍&#x1f393;学生HTML静态网页基础水平制作&#x1f469;‍&#x1f393;&#xff0c;页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码&#xff0c;这是一个不错的旅游网页制作&#xff0c;画面精明&#xff0c;排版整洁&#xff0c;内容…

Qt+Win10使用QAxWidget控件实现远程桌面控制

Windows开始菜单-运行-输入mstsc&#xff0c;可以打开自带的远程桌面连接工具。如果想使用Qt来实现这个工具&#xff0c;怎么弄&#xff1f; 一、Win10环境的配置 1、Win10-我的电脑-属性-远程桌面-开启 2、打开控制面板-管理工具&#xff08;Win11是【Windows工具】&#xff…

Ubuntu16.4安装搜狗拼音输入法

Ubuntu16.04安装搜狗输入法&#xff0c;总结可以分为5步&#xff1a; 1.下载搜狗输入法的安装包 2.安装fcitx输入法框架 3.安装搜狗输入法 4.重启Ubuntu 5.配置搜狗输入法 1.下载搜狗输入法的安装包 百度搜索“搜狗输入法 linux” https://pinyin.sogou.com/linux. ​​​​…

CY3/CY5/CY7标记牛血清白蛋白/人血清白蛋白,CY3/CY5/CY7-BSA/HSA

产品名称&#xff1a;CY3/CY5/CY7标记牛血清白蛋白/人血清白蛋白 英文名称&#xff1a;CY3/CY5/CY7-BSA/HSA 血清白蛋白一般指人血白蛋白&#xff0c;是由580个氨基酸残基单链组成的蛋白质&#xff0c;由肝脏分泌&#xff0c;在血浆中含量最高&#xff0c;约占52%-68%左右。血…

Flink之ProcessFunction

ProcessFunction基本处理函数处理函数的功能和使用ProcessFunction 解析处理函数的分类按键分区处理函数&#xff08;KeyedProcessFunction&#xff09;定时器&#xff08;Timer&#xff09;和定时服务&#xff08;TimerService&#xff09;KeyedProcessFunction 的使用窗口处理…

机房动环状态综合触摸屏监控解决方案

随着移动互联网、电子商务等迅速扩张&#xff0c;大型互联网企业的用户数再创新高&#xff0c;数据量爆发式增长&#xff0c;企业对IDC资源的需求越来越大。机房状态安全的重要性对于一个企业来说一直以来都是一个令人头疼的问题。因此&#xff0c;我们推出了动环状态网络触摸屏…

Linux学习-51-进程间通信和终止线程命令

12.9 常用信号&#xff08;进程间通信&#xff09;及其含义 进程的管理主要是指进程的关闭与重启。我们一般关闭或重启软件&#xff0c;都是关闭或重启它的程序&#xff0c;而不是直接操作进程的。比如&#xff0c;要重启 apache 服务&#xff0c;一般使用命令"service ht…