linux 2/2

分区知识

分区的方式

mbr分区

1.最多支持四个主分区

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

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

4.MBR最大支持2TB,但有最好的兼容性

gtp分区

1.支持无限多个主分区,但有的也有限制,win下最多128

2.支持最大18eb的大容量

eb=1024pb

pb=1024tb

win 7 64位都支持gtp

win下的磁盘分区一般都是这样

image-20210517202026084

image-20210517202043472

linux分区

原理介绍

linux无论哪一个分区,分区给哪个目录使用,归根结底都是一个根目录,一个独立且唯一的文件结构,linux中每个分区都是用来组成整个文件系统的一部分。

linux采用一种叫“载入”的处理方式,他的整个文件系统中包含了一整套的文件和目录且将一个分区和目录联系起来,这时要载入的一个分区将使她的存储空间在一个目录下获得

mount挂载文件到linux的目录中

卸载挂载 umout

image-20210518164151617

硬盘说明

linux硬盘分为IDE硬盘和SCSI硬盘,目前基本是scsi硬盘

1

image-20210518164900007

2

image-20210518164933041

lsblk -f 查看系统的分区和挂载的情况

看看我的

image-20210518165341867

从左到右依次是 分区情况、分区类型、然后是唯一标识分区的40位不重复的字符串 最后是挂载点

要是只用lsblk就是可以查看文件的大小

挂载硬盘

虚拟机添加硬盘

分区 fdisk /dev/sdb 先按m,嗯。。然后n添加,然后主分区加按1,然后一路回车,然后w结束

格式化 mkfs -t ext4 /dev/sdb1(1这个得先看命令lsblk -f)

挂载

设置可以自动挂载

1

先在设置里添加硬盘 scsi格式

2

重启查看

3

在进行分区和格式化后

4

创建文件,然后创建目录

mkdir 挂载名字(自己取)

例如

mkdir /home/newdisk

5

然后挂载

mount /dev/sdb1 /home/newdisk

这种挂载重启后就没有了,所以要设置

6

设置永久挂载

vim /etc/fstab

文件分区和挂载点的情况

yy1就是对当前行进行复制

可以使用uuid也可以使用虚拟硬盘的挂载名字

不挂载

umout /dev/sdb1

这时候就没有了

mount -a立即生效

磁盘情况查询

df -h

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

image-20210518182938088

df -lh更加详细

还有查询指定目录下的磁盘的占用情况

ps(虚拟机键盘小技巧,出虚拟机ctrl+alt,然后进去是alt+g)

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

du -h /目录

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

-h 带计量单位

-a 含文件

--max--depth=1 子目录深度

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

du -ach --max-depth=1 /home

image-20210518183339698

统计指定文件夹下的文件

ls -l /home | grep "^-" |wc -l(“^打头,是以-开头的”)

-是文件

d是目录

ls -rl是子文件夹里也有

树状显示

首先需要安装树状软件

apt-get install tree

直接指令tree就行了,显示当前目录的树形

网络配置

修改ip,可以使用编辑上的虚拟网络编辑器的设置

查看网关,就nat那个查看

在win下查看vm的配置有两种方法

1

ipconfig

2

在cmd下输入control,然后

image-20210518185202756

image-20210518185214968

找到

image-20210518185229370

找到属性,打开internet协议版本的ipv4进行查看

linux网络环境的配置

1

自动连接

image-20210518185610752

缺点:自动获取ip,每次ip可能都不一样

2 ps(ctrl+-缩小文字 ctrl++ 增大文字)

指定ip

修改配置文件来指定ip,并且可以连接到外网

vim /etc/network/interfaces

具体看

Linux Kali 命令行版手动设置网络_星辰Again的博客-CSDN博客

重启服务 service network reatart

进程管理

win下的进程看任务管理器

linux下、

每个程序的代码都称为一个进程,每个进程都有一个id号码

每一个进程都对应一个父进程,而父进程可以复制多个子进程

每个进程有两种存在方式,前台和后台。

系统服务一般都是后台,并且常驻在系统中,知道关机结束

ps

查看目前系统中,那些正在执行以及执行的情况

image-20210519112735973

类依次是

进程号识别、终端机号、此进程所谓cpu时间、正在执行的命令或者进程

pa -a:显示当前终端的所有进程信息

ps -u:以用户的格式显示进程信息

ps -x:显示后台进程运行的参数

联合起来就是ps -aus 信息更加全面

可以使用管道符more来进行分页查看

image-20210519113717929

依次是

用户名、进程号、占用cpu、占用内存、占用的虚拟内容、使用的物理内存、适使用的终端、进程的状态(s休眠,r运行、z僵死、n表示比普通用户的权限还低、d短期等待、t被跟踪或者被停止)启用时间,占用cpu的总时间、进程启动时的命令行

image-20210519114516161

也可也通过过滤来进行查看

例如:

ps -aux | grep sshd

父进程的查看

ps -ef | more

image-20210519114916981

PPID父进程

同样要查看sshd的相关父进程

ps -ef | grep sshd

image-20210519115241788

kill 或者killall

当进行一半要停止、或者已经消耗了很大的系统资源,此时可以来考虑停止该进程。并且支持通配符的

一般是kill 加进程号

例如远程的 ps -aux | grp sshd

killall 通过进程名字,把归属于进程的名字的所有进程全部杀掉

kill -9 进程号 可以强制进行终止终端指令

查看进程树pstree

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

-p:显示进程的id

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

ps -p

image-20210519120215639

ps -u

image-20210519120239616

ps -pu

就是显示进程的id和归属用户

mysql端口 3306 电脑可以远程连接到mysql

服务(service)管理

服务本质就是进程,但是是运行在后台的,通常会监听某个端口,等待其他进程的请求,例如mysql、sshd防火墙等,又叫守护进程

管理指令

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

自己最喜欢用sshd的status。。。

centos下是systemctl

防火墙开启 service iptables start

查看状态就是换成status

win下

可以通过talnet指令检测linux的某些端口是否在监听,并且可以访问

dos下

telnet ip 端口

ps:

刚开始没有发现命令

因为没有安装

所以在程序和功能下找到

image-20210519125434617

image-20210519125653811

进行监听,但最近虚拟机有点问题,无法继续

查看服务名

1

在红帽下是setup

在centos和kali下是nmtui

带星号的会自动启动

2

ls -l /etc/init.d

image-20210519130225023

服务的运行级别

刚才查到

kali下是

runlevel

来查看级别

who -r 查看正在运行的级别

service --status-all 查看所有的开启服务的指令

linux下的7种运行级别:日常3和5

image-20210519131252861

拓展:NFS

搜索文档查看就是

NFS是网络文件系统,NFS就是一种促使servers(服务器)上的文件能被其他的计算机挂接而达到资源共享的网络文件系统,使用这些文件的计算机就可称为Client(客户机),一个客户机可以从服务器上挂接一个文件或者一个层次的目录。

如果不下心默认运行级别设置错了们就进入单用户修改,毕竟root权限嘛

chkconfig

可以给各个运行级别设置自启动或者关闭

没有,在网上搜索应该是红毛的,不是卡里的

image-20210519131957248

但还是要干

chkconfig --list进行查看

筛选查看用 | grep xxx

指定的状态查看

chkconfig 服务 --list好像和grep一样

修改服服务在运行级别下是否打开(是否自启动)

chkconfig --level 级别 服务名 on/off

监控系统的网络情况

查看网络情况netstat

-an 按一定顺序排列输出

-p 显示哪个进程在通用

netstat -anp查看所有的网络监听口

太多可以使用more来进行分页查看

查看某个服务,使用grep sshd 来进行

检测主机连接命令ping

是一种网络检测工具,主要检测远程主机是否正常,或者说两部主机之间的介质的情况

动态监控进程

显示正在执行的进程,top在执行一段时间可以更新正在运行的进程,这也是与ps的不同点

回顾:ps

用于显示当前进程的状态,类似于 windows 的任务管理器,嘻嘻

  • -aux 显示所有包含其他使用者的行程

用法:

-d 秒数:指定在几秒更新,默认3秒

-i:使top不显示任何僵死和闲置进程

-p:指定进程id来监视某个进程的状态

交互操作说明

P:以cpu使用率来,默认的这个,加不加都一样】

M:以内存使用率来

N:以PID排序

q:退出top

image-20210520161309590

第一行
第一个时间是当前时间
up后是系统运行的时间
user前是当前的用户数量
目前的负载均衡(1是最大,直接卡死)
第二行
zombie是僵死进程可以使用kill  -9将其杀死
第三行
us是用户占的
sy是系统占的
id是空闲的
第四行
内存使用
第五行
内存不够用,才会用swap分区

在top命令下输入u来查看指定用户

输入k,然后输入pid,就可以杀死进程

例如更新top时间 top -d 10

rpm和yum

rpm是红帽的,类似软件包管理工具

rpm基本指令:

查询是否安装指定软件:

rpm -qa | grep 软件名字

image-20210520163324121

image-20210520163332418

如果查询有,就会显示,没有就不显示

rpm的包的管理

rpm -e rpm包的名称

当产生错误信息时,可以加参数强制删除

rpm -e --nodeps 包名字


rpm的安装

i 安装 install

v 提示 verbose

h 进度条 hash

rpn -ivh 包名字

然后挂载iso映像,在/media设备上显示

然后rpm包都在那里

然后cp到opt目录下

然后定位到指定的cp目录

然后rpm - ivh 包名字 进行安装


好像用的是apt-get

自己写一下对kali的更新

滴滴滴滴

apt-get命令适用于ubuntu,debian等系统

安装软件

apt-get install {包名}

更新软件

apt-get install update

软件包升级

apt-get upgrade

移除软件

apt-get remove {包名}

自动移除系统不需要的旧的软件包

apt-get autoremove

完全移除,除了移除所需文件之外还移除配置文件以及历史文件

apt-get purge {包名}

清理已经安装过的软件包

apt-get clean

系统版本升级

apt-get dist -upgrade 注意:要先进行软件包升级才可以进行系统版本升级

在kali linux中 还有个Debian软件包管理器,功能可能并没有apt强大,但是它可以检查已经安装的软件包

dpkg -l {包名} 查看软件包的状态,而且可以看到被移除的软件包的配置文件


yum

是一个shell前端的软件包管理器,基于rpm包管理,可以从指定的服务器自动下载rpm包,自动依赖性关系

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

yum list | grep 软件包

安装指定yum包

yum install 软件包

默认会安装最新版本的

posted @ 2021-05-20 16:55  testadm1n  阅读(94)  评论(0编辑  收藏  举报