磁盘管理 之 parted命令添加swap,文件系统

时间:2023-07-06 12:45:14

第1章 磁盘管理

1.1 必须要了解的。

1.1.1 ps aux 命令中 RSS 与VSZ的含义

rss 进程占用的物理内存的大小 单位:kb ;

vsz 进程占用的虚拟的内存大小(物理内存+swap)

1.1.2 top命令的参数

M   按照内存使用率排序

P   按照cpu的使用率排序

1.1.3 htop 命令的安装方法

要配置 epel源

http://mirrors.aliyun.com

1.2 磁盘分区之parted + gpt

1.2.1 fdisk 与 parted 的区别

fdisk    mbr 分区表   硬盘容量小于2TB

parted   gpt  分区表   硬盘容量大于2TB

1.2.2 查看下帮助信息

[root@znix ~]# parted /dev/sdc

GNU Parted 2.1

Using /dev/sdc

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted)    h

mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)

创建分区表

mkpart PART-TYPE [FS-TYPE] START END     make a partition

创建一个分区

mkpartfs PART-TYPE FS-TYPE START END     make a partition with a file system

创建一个分区 分区带着文件系统

print [devices|free|list,all|NUMBER]     display the partition table, available

devices, free space, all found partitions, or a particular partition

显示分区信息

rm NUMBER                                delete partition NUMBER

删除一个分区

1.2.3 创建分区表

[root@znix ~]# parted /dev/sdc

GNU Parted 2.1

Using /dev/sdc

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) mklabel gpt   #创建GPT分区表

(parted) p

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdc: 107MB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

1.2.4 mkpart 可以使用的PART-TYPE类型

GPT 格式可以创建N个主分区,所以类型都选为主分区即可。

(parted) help mkpart

mkpart PART-TYPE [FS-TYPE] START END     make a partition

PART-TYPE is one of: primary, logical, extended

主分区 ,逻辑分区 ,扩展分区

1.2.5 对磁盘进行分区

(parted) mkpart primary 0 10

Warning: The resulting partition is not properly aligned for best performance.

提示分区没有对齐,这个错误无视即可。

Ignore/Cancel? I       忽略/取消

(parted) p

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdc: 107MB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags

1      17.4kB  10.0MB  9983kB               primary

1.2.6 再创建一个分区

(parted) mkpart primary 10 20

(parted) p

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdc: 107MB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags

1      17.4kB  10.0MB  9983kB               primary

2      10.5MB  19.9MB  9437kB               primary

⚠注意:parted 创建分区实时生效,比较危险。

1.3 使用parted命令非交互式创建分区

[root@znix ~]# parted /dev/sdc mkpart primary 50 100

Information: You may need to update /etc/fstab.

[root@znix ~]# parted /dev/sdc print #显示磁盘的格式

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdc: 107MB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags

1      17.4kB  50.0MB  50.0MB               primary

2      50.3MB  99.6MB  49.3MB               primary

1.4 创建swap分区及使用

【JAVA环境常见】linux内存不够用,会使用swap分区。

1.4.1 手动添加swap空间,创建一个文件

使用dd 命令创建一个块文件。

[root@znix ~]# dd if=/dev/zero of=/tmp/100M bs=1M count=100

100+0 records in

100+0 records out

104857600 bytes (105 MB) copied, 2.96654 s, 35.3 MB/s

[root@znix ~]# ll -h /tmp/100M

-rw-r--r-- 1 root root 100M Sep 18 10:01 /tmp/100M

1.4.2 查看创建出来的文件的类型

现在的类型为data 数据块。

[root@znix ~]# file /tmp/100M

/tmp/100M: data

1.4.3 将这个文件变成swap

mkswap命令将文件类型格式化成swap格式

[root@znix ~]# mkswap /tmp/100M

mkswap: /tmp/100M: warning: don't erase bootbits sectors

on whole disk. Use -f to force.

Setting up swapspace version 1, size = 102396 KiB

no label, UUID=81fa08be-a18f-4bc6-b950-fa3d90f969a1

1.4.4 修改之后的文件类型:

[root@znix ~]# file /tmp/100M

/tmp/100M: Linux/i386 swap file (new style) 1 (4K pages) size 25599 pages

1.4.5 让这个文件起作用,将swap空间添加到系统中

实例1-1 查看swap的所使用情况

[root@znix ~]# free -h

total       used       free     shared    buffers     cached

Mem:          474M       465M       8.8M       252K        15M       357M

-/+ buffers/cache:        93M       381M

Swap:         767M         0B       767M

实例1-2 使用swap命令将swap文件,添加到系统中。

[root@znix ~]# swapon  /tmp/100M

实例1-3 现在查看 swap的使用情况

[root@znix ~]# free -h

total       used       free     shared    buffers     cached

Mem:          474M       465M       8.7M       252K        15M       357M

-/+ buffers/cache:        93M       381M

Swap:         867M         0B       867M

实例1-4 查看swap的详细信息,使用 swap  -s 。

[root@znix ~]# swapon  -s

Filename                Type        Size    Used    Priority

/dev/sda2                               partition   786428  0   -1

/tmp/100M                               file        102396  0   -2

1.4.6 如何让添加的swap文件永久生效

1)把命令放入/etc/rc.local 开机自启动文件中。

a)       swapon  /tmp/100M 命令

2)写入/etc/fstab 文件中

/tmp/100M    swap   swap   defaults    0 0

第5列 dump备份

第6列 磁盘检查

1.5 文件系统

1.5.1 文件系统的作用:

文件系统决定文件在磁盘上是怎么存放的

1.5.2 文件系统的组成:

超级块 super block· dumpe2fs -h /dev/sdb1 显示超级快中的信息。

[root@znix ~]# dumpe2fs -h /dev/sdb1

dumpe2fs 1.41.12 (17-May-2010)

Filesystem volume name:   <none>

Last mounted on:          <not available>

Filesystem UUID:          7101630b-b325-49d1-92b9-0a500c2a07f6

Filesystem magic number:  0xEF53

Filesystem revision #:    1 (dynamic)

Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize

Filesystem flags:         signed_directory_hash

Default mount options:    (none)

Filesystem state:         clean

Errors behavior:          Continue

Filesystem OS type:       Linux

Inode count:              25896

Block count:              103424

Reserved block count:     5171

Free blocks:              94502

Free inodes:              25885

First block:              1

Block size:               1024  # block的大小

Fragment size:            1024

Reserved GDT blocks:      256

Blocks per group:         8192

Fragments per group:      8192

Inodes per group:         1992

Inode blocks per group:   249

Flex block group size:    16

Filesystem created:       Fri Sep 15 12:01:27 2017

Last mount time:          Fri Sep 15 12:02:37 2017

Last write time:          Fri Sep 15 16:38:30 2017

Mount count:              1      #挂载的次数

Maximum mount count:      -1

……

1.6 常用的文件系统

opensuse linux 默认文件系统  ReiserFS

Centos7        采用 XFS 文件系统

Centos6      采用ext4 文件系统

Centos5      采用ext3 文件系统

IBM 的 AIX使用JFS 日志文件系统。

1.6.1 查看系统中的文件系统

df -T 参数,显示的是分区的文件类型 type 。

[root@znix ~]# df -Th

Filesystem     Type   Size  Used Avail Use% Mounted on

/dev/sda3      ext4   8.8G  2.1G  6.3G  26% /

tmpfs          tmpfs  238M     0  238M   0% /dev/shm

/dev/sda1      ext4   190M   40M  141M  22% /boot

tmpfs 是临时文件系统,速度较快。

1.6.2 文件系统使用范围

ReiserFS   适用于大量小文件的

xfs        适合数据库

ext4       使用较广,适用于大多数的用途。

ext2       没有日志的功能 (速度较快)

1.7 测试磁盘的读写速度

1.7.1 测试写入速度 dd 命令

[root@znix ~]# dd if=/dev/zero of=/tmp/100M bs=1M count=100

100+0 records in

100+0 records out

104857600 bytes (105 MB) copied, 2.96654 s, 35.3 MB/s

[root@znix ~]# ll -h /tmp/100M

-rw-r--r-- 1 root root 100M Sep 18 10:01 /tmp/100M

1.7.2 测试读取速度 hdparm

[root@znix ~]# hdparm -t /dev/sdb

/dev/sdb:

Timing buffered disk reads: 102 MB in  0.81 seconds = 125.23 MB/sec

第2章 sed命令详解

2.1 sed 命令的作用

sed 取某一行 查找替换。

增加 删除 修改 查询

sed == stream editor 字符流编辑器

sed命令的格式:

sed '找谁干啥' files

pattern space 模式空间

hold space   保留空间

2.2 sed常用命令的功能

2.2.1 环境准备

[root@znix ~]# cat person.txt

101,oldboy,CEO

102,zhangyao,CTO

103,Alex,COO

104,yy,CFO

105,feixue,CIO

2.3 查询过程

2.3.1 指定行号

[root@znix ~]# sed -n '3p' person.txt

103,Alex,COO

2.3.2 指定内容,p显示

[root@znix ~]# sed -n '/yy/p' person.txt

104,yy,CFO

2.3.3 查找连续的行(指定行号)

[root@znix ~]# sed -n '1,5p' person.txt

101,oldboy,CEO

102,zhangyao,CTO

103,Alex,COO

104,yy,CFO

105,feixue,CIO

2.3.4 从包含101的行,到包含103的行

[root@znix ~]# sed -n '/101/,/103/p' person.txt

101,oldboy,CEO

102,zhangyao,CTO

103,Alex,COO

2.3.5 从某一行到最后一行

$在sed中表示最后一行。

[root@znix ~]# sed -n '$p' person.txt

105,feixue,CIO

[root@znix ~]# sed -n '2,$p' person.txt

102,zhangyao,CTO

103,Alex,COO

104,yy,CFO

105,feixue,CIO

2.3.6 找第1,4,5行

一行中有多个命令用;分隔。

[root@znix ~]# sed '1p;4p;5p' -n person.txt

101,oldboy,CEO

104,yy,CFO

105,feixue,CIO

2.4 sed的删除测试

d 删除

2.4.1 删除第一行

加上-i 参数,删除文件的内容

[root@znix ~]# sed '1d' person.txt

102,zhangyao,CTO

103,Alex,COO

104,yy,CFO

105,feixue,CIO

2.4.2 显示不包含oldboy的行

!表示取反

[root@znix ~]# sed '/oldboy/d' person.txt

102,zhangyao,CTO

103,Alex,COO

104,yy,CFO

105,feixue,CIO

105,feixue,CIO

[root@znix ~]# sed -n  '/oldboy/!p' person.txt

102,zhangyao,CTO

103,Alex,COO

104,yy,CFO

105,feixue,CIO

2.5 插入

2.5.1 i 插入到文件的行的上一行 insert

[root@znix ~]# sed '3i 100,znix,OOO' person.txt  #i之后的空格就可以不些

101,oldboy,CEO

102,zhangyao,CTO

100,znix,OOO

103,Alex,COO

104,yy,CFO

105,feixue,CIO

2.5.2 a 追加到文件的行的下一行 append

[root@znix ~]# sed '3a 100,znix,OOO' person.txt #a之后的空格就可以不些

101,oldboy,CEO

102,zhangyao,CTO

103,Alex,COO

100,znix,OOO

104,yy,CFO

105,feixue,CIO

第3章 linux里面与windows互相传文件

3.1 使用 lrzsz ,需要yum 安装

[root@znix ~]# yum install lrzsz

rz  把文件上传到linux (直接把windows文件拖到xshell窗口即可)

sz  把linux的文件下载到windows中.

3.2 把文件打包,压缩。

打包格式要在linux和windows 中都可以使用,可以选择zip格式。

[root@znix ~]# zip -r /tmp/etc_$(date +%F).zip /etc/

adding: etc/ (stored 0%)

adding: etc/passwd (deflated 61%)

adding: etc/ltrace.conf (deflated 73%)

adding: etc/filesystems (deflated 16%)

……

3.3 下载文件

[root@znix ~]# sz /tmp/ser_2017-09-08_16.tar.gz

3.4 长传文件

[root@znix ~]# rz