《Linux基础篇》基础指令操作和基础知识点讲解

今天,我将带来Linux基础指令操作,在下面正式讲解中,我默认大家已经配置好了Linux的操作环境。如果还没有配置好Linux环境的话,可以选择虚拟机配置或者服务器进行配置,虚拟机的配置比较麻烦,但是不用花钱;服务器配置的话,操作比较简单,需要去阿里或者腾讯云购买云端服务器,再下载Xshell进行配置即可,购买云端服务器的话,学生是有优惠的,所以也不是很贵。





操作系统的简介

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

在这里插入图片描述

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

Linux的简介

Linux操作系统的发明人及该计划的合作者是林纳斯·本纳第克特·托瓦兹,Linux的诞生显得充满了偶然。林纳斯经常要用他的终端仿真器(Terminal Emulator)去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了Linux第一个内核的雏形。当时,他年仅21岁。
在自由软件之父理查德·斯托曼(Richard Stallman)某些精神的感召下,林纳斯很快以Linux的名字把这款类Unix的操作系统加入到了自由软件基金(FSF)的GNU计划中,并通过GPL的通用性授权,允许用户销售、拷贝并且改动程序,但你必须将同样的自由传递下去,而且必须免费公开你修改后的代码。这说明,Linux并不是被刻意创造的,它完全是日积月累的结果,是经验、创意和一小段一小段代码的集合体。

无疑,正是林纳斯的这一举措带给了Linux和他自己巨大的成功和极高的声誉。短短几年间,在Linux身边已经聚集了成千上万的狂热分子,大家不计得失的为Linux增补、修改,并随之将开源运动的自由主义精神传扬下去,人们几乎像看待神明一样对林纳斯顶礼膜拜。
--------------摘取于百度百科

综上,Linux是一款开源的操作系统,在GPL的通用性授权的通过下,许多的程序员、黑客都在Linux操作系统的增加和修补源码,以此来证明自己的实力和传扬开源的精神,所以Linux操作系统逐渐变得高效和稳定起来;并且由于Linux操作系统的开源,公司都会选择使用Linux操作系统,因为它更加的安全,设想一下,你把自己的数据交给一个未开源的操作系统,它将你的数据进行拷贝等操作,你都不知道。



ls指令

语法:ls【选项】【目录或者文件】
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

常用选项:
-a : 列出该目录的所有文件,包括以 . 开头的隐藏文件。

-d将目录像文件一样进行显示,而不是显示其下的文件,如:ls -d 指定目录

-i 输出文件的i节点的索引信息。如ls -ai指定文件
-k 以k字节的形式表示文件的大小。如ls -alk 指定文件
-l 列出文件的详细信息
-n 用数字的UID、GID代替名称。(介绍UID、GID)
-F 在每个文件名附上一个字符以说明该文件的类型,* 表示可执行的普通文件;/ 表示目录;@ 表示符号链接;| 表示FIFOS;= 表示套数字(目录类型说明)。
-r 对目录反向排序
-t 以时间进行排序
-s 在文件名前输出该文件的大小
-R 列出所有子目录下的文件(递归)
-1 一行只输出一个文件

注意:ll指令相当于ls -l 指令。

ls命令执行后,蓝色的是目录,青色和黑色的是文件。ls -a -l命令实行后,蓝色的依然是目录,青色和黑色的是文件,或者以d开头的是目录,-开头的是文件。

青色和黑色都是文件,那么它们的区别是什么呢?青色文件是可执行程序,./青色文件 便可以运行该程序,如下图中的a.out,我们只需要./a.out便可运行该程序,黑色的是普通文件,不可被运行。

我拿几个指令为例子出来敲一下
在这里插入图片描述

在ls指令的学习中,我来补充几个参数。

在Linux中,文件都会有三种时间属性的,如下:

atime(access time):最近访问文件内容时间(Last Access Time)
mtime(modify time):最近修改文件内容时间(Last Modification Time)
ctime(change time):最近更改文件属性(Inode内容更改)的时间,包括文件名、大小、内容、权限、属主、属组等。

ls指令依然可以查看这三种时间,接下来,我来示范一下
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述



pwd指令

语法:pwd
功能:显示用户当前所在的目录
常用选项:无

在这里插入图片描述



cd指令

Linux系统中,磁盘上的文件和目录被组成一颗目录树,每个节点都是目录或者文件。

在这里插入图片描述
语法:cd 目录名
功能:改变工作目录,将当前工作目录改变到指定的目录下。

cd . . 返回上级目录(. .表示上级目录 .表示当前目录)
cd /home/litao/Linux/ :进入到/home/litao/Linux/的目录下
cd ~ :进入到用户的家目录
cd - :返回最近访问的目录
cd . :返回当前目录

在这里插入图片描述



Linux知识点补充

在ls -l -a 的指令下出现的 . 和 … 分别代表着当前目录和上级目录。

当一直输入指令cd . . ,程序会回退到顶,然后不能回退,这里的顶就是/
在这里插入图片描述
在Linux中,/ 代表的是根目录。

绝对路径:从根目录开始,定位文件的路径,如上面的/home/litao/Linux/和/home/zrb/107期就是绝对路径。绝对路径在哪里都可以使用,但是麻烦,一般是在对某些配置文件进行配置的时候使用。
相对路径:如下面的图片中,我们当前在dev目录下,并且我们要进入到bit的目录下,那么我们可以采用相对路径,cd . ./home/bit便可以进入到bit的目录下,其中的. .就是找到上级目录,即/(根目录),便可以从根目录开始找到bit目录。相对路径用起来简单,后续的指令操作的时候,常用的路径定位方案。
在这里插入图片描述

window和Linux的路径分隔符的区别:
在window中,\是路径分隔符,如window下的一个路径是:D:\gitee本地文件\cpp-learning-code-sharing
在Linux中,/是路径分隔符,如Linux下的一个路径是:/home/zrb

window和Linux中都是以路径来定位文件的。原因:路径往往具有唯一性。

Tab快捷键的应用(Tab键具有命令补齐和档案补齐的功能)
ls + Tab - 命令自动补齐,打印出以ls开头的指令。
mkd + Tab - 命令自动补齐,打印出以mkr开头的指令
cd 107 + Tab - 可写出107里面的所有文件
路径问题,写出一个路径,不断的Tab,看看能不能Tab出来,不能就说明没有,路径写错了。
在这里插入图片描述

ctrl + c的作用-让当前程序停掉
如输入tree / 的指令时,会把根目录下的目录和文件以树状的形式显示出来,疯狂的刷屏,这时候,我们可以按ctrl和c让程序停止运行来达到不再刷屏的目的。

默认登陆Linux,所在的目录就是你的家目录
普通用户一般为:/home/普通用户名字
root一般为:/root



tree指令

语法:tree 目录
功能:以树状结构显示Linux当前目录结构
如:tree . 以树状结构的形式把当前目录显示出来
tree / 以树状结构的形式把根目录显示出来
在这里插入图片描述



touch指令

语法:touch[选项] 文件
功能:touch命令参数可更改文档或者目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

常用选项:
-a 或者 -time=atime或者-time=access或者-time=use 只更改文件的存取时间
-c 或者 -no-create 不建立任何文档
-d 使用指定的日期时间,而非现在的时间
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
-m 或者 -time = mtiime 或者 -time = modify 只更改变动时间
-r 把指定文档或者目录的日期时间,统设成和参考文档或者目录的日期时间相同
-t 使用指定的日期时间,而非现在时间

-a选项示范
在这里插入图片描述

-c选项示范
在这里插入图片描述
-d指令示范
在这里插入图片描述
-f指令示范
在这里插入图片描述
-m选项示范(修改为当前时间)
在这里插入图片描述
-r选项示范
在这里插入图片描述
-t选项示范
在这里插入图片描述
touch指令知识点补充:

命令行输入touch test.c
1.当test.c文件不存在时,touch指令会创建一个test.c的文件
2.当test.c文件存在时,touch指令会将test.c文件的时间修改为当前时间

touch test.c
即在当前目录下创建test.c文档
touch …/test.c
即在上级目录下创建test.c文档



nano指令

功能以记事本的形式打开文件,可以进行输入操作,接下来,我们来在Linux用c写出第一个代码,即helloworld。

touch test.c //创建test.c文档
nano test.c //打开记事本,输入代码,输入完成后,ctrl+x,然后y,退出
cat test.c //打印test.c的代码进行查看
gcc test.c //编译代码,编译完成后的内容将被放到a.out文档中
./a.out //运行代码

在这里插入图片描述
在使用nano指令中,可能会出现显示command not found说明没装nano,那么我们只需要安装一下nano指令就行了,输入指令yum install -y nano以按照nano。



stat指令

stat指令:查看文件的所有属性
在这里插入图片描述



mkdir指令

语法:mkdir [选项] dirname
功能:在当前目录下创建一个名为"dirnname"的目录

常用选项:
-p 后面可以加一个路径名称,此时若路径中某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建议多个目录。

在这里插入图片描述
在这里插入图片描述



rmdir指令

rmdir是一个与mkdir相对应的命令,mkdir是建立目录,而rmdir是删除目录的命令。
语法:rmdir [选项] [dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录

常用选项:
-p 当子目录被删除时,如果父目录也变成空目录的话,就连带父目录一起删除

在这里插入图片描述
在这里插入图片描述



rm指令

rm指令可以删除文件或者目录
语法:rm [选项] [dirName/dir]
适用对象:所有使用者
功能:删除文件或者目录,并且可以删除非空目录

常用选项:
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前会询问确认
-r 删除目录及其以下的所有文件
-rf 直接删除目录,不用询问

在这里插入图片描述
在这里插入图片描述

rm知识点补充:
rm * -rf //删除当前目录下的所有内容(*表示当前目录下的所有内容)。
rm *.c //删除当前目录下所有带.c的文件。
在这里插入图片描述

在这里插入图片描述

*是通配符,可以匹配任意个数的任意字符。



man指令

linux系统内核是c语言写的,所以c语言指令可查,其他语言前去官网查看。
语法:man [选项] 命令

常用选项:
-k 根据关键字搜索联机帮助
num 只在第num章节找
-a 将所有的章节都显示出来,比如man printf从第一章开始搜索,如果要停止,用a选项,当按下q退出时,他会继续往后面搜索,直到所有章节搜索完毕。

解释一下,man手册分为8章
1 是普通的命令
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

在这里插入图片描述
如果没有安装man库的话,利用命令yum install -y man-pages 来安装man指令的文件。



cp指令

语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

常用选项:
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

在这里插入图片描述
在这里插入图片描述
当拷贝到其他用户的目录时,会有提示,此时只需要在cp指令加上-f选项就可以,如果被拷贝的对象还是目录的话,加上-rf就行。



mv指令

mv命令是move的缩写,可以用来移动文件或者将文件改(move(rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
语法: mv [选项] 源文件或目录 目标文件或目录
功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

常用选项:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

在这里插入图片描述
在这里插入图片描述



cat指令

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

常用选项:
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行

cat指令用来打印文本的内容,只适合打印短文本,打印长文本会直接刷屏到最后面。
请添加图片描述



echo指令

语法:echo [选项] [参数]
功能:将参数被打印到标准输出中

常用选项
当-n 选项,则取消尾随换行符
如果-e 选项,则将解释以下反斜杠转义字符:
\ 显示反斜杠字符
\a 警报(BEL)
\b 显示退格字符
\c 禁止任何进一步的输出
\e 显示转义字符
\f 显示窗体提要字符
\n 显示新行
\r 显示回车
\t 显示水平标签
\v 显示垂直标签
这个-E 项禁用转义字符的解释。这是默认值

·



输入重定向和输出重定向

输入重定向和输出重定向顾名思义就是重新定义输入的方向和输出的方向。

一般情况下,数据都是从键盘流入到程序的,当我们修改数据的流入方向,让数据从其他地方流入时,便是输入重定向。同理,程序运行完的数据一般流入显示器,当我们修改数据的流出方向时,便是输出重定向。

下面,我举几个输入重定向的例子。
在这里插入图片描述
下面,我举几个输出重定向的例子。
在这里插入图片描述
在这里插入图片描述
注意:输出重定向是覆盖式写入,准备写入之前,会先清空文件。



more指令

语法:more [选项][文件]
功能:more命令,功能类似 cat

常用选项:
-n 对输出的所有行编号
q 退出more

more指令功能是与cat指令类似的,但是对于大文本内容的打印,more指令更加的适合。因为,cat指令打印大文本内容时,会直接刷屏到最后面,而more指令会按照屏幕大小进行显示文本内容,在显示的过程中,屏幕满了,就不会再打印了,按回车可以逐行翻览,按上下键没有用。

我先使用一条指令创建个大文本

cnt=0; while [ $cnt -le 1000 ]; do echo "hello $cnt"; let cnt++; done > mylog.txt

cat mylog.txt
more mylog.txt
可以使用是上面两条指令尝试一下,体会cat和more的区别。

在这里插入图片描述
再按下回车之后了,执行cat mylog.txt,直接刷屏到1000多行。

在这里插入图片描述
这里的more指令,只会显示到屏幕满了。

more指令补充:
more指令还支持搜索功能,但是相比以后讲的另外一个打印函数的搜索功能(less指令),还是较差的,在对大文本进行more指令之后,输入/加关键字,那么more指令会直接搜索到该关键字,误差在两行。

输入/200后的情况
在这里插入图片描述



less指令

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看。但若使用了 less 时,就可以使用 上下键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法: less [参数] 文件
功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。

常用选项:
-i 忽略搜索时的大小写
-N 显示每行的行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
q:退出

依然创建个大文本文件

cnt=0; while [ $cnt -le 1000 ]; do echo "hello $cnt"; let cnt++; done > mylog.txt

在这里插入图片描述
回车之后,less指令依然会按屏幕大小打印

less的搜索操作与more的搜索操作一模一样,先less一个大文本文件,然后输入/加关键字,按关键字进行搜索。

在这里插入图片描述
比如输入/22以后,结果如上面,相比more指令的搜索功能,是不是方便许多。



head指令

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 是看档案的结尾。
语法: head [参数]… [文件]…
功能:
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

常用选项:
-n<行数> 显示的行数

在这里插入图片描述

单纯写个head指令,会回显你输入的东西,按ctrl+c可以退出。
在这里插入图片描述



tail指令

tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.
语法: tail[必要参数][选择参数][文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

常用选项:
-f 循环读取
-n<行数> 显示行数

在这里插入图片描述



管道

管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入,符号表示为|,常常用来过滤,以便得到我们需要的东西。

比如:
wc -l mylog.txt //该指令是获取mylog.txt文件的行数
cat mylog.txt | wc -l //该指令的意思是先cat(打印)文件到管道|里,然后过滤出wc-l,即它的行数
所以两者的效果是一样的,但是思想是不同的。

在这里插入图片描述
在这里插入图片描述

利用管道打印大文本文件的第500行到520行
在这里插入图片描述
在这里插入图片描述

利用管道统计提取的行数
在这里插入图片描述
在这里插入图片描述
管道的意义:可以集联多条命令,让命令和命令组合,来完成对应的批量化文本处理。



时间相关的指令

date 指定格式显示时间: date +%Y:%m:%d
date 用法: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的午夜)开始所经过的秒数,不考虑闰秒。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述



cal指令

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。
命令格式: cal [参数][月份][年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

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

在这里插入图片描述
在这里插入图片描述



wc指令

语法:wc [参数] [文件名]
功能:Linux wc命令用于计算字数。利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。

常用选项:
-c或–bytes或–chars 只显示Bytes数。
-l或–lines 显示行数。
-w或–words 只显示字数。

在这里插入图片描述



sort指令

语法:sort [参数][文件名]
功能:对文件按照特定方式进行排序

常用选项:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-u 意味着是唯一的(unique),输出的结果是去完重了的。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
+<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。

在这里插入图片描述
在这里插入图片描述
我们还可以结合uniq指令来进行去重。
在这里插入图片描述



find指令

语法:find [路径][常用选项]
功能:用于在文件树中查找文件,并做出对应的处理(可能访问硬盘)

常用选项:
-name 按照文件名查找文件。

在这里插入图片描述



which指令

语法:which [需要查询的指令]
功能:which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
在这里插入图片描述



whereis指令

功能:用来搜索对应系统目录下,指定名称的文件、程序或者归档文件,比如压缩包之类。
在这里插入图片描述



alias指令和unalias指令

alias指令的功能:给一个指令起别名
unalias指令的功能:删除别名

在这里插入图片描述



grep指令

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

常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行

在这里插入图片描述



清理文件内容的快捷方式

空格 > mylog.txt

在讲解输出重定向的时候,我已经提过输出重定向是覆盖式输出,那么在上面一条指令中,将执行以下操作:
将空输出重定向到mylog.txt,相当于帮我们清空了文件

在这里插入图片描述
在cat指令下,mylog.txt并没有打印出任何东西,证明文件已经被清空了。



top指令

功能:相当打开一个类似Windows下的任务管理器
输入q退出该界面
在这里插入图片描述



zip指令

语法:zip [空格] 压缩生成的文件.zip [空格] 被压缩的文件
功能:将目录或者文件压缩成zip格式

常用选项:
-r 递归处理,将指定目录下的所有文件和子目录一并处理。

与zip指令配套的是unzip指令,为解压的指令。

压缩并指定目录
zip -r /home/zrb/kms.zip /home/zrb/server/kms

解压并指定目录
unzip /home/zrb/kms.zip -d /home/zrb/server/kms

在这里插入图片描述

接下来,我来演示zip和unzip需要注意的问题
首先,将上级目录的test目录拷贝一份到当前目录
在这里插入图片描述
接下来,我将该test目录进行解压成test.zip,然后再删除test目录,再解压test.zip,观察生成的test目录与原来的test目录有什么不同。
在这里插入图片描述
正确方法:在压缩的时候,使用-r递归处理,将指定目录下的所有文件和子目录一并处理。
删除原来的test和test.zip,从上级目录程序拷贝test目录过来
在这里插入图片描述
在这里插入图片描述

打包压缩的原因:防止丢失文件,还提高运送效率(通过减少体积)。



tar指令

语法:tar [常用选项] 文件与目录
功能:打包/解包,直接看内容。

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

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

只查看文件名在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述



bc指令

功能:bc命令可以很方便的进行浮点运算
在这里插入图片描述
单纯的输入bc指令后,往屏幕输入什么,计算什么,按ctrl+c退出



uname指令

语法:uname [常用选项]
功能: uname用来获取电脑和操作系统的相关信息。
补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。

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

在这里插入图片描述



快捷键

Tab按键 ----- 具有[命令补全]和[档案补全]的功能
ctrl + c ----- 让当前的程序停掉
ctrl + d ----- 通常代表着键盘输入结束的意思;另外,它也可以用来取代exit(多按几次退出Xshell)
ctrl + r ----- 在历史的指令搜索
history > mylog.txt 将历史上所输入的指令输出重定向到mylog.txt文件



shutdown指令

-h : 将系统的服务停掉后,立即关机。
-r : 在将系统的服务停掉之后就重新启动
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

云服务器没必要关机,关完机后也要去网页后端重新开机。



觉得写都可以的话,麻烦三连小支持一波。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值