Linux系统管理

1.存储管理

传统的磁盘分区

RAID技术,软RAID的实现

LVM

文件系统管理

ext,xfs,btrfs(了解)

2.程序包管理

rpm、yum、dnf

3.sed、gawk

4.进程管理

5.网络管理

网络基础知识(Cisco CCNA+CCNP)

网络属性管理

网络参数监测

6.Linux内核管理

内核编译和安装

内核的裁剪

定制内核

7.Linux系统启动流程

CentOS5、6、7

8.系统安装

kickstart、dhcp、pxe

9.shell脚本的完善

Linux存储管理

磁盘的接口类型:

IDE:并口,来源于ATA,133Mbps

SCSI:并口,

UltraSCSI320:320Mbps

UltraSCSI640:640Mbps

窄带:7  14

宽带:15  30

SATA:Serial ATA,串口

SATA1 2 3 6Gbps

SAS:串口

6Gbps

USB:

1.0 1.1 2.0 3.0:480Mbps 3.1:10Gbps

双通道:160MBps

IOPS:每秒IO次数

IDE:机械硬盘,50IOPS

SCSI:机械硬盘,100-200IOPS

固态硬盘,400左右

SATA:机械硬盘:100左右

固态硬盘,400

SAS:机械硬盘,200左右

固态硬盘,800左右

PCI-E固态硬盘:100000+   ES3000   DEC

IDE:主板上两个接口,4块IDE硬盘

SATA:4-6接口,4-6块硬盘

SCSI:7  15

SAS:16384块硬盘

写一个脚本,向每个默认shell为bash的用户问好,如:Hi root

#!/bin/bash

#

for I in $(grep "bash$" /etc/passwd | cut -d: -f1) ; do

echo "Hi $I"

done

回顾:

while until select case

break continue

function

Linux系统管理

存储管理

机械硬盘:

track:磁道,

sector:扇区,512Bytes,现在所说的扇区,实际上是平均值;

cylinder:柱面,从磁道向所有盘片做投影

partition:分区,分区就是基于柱面来划分的存储空间

head:磁头,每个磁盘表面都有一个磁头;

设备文件:/dev

设备文件是关联到硬件设备的驱动程序和设备的访问入口;

设备号:

major:主设备号,区分设备的类型,用于标明设备所需的驱动程序;

minor:次设备号,区分同种类型下的不同设备,是特定设备的访问入口;

mknod命令:

mknod - make block or character special files

mknod [OPTION]... NAME TYPE [MAJOR MINOR]

设备类型:

块设备:用于随机访问的设备,数据存储和交换的单位是块;

字符设备:用于线性访问的设备,数据的交换单位一般是字符;

设备文件名:IANA-->ICANN

/dev/

IDE:hd[a-d]

SCSI/SATA/SAS/USB:sd[a-z]

RHEL6、CentOS6开始:

所有的接口类型的硬盘设备统一命名为sd[a-z]

设备引用方式:

设备文件名

卷标(Volume Lable)

link

UUID:全局唯一标识符,128bit

如何使用一个新的硬盘设备?

分区

创建文件系统(格式化)

挂载分区

为何分区?

1.优化I/O性能

2.实现磁盘空间的配额限制

3.进行高速修复

4.隔离系统文件和其他程序文件

5.安装多个操作系统

如何分区?

MBR:硬盘空间小于2TB

MBR:Master(Main) Boot Record, 主引导记录,起源于1982年,

0磁道0扇区:512Byte

446Bytes:boot loader,引导加载程序,GRUB

64Bytes:partition table,分区表,每16Bytes表明一个分区的内容;因此一共有四个主分区;

注意:

1.主分区+扩展分区,最多可以有4个,其分区表位的编号依次为:1,2,3,4

2.逻辑分区的编号从5开始,不管前面的四个数字编号是否被占用;

2Bytes:结束标记,55AA

GPT:硬盘空间大于2TB

GUID Partition Table,GUID分区表,支持128个分区

UEFI(统一扩展固件接口)的硬件可以支持GPT  Boot Legacy

通常使用的分区工具:

fdisk:

用于创建和管理MBR分区,对于一块硬盘,最多只能管理15个分区;

gdisk:GNU disk

用于创建和管理GPT分区,

如果使用fdisk或gdisk命令对于已经有分区并挂载的磁盘的剩余空间进行再次分区,分区的信息即便是保存了,也不会被内核重新读取;如果要让内核识别此类分区:

1.重启计算机;

2.partprobe命令或者partx命令,强制内核重读分区表;

CentOS5/7:partprobe -a [device] 如果省略了设备名,则表示重读所有磁盘的分区表

CentOS6/7:partx -a [device]

kpartx -af [device]

fdisk分区示例:

fdisk - Partition table manipulator for Linux

fdisk -l [device...]

查看指定磁盘的分区表,如果省略device参数,则显示所有磁盘设备的分区表;

fdisk device

对于指定设备进行分区管理;

fdisk子命令:

d   delete a partition

l   list known partition types

m   print this menu

n   add a new partition

e   extended

p   primary partition (1-4)

l logical

p   print the partition table

q   quit without saving changes

t   change a partition's system id

w   write table to disk and exit

parted:GNU

高级分区工具,实时生效;

parted - a partition manipulation program

parted [options] [device [command [options...]...]]

parted /dev/sdb mklabel gpt|msdos

parted /dev/sdb print

parted /dev/sdb mkpart primary 1 200

parted /dev/sdb rm 1

~]# echo '- - -' > /sys/class/scsi_host/host2/scan

强制内核识别在开机状态下插上的SCSI接口的磁盘

写一个脚本,将一个命令所依赖的共享库文件复制到/mnt/sysroot/lib64目录中,如果库文件已经存在于目标目录中,就不复制。

#!/bin/bash

#

DEST=/mnt/sysroot/lib64

if [ ! -d $DEST ] ; then

mkdir -p $DEST

fi

until [ "$CMD" == 'quit' ] ; do

read -p "give me a command: " CMD

if which --skip-alias $CMD &> /dev/null ; then

for I in $(ldd $(which --skip-alias $CMD) | grep -o "/[^[:space:]]\+") ; do

SRCLIB=$(basename $I)

if [ ! -e ${DEST}${SRCLIB} ] ; then

cp $I $DEST

fi

done

else

echo "Command not invalid."

fi

done

回顾:

机械式硬盘的基本术语和工作原理

使用新硬盘

分区

创建文件系统——格式化

挂载

分区方法:

fdisk parted

partprobe  partx -a device

创建文件系统:

FHS /bin /dev /etc

权限

文件的命名规则

为什么要创建文件系统?

一百万册图书

平面分类管理

想要搜索需要的图书,需要遍历;

空间分类管理

门类

几次有限的但有效的查找即可;

创建文件系统实际上就是给分区进行存储空间的逻辑编址;

格式化:

低级格式化:

物理层面完成格式化,在磁盘设备出厂时,通过低级格式化来创建磁道;

主要作用:划分磁道

高级格式化:

分区之后进行,

主要作用:用来创建文件系统,为分区构建逻辑编址单元,簇,块

无论是簇还是块,都是将一个或多个扇区组织在一起,共同完成数据存储;

簇:512B 1024 2048 4096 8192 16384 32768 65536

块:1024 2048 4096

注意:

1.一个块只能放置一个文件的内容,一个文件可以占用多个块;

2.如果在某个分区中,将创建大量的小文件,把块划分的小一些;反之,块就大些

3.如果分区空间比较大,块也应该大一些;

在一个分区中创建了文件系统:

首先,会将分区划分成大小相等的若干块;

元数据块

元数据——inode(index node)

文件的属性:

文件大小

文件权限

文件所有者

文件时间戳

数据块指针

存放元数据的固定的存储空间,称为inode;

每个inode都有其对应的inode编号

数据块

存放文件中所包含的流式数据

特殊文件:

设备文件:block special 或 character special

仅仅是将元数据中的数据块指针换成了设备号

符号链接文件:symbolic link

仅仅是将元数据中的数据块指针换成了另一个文件的访问路径;

这类文件只占据元数据区域,没有数据块占用;

随着磁盘空间越来越大,划分的块的数量也越来越多,管理起来很不方便

划分块组可以解决该问题

块组:

每个块组中有独立的元数据块和数据块

存放数据的时候,以块组内的数据块优先选择,如果块组内的数据块不够,可以通过存储策略来请多个块组协同存储;

超级块:

主要定义了有多少个块组,以及每个块组的边界。

为了防止超级块发生故障倒置整个文件系统崩溃,对超级块进行冗余备份。

日志块:

对于数据的写入操作做记录的块;

防止数据不一致;

数据不一致通常都是由不洁关机,不洁断电导致;

一个完整的文件系统:

超级块,inode,inode bitmap,block bitmap,data block,journal block

想要查找/var/log/messages文件的内容,是怎样的过程?

首先查找/目录inode编号,从元数据区域中找到对应inode,再读取inode中的数据块指针,找到存放/目录内容的数据块;

然后,在数据块中查找名称为var的文件名,如果有,就定位其inode编号,再到元数据区域中查找对应编号的inode,再根据数据块指针找到保存var目录内容的数据块;

再然后,在该数据块中查找名称为log的文件名,如果有,就定位其inode编号,再到元数据区域中查找对应编号的inode,再根据数据块指针找到保存log目录内容的数据块;

之后,在该数据块中查找名称为messages的文件名,如果有,就定位其inode编号,再到元数据区域总查找对应编号的inode,再根据数据块指针找到messages文件对银的数据块,就可以读取数据;

系统调用

Linux支持的文件系统:

位于内核空间中的文件系统驱动

1.内核一部分

2.内核模块

位于用户空间中的文件系统管理应用程序

管理命令

Linux自己的文件系统:

ext ext2 ext3 ext4(最大分区50TB,可以做根分区,可以做启动分区)

xfs(企业级64位文件系统,最大分区500TB,可以做根和启动分区)

reiserfs(良好的反删除功能)

btrfs(技术预览版)

光盘文件系统:iso9660

网络文件系统:NFS、CIFS

集群文件系统:gfs2、ocfs2

内核级的分布式文件系统:ceph

伪文件系统:proc、sysfs、tmpfs、hugepagefs

windows的文件系统:vfat,ntfs

Unix的文件系统:ufs,FFS,JFS,zfs

交换分区文件系统:swap

用户空间中的分布式文件系统:mogilefs,moosefs,glusterfs

对于不同的发行版的Linux,都有其默认的文件系统选择:

RHEL、CentOS

5:ext3

6:ext4

7:xfs

文件系统的管理工具:

写一个脚本,如果发现用户hacker登录,则将登录时间和主机记录于日志/var/log/login.log中;

#!/bin/bash

#

if who | grep -q "\" ; then

for I in $(who | grep "\" | cut -d ' ' -f3-5 --output-delimiter=' '); do

echo -n $I >> /var/log/login.log

done

fi

管理文件系统:

创建文件系统:

mkfs

mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs, mkfs.btrfs, ...

文件系统检测和修复工具

fsck

fsck.ext3, fsxk.ext3, fsck.ext4, fsck.xfs, ...

文件系统属性查看工具

dumpe2fs

文件系统的属性调整工具

tune2fs

创建文件系统工具:

mkfs命令:

mkfs - build a Linux filesystem

mkfs [options] [-t type] [fs-options] device [size]

mkfs -t ext2 /dev/sdb1

注意:

1.不要使用磁盘设备名称和扩展分区设备名称作为mkfs命令的参数;

如果使用磁盘设备作为mkfs的参数,所有的分区都将被删除

如果使用扩展分区作为mkfs的参数,所有的逻辑分区都将被删除

2.能够作为mkfs命令参数的设备,是主分区设备和逻辑分区设备;

如果只是计划创建ext系列文件系统的话,可以使用mke2fs命令:

mke2fs:

mke2fs - create an ext2/ext3/ext4 filesystem

常用选项:

-b block-size:在创建文件系统时,调整块大小;

-i bytes-per-inode:指明inode与字节的比率,即:多少个字节可以建一个inode,默认值为16384;

-j:创建有日志功能的文件系统,就是ext3

-N number-of-inodes:直接指明要给此文件系统创建的inode的数量;

-m reserved-blocks-percentage:指定为超级用户root预留的磁盘空间的百分比;默认是5;

-t fstype:指定文件系统类型,ext2 ext3 ext4,默认是ext2

-O [^]feature[,...]:关闭或开启文件系统的特性

-L volume-label:为文件系统指定卷标

如果只计划修改ext系列文件系统的卷标,可以使用e2label命令:

e2label:

e2label - Change the label on an ext2/ext3/ext4 filesystem

e2label device [ new-label ]

注意:如果不加卷标信息,表示查看指定设备的卷标;

如果添加了卷标信息, 表示修改指定设备的卷标;

如果想要修改ext系列文件系统的属性,可以使用tune2fs命令:

tune2fs:

tune2fs  - adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems

调整那些在ext2,3,4文件系统上的可修改的参数;

常用选项:

-j:将ext2文件系统修改为ext3;

-m reserved-blocks-percentage:修改为超级用户预留的磁盘空间的百分比;

-o [^]mount-options[,...]:修改文件系统的默认挂载选项;

-r reserved-blocks-count:修改为超级用户预留的磁盘空间的块的数量;

-L volume-name:修改文件系统的卷标

-O [^]feature[,...]:修改文件系统的特性,将其关闭或启用;

-l:显示超级块的内容  相当于dumpe2fs -h

文件系统的检测修改工具:

fsck

-t fstype:指定要检测的文件系统类型;

-a:无需交互,自动修复所有问题

-r:交互式修复问题

ext系列文件系统专门的检测修复工具:

e2fsck

-y:在交互过程的所有的问题,都以"yes"回答;

-f:强制检测修复;即使文件系统处于clean状态;

blkid:

blkid - command-line utility to locate/print block device attributes

blkid -L label:根据卷标进行查找

blkid -U uuid:根据UUID进行查找

findfs:

findfs - Find a filesystem by label or UUID

findfs LABEL=label

findfs UUID=uuid

创建swap文件系统

前提:分区类型必须是swap类型

修改的方法是:在fdisk交互模式中,使用t命令将指定分区的类型修改为82即可;

mkswap

mkswap - set up a Linux swap area

-L LABEL:设置交互分区的卷标

-f:强制执行

使用文件系统——挂载

FHS

根文件系统之外的其他文件系统如果想要被访问;都必须通过某种方式关联到根文件系统上,具体做法就是把其他文件系统装载到根文件系统中的某个目录之中;这个过程称为"挂载";用于关联其他文件系统的那个目录,称为挂载点;

挂载点:mount point,也是其他文件系统的访问入口;例如:/boot

要求:

1.作为挂载点的目录必须事先存在;

2.作为挂载点的目录应该是没有被使用或不能被其他进程使用的目录;

3.作为挂载点的目录一旦挂载文件系统,其内原有的文件将被隐藏;

完成挂载操作,使用mount命令:

mount

mount - mount a filesystem

mount [-fnrsvw] [-t vfstype] [-o options] device dir

常用选项:

-r:readonly,以只读的方式挂载目标文件系统;光盘

-w:read and write,以读写的方式挂载目标文件系统;

-n:默认情况下,设备挂载或卸载的操作会同步更新到/etc/mtab中,如果在挂载时使用了-n选项,则表示我们要禁用此特性,即便挂载成功,也不会更新到/etc/mtab中。

-t vsftype:指明要挂载的设备上创建的文件系统类型;如果省略该选项,mount命令会通过blkid来判断要挂载的目标设备的文件系统类型;

-L LABEL:挂载文件系统时,使用卷标代替设备名称

-U UUID:挂载文件系统时,使用UUID代替设备名称

-a:mount -a:按照/etc/fstab文件中填写的设备进行自动挂载;

-o option:

sync/nosync:同步/异步操作

atime/noatime:文件或目录被读取访问时,是否更新访问时间戳;

diratime/nodiratime:目录被读取访问时,是否更新访问时间戳;

ro/rw:是以只读/读写的方式挂载文件系统;

dev/nodev:在此文件系统中是否允许创建设备文件;

exec/noexec:在此文件系统中是否允许运行程序文件;

auto/noauto:是否允许使用mount -a方式挂载/etc/fstab中的文件系统;

user/nouser:是否允许普通用户挂载此文件系统;

suid/nosuid:是否允许程序文件上的SUID和SGID特殊权限生效;

relatime/norelatime:是否参考inode访问时间来修改其修改时间和改变时间

remount:不经卸载实现重新挂载,可以应用新的挂载选项;

acl:可以使文件系统支持facl功能;

defaults:默认选项;包括:rw, suid, dev, exec, auto, nouser, async, and relatime

loop:使用环回设备;将镜像文件挂载到挂载点;

defaults,ro,nosuid

-B, --bind:将某个目录绑定至另一个目录;

mount --bind|-B 源目录 目标目录

卸载文件系统:

umount mount_point|device

挂载光盘:

1.保证光盘镜像文件放入虚拟机光驱

2.保证光驱处于"已连接"状态

3.创建光盘挂载点,mount -r /dev/sr0 mount_point

挂载U盘:

需要事先让系统识别U盘设备,然后根据设备名进行挂载;/dev/sdc1

挂载交互分区:

swapon, swapoff

swapon, swapoff - enable/disable devices and files for paging and swapping

-a:自动挂载存储于/etc/fstab文件中的交互分区设备;

df

-h -T -P

free

-k -m -g

/etc/fstab文件的格式:

共6个字段,使用空白字符分隔:

1.要挂载的设备

设备文件名

LABEL

UUID

伪文件系统

2.挂载点

swap设备无需挂载点,指定swap即可;

3.文件系统类型

4.挂载选项:defaults

5.转储频率:

使用dump命令备份分区的频率

0:表示不备份

1:每天备份一次

2:每隔一天备份一次

6.自检次序

0:不自检

1:优先自检,通常只设置在根文件系统上;

2:次级自检

...

9:最低优先级自检

Linux系统中常有的压缩和解压缩工具:

压缩:以时间换空间的一种操作;

压缩的原理:标记和替换

压缩比:压缩之前与压缩之后的文件的大小的比值;

纯文本文件压缩比较大

视频、图像等文件压缩比小

能够实现压缩功能的工具:

compress/uncompress:.Z扩展名

gzip/gunzip:.gz扩展名

bzip2/bunzip2:.bz2扩展名

xz/unxz:.xz扩展名,目前压缩比最高的工具

zip/unzip:.zip扩展名

gzip:

gzip, gunzip, zcat - compress or expand files

-d:解压缩

-#:以指定的压缩比进行压缩,1-9,9为最高级;默认6

-c:将压缩结果输出到标准输出,不会对原文件进行压缩;

gzip -c /PATH/TO/FILE > /PATH/TO/COMPRESS_FILE.gz

bzip2:

bzip2, bunzip2 - a block-sorting file compressor, v1.0.4

bzcat - decompresses files to stdout

-d:解压缩

-#:指定压缩比进行压缩,1-9,默认为6

-k:保留原文件不删除,创建新的压缩文件;

xz:

xz, unxz, xzcat - Compress or decompress .xz files

-d:解压缩

-#:指定压缩比进行压缩,1-9,默认为6

-k:保留原文件不删除,创建新的压缩文件;

tar:归档程序

tar——tape archive:磁带档案

tar [OPTION...] [FILE]...

主选项:

-c:创建档案文件

-x:释放档案文件的内容

-t:查看档案文件中包含的文件

-u/-r:向档案文件中添加新的文件

辅助选项:

-f:指定档案的文件的路径

-C:在释放档案文件中的内容时,指定释放的路径;

-z:在创建档案文件时,调用gzip进行压缩

-j:在创建档案文件时,调用bzip2进行压缩

-J:在创建档案文件时,调用xz进行压缩(可能不支持)

--exclude:在释放档案文件时,排除某个文件;

-k:在释放档案文件时,不会覆盖同名文件;

cpio

写一个脚本:给脚本传递几个文件,选择压缩方式进行压缩;

#!/bin/bash

#

read -p "Please input some files:" file

select I in gzip bzip2 xz ; do

case $I in

gzip)

gzip file

;;

bzip2)

bzip2 file

;;

xz)

xz file

;;

*)

echo "Input again some files:"

;;

esac

done

#!/bin/bash

#

filedest=/usr/bin/file

read -p "Please input some files:" file1 file2 file3 file4

select I in gzip bzip2 xz ; do

case $I in

gzip)

tar -czf ${filedest}.tar.gz file1 file2 file3 file4

;;

bzip2)

tar -cjf ${filedest}.tar.bz2 file1 file2 file3 file4

;;

xz)

tar -cJf ${filedest}.tar.xz file1 file2 file3 file4

;;

*)

echo "Input again some files:"

;;

esac

done

/etc/issue /etc/init.d /etc/java /etc/yum

file.tar

linux日志本地存储和网络存储,文件系统和本地存储管理 1相关推荐

  1. 《大话存储__网络存储系原理精解与最佳实践》电子书下载

    大话存储__网络存储系原理精解与最佳实践,经典图书   网络存储,是近二十年来的新兴行业.从纸带到硬盘再到大型磁盘阵列,存储系统经历了从简单到复杂,从单块硬盘到存储区域网络(SAN).网络存储行业目前 ...

  2. Android基础知识(二十一):Android五大存储之文件存储、Content Provider存储和网络存储

    Android基础知识(二十一):Android五大存储之文件存储.Content Provider存储和网络存储 一.Android存储--持久化技术 数据持久化是指将那些内存中的瞬时数据保存到存储 ...

  3. k8s核心技术-持久化存储(nfs网络存储)---K8S_Google工作笔记0050

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 然后我们再来看k8s中的,持久化存储 之前我们说过数据卷,但是利用数据卷存东西,pod如果重启的话 ...

  4. 网络存储SAN网络存储术语解释

    来源IT168 1.设备类型 在SAN存储网络里所指的主要设备包括光纤通道交换机和光纤通道卡. (一)光纤通道交换机:(FC SWITCH)     光纤通道交换机在逻辑上是SAN的核心,它连接着主机 ...

  5. python下载文件到本地-Python下载网络文本数据到本地内存的四种实现方法示例

    本文实例讲述了Python下载网络文本数据到本地内存的四种实现方法.分享给大家供大家参考,具体如下: import urllib.request import requests from io imp ...

  6. windows和linux允许分片,请问hadoop的hdfs文件系统和本地windows文件系统或linux文件系统是什么关系啊,谢谢...

    虚拟文件系统 Virtual File Systems(VFS) Linux 是近年来发展起来的一种新型的操作系统,其最重要的特征之一就是支持多种文件系统,使其更加灵活,从而与许多其它的操作系统共存. ...

  7. Linux挂载iscsi网络存储

    Linux挂载iscsi网络存储 iscsi网络存储简介 iscsi的组成 主机规划 配置iscsi网络存储挂载 iscsi服务端配置 iscsi客户端配置 客户端配置方面 iscsi网络存储简介 i ...

  8. 8 iSCSI网络存储服务

    iSCSI网络存储服务 一网络存储概述 ·直接附加存储 通常我们所熟悉的存储设别就是硬盘,其通过与计算机主板的I/O接口(如IDE.SCSI)相连接,由本机操作系统负责读写及管理,这就是最传统的数据存 ...

  9. 虚拟化方面包含了主机、存储和网络

    基于主机的虚拟化也称为基于服务器的虚拟化,是通过在服务器操作系统中嵌入或添加虚拟层来实现设备虚拟化的,该方法不需要添加特殊的硬件而只需安装具有虚拟化功能的软件模块,它以驱动程序的形式嵌入到应用服务器的 ...

最新文章

  1. linux 脚本停止自身,Linux系统定时任务时shell脚本停止执行如何解决?
  2. 《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一1.17 如何选择合适的拍摄地点...
  3. 测验4: 程序的控制结构 (第4周)
  4. 什么是进程?Python进程各部分内容介绍
  5. 线程属性 pthread_attr_t
  6. linux 755 777是什么权限,linux系统下644、755、777权限详解
  7. Lanecat网猫案例小议
  8. 分享:mysql分表,分区的区别和联系
  9. 一个对于小数四舍五入的算法C语言版
  10. discuz-ucenter-api-for-java 中文乱码问题
  11. cdma特有效应_[多选] 相对于IS-95A,下列特征哪些是CDMA20001x系统所特有的().
  12. 网络计划的自由时间和松弛时间free and slack
  13. 阅读了Steve Yegge的文章。其中有一篇叫“Practicing Programming”(练习编程),写成于2005年
  14. 支付宝生活号开发中所遇到的困难及解决记录
  15. 如何以聪明的方式提问
  16. linux库函数pthread.h------pthread_rwlock_t读写锁说明
  17. 删除SQL表中的某一列
  18. 64B/66B编码技术
  19. 众人坐下以后,苏睿好不容易找来了几个茶碗
  20. 1 3 倍频程谱 c语言,频谱、能谱、功率谱、倍频程谱、1/3 倍频程谱

热门文章

  1. java红包算法·返回ListDouble
  2. 导入导出 Oracle 分区表数据
  3. 中国移动基于ARM/x86服务器的Ceph性能对比
  4. python中的浅拷贝与深拷贝——copy()
  5. (转)函数作用域,匿名函数,函数式编程,面向过程,面向对象
  6. (转)git常用命令
  7. Oracle 10G select工作原理
  8. C++程序员笔试复习概要(一)
  9. Android 自定义 View 中 onKeyDown监听 没反应
  10. matlab都有什么接口,介绍MATLAB与C++的几种接口方式