玩转Liunx系统,看这篇文章就够了(三)

简介: Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

15. Linux 中关于搜索文件或者目录的命令(find)


**语法格式:find [搜索范围] [搜索标准] 关键字 **

搜索标准:

  • name :  默认按照名称搜索,这个name可以省略不写,不写也是按照名字搜索。
  • size :  按照文件大小搜索。
  • user:按文件的所有者搜索。(默认是谁创建的这个文件,谁就是这个文件的所有者。后期可以进行更改)


15.1 通过文件或者目录的名称进行搜索


  • find  *.txt (相对路径): 搜索当前目录下。所有的.txt文件。
  • find  * e * (相对路径):搜索当前目录下,所有名称中包含e的文件和目录。
  • find  /etc */txt :搜索/etc目录下所有.txt文件。


15.2 通过文件的大小来搜索


在Linux中,+号代表大于,-代表小于。

  • find  /etc -size -5k(5M) :搜索/etc目录下所有小于5k/5M的文件。
  • find  /etc -size +5k(5M) :搜索/etc目录下所有大于5k/5M的文件。


15.3 通过文件的所有者就行搜索


  • find /etc -user zhangsan : 搜索/etc目录下所有者是zhangsan的文件和目录。


15. Linux 中关于搜索文件或者目录的命令(locate)


语法格式:locate 要搜索的文件名

  • locate这个搜索的效率要比find的效率高。locate指令可以快速在整个系统中定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
  • locate搜索的是整个Liunx目录树中的所有文件,而find搜索的是指定目录下的所有文件。

在Linux系统中,文件的删除和增加并不是及时的,Linux会根据自己的一整删除和增加体制来定时进行修改,使用locate操作文件的时候会出现错误。

  • 在使用locate查看命令之前,我们需要先使用 updatedb命令来同步一下数据库,然后再使用**locate .txt* 命令来查看Linux这个系统中这个目录树中所有的txt文件。


16.搜索过滤的命令(grep)


搜索过滤命令。在前一个搜索命令的结果中进行按名称进一步过滤:

语法格式:

  • 搜索命令 | grep  [选项] 过滤条件
  • 查看命令 | grep  [选项] 过滤条件

搜索命令

  • find *txt | grep new   : 搜索当前目录下,所有名称中包new的.txt文件。
  • find /etc -size -5k | grep firefox  : 所有etc目录下小于5k的文件,并且名称包含firefox的文件。

查找命令

  • cat t1.txt | grep beijing :查找t1.txt文件的内容中包含beijing的内容。(这个默认是区分大小写的)
  • cat t1.txt | grep -ni beijing : 查找t1.txt文件的内容中包含beijing的内容。(-ni 这个属性是忽略大小写的。)


17.Linux中关于压缩和解压命令


注意:

  • 压缩包括:打包(多个文件打包再一起)和压缩(一个大的压缩文件变为小的压缩文件)。
  • Linux中的压缩包包括两种:.gz与.zip。


17.1 压缩或者解压单个文件(gzip/gunzip)


压缩或者解压单个文件,这个不具备打包的功能,因为这个命令只能操作单个文件,只能将一文件压缩为一个文件,一个文件解压为一个文件,而不能操作多个文件或者目录。压缩单个的文件生成的压缩包格式只能是.gz,因为是自动生成的。

语法格式

  • gzip 文件名 :压缩单个文件,自动生成一个.gz的压缩包,并且会把原来的文件删除。

注意:t.txt 经过压缩之后会变为 t.txt.gz  名称的压缩包。

  • gunzip  .g压缩文件名 : 解压.gz压缩包,并且会把原来的.g压缩包删除。

注意:t.txt.gz 经过解压之后会变为 t.txt  名称的文件。


17.2 压缩(打包)或者解压多个文件和目录(zip/unzip)


这个可以压缩(打包)或者解压多个文件或者目录,并且这个压缩可以生成.zip或者.gz格式的压缩包,因为使用这个命令我们可以自己给定压缩文件的名称以及类型。通常使用zip格式的压缩包。

语法格式

  • zip 目标压缩文件名(通常使用.zip压缩包)  文件或者目录列表  : 压缩(打包)文件,不会删除之前的文件。

zip test.zip  ret.txt t1.txt test2 : test.zip是目标压缩文件,这个文件可以是路径也可以是相对路径,这里使用的是相对路径。

  • unzip 压缩包名(.zip) : 将指定的.zip压缩包解压到当前目录。
  • **unzip 压缩包名(.zip) -d 解压目录名 :**将指定的.zip压缩包解压到指定的解压目录下。

unzip test.zip -d test3 : 将test.zip中文件解压到test3这个目录下。


17.3 压缩(打包)或解压多个文件和目录(tar)


压缩语法格式

  • tar -c 目标压缩包名称(xxx.tar.gz)  文件或者目录列表 :其中.tar可以省略,之所以这么写是为了告诉别人这个压缩包是使用tar命令进行压缩的。这个目标压缩包的位置可以使用绝对路径任意改变,这里是哟个的相对路径,压缩完的文件就在使用命令的这个目录下。

解压语法格式

  • tar -x 压缩包名(xxx.tar.gz):将指定.tar.gz压缩包解压到当前目录下。
  • tar -x 压缩包名(xxx.tar.gz) -C(大写C) 解压目录名 : 将指定的.tar.gz压缩包解压到指定的目录下。

选项说明

  • -c : 产生.tar.gz打包文件。
  • -v : 显示详细信息。
  • -f : 指定压缩后的文件名。
  • -z : 打包同时压缩。
  • -x :解压.tar.gz文件。
  • -C :  指定压缩到哪个文件。

实际开发

  • 压缩:tar -zcvf xxx.tar.gz 文件或者目录列表
  • 解压:tar -zxvf xxx.tar.gz -C 解压目录名称

tar -zcvf mytar.tar.gz  rest.txt  t1.txt : 将rest.txt和t1.txt文件压缩到mytar.tar.gz压缩包中,并且这个压缩包在当前的这个压缩目录下。

tar -zxvf mytar.tar.gz -C /opt/testDir/test5 : 将压缩包解压到指定目录的文件夹下。


18.Linux中的组和文件(目录)


18.1 用户的分类


在Linux中,每一个用户都至少属于一个组,用户不能独立于组存在,一个用户可以属于多个组。

在Linux中,每一个文件必须属于一个组,而且一个文件只能属于一个组。

  • 通过组可以文件进行不同权限的分配。

在文件或者目录看来,Linu系统中的所有用户分为三类:

  • 所有者: 默认情况下,文件或者目录的所有者都是创建者,可以进行修改。
  • 同组用户: 根文件或者目录属于同一组的用户。
  • 其他组用户: 既不是文件或者目录的所有者,也不是同组用户。


18.2 查看文件的所有者和所在的组


语法 :ls -l


18.3 修改文件和目录的所有者


语法格式 :

  • chown 新的所有者 文件名(目录) :修改新的所有者而不修改所在的组。
  • chown 新的所有者 : 新的组 文件名(目录) : 修改新的所有者以及所在的组。

改变文件

chown zhangsan t1.txt : 修改t1.txt的所有者。

chown zhangsan:dev t4.txt : 修改t4.txt的所有者以及所在的组。

改变目录

chown zhangsan:dev test3 : 修改test3目录的所有者和所在组。它只会修改这个目录所在的组和所有者,而不会修改这个目录下文件的所有者和组

chown -R zhangsan test3 : 递归修改test3目录下所有文件的所有者。有R参数存在的时候,既会修改这个目录的所有者,又会改变这个目录下所有文件的所有者。

chown -R zhangsan:dev test :递归修改目录以及目录中所有文件的所有者和所在的组。


18.4 修改文件和目录所在的组


语法格式

  • chgrp 新的组 文件名(目录)

改变文件

chgrp dev t2.txt : 修改当前文件所在的组。

改变目录

chgrp -R dev test3 :修改当前文件夹以及递归修改该目录和目录下所有文件所在的组。


19.Linux中文件或者目录的权限管理


组的权限

  • 一个用户至少属于一个组,也可以属于多个组。
  • 一个文件或者目录也必须属于一个,并且只能属于一个组。

在一个文件或者目录看来,Linux系统中的所有用户可以分为三类

  • 所有者
  • 同组用户
  • 爱他组用户

在Linux中,任何文件或者目录都有三种权限:读(Read)、写(write)、执行(Execute)。每个权限不同的用户对文件或者目录的权限等级不一样。


19.1 文件的三种权限


  • 读:可以读取、查看文件的内容。比如:cat、more、less、head、tail等。
  • 写:可以修改文件的内容,比如:vi或者vim
  • 执行:如果文件是可执行文件(.sh) ,可以直接运行,比如:./xxxsh。


19.3 目录的三种权限


  • 读:可以读取、查看目录下的内容。比如:ls
  • 写:可以修改目录中的内容,创建子目录、创建文件、删除文件、重名文件或目录。
  • 执行:可以进入该目录。比如:cd等


20.文件或者目录的权限控制


在Linux系统中,任何一个文件或者目录都有三部分权限:所有者权限、同组用户权限、其他组用户权限。

  • 第一部分权限:所有者权限,文件或者目录的所有者对该文件所拥有的权限。在所有者权限中,使用 r、w、x分别表示读、写、执行的权限。 比如:rwx:拥有读写执行的权限,r-x:拥有读和执行的权限,r--:只拥有读的权限,---:没有任何权限。
  • 第二部分:同组用户权限,文件或者目录的同组用户对该文件所拥有的权限,使用r、w、x分别表示读、写、执行的权限。
  • 第三部分:其他组用户权限,文件或者目录的同组用户对该文件所拥有的权限,使用r、w、x分别表示读、写、执行的权限。

查看文件或者目录的权限:ls -aul


21.用字母修改文件或者目录的权限


使用关键字:chmod

用r、w、x 分别表示读、写、执行的权限。

用u、g、o、a 分别表示所有者、同组用户、其他组用户、所有用户修改权限。

用+、-、= 分别表示给指定的用户增加、减少、设置对应的权限。

chmod g-w,o+w t5.txt   // 给t5.txt的同组用户减少写的权限,给其他组用户增加写的权限。
chmod g=rwx t5.txt  //  这个代表给同组用户添加读、写、执行的权限。
chmod a-r t5.txt   // 给所有的用户减少读的权限。
复制代码


22.用数字修改文件或者目录的权限


  • 在Linux系统中,可以使用数字 4(2^2)、2(2^1)、1(2^0) 来表示r、w、x 读写执行
  • 在linux中,每个文件或者目录存在三种权限:所有者权限、同组权限、其他组权限。一种权限会对应一组数字,也就说一个文件或者目录有三组数字。

比如该文件权限对应的字母的 :rw- r-x r-x 对应的数字权限 :6 5 5。rwx r-x -wx : 753

修改文件的权限

  • chmod 777 t5.txt


23.Linux的网络管理


  • Linux系统中,所有的配置文件存在于 etc目录下。
  • 使用vi命令来修改网络ip地址的配置文件:vi /etc/syscongig/network-scripts/ifcfg-ens33

修改这个配置文件中对应的信息

  • BOOTPROTO = "static"
  • ONBOOT= "yes"
  • IPADDR=192.168.11.128 (ip地址)
  • GATEWAY=192.168.11.2 (网关地址)
  • DNS=192.16.11.2 (域名解析系统)

只修将这个配置文件中的信息改变为:static、yes。其中IP地址、网关协议以及域名解析系统公司用给出,直接按着修改即可。


24.Linux中关于进程的管理


  • 线程的概念:一个程序的执行线路,一个程序可以有多个线程。
  • 进程的概念:一个程序的执行,一个进程会占用一个端口。

注意:一个进程可以有多个线程。只要是可执行的文件(.exe)或者命令就是一个进程,会占用一个端口。

在Windows中,SYSTEM对应的系统进程,Admin对应的用户进程。

微信截图_20220610094539.png

查看Linux中进程信息

  • ps : 这个命令只能查看Liunx系统中的用户应用的进程,不能查看系统的进程。
  • ps -e :查看Linux中的所有的进程(用户进程以及系统进程),简化显示进程信息。
  • ps -ef : 已全格式的形式显示Liunx中的所有的进程。
  • ps -ef|grep mysql : 查看指定执行的文件的全格式进程信息。(查看程序是否正常启动以及这个程序所对应的端口号。)

关闭Linux中的进程

  • 使用ps命令查看进程的PID。
  • 使用命令kill -9 PID 来关闭这个进程。


相关文章
|
7月前
|
缓存 Ubuntu Linux
Vim编辑器入门指南:安装、基本操作和高级技巧详解 | 适用于Linux系统
Vim编辑器入门指南:安装、基本操作和高级技巧详解 | 适用于Linux系统
290 0
|
2月前
|
Java Linux
手把手教你Linux系统下的Java环境配置,简单到不行!
手把手教你Linux系统下的Java环境配置,简单到不行!
82 1
|
4月前
|
Web App开发 存储 缓存
小白带你学习linux系统程序和进程管理(十四)
小白带你学习linux系统程序和进程管理(十四)
35 0
|
Oracle 关系型数据库 MySQL
Linux系统:第十章:服务器环境搭建
Linux系统:第十章:服务器环境搭建
163 0
|
存储 数据可视化 安全
玩转Liunx系统,看这篇文章就够了(一)
Linux系统。Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
玩转Liunx系统,看这篇文章就够了(一)
|
网络协议 Unix Linux
玩转Liunx系统,看这篇文章就够了(二)
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
玩转Liunx系统,看这篇文章就够了(二)
|
网络协议 Linux 数据中心
那些年,用过的Linux网络工具
Linux作为一款强大的操作系统,凭借其优异的的网络服务功能,被广泛使用到云服务中心、数据中心、嵌入式边缘物联代理等需要可靠的网络服务支持的场景中。具体到生成环境,免不了使用工具去管理和控制网络,本文就来带领大家细数一下,Linux下都有哪些提供网络管理的工具。
197 0
|
运维 监控 NoSQL
关于linux系统调优这一篇文章就够了
关于linux系统调优这一篇文章就够了
344 0
关于linux系统调优这一篇文章就够了
|
Linux Shell Windows
自己动手在Linux系统实现一个everything程序
自己动手在Linux系统实现一个everything程序
649 0
自己动手在Linux系统实现一个everything程序
|
安全 Linux 网络安全
保护你的Linux系统的九个老生常谈
在现在这个世道中,保障基于Linux的系统的安全是十分重要的。但是,你得知道怎么干。一个简单反恶意程序软件是远远不够的,你需要采取其它措施来协同工作。那么试试下面这些手段吧。 使用SELinux SELinux是用来对Linux进行安全加固的,有了它,用户和管理员们就可以对访问控制进行更多控制。
1156 0