首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在 P2P 文件分享应用以文件或文件段为单位的优缺

本文将会告诉大家使用不同方法的优点和可能的坑方便大家在开发时候选择 存储冗余 用文件作为单位的,例如 UTorrent 工具,本身存储的文件就是用户下载的文件,除了用户下载文件之外只需要 Torrent...文件作为文件信息保存 而用文件段作为单位的,例如 IPFS 工具,将需要额外的空间存储文件段,因为一个不同的文件可能存在相同的文件段。...例如 git 管理,将会多了一份文件大小 而文件段作为单位的,依然可以使用原文件作为资源,此时需要额外记录文件偏移量 ?...索引 用文件作为单位的,可以直接指定文件 id 作为索引,从而拿到文件内容 用文件段作为单位的,从文件 id 拿到了文件包含的文件段,从文件包含的文件段里面的索引拿到文件段内容 传输 使用文件作为单位的...,需要使用下载链机制,这样才能作为支持多个设备提供下载 使用文件段作为单位的,默认就支持让一个文件从多个设备下载,因为一个文件包含多段,每一段都可以进行不影响的下载 校验 整个文件进行校验的速度会比较慢

40120

一天一个 Linux 命令(17):find 命令

,并作出相应的处理 五、常见用法 1.根据类型查找,将当前目录及其子目录中的所有文件列出 find ./ -type f 2.根据关键字来查找,将当前目录及其子目录下所有文件后缀为".log" 的文件列出...find ./ -type f -perm 644 -exec ls -l {} \; 6.根据文件大小来查找,查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径 find / -type....查找大于1K的文件,+ 表示大于 find ./ -size +1024c 13.查找小于1K的文件,- 表示小于 find ./ -size -1024c 14.根据大小查找范围,查找大小在某个范围内的文件使用...-size参数,-size +n表示大于n单位的范围,-size –n表示小于n单位的范围。...例如,查找/var/log目录下大于100k且小于400k的文件并列出它们的完整路径: find /var/log -type f -size +100k -size -400k | xargs ls

83730
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    通过split命令分割大文件

    在Windows下,安装Git Bash也可以使用split和cat命令。 分割文件的命令是split,通过输入split --help可以查询帮助信息。...当然,上边的这种写法不够人性化,我们可以使用其他的单位来指定分割的大小:k、m。k表示KB,m表示MB。...split -b 100k test.log表示将test.log按照100KB的大小进行分割。 split -b 100m test.log表示将test.log按照100MB的大小进行分割。...按照所有行数加起来的最大字节数进行分割 1 split -C 100k test.log -C参数表示按照所有行数加起来的最大字节数进行分割,同样可以使用k或者m作为单位,其实效果和上边的-b差不多,...注意点 这三种分割的方式不能混合使用,如下: 1 split -l 3000 -C 100k * 会报错split: cannot split in more than one way。

    1.9K10

    Linux文件操作高频使用命令

    tar -tf all.ta 这条命令是列出all.tar包中所有文件,-t是列出文件的意思 tar -xf all.ta 这条命令是解出all.tar包中所有文件,-x是解开的意思 压缩 tar –cvf...如配置为“100k”,find命令会查找文件大小正好100KB的文件;配置为“+100k”,find命令会查找文件大小大于100KB的文件;配置为“-100k”,find命令会查找文件大小小于100KB...如配置为2,find命令会查找刚好在48小时之前更改过内容的文件;配置为+2,find命令会查找超过在48小时之前更改过内容的文件;配置为-2,find命令会查找在48小时之内更改过内容的文件。...-mmin :查找在指定时间曾被更改过内容的文件或目录,单位以分钟计算。 cmin :查找在指定时间曾被更改过权限属性的文件或目录,单位以分钟计算。-ctime对应小时。...如配置为“0700”,find命令会查找权限数值正好是“0700”的文件或目录;配置为“+0700”,find命令会查找权限数值大于 “0700”的文件或目录;配置为“-0700”,find 选项大概有以下几类

    1.2K10

    linux基本命令集锦

    Du命令 统计目录中的文件的大小并以列表显示: du [Path] -a 全部文件 包括隐藏的。 -h 以M 为单位显示文件大小结果。 -s 统计此目录中所有文件大小总和。...   “*.txt”   -size  100k  说明:查找home下txt文件,大小为100k,如果为+100表示大于100,-100表示小于find   /home  -name   “*.txt...”   -size  100k  (-not)  -user  joyous 说明:加参数user说明是文件是属于joyous的,相反在user前加上-not表示不是他之外的 find高级用法:...Less为输出翻页 less常用参数 -M:输出一个冒号和闪烁的光标输入文件名以及文本的行号、总行数 -N:给每行加行号 然后可以在阅读的时候使用“/”发起一次向下文本搜索,“?”...Ls命令列出当前目录下的文件 使用:ls *   ls *.txt    ls  my*ls  *.txt 参数: -a 包含隐藏文件(.开头的文件是隐藏文件) -h 使用易读格式表示 -l

    94371

    github搜索技巧小结

    )、readme(仓库中的READ.md文件) 通过项目名称搜索,如名称中有spring和boot两个关键词的项目,搜索条件是in:name spring boot 通过项目描述搜索,这个是我自己用的最多的方式...:stars(star数)、forks(fork数)、pushed(最后提交时间)、size(文件大小) 搜索名称中有spring-boot且star数大于一万的项目,in:name spring-boot...stars:>10000 搜索名称中有spring-boot且fork数大于一万的项目,in:name spring-boot forks:>10000 搜索名称中有spring-boot且2021...年3月12日之后更新过的项目in:name spring-boot pushed:>2021-03-12 搜索名称中有spring-boot且内容大于100k的项目in:name spring-boot...size:>100,注意这个数字的默认单位是k: 排序 搜索出结果后,还可以对结果排序进行调整,操作位置如下图红框: 把上图红框中的每个排序类型列出来: 名称 意义 Best match 关键词匹配程度

    78930

    find命令

    简介 find是linux 命令,它将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。.../ -type d 按时间查找 使用参数: -atime 最后一次读取文件的时间(单位都是天) -mtime 文件内容最后一次被修改的时间 -ctime 上次更改文件元数据的时间(如,所有权、位置、文件类型和权限设置...find ./ ctime -30 按文件大小查找 使用参数- size 计量单位: b c w k M G 512 字节块(默认) 字节 双字节 KB MB GB --查找512字节文件 find..../ -size 1b --查找小于512字节块的文件 find ./ -size -512c --查找大于1KB的文件 find ./ -size +1k --查找大于1KB小于1MB文件 find.../a.txt Bash

    73720

    linux基础(day25)

    [root@hf-01 ~]# cat /etc/passwd |head -2 //查看文件的前两行 root:x:0:0:root:/root:/bin/bash bin:x:1:1...split命令 split 切割,将一个大文件切割成很多个小文件 -b大小(默认单位字节) 格式:split -b 100M bigfile 若不写单位,会默认是字节...,只截取了一小部分 [root@hf-01 111]# rm -f x* 在切割一个文件,在不指定任何的文件名,最后显示的切割完的文件,会是已xab,xac这样一直延续下去,若再切割一次,则会zxaaa...,zxaab等依次下去 split -b指定单位大小切割 [root@hf-01 111]# [root@hf-01 111]# split -b 100k a.txt [root@hf-01 111...111]# rm -f x* [root@hf-01 111]# 指定文件大小的同时,指定文件的名称 [root@hf-01 111]# split -b 100k a.txt abc [root@

    39920

    github搜索技巧小结

    结果如下图: [在这里插入图片描述] 模糊 模糊是锁定内容的关键,常用的有三种条件:name(项目名称)、description(项目描述)、readme(仓库中的READ.md文件) 通过项目名称搜索...,还可以指定范围,常用的类型有:stars(star数)、forks(fork数)、pushed(最后提交时间)、size(文件大小) 搜索名称中有spring-boot且star数大于一万的项目,in...:name spring-boot stars:>10000 [在这里插入图片描述] 搜索名称中有spring-boot且fork数大于一万的项目,in:name spring-boot forks:>...] 搜索名称中有spring-boot且内容大于100k的项目in:name spring-boot size:>100,注意这个数字的默认单位是**k**: [在这里插入图片描述] 排序 搜索出结果后...,还可以对结果排序进行调整,操作位置如下图红框:[在这里插入图片描述] 把上图红框中的每个排序类型列出来: 名称 意义 Best match 关键词匹配程度 Most stars 最多star Fewest

    75400

    100个Linux命令(1)-文件处理类

    开头的项目 A:列出除"."及".."...:反转排序 m:使用逗号分隔符显示文件 1:以换行符分隔文件 l pattern:忽略被pattern匹配到的文件 --color:显示颜色 注意:ls以-h显示文件大小时,一般显示的都是不带B的单位,...如K/M/G,它们的转换比例是1024,如果显示的都是带了B的,如KB/MB/GB,则它们的转换比例为1000而非1024,一般很少显示带B的大小。...匹配选项 L:设置递归显示深度,指定的深度必须是大于0的整数 P:显示通配符匹配到的目录和文件,无论是否匹配,目录一定会显示 i:显示除被通配符匹配外的所有目录和文件 显示选项 a:显示隐藏文件 d:只显示目录...l:在目标位置建立硬链接 -s:在目标位置建立软链接 注意 bash内置命令在进行通配符匹配文件的时候,"*"、"?"

    1.7K11

    shell编程03【基本语法-运算符】

    Shell 和其他编程语言一样,支持多种运算符,包括: 序号 运算符类型 1 算数运算符 2 关系运算符 3 布尔运算符 4 字符串运算符 5 文件测试运算符 1.算数运算符   原生bash不支持简单的数学运算...下表列出了常用的关系运算符,假定变量 a 为 10,变量 b 为 20 运算符 说明 举例 -eq 检测两个数是否相等,相等返回 true。 [ $a -eq $b ] 返回 false。...-gt 检测左边的数是否大于右边的,如果是,则返回 true。 [ $a -gt $b ] 返回 false。 -lt 检测左边的数是否小于右边的,如果是,则返回 true。...20: a 小于 b 10 -ge 20: a 小于 b 10 -le 20: a 小于或等于 b 3.布尔运算符   下表列出了常用的布尔运算符,假定变量 a 为 10,变量 b 为 20: 运算符...-x file 检测文件是否可执行,如果是,则返回 true。 [ -x $file ] 返回 true。 -s file 检测文件是否为空(文件大小是否大于0),不为空返回 true。

    41720

    Shell 基本运算符

    Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和...---- 算术运算符 下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20: 运算符 说明 举例 + 加法 `expr $a + $b` 结果为 30。...下表列出了常用的关系运算符,假定变量 a 为 10,变量 b 为 20: 运算符 说明 举例 -eq 检测两个数是否相等,相等返回 true。 [ $a -eq $b ] 返回 false。...20: a 小于或等于 b ---- 布尔运算符 下表列出了常用的布尔运算符,假定变量 a 为 10,变量 b 为 20: 运算符 说明 举例 !...-x file 检测文件是否可执行,如果是,则返回 true。 [ -x $file ] 返回 true。 -s file 检测文件是否为空(文件大小是否大于0),不为空返回 true。

    38800

    Zabbix常见触发器表达式

    1、时间参数 zabbix 触发条件里,很多是对单位时间内的数字参数进行表达式表达的,其中涉及到的常用时间单位如下: s - seconds (when used, works the same as...[eth0,bytes].min(5m)}>100K #在最后5分钟,网卡eth0的流量大于100K报警 {smtp1.zabbix.com:net.tcp.service[smtp].last(0)...不相等 gt: 大于 ge: 大于等于 lt: 小于 le: 小于等于 like: 内容匹配 diff 参数:忽略 支持值类型:float,int,str,text,log 作用:返回值为1表示最近的值与之前的值不同...AVG,count,last,min和max函数还支持额外的参数,以秒为单位的参数time_shift(时间偏移量)。例如avg(1h,1d),那么将会获取到昨天的1小时内的平均数据。...我们可以使用同样的方法监控系统重要的配置文件,例如/etc/passwd,/etc/inetd.conf等等。这些zabbix一般都会自带,没带的你自己加上吧。

    4.6K30

    贴片电阻符号表示_怎样识别贴片电阻的阻值

    如标注为“152”,即为1500Ω;标注为“101”,即为100Ω;标注为“103”,即为10000Ω(10 kΩ) 若标注中带有字母“R”该“R”表示小数点(单位是Ω),...另外,如果是两位数字之后有R的按照下面的标注法标注 四位表示: 前3位为有效值,分别表示千位、百位和个位值,第4位表示10的X次方,误差值在+-%1 例如标注为“1501”,即为1500Ω;标注为...“1000”,即为100Ω;标注为“1003”,即为100kΩ。...补充: 代码标注法:该标注方法又称E%序列表示法,多用于高精度(精度不大于1%)贴片电阻,其标注由两位数字加一位代码组成,前两位数字为代码,最后一位字母表示倍率。...数字与字母的含义要查询图标,如标注为“01A”,则表示阻值为100Ω;标注为“02C”,则表示阻值为100kΩ。

    1.4K20
    领券