fstab文件详解

fstab文件详解
fstab文件详解

fstab文件详解

51CTO论坛100万网友欢迎你的加入!本贴深入探讨,请点击:https://www.360docs.net/doc/be1086031.html,/thread-395840-1.html

1 fstab文件的作用

文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过mount

/directoryname命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsck、mount、umount的等命令都利用该程序。

2. fstab文件格式

下面是/etc/fatab文件的一个示例行:

fs_specfs_file fs_type fs_options fs_dump fs_pass

/dev/hda1/ ext2 defaults 1 1

fs_spec -该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:IDE设备一般描述为/dev/hdaXN,X是IDE设备通道(a, b, or c),N代表分区号;SCSI设备一描述为/dev/sdaXN。对于NFS情况,格式一般为:

,例如:`knuth.aeb.nl:/。对于procfs,使用`proc来定义。

fs_file -该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。

fs_type -定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、iso9600等。

codepage国家语言代码页

iocharset字符集

fs_options- 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用defaults就可以满足需要。其他常见的选项包括:

选项

含义

ro 以只读模式加载该文件系统

sync 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度

user 允许普通用户加载该文件系统

quota 强制在该文件系统上进行磁盘定额限制

noauto 不再使用mount -a命令(例如系统启动时)加载该文件系统

fs_dump -该选项被dump命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0

fs_pass -该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统/对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0

3. 示例文件

#/etc/fstab

/dev/hda8swap swap defaults 0 0

/dev/hda9/ ext2 defaults 1 1

/dev/hda6/wine vfat defaults,codepage=936,iocharset=cp936 0 0

/dev/hda7/winf vfat defaults,codepage=936,iocharset=cp936 0 0

/dev/hdb/cdrom iso9660 noauto,user 0 0

none/proc proc defaults 0 0

none/dev/pts devpts gid=5,mode=620 0 0

fstab中存放了与分区有关的重要信息,其中每一行为一个分区记录,每一行又可分为六个部份,下面以/dev/hda7 / ext2 defaults 1 1为例逐个说明:

1. 第一项是您想要mount的储存装置的实体位置,如hdb或/dev/hda6。

2. 第二项就是您想要将其加入至哪个目录位置,如/home或/,这其实就是在安装时提示的挂入点。

3. 第三项就是所谓的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如ext2,可以参见/prco/filesystems说明。

4. 第四项就是您mount时,所要设定的状态,如ro(只读)或defaults(包括了其它参数如rw、suid、exec、auto、nouser、async),可以参见「mount nfs」。

5. 第五项是提供DUMP功能,在系统DUMP时是否需要BACKUP的标志位,其内定值是0。

6. 第六项是设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0。

/etc/fstab内容主要包括六项:

例如:打印出中间的两行内容,如下

LABEL=/ / ext3 defaults 1 1

/dev/sda2 /mnt/D/ vfat defaults 0 0

第一列:设备名或者设备卷标名,(/dev/sda10 或者 LABEL=/)

第二列:设备挂载目录

(例如上面的“/”或者“/mnt/D/”)

第三列:设备文件系统

(例如上面的“ext3”或者“vfat”)

第四列:挂载参数

(看帮助man mount)

对于已经挂载好的设备,例如上面的/dev/sda2,现在要改变挂载参数,这时可以不用卸载该设备,而可以使用下面的命令(没有挂载的设备,remount 这个参数无效)

#mount/mnt/D/ -o remount,ro (改defaults为ro)

为了安全起见,可以指明其他挂载参数,例如:

noexec(不允许可执行文件可执行,但千万不要把根分区挂为noexec,那就无法使用系统了,连mount 命令都无法使用了,这时只有重新做系统了!

nodev(不允许挂载设备文件)

nosuid,nosgid(不允许有suid和sgid属性)

nouser(不允许普通用户挂载)

第五列:指明是否要备份,(0为不备份,1为要备份,一般根分区要备份)

第六列:指明自检顺序。

(0为不自检,1或者2为要自检,如果是根分区要设为1,其他分区只能是2)

如果想开机就自动挂载(mount)上,可以在/etc/fstab上添加如下几行:

/dev/hda5 /mnt/d vfatexec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0

同时也解决了中文文件名的乱码问题,我的fstab文件如下,仅供参考:

LABEL=/12 / ext3 defaults 1 1

none /dev/pts devptsgid=5,mode=620 0 0

none /proc proc defaults 0 0

none /dev/shm tmpfs defaults 0 0

/dev/hda4 swap swap defaults 0 0

/dev/cdrom /mnt/cdrom iso9660noauto,owner,kudzu,ro 0 0

/dev/fd0 /mnt/floppy autonoauto,owner,kudzu 0 0

/dev/hda1 /mnt/c vfatexec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0

/dev/hda5 /mnt/d vfatexec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0

/dev/hda6 /mnt/e vfatexec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0

/dev/hda7 /mnt/f vfatexec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0

/dev/hda8 /mnt/g vfatexec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0

fstab解读

从做到右:

/dev/device mount-point typerules dump fsck

1. /dev/device: 不用说了吧?例如,/dev/hda1 为M$-Win9x下的c:盘。

2. mount-point: 挂载点。例如,把/dev/hda1挂到/mnt/mywinc下。

3. type: ext3, vfat, ......就是要挂上的文件系统类型。

4. rules:

auto: 开机自动挂接;

default, noauto: 开机不自动挂接;

nouser: 只有root可挂;

ro: 只读挂接;

rw: 可读可写挂接;

user: 任何用户都可以挂接;

5. dump: 备份;0为从不备份,或显示上次至今备份之天数;

6. fsck: 启动时fsck检查顺序,0为不检查,“/”永远为1;

我的就是:

/dev/hda1 /mnt/mywinc vfatdefault 0 0

在fstab中加载分区

mkdir /mnt/win_c

vi /etc/fstab

:::::add:::::

/dev/hda1 /mnt/win_c vfatdefault,pagecode=936,iocharset=cp936 0 0

/etc/fastab释疑

1. fstab文件的作用

文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过"mount

/directoryname"命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsck、mount、umount的等命令都利用该程序。

2. fstab文件格式

下面是/etc/fatab文件的一个示例行:

fs_spec fs_file fs_typefs_options fs_dump fs_pass

/dev/hda1 / ext2 defaults 1 1

fs_spec - 该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:IDE设备一般描述为/dev/hdaXN,X是IDE设备通道(a, b, or c),N代表分区号;SCSI设备一描述为/dev/sdaXN。对于NFS情况,格式一般为:

,例如:`knuth.aeb.nl:/'。对于procfs,使用`proc'来定义。

fs_file - 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。

fs_type - 定义了该设备上的文件系统,一般常见的文件类型为ext2 (linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、iso9600等。

fs_options - 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用"defaults"就可以满足需要。其他常见的选项包括:

选项

含义

ro 以只读模式加载该文件系统

sync 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度

user 允许普通用户加载该文件系统

quota 强制在该文件系统上进行磁盘定额限制

noauto 不再使用mount -a命令(例如系统启动时)加载该文件系统

fs_dump - 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0

fs_pass - 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0

3. 示例文件

# /etc/fstab

/dev/hda9 swap swap defaults 0 0

/dev/hda1 / ext2 defaults 1 1

/dev/hda5 /home ext2 defaults 1 1

/dev/hda6 /usr ext2 defaults 1 1

/dev/hda7 /usr/local ext2defaults 1 1

/dev/hda8 /var ext2 defaults 1 1

/dev/hdb /cdrom iso9660noauto,user 0 0

none /proc proc defaults 0 0

none /dev/pts devptsgid=5,mode=620 0 0

常用命令linux下vi编辑器命令大全

51CTO论坛100万网友欢迎你的加入!本贴深入探讨,请点击:

https://www.360docs.net/doc/be1086031.html,/thread-416188-1.html

文本编辑器是所有计算机系统中最常用的一种工具。

unix下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充!

进入vi的命令

vi filename :打开或新建文件,并将光标置于第一行首

vi +n filename :打开文件,并将光标置于第n行首

vi + filename :打开文件,并将光标置于最后一行首

vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处

vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename

vi filename....filename :打开多个文件,依次进行编辑

移动光标类命令

h :光标左移一个字符

l :光标右移一个字符

space:光标右移一个字符

Backspace:光标左移一个字符

k或Ctrl+p:光标上移一行

j或Ctrl+n :光标下移一行

Enter :光标下移一行

w或W :光标右移一个字至字首

b或B :光标左移一个字至字首

e或E :光标右移一个字至字尾

) :光标移至句尾

( :光标移至句首

}:光标移至段落开头

{:光标移至段落结尾

nG:光标移至第n行首

n+:光标下移n行

n-:光标上移n行

n$:光标移至第n行尾

H :光标移至屏幕顶行

M :光标移至屏幕中间行

L :光标移至屏幕最后行

0:(注意是数字零)光标移至当前行首

$:光标移至当前行尾

屏幕翻滚类命令

Ctrl+u:向文件首翻半屏

Ctrl+d:向文件尾翻半屏

Ctrl+f:向文件尾翻一屏

Ctrl+b;向文件首翻一屏

nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令

i :在光标前

I :在当前行首

a:光标后

A:在当前行尾

o:在当前行之下新开一行

O:在当前行之上新开一行

r:替换当前字符

R:替换当前字符及其后的字符,直至按ESC键

s:从当前光标位置处开始,以输入的文本替代指定数目的字符S:删除指定数目的行,并以所输入文本代替之

ncw或nCW:修改指定数目的字

nCC:修改指定数目的行

删除命令

ndw或ndW:删除光标处开始及其后的n-1个字

do:删至行首

d$:删至行尾

ndd:删除当前行及其后n-1行

x或X:删除一个字符,x删除光标后的,而X删除光标前的

Ctrl+u:删除输入方式下所输入的文本

搜索及替换命令

/pattern:从光标开始处向文件尾搜索pattern

?pattern:从光标开始处向文件首搜索pattern

n:在同一方向重复上一次搜索命令

N:在反方向上重复上一次搜索命令

:s/p1/p2/g:将当前行中所有p1均用p2替代

:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代

:g/p1/s//p2/g:将文件中所有p1均用p2替换

选项设置

all:列出所有选项设置情况

term:设置终端类型

ignorance:在搜索中忽略大小写

list:显示制表位(Ctrl+I)和行尾标志($)

number:显示行号

report:显示由面向行的命令修改过的数目

terse:显示简短的警告信息

warn:在转到别的文件时若没保存当前文件则显示NO write信息

nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符

nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始

mesg:允许vi显示其他用户用write写到自己终端上的信息

最后行方式命令

:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下

:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下

:n1,n2 d :将n1行到n2行之间的内容删除

:w :保存当前文件

:e filename:打开文件filename进行编辑

:x:保存当前文件并退出

:q:退出vi

:q!:不保存文件并退出vi

:!command:执行shell命令command

:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入

:r!command:将命令command的输出结果放到当前行

寄存器操作

"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字

"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字

"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字

"?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。

VI常用技巧

VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,但是因为它的命令集众多,很多人都不习惯使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐渐喜

欢使用这种方法。

本文旨在介绍VI的一些最常用命令和高级应用技巧。

一、基本命令介绍

---- 1.光标命令

k、j、h、l——上、下、左、右光标移动命令。虽然您可以在Linux中使用键盘右边的4个光标键,但是记住这4个命令还是非常有用的。这4个键正是右手在键盘上放置的基本位置。

nG——跳转命令。n为行数,该命令立即使光标跳到指定行。

Ctrl+G——光标所在位置的行数和列数报告。

w、b——使光标向前或向后跳过一个单词。

---- 2.编辑命令

i、a、r——在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)。

cw、dw——改变(置换)/删除光标所在处的单词的命令 (c=change、d=delete)。

x、d$、dd——删除一个字符、删除光标所在处到行尾的所有字符以及删除整行的命令。

---- 3.查找命令

---- /string、?string——从光标所在处向后或向前查找相应的字符串的命令。

---- 4.拷贝复制命令

---- yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。

二、常见问题及应用技巧

---- 1.在一个新文件中读/etc/passwd中的内容,取出用户名部分。

---- vi file

---- :r /etc/passwd 在打开的文件file中光标所在处读入/etc/passwd

---- :%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分。

---- 您也可以在指定的行号后读入文件内容,例如使用命令“:3r /etc/passwd”从新文件的第3行开始读入 /etc/passwd的所有内容。

---- 我们还可以使用以下方法删掉文件中所有的空行及以#开始的注释行。

---- #cat squid.conf.default | grep -v ^$ | grep -v ^#

---- 2.在打开一个文件编辑后才知道登录的用户对该文件没有写的权限,不能存盘,需要将所做修改存入临时文件。

---- vi file

---- :w /tmp/1 保存所做的所有修改,也可以将其中的某一部分修改保存到临时文件,例如仅仅把第20~59行之间的内容存盘成文件/tmp/1,我们可以键入如下命令。

---- vi file

---- :20,59w /tmp/1

---- 3.用VI编辑一个文件,但需要删除大段的内容。

---- 首先利用编辑命令“vi file”打开文件,然后将光标移到需要删除的行处按Ctrl+G显示行号,再到结尾处再按Ctrl+G,显示文件结尾的行号。

---- :23,1045d 假定2次得到的行号为23和1045,则把这期间的内容全删除,也可以在要删除的开始行和结束行中用ma、mb命令标记,然后利用“:a,bd”命令删除。

---- 4.在整个文件的各行或某几行的行首或行尾加一些字符串。

---- vi file

---- :3,$s/^/some string / 在文件的第一行至最后一行的行首插入“some string”。

---- :%s/$/some string/g 在整个文件每一行的行尾添加“some string”。

---- :%s/string1/string2/g 在整个文件中替换“string1”成“string2”。

---- :3,7s/string1/string2/ 仅替换文件中的第3行到第7行中的“string1”成“string2”。

---- 注意: 其中s为substitute,%表示所有行,g表示global。

---- 5.同时编辑2个文件,拷贝一个文件中的文本并粘贴到另一个文件中。

---- vi file1 file2

---- yy 在文件1的光标处拷贝所在行

---- :n 切换到文件2 (n=next)

---- p 在文件2的光标所在处粘贴所拷贝的行

---- :n 切换回文件1

---- 6.替换文件中的路径。

---- 使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin换成/bin。也可以使用命令“:%s//usr/bin//bin/g”实现,其中“”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符。

fstab参数详解

51CTO论坛100万网友欢迎你的加入!本贴深入探讨,请点击:https://www.360docs.net/doc/be1086031.html,/thread-5645-1.html

fstab中存放了与分区有关的重要信息,其中每一行为一个分区记录,每一行又可分为六个部份,下面以/dev/hda7 / ext2 defaults 1 1为例逐个说明:

1. 第一项是您想要mount的储存装置的实体位置,如hdb或如上例的/dev/hda7。

2. 第二项就是您想要将其加入至哪个目录位置,如/home或如上例的/,这其实就是在安装时提示的挂入点。

3. 第三项就是所谓的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如上例的ext2,可以参见/prco/filesystems说明。

4. 第四项就是您mount时,所要设定的状态,如ro(只读)或如上例的defaults(包括了其它参数如rw、suid、exec、auto、nouser、async),可以参见「mount nfs」。

5. 第五项是提供DUMP功能,在系统DUMP时是否需要BACKUP的标志位,其内定值是0。

6. 第六项是设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0。

WIN7系统文件详解

大家都喜欢美化系统,第一步需要先了解系统文件,以便修改。 整理出大家常用的几个。 为了大家好查看·我会分类。 A ACCESS.CHM - Windows帮助文件 ACCSTAT.EXE - 辅助状态指示器 ADVAPI32.DLL - 高级Win32应用程序接口 AHA154X.MPD - SCSI驱动程序 AM1500T.VXT - 网卡驱动程序 AM2100.DOS - 网卡驱动程序 APPSTART.ANI - 动画光标 APPS.HLP - Windows帮助文件 AUDIOCDC.HLP - "易码编码解码器"帮助文件 AWARDPR32.EXE - 增加打印机工具 B BIGMEM.DRV - BIGMEM虚拟设备 BILLADD.DLL - 动态链接库(支持MSW) BIOS.VXD - 即插即用BIOS接口 BUSLOGIC.MPD - SCSI驱动程序 C CALC.EXE - 计算器应用程序 CANNON800.DRV - 佳能打印机驱动程序 https://www.360docs.net/doc/be1086031.html, - MSDOS命令 CHS16.FON - 字体文件(16点阵中文) CANYON.MID - MIDI文件例子 CARDDRV.EXE - PCMCIA支持程序 CDFS.VXD - CDROM文件系统 CDPLAYER.EXE - CD播放器应用程序 CDPLAYER.HLP - CD播放器帮助文件 CHIPS.DRV - 芯片技术显示驱动程序 CHKDSK.EXE - DOS磁盘检查工具 CHOOSUSR.DLL - 网络客户 CHOKD.WAV - 声音文件例子 CIS.SCP - 脚本文件(演示如何建立与Compuserve的PPP连接) CLAIRE~1.RMI - MINI序列 CLIP.INF - 安装信息文件(剪粘板查看器) CLOSEWIN.AVI - 影片剪辑(AVI)(如何关闭窗口) CMC.DLL:Mail - API1.0公共信息调用 COMBUFF.VXD - COM端虚拟设备

build.prop文件对照讲解

本文以CM的build为例讲解如何修改这些参数 # begin build properties (开始设置系统性能) # autogenerated by buildinfo.sh (通过设置形成系统信息) ro.build.id=GRI40 (版本ID) ro.build.display.id=GRJ22 (版本号) ro.build.version.incremental=eng.buildbot.20110619.060228 (版本增量) ro.build.version.sdk=10 (sdk版本) ro.build.version.codename=REL (版本代号) ro.build.version.release=2.3.4 (Android 2.3.4系統无需修改,也可改为3.0装装B)ro.build.date=Sun Jun 19 06:02:58 UTC 2011 (制作者制作的时间,可修改2011年X月X日某某某制作) ro.build.date.utc=0 ro.build.type=user https://www.360docs.net/doc/be1086031.html,er=buildbot ro.build.host=bb1 ro.build.tags=test-keys ro.product.model=HTC Wildfire (HTC内部手机代号也就是手机名) ro.product.brand=htc_wwe (手机品牌,改为中国山寨机) https://www.360docs.net/doc/be1086031.html,=htc_buzz (手机正式名称) ro.product.device=buzz (采用的设备,改为China G8) ro.product.board=buzz (采用的处理器,改为China 800.8Ghz) ro.product.cpu.abi=armeabi-v6j (cpu的版本)

spring配置文件各个属性详解

spring配置文件各个属性详解 分类:spring 2012-08-09 11:25 9316人阅读评论(2) 收藏举报springaophibernateattributesxhtmlwebsphere 目录(?)[+]一、引用外部属性文件 classpath:mail.properties classpath:jdbc.properties 我们定义了一个PropertyPlaceholderConfigurer类的实例,并将其位置属性设置为我们的属性文件。该类被实现为Bean工厂的后处理器,并将使用定义在文件中的属性来代替所有的占位符(${...}value)。 注意: 而在spring2.5的版本中提供了一种更简便的方式,如: 1. 这样以后要使用属性文件中的资源时,可以使用${属性名}来获得。 二、常用数据源的配置 第一种是:DBCP数据源,(需要加入2个jar文件,在spring中的lib下 jakarta-commons/commons-dbcp.jar和commons-pools.jar)主要配置如下:

(完整版)Linux中dd命令详解

一、dd命令 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2 参数注释: if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file > of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file > ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。 bs=bytes:同时设置读入/输出的块大小为bytes个字节。 cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。 skip=blocks:从输入文件开头跳过blocks个块后再开始复制。 seek=blocks:从输出文件开头跳过blocks个块后再开始复制。 注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。 count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。 conv=conversion:用指定的参数转换文件。 ascii:转换ebcdic为ascii ebcdic:转换ascii为ebcdic ibm:转换ascii为alternate ebcdic

block:把每一行转换为长度为cbs,不足部分用空格填充 unblock:使每一行的长度都为cbs,不足部分用空格填充 lcase:把大写字符转换为小写字符 ucase:把小写字符转换为大写字符 swab:交换输入的每对字节 noerror:出错时不停止 notrunc:不截短输出文件 sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。 二、dd应用实例 1.将本地的/dev/hdb整盘备份到/dev/hdd heng@me: dd if=/dev/hdb of=/dev/hdd ? 1 2.将/dev/hdb全盘数据备份到指定路径的image文件 heng@me: dd if=/dev/hdb of=/root/image ? 1 3.将备份文件恢复到指定盘 heng@me: dd if=/root/image of=/dev/hdb ? 1 4.备份/dev/hdb全盘数据,并利用gzip工具进行压缩,保存到指定路径 heng@me: dd if=/dev/hdb | gzip > /root/image.gz ? 1

VASP参数设置详解(精)

VASP参数设置详解 计算材料2010-11-30 20:11:32 阅读197 评论0 字号:大中小订阅 转自小木虫,略有增减 软件主要功能: 采用周期性边界条件(或超原胞模型)处理原子、分子、团簇、纳米线(或管)、薄膜、晶体、准晶和无定性材料,以及表面体系和固体 l 计算材料的结构参数(键长、键角、晶格常数、原子位置等)和构型 l 计算材料的状态方程和力学性质(体弹性模量和弹性常数) l 计算材料的电子结构(能级、电荷密度分布、能带、电子态密度和ELF) l 计算材料的光学性质 l 计算材料的磁学性质 l 计算材料的晶格动力学性质(声子谱等) l 表面体系的模拟(重构、表面态和STM模拟) l 从头分子动力学模拟 l 计算材料的激发态(GW准粒子修正) 计算主要的四个参数文件:INCAR ,POSCAR,POTCAR ,KPOINTS,下面简要介绍,详细权威的请参照手册 INCAR文件: 该文件控制VASP进行何种性质的计算,并设置了计算方法中一些重要的参数,这些参数主要包括以下几类: 对所计算的体系进行注释:SYSTEM

●定义如何输入或构造初始的电荷密度和波函数:ISTART,ICHARG,INIWA V ●定义电子的优化 –平面波切断动能和缀加电荷时的切断值:ENCUT,ENAUG –电子部分优化的方法:ALGO,IALGO,LDIAG –电荷密度混合的方法:IMIX,AMIX,AMIN,BMIX,AMIX_MAG,BMIX_MAG,WC,INIMIX,MIXPRE,MAXMIX –自洽迭代步数和收敛标准:NELM,NELMIN,NELMDL,EDIFF ●定义离子或原子的优化 –原子位置优化的方法、移动的步长和步数:IBRION,NFREE,POTIM,NSW –分子动力学相关参数:SMASS,TEBEG,TEEND,POMASS,NBLOCK,KBLOCK,PSTRESS –离子弛豫收敛标准:EDIFFG ●定义态密度积分的方法和参数 –smearing方法和参数:ISMEAR,SIGMA –计算态密度时能量范围和点数:EMIN,EMAX,NEDOS –计算分波态密度的参数:RWIGS,LORBIT ●其它 –计算精度控制:PREC –磁性计算:ISPIN,MAGMOM,NUPDOWN –交换关联函数:GGA,VOSKOWN –计算ELF和总的局域势:LELF,LVTOT –结构优化参数:ISIF –等等。 主要参数说明如下: ?SYSTEM:该输入文件所要执行的任务的名字。取值:字符串,缺省值:SYSTEM

iec61850规约SCL文件属性详解

SCL文件属性详解 目录

0 前言 (5) 1 术语 (5) 2 概述 (5) 2.1SCL语言介绍 (5) 2.2SCL文件分类 (6) 3 工程实施过程 (8) 3.1公共部分 (8) 3.2我们监控与我们装置 (8) 3.3我们监控与外厂家装置 (8) 3.4我们装置与外厂家监控 (9) 4 文件错误验证规则 (9) 4.1验证规则概述 (9) 4.2语法验证细则 (9) 4.2.1 SCL节点 (9) 4.2.2 Header节点 (10) 4.2.3 History节点 (10) 4.2.4 Hitem节点 (10) 4.2.5 Communication节点 (11) 4.2.6 SubNetwork节点 (11) 4.2.7 BitRate节点 (11) 4.2.8 ConnectedAP节点 (11) 4.2.9 Address节点 (12) 4.2.10 P节点 (12) 4.2.11 GSE节点 (12) 4.2.12 MinTime、MaxTime节点 (12) 4.2.13 SMV节点 (12) 4.2.14 PhysConn节点 (13) 4.2.15 IED节点 (13) 4.2.16 Services节点 (14) 4.2.17 DynAssociation节点 (14) 4.2.18 SettingGroups节点 (14) 4.2.19 GetDirectory节点 (15) 4.2.20 GetDataObjectDefinition节点 (15) 4.2.21 DataObjectDirectory节点 (15) 4.2.22 GetDataSetValue节点 (15) 4.2.23 SetDataSetValue节点 (15) 4.2.24 DataSetDirectory节点 (15) 4.2.25 ConfDataSet节点 (15) 4.2.26 DynDataSet节点 (15) 4.2.27 ReadWrite节点 (16) 4.2.28 TimerActivatedControl节点 (16) 4.2.29 ConfReportControl节点 (16)

mount用法详解

mount用法详解 1、挂载点必须是一个目录。 2、一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。 对于其他操作系统建立的文件系统的挂载也是这样。但是需要理解的是:光盘、软盘、其他操作系统使用的文件系统的格式与linux使用的文件系统格式是不一样的。光盘是ISO9660;软盘是fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fat32、NTFS。挂载前要了解linux是否支持所要挂载的文件系统格式。 挂载时使用mount命令: 格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有 -t<文件系统类型> 指定设备的文件系统类型,常见的有: minix linux最早使用的文件系统 ext2 linux目前常用的文件系统 msdos MS-DOS的fat,就是fat16 vfat windows98常用的fat32 nfs 网络文件系统 iso9660 CD-ROM光盘标准文件系统 ntfs windows NT 2000的文件系统 hpfs OS/2文件系统 auto 自动检测文件系统 -o<选项> 指定挂载文件系统时的选项。有些也可用在/etc/fstab中。常用的有 codepage=XXX 代码页 iocharset=XXX 字符集 ro 以只读方式挂载 rw 以读写方式挂载 nouser 使一般用户无法挂载 user 可以让一般用户挂载设备

提醒一下,mount命令没有建立挂载点的功能,因此你应该确保执行mount命令时,挂载点已经存在。(不懂?说白了点就是你要把文件系统挂载到哪,首先要先建上个目录。这样OK?) 例子:windows98装在hda1分区,同时计算机上还有软盘和光盘需要挂载。 # mk /mnt/winc # mk /mnt/floppy # mk /mnt/cdrom # mount -t vfat /dev/hda1 /mnt/winc # mount -t msdos /dev/fd0 /mnt/floppy # mount -t iso9660 /dev/cdrom /mnt/cdrom 现在就可以进入/mnt/winc等目录读写这些文件系统了。 要保证最后两行的命令不出错,要确保软驱和光驱里有盘。(要是硬盘的磁盘片也可以经常随时更换的话,我想就不会犯这样的错误了:-> ) 如果你的windows98目录里有中文文件名,使用上面的命令挂载后,显示的是一堆乱码。这就要用到-o 参数里的codepage iocharset选项。codepage指定文件系统的代码页,简体中文中文代码是936;iocharset指定字符集,简体中文一般用cp936或gb2312。 当挂载的文件系统linux不支持时,mount一定报错,如windows2000的ntfs文件系统。可以重新编译linux内核以获得对该文件系统的支持。关于重新编译linux内核,就不在这里说了。 四、自动挂载 每次开机访问windows分区都要运行mount命令显然太烦琐,为什么访问其他的linux分区不用使用mount命令呢?其实,每次开机时,linux自动将需要挂载的linux分区挂载上了。那么我们是不是可以设定让linux在启动的时候也挂载我们希望挂载的分区,如windows分区,以实现文件系统的自动挂载呢? 这是完全可以的。在/etc目录下有个fstab文件,它里面列出了linux开机时自动挂载的文件系统的列表。我的/etc/fstab 文件如下: /dev/hda2 / ext3 defaults 1 1 /dev/hda1 /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0

安卓系统文件夹结构详解

安卓系统文件夹结构详解 核心提示:本文介绍的是Android手机系统的文件夹结构,帮助大家更直观地了解系统,作为查询工具加入收藏夹还是很不错的哦*^_^*\\system\\app这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\\data\\文件夹中。 下面是详细的介绍: \\system\\app\\AlarmClock.apk闹钟\\system\\app\\AlarmClock.odex\\ system\\app\\Browser.apk浏览器\\system\\app\\Browser.odex\\ system\\app\\Bugreport.apk Bug报告 \\system\\app\\Bugreport.odex\\system\\app\\Calculator.apk计算器 \\system\\app\\Calculator.odex\\system\\app\\Calendar.apk日历\\ system\\app\\Calendar.odex\\system\\app\\CalendarProvider.apk日历提供\\system\\app\\CalendarProvider.odex\\ system\\app\\Camera.apk照相机\\system\\app\\Camera.odex\\ system\\app\\com.amazon.mp3.apk亚马逊音乐\\system\\app\\Contacts.apk联系人 \\system\\app\\Contacts.odex\\system\\app\\DownloadProvider.apk下载提供 \\system\\app\\DownloadProvider.odex\\system\\app\\DrmProvider.apk DRM数字版权提供 \\system\\app\\DrmProvider.odex\\system\\app\\Email.apk电子邮件客户端 \\system\\app\\Email.odex\\system\\app\\FieldTest.apk测试程序 GoogleData a \\system\\app\\FieldTest.odex\\system\\app\\GDataFeedsProvider.apk GoogleDat 提供 \\system\\app\\GDataFeedsProvider.odex\\system\\app\\Gmail.apk Gmail电子邮件 \\system\\app\\Gmail.odex\\system\\app\\GmailProvider.apk Gmail提供 \\system\\app\\GmailProvider.odex\\system\\app\\GoogleApps.apk谷歌程序包 \\system\\app\\GoogleApps.odex\\system\\app\\GoogleSearch.apk搜索工具 \\system\\app\\GoogleSearch.odex\\system\\app\\gtalkservice.apk GTalk服务 \\system\\app\\gtalkservice.odex\\system\\app\\HTMLViewer.apk HTML查看器 yahoo o \\system\\app\\HTMLViewer.odex\\system\\app\\IM.apk即时通讯组件包含MSN、yaho 通 \\system\\app\\ImCredentialProvider.apk\\system\\app\\ImProvider.apk \\system\\app\\Launcher.apk启动加载器(br) \\system\\app\\Maps.apk电子地图 \\system\\app\\Maps.odex\\system\\app\\MediaProvider.apk多媒体播放提供 \\system\\app\\MediaProvider.odex\\system\\app\\Mms.apk短信、彩信 \\system\\app\\Mms.odex\\system\\app\\Music.apk音乐播放器 \\system\\app\\Music.odex\\system\\app\\MyFaves.apk T-Mobile MyFaves程序 \\system\\app\\MyFaves.odex\\system\\app\\PackageInstaller.apk apk安装程序\\system\\app\\PackageInstaller.odex\\system\\app\\Phone.apk电话拨号器 \\system\\app\\Phone.odex\\system\\app\\Settings.apk系统设置 \\system\\app\\Settings.odex\\system\\app\\SettingsProvider.apk设置提供

C++文件操作详解(ifstream、ofstream、fstream)

C++文件操作详解(ifstream 、ofstream 、fstream ) C++通过以下几个类支持文件的输入输岀: ofstream: 写操作(输岀)的文件类 ifstream: 读操作(输入)的文件类 fstream: 可同时读写操作的文件类 打开 文件(Open a file ) 对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来, 也就是说打开 一个文件。被打开的文件在程序中由一个流对象 (stream object )来表示(这些类的一个实例), 而对这个流对象所做的任何输入输岀操作实际就是对该文件所做的操作。 要通过一个流对象打开一个文件,我们使用它的成员函数 open (): void ope n (const char * file name, ope nm ode mode ); 这里file name 是一个字符串,代表要打开的文件名, mode 是以下标志符的一个组合: ios::i n 为输入(读)而打开文件 ios::out 为输岀(写)而打开文件 ios::ate 初始位置:文件尾 ios::app 所有输岀附加在文件末尾 ios::tru nc 如果文件已存在则先删除该文件 ios::b inary 二进制方式 这些标识符可以被组合使用,中间以 ”或”操作符(|)间隔。例如,如果我们想要以二进制方式打 开文件"example.bin" 来写入一些数据,我们可以通过以下方式调用成员函数 open ()来实现: ofstream file; file.ope n ("example.b in ”,ios::out | ios::app | ios::b in ary ); ofstream, ifstream 和fstream 所有这些类的成员函数 ope n 都包含了一个默认打开文件的方 式,这三个类的默认方式各不相同: 类 参数的默认方式 ofstream i os::out | ios::trunc ifstream i os::in fstream ios::i n | ios::out 只有当函数被调用时没有声明方式参数的情况下, 默认值才会被采用。 如果函数被调用时声明了 任何参数,默认值将被完全改写,而不会与调用参数组合。 由于对类ofstream, ifstream 和fstream 的对象所进行的第一个操作通常都是打开文件,这 些类都有一个构造函数可以直接调用 open 函数,并拥有同样的参数。这样,我们就可以通过以 下方式进行与上面同样的定义对象和打开文件的操作: (由ostream 引申而来) (由istream 引申而来) (由iostream 引申而来)

zheng-环境搭建及系统部署文档20170213(三版)

1Een 项目描述 基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构:内容管理系统(门户、博客、论坛、问答等)、统一支付中心(微信、支付宝、在线网银等)、用户权限管理系统(RBAC细粒度用户权限、统一后台、单点登录、会话管理)、微信管理系统、第三方登录系统、会员系统、存储系统 https://www.360docs.net/doc/be1086031.html,/zhengAdmin/src/ 2项目组织结构

3项目模块图 4项目使用到的技术4.1后端技术 Spring Framework SpringMVC: MVC框架

Spring secutity|Shiro: 安全框架 Spring session: 分布式Session管理MyBatis: ORM框架 MyBatis Generator: 代码生成 Druid: 数据库连接池 Jsp|Velocity|Thymeleaf: 模板引擎ZooKeeper: 协调服务 Dubbo: 分布式服务框架 TBSchedule|elastic-job: 分布式调度框架Redis: 分布式缓存数据库 Quartz: 作业调度框架 Ehcache: 缓存框架 ActiveMQ: 消息队列 Solr|Elasticsearch: 分布式全文搜索引擎FastDFS: 分布式文件系统 Log4J: 日志管理 Swagger2: 接口文档 sequence: 分布式高效ID生产 https://www.360docs.net/doc/be1086031.html,/yu120/sequence AliOSS|Qiniu: 云存储 Protobuf|json: 数据传输 Jenkins: 持续集成工具 Maven|Gradle: 项目构建管理

iec61850icd模型文件属性详解

ICD模型文件属性详解 目录

0 前言 (5) 1 术语 (5) 2 概述 (5) 2.1SCL语言介绍 (5) 2.2SCL文件分类 (6) 3 工程实施过程 (8) 3.1公共部分 (8) 3.2我们监控与我们装置 (8) 3.3我们监控与外厂家装置 (8) 3.4我们装置与外厂家监控 (9) 4 文件错误验证规则 (9) 4.1验证规则概述 (9) 4.2语法验证细则 (9) 4.2.1 SCL节点 (9) 4.2.2 Header节点 (10) 4.2.3 History节点 (10) 4.2.4 Hitem节点 (10) 4.2.5 Communication节点 (11) 4.2.6 SubNetwork节点 (11) 4.2.7 BitRate节点 (11) 4.2.8 ConnectedAP节点 (11) 4.2.9 Address节点 (12) 4.2.10 P节点 (12) 4.2.11 GSE节点 (12) 4.2.12 MinTime、MaxTime节点 (12) 4.2.13 SMV节点 (12) 4.2.14 PhysConn节点 (13) 4.2.15 IED节点 (13) 4.2.16 Services节点 (14) 4.2.17 DynAssociation节点 (14) 4.2.18 SettingGroups节点 (14) 4.2.19 GetDirectory节点 (15) 4.2.20 GetDataObjectDefinition节点 (15) 4.2.21 DataObjectDirectory节点 (15) 4.2.22 GetDataSetValue节点 (15) 4.2.23 SetDataSetValue节点 (15) 4.2.24 DataSetDirectory节点 (15) 4.2.25 ConfDataSet节点 (15) 4.2.26 DynDataSet节点 (15) 4.2.27 ReadWrite节点 (16) 4.2.28 TimerActivatedControl节点 (16) 4.2.29 ConfReportControl节点 (16)

Linux fstab文件问题解决(百分百解决)

fstab文件详解 1 fstab文件的作用 文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过mount /directoryname命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsck、mount、umount的等命令都利用该程序。 2. fstab文件格式 下面是/etc/fatab文件的一个示例行: fs_spec fs_file fs_type fs_options fs_dump fs_pass /dev/hda1 / ext2 defaults 1 1 fs_spec - 该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:IDE设备一般描述为/dev/hdaXN,X是IDE设备通道(a, b, or c),N代表分区号;SCSI设备一描述为/dev/sdaXN。对于NFS情况,格式一般为: ,例如:`knuth.aeb.nl:/。对于procfs,使用`proc来定义。 fs_file - 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。 fs_type - 定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、iso9600等。 codepage国家语言代码页 iocharset字符集 fs_options - 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用defaults就可以满足需要。其他常见的选项包括: 选项含义 ro 以只读模式加载该文件系统 sync 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度 user 允许普通用户加载该文件系统 quota 强制在该文件系统上进行磁盘定额限制 noauto 不再使用mount -a命令(例如系统启动时)加载该文件系统 fs_dump - 该选项被dump命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0 fs_pass - 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统/对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0 3. 示例文件 # /etc/fstab /dev/hda8 swap swap defaults 0 0 /dev/hda9 / ext2 defaults 1 1 /dev/hda6 /wine vfat defaults,codepage=936,iocharset=cp936 0 0 /dev/hda7 /winf vfat defaults,codepage=936,iocharset=cp936 0 0 /dev/hdb /cdrom iso9660 noauto,user 0 0 none /proc proc defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 fstab中存放了与分区有关的重要信息,其中每一行为一个分区记录,每一行又可分为六个部份,下面以/dev/hda7 / ext2 defaults 1 1为例逐个说明: 1. 第一项是您想要mount的储存装置的实体位置,如hdb或/dev/hda6。

Linux 文件系统详解

文件系统粗略的分类: 下面依次进行介绍: 根文件系统 根文件系统(rootfs)是内核启动时所 mount(挂载)的第一个文件系统,内核代码映像文件保存在根文件系中,而系统引导启动程序会在根文件系统 挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。 根文件系统的根目录/下有很多子目录:

虚拟文件系统 从上面的分类图中我们可以知道Linux中有很多文件系统,并且是共存的。那么在Linux中是怎么做到让一切都是文件呢?这是由于有一层虚拟文件系统软件抽象层的存在,这个软件抽象层为用户屏蔽了底层文件系统的差异,向上层提供了统一地访问接口。如图:

无论最下层的文件系统是什么,我们最上层的用户端尽管使用系统调用接口(open、write、read等)或glibc接口(fopen、fwrite、fread等)来操作就可访问文件系统里的文件,使得一切都是文件成为可能。 真文件系统 真文件系统其实是实际存储设备的文件系统,挂载于EEPROM、 Nor FLASH、 NAND FLASH、 eMMC 等存储器中。 1、ext2 EXT2第二代扩展文件系统(second extended filesystem,缩写为ext2),是Linux内核早期所用的文件系统,但是随着技术的发展 ext2 文件系统已经不推荐使用了。ext2是一个非日志文件系统。 2、ext3 EXT3是第三代扩展文件系统(Third extended filesystem,缩写为ext3),是一个日志文件系统。主要特点: ?高可用性:系统使用了ext3文件系统后,即使在非正常关机后,系统也不需要检查文件系统。宕机发生后,恢复ext3文件系统的时间只要数十秒钟。?数据完整性:ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。 3、ext4 EXT4是第四代扩展文件系统(Fourth extended filesystem,缩写为ext4)是一个日志文件系统,是ext3文件系统的后继版本。主要特点: ?更多的子目录数量:Ext3目前只支持32000个子目录,而Ext4取消了这一限制,理论上支持无限数量的子目录。 ?更多的块和i-节点数量:Ext3文件系统使用32位空间记录块数量和i-节点数量,而Ext4文件系统将它们扩充到64位。 伪文件系统

C++文件操作详细解

C++文件操作详解(ifstream、ofstream、fstream)C++ 通过以下几个类支持文件的输入输出:

你可以通过调用成员函数is_open()来检查一个文件是否已经被顺利的打开了: bool is_open(); 它返回一个布尔(bool)值,为真(true)代表文件已经被顺利打开,假( false )则相反。 关闭文件(Closing a file) 当文件读写操作完成之后,我们必须将文件关闭以使文件重新变为可访问的。关闭文件需要调用成员函数close(),它负责将缓存中的数据排放出来并关闭文件。它的格式很简单: void close (); 这个函数一旦被调用,原先的流对象(stream object)就可以被用来打开其它的文件了,这个文件也就可以重新被其它的进程(process)所有访问了。 为防止流对象被销毁时还联系着打开的文件,析构函数(destructor)将会自动调用关闭函数close。 文本文件(Text mode files)

类ofstream, ifstream 和fstream 是分别从ostream, istream 和iostream 中引申而来的。这就是为什么 fstream 的对象可以使用其父类的成员来访问数据。 一般来说,我们将使用这些类与同控制台(console)交互同样的成员函数(cin 和 cout)来进行输入输出。如下面的例题所示,我们使用重载的插入操作符<<: // writing on a text file #include int main () { ofstream examplefile ("example.txt"); if (examplefile.is_open()) { examplefile << "This is a line.\n"; examplefile << "This is another line.\n"; examplefile.close(); } return 0; file example.txt This is a line. This is another line.

Velocity教程

Velocity教程 关键字: velocity教程 Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 官方网站:https://www.360docs.net/doc/be1086031.html,/velocity/ Velocity脚本摘要 1、声明:#set ($var=XXX) 左边可以是以下的内容 Variable reference String literal Property reference Method reference Number literal #set ($i=1) ArrayList #set ($arr=["yt1","t2"]) 技持算术运算符 2、注释: 单行## XXX 多行#* xxx xxxx xxxxxxxxxxxx*# References 引用的类型 3、变量Variables 以"$" 开头,第一个字符必须为字母。character followed by a VTL Identifier. (a .. z or A .. Z). 变量可以包含的字符有以下内容: alphabetic (a .. z, A .. Z) numeric (0 .. 9) hyphen ("-") underscore ("_") 4、Properties $Identifier.Identifier $https://www.360docs.net/doc/be1086031.html,

文件属性详解

linux中各种文件类型 普通文件(- regular file) (1)文本文件。文件中的内容是由文本构成的,文本指的是ASCII码字符。文件里的内容本质上都是数字(不管什么文件内容本质上都是数字,因为计算机中本身就只有1和0),而文本文件中的数字本身应该被理解为这个数字对应的ASCII码。常见的.c 文件, .h文件 .txt文件等都是文本文件。文本文件的好处就是可以被人轻松读懂和编写。所以说文本文件天生就是为人类发明的。 (2)二进制文件。二进制文件中存储的本质上也是数字,只不过这些数字并不是文字的编码数字,而是就是真正的数字。常见的可执行程序文件(gcc编译生成的a.out,arm-linux-gcc编译连接生成的.bin)都是二进制文件。 (3)对比:从本质上来看(就是刨除文件属性和内容的理解)文本文件和二进制文件并没有任何区别。都是一个文件里面存放了数字。区别是理解方式不同,如果把这些数字就当作数字处理则就是二进制文件,如果把这些数字按照某种编码格式去解码成文本字符,则就是文本文件。 (4)我们如何知道一个文件是文件文件还是二进制文件?在linux系统层面是不区分这两个的(譬如之前学过的open、read、write等方法操作文件文件和二进制文件时一点区别都没有),所以我们无法从文件本身准确知道文件属于哪种,我们只能本来就知道这个文件的类型然后用这种类型的用法去用他。有时候会用一些后缀名来人为的标记文件的类型。 (5)使用文本文件时,常规用法就是用文本文件编辑器去打开它、编辑它。常见的文本文件编辑器如vim、gedit、notepad++、SourceInsight等,我们用这些文本文件编辑器去打开文件的时候,编辑器会read读出文件二进制数字内容,然后按照编码格式去解码将其还原成文字展现给我们。如果用文本文件编辑器去打开一个二进制文件会如何?这时候编辑器就以为这个二进制文件还是文本文件然后试图去将其解码成文字,但是解码过程很多数字并不对应有意义的文字所以成了乱码。 (6)反过来用二进制阅读工具去读取文本文件会怎么样?得出的就是文本文字所对应的二进制的编码。 目录文件(d directory) (1)目录就是文件夹,文件夹在linux中也是一种文件,不过是特殊文件。用vi打开一个文件夹就能看到,文件夹其实也是一种特殊文件,里面存的内容包括这个文件的路径,还有文件夹里面的文件列表。 (2)但是文件夹这种文件比较特殊,本身并不适合用普通的方式来读写。linux中是使用特殊的一些API来专门读写文件夹的。 字符设备文件(c character) 块设备文件(b block) (1)设备文件对应的是硬件设备,也就是说这个文件虽然在文件系统中存在,但是并不是真正存在于硬盘上的一个文件,而是文件系统虚拟制造出来的(叫虚拟文件系统,如/dev /sys /proc等) (2)虚拟文件系统中的文件大多数不能或者说不用直接读写的,而是用一些特殊的API产生或者使用的,具体在驱动阶段会详解。 管道文件(p pipe) 套接字文件(s socket) 符号链接文件(l link)

Mdadm详解

Mdadm详解 1.1 mdadm定义 mdadm是multiple devices admin的简称,它是Linux下的一款标准的软件RAID 管理工具,作者是Neil Brown。众所周知,raidtools是Linux下一款经典的用于管理软件RAID 的工具,但是因为配置/etc/raidtab比较繁琐,而且其功能有限,所以现在越来越多的人选择mdadm。和raidtools 相比,mdadm是一个单独集成化的程序而不是一些分散程序的集合,因此对不同RAID管理命令有共通的语法,不仅能够诊断、监控和收集详细的阵列信息,而且能够执行几乎所有的功能而不需要配置文件(也没有默认的配置文件)。当然,如果需要一个配置文件,mdadm将帮助管理它的内容。 1.2 mdadm用法 基本语法:mdadm [mode] [options] 目前支持:LINEAR, RAID0(striping), RAID1(mirroring), RAID4, RAID5, RAID6, RAID10, MULTIPATH和FAULTY 1.3 mdadm的工作模式: Assemble:加入一个以前定义的阵列 Build:创建一个没有超级块的阵列 Create:创建一个新的阵列,每个设备具有超级块 Manage:管理阵列(如添加和删除) Misc:允许单独对阵列中的某个设备进行操作(如停止阵列) Follow or Monitor:监控RAID的状态 Grow:改变RAID的容量或阵列中的设备数目 选项: -A, --assemble:加入一个以前定义的阵列 -B, --build:创建一个没有超级块的阵列(Build a legacy array without superblocks.) -C, --create:创建一个新的阵列 -F, --follow, --monitor:选择监控(Monitor)模式 -G, --grow:改变激活阵列的大小或形态 -I, --incremental:添加一个单独的设备到合适的阵列,并可能启动阵列 --auto-detect:请求内核启动任何自动检测到的阵列 -h, --help:帮助信息,用在以上选项后,则显示该选项信息 --help-options:显示更详细的帮助 -V, --version:打印mdadm的版本信息 -v, --verbose:显示细节 -b, --brief:较少的细节。用于 --detail 和 --examine 选项 -Q, --query:查看一个device,判断它为一个 md device 或是一个 md 阵列的一部分 -D, --detail:打印一个或多个 md device 的详细信息 -E, --examine:打印 device 上的 md superblock 的内容 -c, --config= :指定配置文件,缺省为 /etc/mdadm.conf -s, --scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息。配置文件/etc/mdadm.conf 1.4 mdadm创建RAID 5 使用mdadm创建在/dev/md0上创建一个由sdb、sdc、sdd3块盘组成(另外1块盘sde为热备盘)的RAID5:

相关文档
最新文档