avatar
弱弱的问下ipad# Apple - 家有苹果
p*r
1
刚刚工作,这个account里面可以免税存一笔钱用于以后看病,每年上限是五千,可以
不交税,请问我
应该存多少钱划算,是不是越多越好
avatar
h*a
2
ZIPCODE21044 附近求可以说中文的能接受成人学生的钢琴老师,小时候曾经学过2,3
年,从去年开始重新拾起,但是之前的老师搬家走了,希望找到能够长期学下去的老师。
如果有推荐的或者您就可以,请站内短我~~~~
avatar
kx
3
就是如何编程实现对一个文件,随机插入或者删除一个字节
我只知道如何从头开始顺序读写,或者文件尾部追加写入
或者用随机定位函数任意定位后读写该位置的内容
但是不知道如何在文件的任意位置定位后,插入或者删除一个字节
变通的做法,就只能重新建一个同名文件,从头开始全部重写一遍
可是如果很大的文件这样做就太辛苦了
我想应该有在任意位置插入或删除的办法的吧
avatar
d*2
4
5月份想回趟国,打算送姐姐一个,不知道这ipad是不是和笔记本电脑一样只要有网络
就可以用呢?请大侠们回答一下阿。谢谢
avatar
t*g
5
花不光就会给白收走了.
家里没啥人经常看病拔牙的话别放太多.

【在 p***r 的大作中提到】
: 刚刚工作,这个account里面可以免税存一笔钱用于以后看病,每年上限是五千,可以
: 不交税,请问我
: 应该存多少钱划算,是不是越多越好

avatar
h*a
6
没有人么??
avatar
x*n
7
能有啥办法?修改的位置后面的部分肯定得重写啊。
一般需要修改大文件的程序为了不在修改期间使得这个文件不可用,会先用另外一个文
件名写,完了再rename到原来的文件名,并且删除原来的文件。不过最多就需要两倍的
磁盘空间了。要是主流的文件系统支持只重写修改了的部分的方法,这些程序早就用了。
太阳的zfs倒是支持冗余的磁盘块只保存一次,也就是说你如果把一个文件复制一次,
并不占用额外的磁盘空间。但是你添加或者删除一个字符,后面所有的磁盘块都要变吧
。。除非磁盘块和数据库的数据块一样支持里面有不用的字节。这个我倒没有研究过,
不过没听说过可以这样。

【在 kx 的大作中提到】
: 就是如何编程实现对一个文件,随机插入或者删除一个字节
: 我只知道如何从头开始顺序读写,或者文件尾部追加写入
: 或者用随机定位函数任意定位后读写该位置的内容
: 但是不知道如何在文件的任意位置定位后,插入或者删除一个字节
: 变通的做法,就只能重新建一个同名文件,从头开始全部重写一遍
: 可是如果很大的文件这样做就太辛苦了
: 我想应该有在任意位置插入或删除的办法的吧

avatar
l*t
8
是的。其实没有网络也可以用啊。
avatar
i*y
9
FSA每年用不掉就不能以后继续用。估计每年看病花多少钱就放多少

【在 p***r 的大作中提到】
: 刚刚工作,这个account里面可以免税存一笔钱用于以后看病,每年上限是五千,可以
: 不交税,请问我
: 应该存多少钱划算,是不是越多越好

avatar
kx
10
居然是这样啊
我震惊了
可现在操作系统不都是支持文件碎片的么,
也就是说同一个文件可以分成多个部分,存在不同的地方,
那我猜每个部分开始和结束的地方,
肯定跟链表一样存有下一个磁盘块的地址,总不可能把每个部分的地址都存在操作系统里
如果都能做到这点了,
那文件里面插入或者删除一部分内容应该也是可以做到的吧
像链表一样处理就行
可居然会不支持:(

了。

【在 x******n 的大作中提到】
: 能有啥办法?修改的位置后面的部分肯定得重写啊。
: 一般需要修改大文件的程序为了不在修改期间使得这个文件不可用,会先用另外一个文
: 件名写,完了再rename到原来的文件名,并且删除原来的文件。不过最多就需要两倍的
: 磁盘空间了。要是主流的文件系统支持只重写修改了的部分的方法,这些程序早就用了。
: 太阳的zfs倒是支持冗余的磁盘块只保存一次,也就是说你如果把一个文件复制一次,
: 并不占用额外的磁盘空间。但是你添加或者删除一个字符,后面所有的磁盘块都要变吧
: 。。除非磁盘块和数据库的数据块一样支持里面有不用的字节。这个我倒没有研究过,
: 不过没听说过可以这样。

avatar
r*e
11
没有网络失去网板的意义了,这东西就是看ebook和上网浏览的,电池和屏幕比较好。

【在 d****2 的大作中提到】
: 5月份想回趟国,打算送姐姐一个,不知道这ipad是不是和笔记本电脑一样只要有网络
: 就可以用呢?请大侠们回答一下阿。谢谢

avatar
p*r
12
Thanks, that just clarifying a lot

【在 i**y 的大作中提到】
: FSA每年用不掉就不能以后继续用。估计每年看病花多少钱就放多少
avatar
x*n
13
但是每个磁盘块是装满的啊,要实现你说的必须要么插入和删除整磁盘块的内容,要么
允许磁盘块里有气泡。

统里

【在 kx 的大作中提到】
: 居然是这样啊
: 我震惊了
: 可现在操作系统不都是支持文件碎片的么,
: 也就是说同一个文件可以分成多个部分,存在不同的地方,
: 那我猜每个部分开始和结束的地方,
: 肯定跟链表一样存有下一个磁盘块的地址,总不可能把每个部分的地址都存在操作系统里
: 如果都能做到这点了,
: 那文件里面插入或者删除一部分内容应该也是可以做到的吧
: 像链表一样处理就行
: 可居然会不支持:(

avatar
l*t
14

打游戏,看ebook,其实都不需要网络啊。

【在 r**********e 的大作中提到】
: 没有网络失去网板的意义了,这东西就是看ebook和上网浏览的,电池和屏幕比较好。
avatar
kx
15
不要气泡啊
比如假设原来一个连续的数据块是100格,因为他和后续的数据是连续存放的,
所以所有的100格里面都是放的数据
现在要插入1格,
那就把原来的100的最后1格换成地址,然后把这第100格和插入的1格放到那个地址所指
向的地方
这样的坏处就是要有一个标志,来表示每格里面放的到底是数据还是地址
hoho
够敢想吧
;)

【在 x******n 的大作中提到】
: 但是每个磁盘块是装满的啊,要实现你说的必须要么插入和删除整磁盘块的内容,要么
: 允许磁盘块里有气泡。
:
: 统里

avatar
d*2
16
谢谢大家回答阿,那可不可以上网聊天阿?
avatar
x*n
17
看不懂,你说的一格是一个字节还是一个磁盘块啊,你说的插入是插入到中间还是添加
到末尾啊?

【在 kx 的大作中提到】
: 不要气泡啊
: 比如假设原来一个连续的数据块是100格,因为他和后续的数据是连续存放的,
: 所以所有的100格里面都是放的数据
: 现在要插入1格,
: 那就把原来的100的最后1格换成地址,然后把这第100格和插入的1格放到那个地址所指
: 向的地方
: 这样的坏处就是要有一个标志,来表示每格里面放的到底是数据还是地址
: hoho
: 够敢想吧
: ;)

avatar
l*t
18

没有摄像头,所以不能视频聊天,至少是不方便。
盖棉被纯聊天不带看的就可以。

【在 d****2 的大作中提到】
: 谢谢大家回答阿,那可不可以上网聊天阿?
avatar
kx
19
我说一格就是一个单位的意思
管他一个字节还是一个磁盘块呢
不过我想放地址的话,用不着太多位吧
我换个方式重说一遍
假设有个150字节的文件,在磁盘上连续存放
现在我要在100字节处插入1个字节
再假设地址需要32位4个字节的话
那就把97-100共4个字节的数据提取出来,
存放地址,指向一个新的磁盘位置
然后在该磁盘位置,存上原来97-100的4个字节的数据,再加上原本想要插入的1个字节
数据,共5个字节,结尾再用4个字节,存放地址,指向原来的
101字节的地址
就连上啦,哈哈

所指

【在 x******n 的大作中提到】
: 看不懂,你说的一格是一个字节还是一个磁盘块啊,你说的插入是插入到中间还是添加
: 到末尾啊?

avatar
x*n
20
磁盘存储是以块为单位的,比如4K,所谓的指针链接也是指块之间,块内是连续的数据
,所以你的150字节的文件需要占用一个块,也就是4KB的磁盘空间。按照你这种插入法
,就是说你的新文件要占用3个块,12KB,其中第一个块包含100字节数据,第二个块包
含5字节数据,第三个块包含46字节数据,自然三个块里大部分都是气泡了。我不知道
有哪种文件系统支持块里有气泡的(除去最后一块),理论上当然可能,数据库文件一
般就是这样的,不过文件系统毕竟和数据库很不一样,不值得为了像你说的这种少见的
use case来严重牺牲性能。
当然你要想设计一种一块就是一个字节的文件系统,那也行,不过你这个描述还是不够
,你咋知道97-100这4个字节的位置存的是指针而不是数据?于是乎每个字节你要拿出
一位来存放一个标志位,于是乎你160个字节的空间只能存放140个字节的数据,而且都
乱了套了,读取的时候还得解码。

【在 kx 的大作中提到】
: 我说一格就是一个单位的意思
: 管他一个字节还是一个磁盘块呢
: 不过我想放地址的话,用不着太多位吧
: 我换个方式重说一遍
: 假设有个150字节的文件,在磁盘上连续存放
: 现在我要在100字节处插入1个字节
: 再假设地址需要32位4个字节的话
: 那就把97-100共4个字节的数据提取出来,
: 存放地址,指向一个新的磁盘位置
: 然后在该磁盘位置,存上原来97-100的4个字节的数据,再加上原本想要插入的1个字节

avatar
kx
21
那文件碎片化存放是怎么实现的呢?
就用那个方式不行么?
就是中间加了一个碎片呗

字节

【在 x******n 的大作中提到】
: 磁盘存储是以块为单位的,比如4K,所谓的指针链接也是指块之间,块内是连续的数据
: ,所以你的150字节的文件需要占用一个块,也就是4KB的磁盘空间。按照你这种插入法
: ,就是说你的新文件要占用3个块,12KB,其中第一个块包含100字节数据,第二个块包
: 含5字节数据,第三个块包含46字节数据,自然三个块里大部分都是气泡了。我不知道
: 有哪种文件系统支持块里有气泡的(除去最后一块),理论上当然可能,数据库文件一
: 般就是这样的,不过文件系统毕竟和数据库很不一样,不值得为了像你说的这种少见的
: use case来严重牺牲性能。
: 当然你要想设计一种一块就是一个字节的文件系统,那也行,不过你这个描述还是不够
: ,你咋知道97-100这4个字节的位置存的是指针而不是数据?于是乎每个字节你要拿出
: 一位来存放一个标志位,于是乎你160个字节的空间只能存放140个字节的数据,而且都

avatar
x*n
22
我第二段不就是在说为啥你这个方式不行么?
一个文件包含多个磁盘块啊,每个块可以位于磁盘上的任何位置啊,块之间使用指针链
接起来的啊。如果块太大,就不能充分利用每个文件最后一个块里的空间;如果块太小
,指针的overhead就大了。

【在 kx 的大作中提到】
: 那文件碎片化存放是怎么实现的呢?
: 就用那个方式不行么?
: 就是中间加了一个碎片呗
:
: 字节

avatar
kx
23

我理解成别的意思了
以为你说的是一种设想
而其实就是现行的做法了
不过,对一个很大的文件来说,
就算为了插入一个字节,消耗4k的磁盘块,总比完全重写整个文件要划算一点吧
或者小文件就完全重写,大文件就用碎片管理的方法插入?
当然,我也知道,对比的双方一个是磁盘空间,一个是资源的消耗,不完全可比

【在 x******n 的大作中提到】
: 我第二段不就是在说为啥你这个方式不行么?
: 一个文件包含多个磁盘块啊,每个块可以位于磁盘上的任何位置啊,块之间使用指针链
: 接起来的啊。如果块太大,就不能充分利用每个文件最后一个块里的空间;如果块太小
: ,指针的overhead就大了。

avatar
d*9
24
unix下用split命令先把file分成下files,然后随意加减(echo》或trancate),后再用cat把files into one file。

【在 kx 的大作中提到】
: 就是如何编程实现对一个文件,随机插入或者删除一个字节
: 我只知道如何从头开始顺序读写,或者文件尾部追加写入
: 或者用随机定位函数任意定位后读写该位置的内容
: 但是不知道如何在文件的任意位置定位后,插入或者删除一个字节
: 变通的做法,就只能重新建一个同名文件,从头开始全部重写一遍
: 可是如果很大的文件这样做就太辛苦了
: 我想应该有在任意位置插入或删除的办法的吧

avatar
x*n
25
这个cat不就是把文件重写一次。。

再用cat把files into one file。

【在 d*****9 的大作中提到】
: unix下用split命令先把file分成下files,然后随意加减(echo》或trancate),后再用cat把files into one file。
avatar
x*n
26
但是重写大文件再现实中很少需要的,一般的用户数据文件都比较小,比较大的基本只
有数据库的例子,而数据库是不依赖文件系统自己直接管理磁盘空间的,支持块里有气
泡。大的文件需要重写的例子有,比如sphinx的全文索引,但是很少。
你如果需要经常重写大的数据文件,可以考虑:
1. 使用多个小的数据文件,代替单个大文件
2. 使用一个delta文件,定期和主文件合并
3. 使用SQLite数据库

【在 kx 的大作中提到】
: 哦
: 我理解成别的意思了
: 以为你说的是一种设想
: 而其实就是现行的做法了
: 不过,对一个很大的文件来说,
: 就算为了插入一个字节,消耗4k的磁盘块,总比完全重写整个文件要划算一点吧
: 或者小文件就完全重写,大文件就用碎片管理的方法插入?
: 当然,我也知道,对比的双方一个是磁盘空间,一个是资源的消耗,不完全可比

avatar
d*9
27
那就echo后面的文件到前面的就是了。
不过,俺记不得了,hd management有没有允许俩文件都reference同一block without
making a duplicate before any changes?譬如copy cmd。

【在 x******n 的大作中提到】
: 这个cat不就是把文件重写一次。。
:
: 再用cat把files into one file。

avatar
x*n
28
zfs有这个功能,大部分文件系统都不支持。如果支持的话对应用是透明的,跟copy
cmd啥没关系,这些应用层程序是构建于文件系统之上的,不会知道什么数据存在了哪
个磁盘块里。
不过要在文件中间插入字节,不是这么简单的,除非你插入的是一个block大小的整数
倍,否则后面所有的block必然都和以前不同了。

without

【在 d*****9 的大作中提到】
: 那就echo后面的文件到前面的就是了。
: 不过,俺记不得了,hd management有没有允许俩文件都reference同一block without
: making a duplicate before any changes?譬如copy cmd。

avatar
kx
29
了解
清楚
got it
3q

【在 x******n 的大作中提到】
: 但是重写大文件再现实中很少需要的,一般的用户数据文件都比较小,比较大的基本只
: 有数据库的例子,而数据库是不依赖文件系统自己直接管理磁盘空间的,支持块里有气
: 泡。大的文件需要重写的例子有,比如sphinx的全文索引,但是很少。
: 你如果需要经常重写大的数据文件,可以考虑:
: 1. 使用多个小的数据文件,代替单个大文件
: 2. 使用一个delta文件,定期和主文件合并
: 3. 使用SQLite数据库

avatar
kx
30
就是如何编程实现对一个文件,随机插入或者删除一个字节
我只知道如何从头开始顺序读写,或者文件尾部追加写入
或者用随机定位函数任意定位后读写该位置的内容
但是不知道如何在文件的任意位置定位后,插入或者删除一个字节
变通的做法,就只能重新建一个同名文件,从头开始全部重写一遍
可是如果很大的文件这样做就太辛苦了
我想应该有在任意位置插入或删除的办法的吧
avatar
x*n
31
能有啥办法?修改的位置后面的部分肯定得重写啊。
一般需要修改大文件的程序为了不在修改期间使得这个文件不可用,会先用另外一个文
件名写,完了再rename到原来的文件名,并且删除原来的文件。不过最多就需要两倍的
磁盘空间了。要是主流的文件系统支持只重写修改了的部分的方法,这些程序早就用了。
太阳的zfs倒是支持冗余的磁盘块只保存一次,也就是说你如果把一个文件复制一次,
并不占用额外的磁盘空间。但是你添加或者删除一个字符,后面所有的磁盘块都要变吧
。。除非磁盘块和数据库的数据块一样支持里面有不用的字节。这个我倒没有研究过,
不过没听说过可以这样。

【在 kx 的大作中提到】
: 就是如何编程实现对一个文件,随机插入或者删除一个字节
: 我只知道如何从头开始顺序读写,或者文件尾部追加写入
: 或者用随机定位函数任意定位后读写该位置的内容
: 但是不知道如何在文件的任意位置定位后,插入或者删除一个字节
: 变通的做法,就只能重新建一个同名文件,从头开始全部重写一遍
: 可是如果很大的文件这样做就太辛苦了
: 我想应该有在任意位置插入或删除的办法的吧

avatar
kx
32
居然是这样啊
我震惊了
可现在操作系统不都是支持文件碎片的么,
也就是说同一个文件可以分成多个部分,存在不同的地方,
那我猜每个部分开始和结束的地方,
肯定跟链表一样存有下一个磁盘块的地址,总不可能把每个部分的地址都存在操作系统里
如果都能做到这点了,
那文件里面插入或者删除一部分内容应该也是可以做到的吧
像链表一样处理就行
可居然会不支持:(

了。

【在 x******n 的大作中提到】
: 能有啥办法?修改的位置后面的部分肯定得重写啊。
: 一般需要修改大文件的程序为了不在修改期间使得这个文件不可用,会先用另外一个文
: 件名写,完了再rename到原来的文件名,并且删除原来的文件。不过最多就需要两倍的
: 磁盘空间了。要是主流的文件系统支持只重写修改了的部分的方法,这些程序早就用了。
: 太阳的zfs倒是支持冗余的磁盘块只保存一次,也就是说你如果把一个文件复制一次,
: 并不占用额外的磁盘空间。但是你添加或者删除一个字符,后面所有的磁盘块都要变吧
: 。。除非磁盘块和数据库的数据块一样支持里面有不用的字节。这个我倒没有研究过,
: 不过没听说过可以这样。

avatar
x*n
33
但是每个磁盘块是装满的啊,要实现你说的必须要么插入和删除整磁盘块的内容,要么
允许磁盘块里有气泡。

统里

【在 kx 的大作中提到】
: 居然是这样啊
: 我震惊了
: 可现在操作系统不都是支持文件碎片的么,
: 也就是说同一个文件可以分成多个部分,存在不同的地方,
: 那我猜每个部分开始和结束的地方,
: 肯定跟链表一样存有下一个磁盘块的地址,总不可能把每个部分的地址都存在操作系统里
: 如果都能做到这点了,
: 那文件里面插入或者删除一部分内容应该也是可以做到的吧
: 像链表一样处理就行
: 可居然会不支持:(

avatar
kx
34
不要气泡啊
比如假设原来一个连续的数据块是100格,因为他和后续的数据是连续存放的,
所以所有的100格里面都是放的数据
现在要插入1格,
那就把原来的100的最后1格换成地址,然后把这第100格和插入的1格放到那个地址所指
向的地方
这样的坏处就是要有一个标志,来表示每格里面放的到底是数据还是地址
hoho
够敢想吧
;)

【在 x******n 的大作中提到】
: 但是每个磁盘块是装满的啊,要实现你说的必须要么插入和删除整磁盘块的内容,要么
: 允许磁盘块里有气泡。
:
: 统里

avatar
x*n
35
看不懂,你说的一格是一个字节还是一个磁盘块啊,你说的插入是插入到中间还是添加
到末尾啊?

【在 kx 的大作中提到】
: 不要气泡啊
: 比如假设原来一个连续的数据块是100格,因为他和后续的数据是连续存放的,
: 所以所有的100格里面都是放的数据
: 现在要插入1格,
: 那就把原来的100的最后1格换成地址,然后把这第100格和插入的1格放到那个地址所指
: 向的地方
: 这样的坏处就是要有一个标志,来表示每格里面放的到底是数据还是地址
: hoho
: 够敢想吧
: ;)

avatar
kx
36
我说一格就是一个单位的意思
管他一个字节还是一个磁盘块呢
不过我想放地址的话,用不着太多位吧
我换个方式重说一遍
假设有个150字节的文件,在磁盘上连续存放
现在我要在100字节处插入1个字节
再假设地址需要32位4个字节的话
那就把97-100共4个字节的数据提取出来,
存放地址,指向一个新的磁盘位置
然后在该磁盘位置,存上原来97-100的4个字节的数据,再加上原本想要插入的1个字节
数据,共5个字节,结尾再用4个字节,存放地址,指向原来的
101字节的地址
就连上啦,哈哈

所指

【在 x******n 的大作中提到】
: 看不懂,你说的一格是一个字节还是一个磁盘块啊,你说的插入是插入到中间还是添加
: 到末尾啊?

avatar
x*n
37
磁盘存储是以块为单位的,比如4K,所谓的指针链接也是指块之间,块内是连续的数据
,所以你的150字节的文件需要占用一个块,也就是4KB的磁盘空间。按照你这种插入法
,就是说你的新文件要占用3个块,12KB,其中第一个块包含100字节数据,第二个块包
含5字节数据,第三个块包含46字节数据,自然三个块里大部分都是气泡了。我不知道
有哪种文件系统支持块里有气泡的(除去最后一块),理论上当然可能,数据库文件一
般就是这样的,不过文件系统毕竟和数据库很不一样,不值得为了像你说的这种少见的
use case来严重牺牲性能。
当然你要想设计一种一块就是一个字节的文件系统,那也行,不过你这个描述还是不够
,你咋知道97-100这4个字节的位置存的是指针而不是数据?于是乎每个字节你要拿出
一位来存放一个标志位,于是乎你160个字节的空间只能存放140个字节的数据,而且都
乱了套了,读取的时候还得解码。

【在 kx 的大作中提到】
: 我说一格就是一个单位的意思
: 管他一个字节还是一个磁盘块呢
: 不过我想放地址的话,用不着太多位吧
: 我换个方式重说一遍
: 假设有个150字节的文件,在磁盘上连续存放
: 现在我要在100字节处插入1个字节
: 再假设地址需要32位4个字节的话
: 那就把97-100共4个字节的数据提取出来,
: 存放地址,指向一个新的磁盘位置
: 然后在该磁盘位置,存上原来97-100的4个字节的数据,再加上原本想要插入的1个字节

avatar
kx
38
那文件碎片化存放是怎么实现的呢?
就用那个方式不行么?
就是中间加了一个碎片呗

字节

【在 x******n 的大作中提到】
: 磁盘存储是以块为单位的,比如4K,所谓的指针链接也是指块之间,块内是连续的数据
: ,所以你的150字节的文件需要占用一个块,也就是4KB的磁盘空间。按照你这种插入法
: ,就是说你的新文件要占用3个块,12KB,其中第一个块包含100字节数据,第二个块包
: 含5字节数据,第三个块包含46字节数据,自然三个块里大部分都是气泡了。我不知道
: 有哪种文件系统支持块里有气泡的(除去最后一块),理论上当然可能,数据库文件一
: 般就是这样的,不过文件系统毕竟和数据库很不一样,不值得为了像你说的这种少见的
: use case来严重牺牲性能。
: 当然你要想设计一种一块就是一个字节的文件系统,那也行,不过你这个描述还是不够
: ,你咋知道97-100这4个字节的位置存的是指针而不是数据?于是乎每个字节你要拿出
: 一位来存放一个标志位,于是乎你160个字节的空间只能存放140个字节的数据,而且都

avatar
x*n
39
我第二段不就是在说为啥你这个方式不行么?
一个文件包含多个磁盘块啊,每个块可以位于磁盘上的任何位置啊,块之间使用指针链
接起来的啊。如果块太大,就不能充分利用每个文件最后一个块里的空间;如果块太小
,指针的overhead就大了。

【在 kx 的大作中提到】
: 那文件碎片化存放是怎么实现的呢?
: 就用那个方式不行么?
: 就是中间加了一个碎片呗
:
: 字节

avatar
kx
40

我理解成别的意思了
以为你说的是一种设想
而其实就是现行的做法了
不过,对一个很大的文件来说,
就算为了插入一个字节,消耗4k的磁盘块,总比完全重写整个文件要划算一点吧
或者小文件就完全重写,大文件就用碎片管理的方法插入?
当然,我也知道,对比的双方一个是磁盘空间,一个是资源的消耗,不完全可比

【在 x******n 的大作中提到】
: 我第二段不就是在说为啥你这个方式不行么?
: 一个文件包含多个磁盘块啊,每个块可以位于磁盘上的任何位置啊,块之间使用指针链
: 接起来的啊。如果块太大,就不能充分利用每个文件最后一个块里的空间;如果块太小
: ,指针的overhead就大了。

avatar
d*9
41
unix下用split命令先把file分成下files,然后随意加减(echo》或trancate),后再用cat把files into one file。

【在 kx 的大作中提到】
: 就是如何编程实现对一个文件,随机插入或者删除一个字节
: 我只知道如何从头开始顺序读写,或者文件尾部追加写入
: 或者用随机定位函数任意定位后读写该位置的内容
: 但是不知道如何在文件的任意位置定位后,插入或者删除一个字节
: 变通的做法,就只能重新建一个同名文件,从头开始全部重写一遍
: 可是如果很大的文件这样做就太辛苦了
: 我想应该有在任意位置插入或删除的办法的吧

avatar
x*n
42
这个cat不就是把文件重写一次。。

再用cat把files into one file。

【在 d*****9 的大作中提到】
: unix下用split命令先把file分成下files,然后随意加减(echo》或trancate),后再用cat把files into one file。
avatar
x*n
43
但是重写大文件再现实中很少需要的,一般的用户数据文件都比较小,比较大的基本只
有数据库的例子,而数据库是不依赖文件系统自己直接管理磁盘空间的,支持块里有气
泡。大的文件需要重写的例子有,比如sphinx的全文索引,但是很少。
你如果需要经常重写大的数据文件,可以考虑:
1. 使用多个小的数据文件,代替单个大文件
2. 使用一个delta文件,定期和主文件合并
3. 使用SQLite数据库

【在 kx 的大作中提到】
: 哦
: 我理解成别的意思了
: 以为你说的是一种设想
: 而其实就是现行的做法了
: 不过,对一个很大的文件来说,
: 就算为了插入一个字节,消耗4k的磁盘块,总比完全重写整个文件要划算一点吧
: 或者小文件就完全重写,大文件就用碎片管理的方法插入?
: 当然,我也知道,对比的双方一个是磁盘空间,一个是资源的消耗,不完全可比

avatar
d*9
44
那就echo后面的文件到前面的就是了。
不过,俺记不得了,hd management有没有允许俩文件都reference同一block without
making a duplicate before any changes?譬如copy cmd。

【在 x******n 的大作中提到】
: 这个cat不就是把文件重写一次。。
:
: 再用cat把files into one file。

avatar
x*n
45
zfs有这个功能,大部分文件系统都不支持。如果支持的话对应用是透明的,跟copy
cmd啥没关系,这些应用层程序是构建于文件系统之上的,不会知道什么数据存在了哪
个磁盘块里。
不过要在文件中间插入字节,不是这么简单的,除非你插入的是一个block大小的整数
倍,否则后面所有的block必然都和以前不同了。

without

【在 d*****9 的大作中提到】
: 那就echo后面的文件到前面的就是了。
: 不过,俺记不得了,hd management有没有允许俩文件都reference同一block without
: making a duplicate before any changes?譬如copy cmd。

avatar
kx
46
了解
清楚
got it
3q

【在 x******n 的大作中提到】
: 但是重写大文件再现实中很少需要的,一般的用户数据文件都比较小,比较大的基本只
: 有数据库的例子,而数据库是不依赖文件系统自己直接管理磁盘空间的,支持块里有气
: 泡。大的文件需要重写的例子有,比如sphinx的全文索引,但是很少。
: 你如果需要经常重写大的数据文件,可以考虑:
: 1. 使用多个小的数据文件,代替单个大文件
: 2. 使用一个delta文件,定期和主文件合并
: 3. 使用SQLite数据库

avatar
m*5
47
一直以为你是元老,顺便问一下,怎么整行删除啊?每次删都用鼠标,累死了,一个字
一个字的删除,慢,累。

【在 kx 的大作中提到】
: 就是如何编程实现对一个文件,随机插入或者删除一个字节
: 我只知道如何从头开始顺序读写,或者文件尾部追加写入
: 或者用随机定位函数任意定位后读写该位置的内容
: 但是不知道如何在文件的任意位置定位后,插入或者删除一个字节
: 变通的做法,就只能重新建一个同名文件,从头开始全部重写一遍
: 可是如果很大的文件这样做就太辛苦了
: 我想应该有在任意位置插入或删除的办法的吧

avatar
A*s
48
哇,这个问题提得好!
我痛苦忍受了这么久,就没想到思索一下是不是有方便的方法。

【在 m****5 的大作中提到】
: 一直以为你是元老,顺便问一下,怎么整行删除啊?每次删都用鼠标,累死了,一个字
: 一个字的删除,慢,累。

avatar
kx
49
这个问题我的司机毛人都知道
毛人,来帮帮他吧

【在 m****5 的大作中提到】
: 一直以为你是元老,顺便问一下,怎么整行删除啊?每次删都用鼠标,累死了,一个字
: 一个字的删除,慢,累。

avatar
kx
50
具体好在哪儿?

个字

【在 A*******s 的大作中提到】
: 哇,这个问题提得好!
: 我痛苦忍受了这么久,就没想到思索一下是不是有方便的方法。

avatar
r*y
51
你也是老鸟吧
两种办法
ctrl+y
或者
ctrl+u选中要删的所有行,最后Esc d删除

【在 A*******s 的大作中提到】
: 哇,这个问题提得好!
: 我痛苦忍受了这么久,就没想到思索一下是不是有方便的方法。

avatar
A*s
52
我是一只无知的老鸟,不行么?

【在 r****y 的大作中提到】
: 你也是老鸟吧
: 两种办法
: ctrl+y
: 或者
: ctrl+u选中要删的所有行,最后Esc d删除

avatar
A*s
53
我要是早这么问,就不用痛苦这么多年了
现在才明白某句哲理:
也许生活的确如此,但任何时候你都不能认为,生活就应该如此!

【在 kx 的大作中提到】
: 具体好在哪儿?
:
: 个字

avatar
r*y
54
不是无知,是文科老鸟,耶!

【在 A*******s 的大作中提到】
: 我是一只无知的老鸟,不行么?
avatar
kx
55
太奇怪了
这么久以来我就没碰到过你那个需求
所以我一开始都不知道你们说的是啥,
可如果用cterm发新帖的话,
不是都有文本编辑框么
除非就是修改贴的时候可能没法儿用文本编辑框,
得在telnet下改,这个时候才用的上老罗说的方法
可我改贴的需求量很小
所以从来就没觉得这是个事儿
哈哈
不过即使要在telnet下改贴
要想删,用鼠标选一下也能删除选中区域啊(编辑菜单中的自动复制要去掉)
老罗是厉害
什么都知道

【在 A*******s 的大作中提到】
: 我要是早这么问,就不用痛苦这么多年了
: 现在才明白某句哲理:
: 也许生活的确如此,但任何时候你都不能认为,生活就应该如此!

avatar
kx
56
你俩掐得好看

【在 r****y 的大作中提到】
: 不是无知,是文科老鸟,耶!
avatar
A*s
57
说明你爱灌纯净水,不TS

【在 kx 的大作中提到】
: 太奇怪了
: 这么久以来我就没碰到过你那个需求
: 所以我一开始都不知道你们说的是啥,
: 可如果用cterm发新帖的话,
: 不是都有文本编辑框么
: 除非就是修改贴的时候可能没法儿用文本编辑框,
: 得在telnet下改,这个时候才用的上老罗说的方法
: 可我改贴的需求量很小
: 所以从来就没觉得这是个事儿
: 哈哈

avatar
kx
58
有人在历史版写你写过的东西
离婚砍头啥的
看不下去啊

【在 A*******s 的大作中提到】
: 说明你爱灌纯净水,不TS
avatar
A*s
59
写的很好玩啊,好多史实都是我当初没有考到的。我那个是八卦,人家这个更尊重史料。
自从这个文某次上十大被我看见之后,俺就开始追看了,咔咔

【在 kx 的大作中提到】
: 有人在历史版写你写过的东西
: 离婚砍头啥的
: 看不下去啊

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。