• lesson


    一、df 
    作用: 
    显示磁盘分区上的可使用的磁盘空间, 默认显示单位为kb . 可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间的等信息。
    选项:
    -a :包含全部的文件系统
    -h :以可读性较高的方式显示信息  单位显示G,M,KB
    -H:与-h 参数相同, 但在计算时以1000Bytes 为换算单位, 不是1024Bytes 
    -i: 显示inode的信息
    -k:kilobytes制定区块大小为1024字节
    -l:仅显示本地端的文件系统
    -m:megabytes 制定区块大小为1048576字节 兆字节
    -P --portability 使用POSIX的输出格式
    -t --type:仅显示指定文件系统类型的磁盘信息
    -T --print -type:显示文件系统的类型
    -x --exclude-type:不要显示制定文件系统类型的磁盘信息 
    --block-size :以指定区块大小显示区块数目
    --sync :取得磁盘使用信息前,先执行sync 指令
    --no-sync: 取得磁盘使用信息前, 不执行sync 指令。此为预设值
    /dev/shm: 实际上是内存虚拟化出来的一个虚拟的文件系统。 文件速度快并不重要的可以写入该目录里

    二、du 

    du : show disk usage 
    作用:统计目录或文件所占用磁盘空间的大小。
    语法:du 参数 选项
    参数:
    -a 为每个制定文件显示磁盘使用情况, 或者为目录中每个文件显示各自磁盘使用情况
    -b 显示目录或文件大小时, 以byte 为单位
    -c 除了显示目录或文件的大小外, 同时也显示所有目录和文件的总和
    -D deferenc -args 显示指定符号链接的源文件大小
    -h humanreadable 以K,M,G 为单位,提高信息的可读性
    -H 以K,M,G为单位, 以1000 换算而不是1024
    -k kilobytes
    -l count-lines 重复计算硬件链接的文件
    -L 显示选项中符号链接的源文件大小
    -m megabytes 为单位
    -s summarize 显示当前目录大小
    -S 显示每个目录的大小,不包含子目录
    -x one-file-xystem  以一开始处理的文件系统为准, 其他不同目录略过
    -X exclude-from  制定目录或文件
    实例:
    du /home/linux    :显示一个目录树以及每个子目录的磁盘使用情况
    du -k /home/linux :以KB 为单位显示一个目录以及子目录的磁盘使用情况、
    du -m /home/linux :以MB 为单位显示一个目录以及子目录的磁盘使用情况
    du -g /home/linux :以GB 为单位显示一个目录以及子目录的磁盘使用情况
    du -h .           :查看当前目录下所有的目录以及子目录的大小
    du -h --max-depth=0 user: 查看第n层目录,即0不深入到子目录
    du -h --exculde='*xyz*' :列出当前目录下目录名不包括xyz字符串的目录的大小
    du -sh user       :查看当前目录下user目录的大小
    du -ah user       :列出user目录以及子目录下所有目录和文件的大小
    du -0 user        :没列出一个目录的信息,不换行直接输出下一个目录的信息
    du -s user        :只显示一个目录树的全部磁盘使用情况

    三、fdisk 

    作用: 查看磁盘实体使用情况,也可对硬盘分区。
    选项: 
    -b 分区大小
    -l  列出指定的外围设备的分区表状况
    -s 分区编号, 将指定的分区大小输出到标准输出上, 单位为区块
    -u 搭配-l 显示,会用分区数目取代柱面数目,来表示每个分区的起始地址
    -v 显示版本信息
    实例:
    *选择要进行操作的磁盘:
    fdisk /dev/sdb
    *输入m 列出可以执行的命令:
    command (m for help) :m
    a toggle a bottable flag
    b edit bsd disklabel
    c toggle the dos compatibility flag
    d delete a partition
    l list known partition type 
    m print this menu
    n add a new partition
    o create a new empty DOS partition table
    p print the partition table
    q quit without saving changes
    s create a partition's system
    t change a partition's system id
    u change display /entry units
    v verify the partition table
    w write table to disk and exit
    x extra functionality (experts only)
    *输入p 列出磁盘目前的分区情况:
    *输入d 选择分区,删除现有分区
    *查看分区情况,确认分区已删除 print 
    *输入n 建立新的磁盘分区
    e extended
    p primary partition (1-4)
     
    p //建立主分区
    1 //分区号
    1 //分区起始位置默认1 
    100 // 分区结束位置
    +100M //分区结束位置,以M为单位。
    *确认分区成功: p 
    *创建扩展分区; e  
    *在扩展分区中创建逻辑分区: l  logical 
    主分区和扩展分区的磁盘号位1-4,也就是说最多有4个主分区或者扩展分区,逻辑分区开始的磁盘号为5,因此在这个实验中试没有sdb4的.
    *最后保存分区操作: w 
    *分区格式化后使用磁盘:
    在sdb1 建立ext2 分区:
    mkfs.ext2 /dev/sdb1
    在sdb6 建立ext3分区:
    mkfs.ext3 /dev/sdb6
    格式化分区:
    mke2fs -t ext4 -b 4096 -m 0.1  /dev/sdb1  -L aming
    5.00% reserved for the super user : 保留空间为超级用户
    *建立两个目录/oracle /web 将新建好的两个分区挂载到系统
    mkdir /oracle
    mkdir /web
    mount /dev/sdb1 /oracle
    mount /dev/sdb6 /web
    重新挂载只读,noatime
    mount -oremount,ro noatime /dev/sdb6  /web
    /dev/sdb1 1019M   35M  984M  4%  /oarcle
    *取消挂载
    unmount /oracle
    unmount /web
    *重新根据配置文件挂载
    mount -a 
    * 检查分区, 可能会丢失数据
    fsck -y /dev/sdb1 
    *查看分区挂载情况
    df -h  
    * 如果需要每次开机自动挂载则需修改/etc/fstab文件。
    /dev/sdb1 /oracle ext2 defaults 0备份日志 0检测磁盘分区坏道
    /dev/sdb6 /web ext3 defaults 0 0 
     
    /etc/rc.d/rc.local

    四、dd 

    作用:
    dd 是一个Unix和类Unix系统中的命令, 主要功能为转换和赋值文件。在Unix和类Unix系统上, 硬件的设备驱动(如硬盘) 和特殊设备文件(如/dev/zero, /dev/random) 就像普通文件一样, 出现在文件系统中, 只要在各自的驱动程序中实现了对应的功能, dd 也可以读取或者写入这些文件。 dd 也可以用在备份硬件的引导扇区, 获取一定数量的随机数据等等的一些任务。 dd 程序也可以再复制时处理数据。 例如转换字节序, 或在ASCII和EBXCDIC编码间转换。

    用法:

    dd 的命令行语句与其他的程序不同,因为它的命令选项格式为 选项=值, dd 默认从标准输入中读取,并写到标准输出中, 可以使用选择if (input file ) 和of (output file) 。

    块的概念:

    块是衡量一次读取,写入和转换字节的单位, 命令行选项可以为输入/读取(ibs) 和输出/写入(obs)指定一个不同的块大小, 选项会覆盖ibs 和obs 选项, 输入和输出的默认块大小为512字节(传统的磁盘块以及POSIX规定的块的大小) 复制的count选项。 读取的(skip)选项和 写入(seek)选项都是以块为单位的。 转换操作也瘦“转换块大小(cbs)”影响。
    w表示2倍,b表示512倍,k表示1024倍,M表示1024 × 1024倍,G表示1024 × 1024 × 1024倍

    用途:

    *数据转换:dd 可以在文件、设备、分区和卷之间复制数据。数据可以从其中任何地方输入和输出;但输出到分区时有重要差异。此外在传输过程中,数据可以用conv 选项以适应介质。 如何最后一个块有意外长度,试图使用cp 复制整个磁盘可能会遗漏掉,dd 却可能成功。源文件和目标磁盘应具有相同的大小。
    dd if =/dev/sr0 of=myCD.iso bs =2048 conv =noerror, sync // 从CD-ROM中创建ISO磁盘镜像
    dd if =/dev/sda2 of =/dev/sdb2 bs=4096 conv=noerror //克隆一个分区到另一个
    dd if =/dev/ad0 of =/dev/ad1 bs=1M conv noerror //克隆硬盘ad0到ad1 
    noerror 如果发生错误,程序继续进行,  sync  填充每个块到指定字节
    *备份和恢复主引导记录: 可以修复主引导记录。主引导记录可以转换到文件,或从总转移出来。
    dd if =/dev/fd0 of =MBRboot.img bs=512 count=2 //要复制软盘的前两个扇区:
    dd if =/dev/sda of =MBR.img bs =512 count =1 //创建整个x86主引导记录的镜像(包括MS-DOS分区表和MBR字节)
    dd if = /dev/sda of =MBR_boot.img bs=446 count =1 //创建仅含主引导记录代码的镜像
    *数据修改:dd可以直接修改数据
    dd if=/dev/zero of=path/to/file bs=512 count=1 conv=notrunc //空字节覆盖文件的前512 字节,notrunc 表示不缩减输出文件, 如果存在文件,只修改相应字节的数据,如果不存在,则创建512字节的文件。当dd的输出文件为块设备时,无效果。
    dd if=/dev/sdb2 of=partition.img bs=4096 counv=noerror //在不同的分区中复制磁盘分区到磁盘映像文件中。
    *磁盘擦除: 出于安全方面考虑,有时需要擦除丢弃的磁盘。
    dd if=dev/sda // 检查驱动器上是否有数据,并将其输出到标准输出
    dd if=/dev/zero of =/dev/sda bs=4k //用零擦除磁盘
    *驱动器性能基准测试: 对驱动器进行基准测试, 使用1024字节块分析连续系统读取和写入的性能:
    dd if =/dev/zero bs=1024 count=1000000 of=file_1GB
    dd if =file_1GB of=/dev/null bs=1024
    *用随机数据生成文件
    dd if=/dev/urandom of=myrandom bs=100 count=1 //使用内核随机数驱动,用100 个随机字节生成文件
    *将文件转换为大写
    dd if =filename of=filename1 conv=ucase
    *创建任意大小的空文件
    dd if=/dev/zero of=mytestfile.out bs=1 seek =1G  //创建1G的稀疏文件,或增加现有文件的大小。

    参数:

    if =输入文件(或设备名称)。

    of =输出文件(或设备名称)。

    ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。

    skip = blocks 跳过读入缓冲区开头的ibs*blocks块。

    obs = bytes 一次写入bytes字节,即写 入缓冲区的字节数。

    bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。

    cbs = bytes 一次转换bytes字节。

    count = blocks 只拷贝输入的blocks块。

    conv = ASCII 把EBCDIC码转换为ASCII码。

    conv = ebcdic 把ASCII码转换为EBCDIC码。

    conv = ibm 把ASCII码转换为alternate EBCDIC码。

    conv = blick 把变动位转换成固定字符。

    conv = ublock 把固定们转换成变动位

    conv = ucase 把字母由小写变为大写。

    conv = lcase 把字母由大写变为小写。

    conv = notrunc 不截短输出文件。

    conv = swab 交换每一对输入字节。

    conv = noerror 出错时不停止处理。

    conv = sync 把每个输入记录的大小都调到ibs的大小(用ibs填充)。

     

  • 相关阅读:
    layui iframe版点击左侧菜单栏实现加载等待动画
    概率论基础内容
    fatal error LNK1123:转换COFF期间失败:文件无效或损坏
    ERROR 2003:Can't connect to MySQL server on ‘localhost’...
    HttpWebRequest 无法连接到远程服务器
    Android Error: java.lang.IllegalStateException: Could not execute method of the activity
    创建.aspx页面
    CodeFile Inherits
    Unable to execute dex:Target out of range
    fatal error C1083: 无法打开包括文件“jni.h”
  • 原文地址:https://www.cnblogs.com/LinuxSuDa/p/4387294.html
Copyright © 2020-2023  润新知