案例:对 /etc/usb_modeswitch.conf 进行查看,分析查看结果,给出四种查看命令的异同之处。
☆ 输出文件内容
基本语法:
主要功能:正序输出文件的内容
☆ 合并多个文件内容
基本语法:
主要功能:把文件名称1、文件名称2、…中的内容的合并到一个文件中
我们发现,usb_modeswitch.conf 文件中的内容显示到了终端上。
基本语法:
特别注意:more命令在加载文件时并不是一点一点进行加载,而是打开文件时就已经把文件的全部内容加载到内存中了。如果打开文件较大,则可能会出现卡顿情况。
more命令拥有一些交互功能,可以通过快捷键进行操作这个more的阅读器。
早期more命令没有现在这么强大,其只能前进不能后退
如图中所示,屏幕左下角有 more 字样显示,说明进入 more 命令
基本语法:
主要功能:查看一个文件的前n 行,如果不指定n,则默认显示前10 行
案例:查询 usb_modeswitch.conf 文件中的前10行
案例:查询 usb_modeswitch.conf 文件中的前3行
基本语法:
主要功能:查看一个文件的最后n 行,如果不指定n,则默认显示最后10 行
案例:查询 usb_modeswitch.conf 文件的最后10行
案例:查询 usb_modeswitch.conf 文件的最后3行
基本语法:
特别注意:less命令不是加载整个文件到内存,而是一点一点进行加载,相对而言,读取大文件时,效率比较高。
另外:less可以通过上下方向键显示上下内容,退出时不会在Shell中留下刚显示的内容
less 命令的执行也会打开一个交互界面,下面是一些常用交互命令(和more类似):
cat,more,less三者的对比:
在多用户计算机系统的管理中,权限是指某个特定的用户具有特定的系统资源使用权利。
在Linux 中分别有读、写、执行权限:
注:一般给予目录读权限时,也将会给其执行权限,属于“套餐”组合
可读权限 read => r(简写),可写权限 write => w(简写),可执行权限 excute => x(简写)
1)服务器中的数据价值
2)员工的工作职责和分工不同
3)应对自外部的攻击(挂马)
4)内部管理的需要
Linux 系统一般将文件权限分为3 类:
read(读)
write(写)
execute(执行)
**谁**对文件有读,写,执行的权限呢? 答:针对三大类用户
文件的拥有者:默认情况下,谁创建了这个文件谁就是文件的拥有者。文件的拥有者可以进行更改并不是一成不变的。
裴凯 => linux.txt,默认情况下,裴凯就是linux.txt文件的拥有者
group所属组内用户代表与文件的所属组相同的组内用户。
比如,裴凯与罗新兴、周卓都同属于一个itheima的用户组,罗新兴和周卓就是这个文件的组内用户。
other其他用户代表这些人既不是文件的拥有者,也不是文件所属组内的用户,我们把这些人就称之为other其他用户。
在Linux操作系统中,root拥有最高权限(针对所有文件),所以权限设置对root账号没有效果。
在Linux系统中,三大类用户也可以拥有简写形式user(u)、group(g)、other(o)
基本语法:
备注:ll命令是红帽以及CentOS系统特有的一个命令,在其他操作系统中可能并不支持
Linux一共有7种文件类型,分别如下: -:普通文件 d:目录文件 l: 软链接(类似Windows的快捷方式)
(下面四种是特殊文件) b:block,块设备文件(例如硬盘、光驱等) p:管道文件 c:字符设备文件(例如猫(上网猫)等串口设备) s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)
基本语法:ch = change mod简单理解权限
重点:字母设置并不难,重点看三方面
第一个:确认要给哪个身份设置权限,u、g、o、ugo(a)
第二个:确认是添加权限(+)、删除权限(-)还是赋予权限(=)
第三个:确认给这个用户针对这个文件或文件夹设置什么样的权限,r、w、x
案例:给readme.txt文件的拥有者,增加一个可执行权限
案例:把readme.txt文件的拥有者的可执行权限去除
案例:为readme.txt中的所属组内用户赋予rw权限
案例:给shop目录及其内部的文件统一添加w可写权限
案例:给shop目录设置权限,要求拥有者rwx,组内用户r-x,其他用户r-x
经常会在技术网站上看到类似于# chmod 777 a.txt 这样的命令,这种形式称之为数字形式权限。
文件权限与数字的对应关系,我们会发现没有7这个数字
777 :
第一个数字7,代表文件拥有者权限
第二个数字7,代表文件所属组内用户权限
第三个数字7,代表其他用户权限
rwx = 4 + 2 + 1 = 7
rw = 4 + 2 = 6
rx = 4 + 1 = 5
案例:给readme.txt设置权限,文件的拥有者rwx,组内用户rw,其他用户r
案例:给shop文件夹设置777权限
问题:用超级管理员设置文档的权限命令是# chmod -R 731 shop,请问这个命令有没有什么不合理的地方?
答:731权限进行拆解
7 = 4 + 2 + 1 = rwx
3 = 2 + 1 = wx
1 = x
问题在权限731中的3权限,3表示写+执行权限,但是写又必须需要能打开之后才可以写,因此必须需要具备可读权限,因此此权限设置不合理。
注:实际工作中,各位小伙伴在设置权限时一定不要设置这种"奇葩权限",一般情况下,单独出现2、3的权限数字一般都是有问题的权限。
1)使用root 用户设置文件夹/root/shop 的权限为:属主全部权限,属组拥有读和执行权限,其他用户没有权限,请使用数字权限的形式设置
2)请置文件/root/readme.txt 的权限,权限要求为:
属主拥有全部权限,属组要求可以读写,其他用户只读,要求使用数字形式;
3)请设置/root/email.doc权限,权限要求只有属主可以读写,除此之外任何人没有权限;
在Linux 中,如果要删除一个文件,不是看文件有没有对应的权限,而是看文件所在的目录是否有写权限,如果有才可以删除(同时必须具备执行权限)。
基本语法:
主要功能:当我们查找一个文件时,必须使用的一个命令。
案例:搜索/var目录中boot.log文件(普通文件)
案例:全盘搜索ssh目录
特别注意:实际工作时,尽量减少全盘检索,比较消耗资源
扩展功能:find实现模糊查询(必须结合通配符)
案例:搜索/var/log目录下的所有的以".log"结尾的文件信息
* :通配符,代表任意个任意字符。如*.log代表以.log结尾的文件,apache*代表搜索以apache开头的文件信息
基本语法:
单位:行,一行一行向下搜索
主要功能:在文件中直接找到包含指定关键词的那些行,并把这些信息高亮显示出来
案例:在initial-setup-ks.cfg文件中搜索包含关键词"network"的行
案例:在initial-setup-ks.cfg文件中搜索包含关键词"network"的行,然后显示行号信息
扩展语法:
主要功能:在多个文件中查找包含指定关键词的那些行,并高亮显示出来
案例:搜索/var/log目录下所有文件,找到包含关键词"network"的所有行信息
基本语法:
主要功能:在终端中输入指定的文本内容
案例:在终端中,输出hello world字符串
场景:一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。
> :标准输出重定向 : 覆盖输出,会覆盖掉原先的文件内容
>>:追加重定向 : 追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
案例:把echo输出的"hello world"写入到readme.txt文件中
以上程序的主要功能代表把echo命令的执行结果,输出写入到readme.txt文件中,如果readme.txt文件中存在内容,则首先清空,然后在写入hello world
案例:把echo输出的"hello linux"写入到readme.txt,要求不能覆盖原来的内容
基本语法:
Windows => ipconfig Linux => ifconfig
第一步:连接网络
第二步:使用ifconfig命令,获取计算机的网络信息
CentOS6 => eth0 , CentOS7 => ens33
ens33 :是默认的网卡,我们获取的IP也要从这个网卡中获取
lo(loop,循环):表示回环网卡,只有一个固定的IP地址,127.0.0.1代表本机
virbr0:虚拟网络接口,因为咱们使用vmware虚拟机安装Centos,所以其会产生virbr0虚拟网络接口
Linux系统中,一切皆文件。所以保存网络信息的也是通过一个文件来完成的。
基本语法:
主要功能:查询计算机网络的状态,网络是否正常连接。
Active : active(正常)或 inactive(dead,网络状态不正常没有连接)
打包:默认情况下,Linux的压缩概念一次只能压缩一个文件。针对多文件或文件夹无法进行直接压缩。所以需要提前对多个文件或文件夹进行打包,这样才可以进行压缩操作。
1.txt 5MB
2.txt 10MB
3.txt 15MB
1.txt + 2.txt + 3.txt = 打包 = 123.tar = 30MB
打包只是把多个文件或文件夹打包放在一个文件中,但是并没有进行压缩,所以其大小还是原来所有文件的总和。
压缩:也是一个文件和目录的集合,且这个集合也被存储在一个文件中,但它们的不同之处在于,压缩文件所占用的磁盘空间比集合中所有文件大小的总和要小。
1.txt 5MB
2.txt 10MB
3.txt 15MB
1.txt + 2.txt + 3.txt = 压缩 = 123.tar.gz = 20MB(体积变小了)
5-1 Linux打包操作
基本语法:
案例:把a.txt、b.txt、c.txt文件打包到abc.tar文件中
案例:把wechat文件夹进行打包wechat.tar
tar -tf以及tar -uf
主要功能:查看tar包中的文件信息
案例:查看abc.tar包中的文件信息
u = update,更新,如果还想往tar包中更新或追加内容都可以通过-u选项
案例:向abc.tar包中添加一个d.txt文件
扩展:如何把tar包中的文件释放出来
打包并压缩(学习的重点)
基本语法:
案例:把a.txt、b.txt、c.txt文件打包并压缩为abc.tar.gz
案例:把wechat文件夹压缩为wechat.tar.gz格式的压缩包
对压缩包进行解压
解压过程非常简单,就是把压缩的参数中的c换成x就可以实现解压缩了
案例:把abc.tar.gz格式的压缩包进行解压缩操作
案例:把wechat.tar.gz格式的压缩包进行解压缩操作
5-2 zip压缩与解压缩
zip压缩
基本语法:
Linux下已经有gzip、bzip2以及xz压缩命令了,为什么还需要使用zip压缩呢?
答:zip格式在Windows以及Linux中都是可以正常使用的。
案例:把a.txt、b.txt、c.txt进行压缩为abc.zip
案例:把wechat文件夹压缩为wechat.zip
unzip解压缩
基本语法:
案例:对abc.zip文件进行解压缩
案例:把wechat.zip解压到/usr/local/nginx目录下
对命令进行查看与解释
对参数进行解释
对命令进行简单的解释
显示当前用户
缩呢?
答:zip格式在Windows以及Linux中都是可以正常使用的。
案例:把a.txt、b.txt、c.txt进行压缩为abc.zip
案例:把wechat文件夹压缩为wechat.zip
unzip解压缩
基本语法:
案例:对abc.zip文件进行解压缩
案例:把wechat.zip解压到/usr/local/nginx目录下
对命令进行查看与解释
对参数进行解释[外链图片转存中…(img-3DOfNWcN-1680438181769)]
[外链图片转存中…(img-IvCreThk-1680438181769)]
对命令进行简单的解释[外链图片转存中…(img-kaIl3tvJ-1680438181770)]