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

第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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java达人

ThreadLocal与Spring 事务管理

编写线程安全代码的关键是管理程序中的共享可变状态,除了通过synchronized加锁机制防止多个线程同时访问同一段数据外,还有一种方法就是通过ThreadLo...

24410
来自专栏吴伟祥

Redis分布式锁的正确实现方式(Java版)

分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis...

1772
来自专栏ytkah

用laravel dingo/api创建产品api

  沿着上一篇来讲,我们来创建一个简单的item产品api,也是用到laravel dingo/api来实现,对dingo/api不熟的朋友可以翻看前面的文章。...

923
来自专栏Python爬虫与算法进阶

Hi,这里是我的爬虫笔记

平时有个习惯,会把自己的笔记写在有道云里面,现在做个整理。会长期更新,因为我是BUG制造机。 解析 xpath提取所有节点文本 <div id="test3"...

3575
来自专栏魏琼东

分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载

一、分布式消息总线以及基于Socket的实现      在前面的分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载一文之中给...

4187
来自专栏岑玉海

Hadoop源码系列(一)FairScheduler申请和分配container的过程

1、如何申请资源 1.1 如何启动AM并申请资源 1.1.1 如何启动AM val yarnClient = YarnClient.createYarnClie...

4514
来自专栏章鱼的慢慢技术路

Golang语言下使用Protocol Buffer教程

Protobuf是Google旗下的一款平台无关,语言无关,可扩展的序列化结构数据格式。所以很适合用做数据存储和作为不同应用,不同语言之间相互通信的数据交换格式...

1262
来自专栏编程心路

一文读懂SpringMVC中的文件上传与下载

这两天研究了一下 SpringMVC 中文件上传与下载,也遇到了一些坑,这里做个总结。

4144
来自专栏魏琼东

分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载

     在前面的分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载一文之中给大家分享和介绍了一个极其简单也非常容易上的基于...

1170
来自专栏开发技术

spring集成mybatis实现mysql读写分离

       在网站的用户达到一定规模后,数据库因为负载压力过高而成为网站的瓶颈。幸运的是目前大部分的主流数据库都提供主从热备功能,通过配置两台数据库主从关系,...

1541

扫码关注云+社区

领取腾讯云代金券