当前位置:主页 > 查看内容

Linux学习笔记(三)

发布时间:2021-05-21 00:00| 位朋友查看

简介:linux学习 HKD 开始20210306 前言随笔 本文为linux学习笔记三,是在学习尚硅谷linux教程视频时整理的学习笔记其中资料知识点来源于尚硅谷课件实操图片均为本人在学习时手打命令实践的截图。整理以便后续巩固复习。 文章目录 linux学习 前言随笔 组管理 Linux……

linux学习

HKD

开始:20210306

前言随笔:

本文为linux学习笔记(三),是在学习尚硅谷linux教程视频时整理的学习笔记,其中资料知识点来源于尚硅谷课件,实操图片均为本人在学习时手打命令实践的截图。整理以便后续巩固复习。

文章目录

管理

Linux组基本介绍

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件 有所有者、所在组、其它组的概念。

  1. 所有者

  2. 所在组

  3. 其它组

  4. 改变用户所在的组-


文件目录所有者

一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者

查看文件的所有者

指令:ls –ahl

在这里插入图片描述

修改文件所有者

指令:chown 用户名 文件名
在这里插入图片描述

组的创建

**基本指令 **

groupadd 组名

文件/目录所在组

查看文件/目录所在组

基本指令 ls –ahl

修改文件所在的组

基本指令

chgrp 组名 文件名

在这里插入图片描述

其他组

除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。

改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某 个用户所在的组。

改变用户所在组

  1. usermod –g 组名 用户名

  2. usermod –d 目录名 用户名 改变该用户登陆的初始目录

在这里插入图片描述

权限管理

在这里插入图片描述

其中,蓝色表示目录,目录的大小为4096

可用数字表示为: r=4,w=2,x=1 因此rwx=4+2+1=7

修改权限-chmod

第一种方式:+ 、-、= 变更权限

u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)

  1. chmod u=rwx,g=rx,o=x 文件目录名

  2. chmod o+w 文件目录名

  3. chmod a-x 文件目录名

案例:1) 给test1文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。

在这里插入图片描述

  1. 给text文件的所有者除去执行的权限,增加组写的权限

在这里插入图片描述

  1. 给test文件的所有用户添加读的权限

在这里插入图片描述

第二种方式:通过数字变更权限

r=4 w=2 x=1

rwx=4+2+1=7 chmod u=rwx,g=rx,o=x 文件目录名

相当于 chmod 751 文件目录名

案例:将 /home/test1.txt 文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现:
在这里插入图片描述

修改文件所有者-chown

基本介绍 chown newowner file 改变文件的所有者

chown newowner:newgroup file 改变用户的所有者和所有组

-R 如果是目录 则使其下所有子文件或目录递归生效

修改文件所在组-chgrp

基本介绍 chgrp newgroup file 改变文件的所有组

在这里插入图片描述

crond 任务调度

crontab 进行 定时任务的设置,。

概述

任务调度:是指系统在某个时间执行的特定的命令或程序。

任务调度分类:

1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等

2.个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。

基本语法

crontab [选项]

常用选项

-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户所有的crontab任务

参数细节说明

5个占位符的说明

在这里插入图片描述

特殊符号的说明

在这里插入图片描述

案例

每隔1分钟, 将当前日期和日历都追加到 /tmp/mycal 文件中

大致思路:

1.编写一个sh文件,里面将日期和日历都追加到 /tmp/mycal 文件中

2.crontab -e 任务调度,每分钟执行一次sh文件即可

步骤:

1.编写一个sh文件 /home/mytask2.sh

在这里插入图片描述

2.给文件mytask2.sh一个可执行权限

在这里插入图片描述

3.crontab -e

4.每隔一分钟执行一次sh文件

在这里插入图片描述

  1. 成功
    在这里插入图片描述
crond 相关指令:
  1. conrtab –r:终止任务调度。

  2. crontab –l:列出当前有那些任务调度

  3. service crond restart [重启任务调度]

linux分区

分区的方式:

  1. mbr分区:

1.最多支持四个主分区

2.系统只能安装在主分区

3.扩展分区要占一个主分区 4

.MBR最大只支持2TB,但拥有最好的兼容性
2) gpt分区:

1.支持无限多个主分区(但操作系统可能限制,比如 windows下最多128个分区)

2.最大支持18EB的大容量(1EB=1024 PB,1PB=1024 TB ) 3.windows7 64位以后支持gtp

原理介绍

  1. Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux中每个分区都是用来组成整个文件系统的一部分。
  2. Linux采用了一种叫**“载入”**的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一 个目录下获得。

示意图:

在这里插入图片描述

硬盘说明

  1. Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘
  2. 对于IDE硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指 IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属 盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就 是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为 第二个IDE硬盘上的第二个主分区或扩展分区。
  3. 对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余 则和IDE硬盘的表示方法一样。

查看所有设备挂载情况

命令 :lsblk 或者 lsblk -f


在这里插入图片描述

如何增加一块硬盘

  1. 虚拟机添加硬盘

  2. 分区 : fdisk /dev/sdb

  3. 格式化 :mkfs -t ext4 /dev/sdb1

其中ext4是分区类型

  1. 挂载

创建一个目录 /home/newdisk ;

mount /dev/sdb1 /home/newdisk


若是需要卸载:

umount 设备名称 或者 挂载目录 ?

例如: umount /dev/sdb1 或者 umount /newdisk

  1. 设置可以自动挂载

永久挂载:

1.通过修改/etc/fstab实现挂载 添加完成后 执行mount –a 即刻生效

在这里插入图片描述

2.然后执行mount -a

磁盘查询实用指令

磁盘情况查询

查询系统整体磁盘使用情况

基本语法

df -h

在这里插入图片描述

查询指定目录的磁盘占用情况 ?

基本语法 du -h /目录
查询指定目录的磁盘占用情况,默认为当前目录

-s 指定目录占用大小汇总

-h 带计量单位

-a 含文件

–max-depth=1 子目录深度

-c 列出明细的同时,增加汇总值

在这里插入图片描述

磁盘情况-工作实用指令

  1. 统计/home文件夹下文件的个数

在这里插入图片描述

  1. 统计/home文件夹下目录的个数
    在这里插入图片描述

  2. 统计/home文件夹下文件的个数,包括子文件夹里的(递归查找 -R)

在这里插入图片描述

  1. 统计文件夹下目录的个数,包括子文件夹里的

在这里插入图片描述

  1. 以树状显示目录结构
#安装tree   yum  install tree

在这里插入图片描述

网络配置

原理图

在这里插入图片描述

查看网络IP和网关

查看虚拟网络编辑器

在这里插入图片描述

修改ip地址

在这里插入图片描述

查看网关

在这里插入图片描述

查看windows环境的中VMnet8网络配置 (ipconfig指令)

linux网络环境配置

第一种方法(自动获取):

系统 -首选项-网络连接

在这里插入图片描述

特点:linux启动后会自动获取IP,缺点是每次自动获取的ip地址可能不一样

第二种方法(指定固定的ip)

直接修改配置文件来指定IP,并可以连接到外网(程序员推荐),

编辑 vi /etc/sysconfig/network-scripts/ifcfg-eth0


进程管理

基本介紹

  1. 在LINUX中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一 个ID号。

  2. 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例 如www服务器。

  3. 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目 前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法 看到的进程,通常使用后台方式执行。

  4. 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到 关机才才结束。

显示系统执行的进程

ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。 可以不加任何参数.

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


ps -ef是以全格式显示当前所有的进程

-e 显示所有进程。

-f 全格式。

ps -ef|grep xxx

查看sshd的父进程

在这里插入图片描述

++

终止进程kill和killall

介绍:

若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务。

基本语法:

kill [选项] 进程号(功能描述:通过进程号杀死进程)

killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负 载过大而变得很慢时很有用)

常用选项:

-9 :表示强迫进程立即停止

最佳实践:

案例1:踢掉某个非法登录用户

kill  进程号

案例2: 终止远程登录服务sshd, 在适当时候再次重启sshd服务

ps -aux | grep sshd


kill   sshd的进程号

案例3: 终止多个gedit 编辑器

killall gedit

案例4:强制杀掉一个终端

kill -9 进程号

查看进程树pstree

基本语法:

pstree [选项] ,可以更加直观的来看进程信息

常用选项:

-p :显示进程的PID

-u :显示进程的所属用户

应用实例:

案例1:请你树状的形式显示进程的pid

pstree -p

案例2:请你树状的形式进程的用户id

pstree -u

服务管理

介绍:

服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程 序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是Linux中非常重要的 知识点。

service管理指令:

service 服务名 [start | stop | restart | reload | status]

在CentOS7.0后 不再使用service ,而是 systemctl

使用案例:
service iptables stop
service iptables start
service iptables status
  1. 查看当前防火墙的状况,关闭防火墙和重启防火墙。

在这里插入图片描述


在这里插入图片描述

细节讨论:
  1. 关闭或者启用防火墙后,立即生效。[telnet 测试 某个端口即可]
    在这里插入图片描述

  2. 这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。

  3. 如果希望设置某个服务自启动或关闭永久生效,要使用chkconfig指令

查看服务名

方式1:使用setup -> 系统服务

方式2: /etc/init.d/服务名称

在这里插入图片描述

服务的运行级别(runlevel):

在这里插入图片描述

chkconfig指令

介绍

通过chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭

基本语法

  1. 查看服务 chkconfig --list|grep xxx

在这里插入图片描述

在这里插入图片描述

  1. chkconfig 服务名 --list

在这里插入图片描述

  1. chkconfig --level 5 服务名 on/off

sshd在级别5 不要自启动
在这里插入图片描述

应用实例 :

  1. 案例1: 请显示当前系统所有服务的各个运行级别的运行状态
chkconfig --list
  1. 案例2 :请查看sshd服务的运行状态
chkconfig sshd --list
  1. 案例3: 将sshd 服务在运行级别5下设置为不自动启动,看看有什么效果?
chkconfig --level 5 sshd off
  1. 案例4: 当运行级别为5时,关闭防火墙。
chkconfig --level 5 iptables off
  1. 案例5: 在所有运行级别下,关闭防火墙
chkconfig  iptables off
  1. 案例6: 在所有运行级别下,开启防火墙
chkconfig  iptables on

? 使用细节

  1. chkconfig重新设置服务后自启动或关闭,需要重启机器reboot才能生效

动态监控进程

介绍:

top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top 在执行一段时间可以更新正在运行的的进程。

基本语法:

top [选项]

选项说明

在这里插入图片描述

交互操作说明

在这里插入图片描述

案例:

案例1.监视特定用户

top:输入此命令,按回车键,查看执行的进程。 u:然后输入“u”回车,再输入用户名,即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CXyh1fk7-1617808461471)在这里插入图片描述

案例2:终止指定的进程。

top:输入此命令,按回车键,查看执行的进程。 k:然后输入“k”回车,再输入要结束的进程ID号

案例3:指定系统状态更新的时间(每隔10秒自动更新):默认是3秒一次刷新

top -d 10

监控网络状态

查看系统网络情况netstat

在这里插入图片描述

请查看服务名为 sshd 的服务的信息:

在这里插入图片描述

检测主机连接命令ping

RPM包管理

介绍:

一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成 具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工 具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的 标志,但理念是通用的。

rpm包的简单查询指令

查询已安装的rpm列表 rpm –qa|grep xx

在这里插入图片描述

rpm包的其它查询指令

rpm -qa :查询所安装的所有rpm软件包

rpm -qa | more

rpm -qa | grep X [rpm -qa | grep firefox ]

rpm -q 软件包名 :查询软件包是否安装

rpm -q firefox

rpm -qi 软件包名 :查询软件包信息

rpm -qi file

rpm -ql 软件包名 :查询软件包中的文件

rpm -ql firefox

rpm -qf 文件全路径名 查询文件所属的软件包

rpm -qf /etc/passwd rpm -qf /root/install.log

卸载rpm包

基本语法

rpm -e RPM包的名称

细节讨论
  1. 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。 如: $ rpm -e foo removing these packages would break dependencies:foo is needed by bar-1.0-1

  2. 如果我们就是要删除 foo这个rpm 包,可以增加参数 --nodeps ,就可以强制删除,但是一 般不推荐这样做,因为依赖于该软件包的程序可能无法运行 如:$ rpm -e --nodeps foo

安装rpm包

基本语法

rpm -ivh RPM包全路径名称

参数说明

i=install 安装 v=verbose 提示 h=hash 进度条

安装火狐浏览器案例

1.挂载centos的ios文件,虚拟机桌面会出现centos文件

2.进入/media/ CentOS_6.8_Final/Package

在这里插入图片描述

在这里插入图片描述

yum管理

Yum 是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并 且一次安装所有依赖的软件包。

yum的基本指令

查询yum服务器是否有需要安装的软件

yum list|grep xx软件列表

安装指定的yum包

yum install xxx 下载安装

果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。 如: $ rpm -e foo removing these packages would break dependencies:foo is needed by bar-1.0-1

  1. 如果我们就是要删除 foo这个rpm 包,可以增加参数 --nodeps ,就可以强制删除,但是一 般不推荐这样做,因为依赖于该软件包的程序可能无法运行 如:$ rpm -e --nodeps foo

安装rpm包

基本语法

rpm -ivh RPM包全路径名称

参数说明

i=install 安装 v=verbose 提示 h=hash 进度条

安装火狐浏览器案例

1.挂载centos的ios文件,虚拟机桌面会出现centos文件

2.进入/media/ CentOS_6.8_Final/Package

[外链图片转存中…(img-7WYFYni6-1617808461479)]

[外链图片转存中…(img-R7pulsfh-1617808461480)]

yum管理

Yum 是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并 且一次安装所有依赖的软件包。

yum的基本指令

查询yum服务器是否有需要安装的软件

yum list|grep xx软件列表

安装指定的yum包

yum install xxx 下载安装

;原文链接:https://blog.csdn.net/hkdhkdhkd/article/details/115498881
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐