欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux基础学习5

程序员文章站 2022-09-27 15:55:27
[TOC] 磁盘管理 查看磁盘空间的占用 查看目录的占用空间 dd RAID 阵列卡 raid0 读、写速度有所提升 可用空间N(磁盘的个数) 每一块的大小 没有容错能力 最少磁盘数2 raid1 读有所提升,写性能下降 可用空间,所有磁盘中最小的一块大小 有容错能力 最少是2,2N raid5 读 ......

磁盘管理

查看磁盘空间的占用

df 
-h 显示人类易读的方式
linux下磁盘命名格式
/dev/sd[a-z]

查看目录的占用空间

du
-s 查看目录
-h 显示人类易读的方式
du -sh /*

dd

dd if=/dev/zero of=file bs=size count=number
if = input file 表示从inputfile里面读取内容
of = output file 表示将读出的数据写入到什么地方
bs = byte size 可以是k,m,g,t

raid 阵列卡

  • raid0
    • 读、写速度有所提升
    • 可用空间n(磁盘的个数)*每一块的大小
    • 没有容错能力
    • 最少磁盘数2
  • raid1
    • 读有所提升,写性能下降
    • 可用空间,所有磁盘中最小的一块大小
    • 有容错能力
    • 最少是2,2n
  • raid5
    • 读写速度有提升
    • 可用空间(n-1)*大小
    • 有容错能力,最多可以坏一块硬盘
    • 最少要3块
  • raid6
    • 读写速度有所提升
    • 可用空间(n-2)*大小
    • 有容错能力,最多可以坏2块
    • 最少要4块
  • raid10
    • 先实现raid1,在实现raid0
    • 读写性能有提升
    • 可用空间n*大小/2
    • 有容错能力,每组镜像可以坏一块
    • 最少要4块
  • raid01
    • 先实现raid0,在实现raid1
    • 读写性能有提升
    • 可用空间n*大小/2
    • 有容错能力,只能坏同一组的
    • 最少要4块

网络

网络基础知识

ipv4:4段 32位

网络位+主机位

网段:

主机:

a
网络位为8位

主机位为24位

第一位不可以变

0 0000001

0 1111111

1-126

127 有特殊用途,回环地址

可用网段数:2^7 -1

每一个网段有多少可用主机:2^24-2

有两个是不可以用:

主机位全为0,表示一个网段

主机位全为1,表示网段里面的广播地址

私有地址:自己可以用的

子网掩码:255.0.0.0

10 段

共有地址: 都可以访问的地址

1.1.1.1/8

00000001.0.0.0

11111111.0.0.0

1.0.0.0

b

16位网络位

16位为主机位

10 000000 00000000

10 111111 11111111

128

191

可用网段:2^14

每个网段有多少可用主机:2^16-2

私有地址:

172.16-172.31

子网掩码:255.255.0.0

c

前24位为网络位

后8位为主机位

110 00000 000000000 00000000

110 11111 11111111 11111111

192

223

可用网段:2^21

每个网段有多少可用机器:2^8-2

私有地址:

192.168.0 -192.168.255

子网掩码 255.255.255.0

d

作为多播地址

1110 0000

1110 1111

224

239

e

作为科研使用

cidr(无类域间路由)

网络位向主机位借位

16 +5

21位网络位 11个 2^11 2046

255.255.11111000.0

255.255.248.0

网络位向主机位借位:

24+6 30

2^2 -2

子网掩码

网络位全为1,主机位全为0

ip地址和子网掩码来确定属于那个网段

按位与 :只要有0就是0,全部为1,才是1

1&0 0
2&3 2

按位或:只要有1就是1,全部为0,才是0

1|0 1
2|3 3 

异或:相同为0,不同为1

1^0 1
2^3 1
3^5 6

取反:-(n+1)

~2  -3
~-4 3

左移:n*2的左移次方

2<<2 8
10<<3 80

右移:n/2的右移次方(向下取整,不是四舍五入)

12>>2 3
13>>2 3
50>>2 12
2>>2 0

10.20.43.65/10

网段

10.20.43.65
00001010.00010100.
11111111.11000000
10.0.0.0

网络配置

  • 手动
    • ip
    • 配置文件
  • 自动分配
    • dhcp

ip

  • 增加ip地址

    ip a add 192.168.21.23/24 dev ens33

  • 删除 ip

    ip a del 192.168.21.23/24 dev ens33

  • 增加ip地址并增加别名

    ip a add 192.168.21.23/24 dev ens33 label ens33:0

  • 删除

    ip a del 192.168.21.23/24 dev ens33 label ens33:0

网卡配置文件

  • 配置文件 /etc/sysconfig/network-scripts/ifcfg-name

    type="ethernet"  # 网卡的接口类型
    proxy_method="none"
    browser_only="no"
    bootproto="dhcp" # 获取ip地址的方式,可以是dhcp,static,none
    defroute="yes"
    ipv4_failure_fatal="no"
    ipv6init="yes"
    ipv6_autoconf="yes"
    ipv6_defroute="yes"
    ipv6_failure_fatal="no"
    ipv6_addr_gen_mode="stable-privacy"
    name="ens33" # 网卡名称
    uuid="c252096f-57e0-41bd-a1d9-5158a86f9ba1" # 设备唯一标识码
    device="ens33" 
    onboot="yes" #开机是否启动
    hwaddr="" #mac地址
    ipaddr=ip地址
    ntemask=子网掩码
    gateway=网关

dns配置文件

  • /etc/reslov.conf

    nameserver 192.168.21.2

主机名

  • 获取主机名 hostname
  • 设置主机名 hostname name
  • 配置文件
    • /etc/hostname centos7
    • /etc/sysconfig/network centos6
  • 永久生效
    • hostnamectl set-hostname s22
    • 修改配置文件

ss、netstat

ss命令用来打印linux系统中网络的状态信息,可以让管理员更好的了解网络情况

-a 所有
-l 监听中的
-t tcp
-u udp
-x unix socket文件
-p 相关的程序
-n 显示服务的端口号
常用组合 -anlp -tnlp -unlp
* ipv4 0.0.0.0 表示当前主机上的所有ip地址
:: ipv6 所有地址

解析

  • 本地解析 /etc/hosts
  • dns解析
  • 根节点 总共13组

wget

用来下载网络资源

-q 静默模式
-c 断点续传
-o filename 另存为的名称
-p 保存到指定的目录
-r 递归下载
-p 下载所有的html文件

systemctl

管理服务 service

start name ... 启动服务

stop name ... 关闭服务

reload name 重读配置文件 平滑重启

restart name 重启服务

status name 查看状态

enable name 开机自启动

disabled name 关闭开机自启动

systemctl list-unit-files |grep sshd 查看服务是否开机自启动

centos6

service 动作 服务

chkconfig 用来管理服务的开机启动

计划任务(定时任务)

/etc/crontab
shell=/bin/bash
path=/sbin:/bin:/usr/sbin:/usr/bin
mailto=root
# for details see man 4 crontabs
# example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) or jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (sunday=0 or 7) or sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
22 * * * * *  root touch b.txt 每天的每小时的第22分钟做什么事
25 15 * * * root touch /tmp/c.txt 每天下午的三点25分
27 15,16,17 * * * root touch /tmp/d.txt  每天的15点,16点,17点的第27分钟
28 15-19 * * * root touch /tmp/e.txt 表示 每天的15点到19点的28分钟
30 10-20/5 * * * root touch /tmp/f.txt 每天的10点到20点每个5小时
*/7 * * * * root touch /tmp/f.txt  从0开始重新结算
37 * 10,20,30 * 4 echo $(date) >> /tmp/g.txt 表示每个月的10,20,30或者每周的周四
建议:
分钟不要写成*
分钟不要写成*
分钟不要写成*

crontab 命令

-e 编辑
-u 指定用户,如果不写,默认为当前用户
-l 列出当前用户的计划任务
-r 删除用户的计划任务
  • 默认写入的文件在/var/spool/cron/username

计划任务作用

  • 定时删除
  • 定时备份
  • 同步时间 ntpdate
作 者:
出 处:
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角 推荐一下。您的鼓励是博主的最大动力!
自 勉:生活,需要追求;梦想,需要坚持;生命,需要珍惜;但人生的路上,更需要坚强。带着感恩的心启程,学会爱,爱父母,爱自己,爱朋友,爱他人。