阅读本文大概需要 6.0 分钟。
作者:卡巴拉的树
链接:https://dwz.cn/BaQWWtmh
本文探讨Linux中 主要的几种零拷贝技术 以及零拷贝技术 适用的场景 。为了迅速建立起零拷贝的概念,我们拿一个常用的场景进行引入:
01 引文
在写一个服务端程序时(Web Server或者文件服务器),文件下载是一个基本功能。这时候服务端的任务是:将服务端主机磁盘中的文件不做修改地从已连接的socket发出去,我们通常用下面的代码完成:
2025年08月12日
阅读本文大概需要 6.0 分钟。
作者:卡巴拉的树
链接:https://dwz.cn/BaQWWtmh
本文探讨Linux中 主要的几种零拷贝技术 以及零拷贝技术 适用的场景 。为了迅速建立起零拷贝的概念,我们拿一个常用的场景进行引入:
在写一个服务端程序时(Web Server或者文件服务器),文件下载是一个基本功能。这时候服务端的任务是:将服务端主机磁盘中的文件不做修改地从已连接的socket发出去,我们通常用下面的代码完成:
2025年08月12日
简介:年初,由于协同办公系统升级,底层的系统从Windows切换为Linux,切换后的Linux系统通过移动硬盘挂载数据,虽然移动硬盘的读写速度都很快,不存在瓶颈问题。但是考虑数据安全性问题(万一移动硬盘损坏)。为保证数据的安全,还是计划将移动硬盘的数据迁移到存储设备中。迁移过程将涉及创建挂载目录,挂载设备等相关知识。
2025年08月12日
我们知道对于Linux系统来讲,一直流传着这样一句话“一切皆文件”,也就是说Linux就是由文件系统堆砌而成的。正确理解它的文件与目录是熟练掌握此款系统的最大的前提条件。
Linux的目录的结构属于树状结构,那么要想访问某个目录的话,必须先要理解绝对路径与相对路径的概念,绝对路径很容易理解那就是我们创建的文件实际存放的位置,是由根目录/开始写起。而相对路径则是相对于某个目录而言的,不是由/开始写起的。相对路径的写法很方便,用户不用再很多层叠路径下一个文件夹一个文件夹输入了。
2025年08月12日
1、ls与cat的区别是是什么?
答:ls命令的含义是list,显示当前目录中内容。不加参数时它显示当前目录中除隐藏文件外的所有文件及目录的名字。
2025年08月12日
curl 是一个软件包,由命令行工具和使用URL语法传输数据的库组成。
curl 支持多种协议,如DICT、FILE、FTP、FTPS、Gopher、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMTP、SMTPS、Telnet和TFTP。
本文用实例深度演示 curl 的详细用法。
2025年08月12日
在Linux操作系统中,文件锁定是一种重要的机制,用于协调对共享资源(如文件)的访问。为了实现并发性和数据完整性,Linux提供了多个文件锁定命令,其中包括flock和fcntl等。本文将深入探索这些命令的特点、使用方法和适用场景,帮助读者更好地理解和应用文件锁定功能。
常用的文件锁定命令
在Linux中,常用的文件锁定命令有flock、fcntl等,下面我们将详细介绍这些命令的用法和注意事项。
2025年08月12日
百度网盘,大家都很熟悉。
今天推荐的这个项目不是百度的那个百度网盘,是个人开发者 iikira 用 Go 语言编写的百度网盘客户端,这个项目是 BaiduPCS-Go,是仿 Linux shell 文件处理命令的百度网盘命令行客户端。
BaiduPCS-Go 具有如下特点:
2025年08月12日
在Linux系统中,有一些常用的文件系统操作命令,以下是这些命令的介绍和作用:
# 切换目录,其中 ./ 代表当前目录, ../ 代表上一级目录
cd
# 查看当前目录里的文件和文件夹
ls
# 创建一个目录, 可选参数 -p 意为创建目录,若无父目录,则创建p(parent)
mkdir [targetdir]
# 删除一个空目录
rmdir [targetdir]
# 创建一个空文件
touch [targetfile]
# 同时创建多个文件
touch file1.txt file2.txt file3.txt
# 编辑文件
vim [targetfile]
# 查看文件内容
cat
# 删除文件,可选参数 -f 强制删除, -r 递归删除
rm [targetfile]
# 强制递归删除某个文件加下的所有文件,千万谨慎使用
rm -rf /path/to/folder/
# 移动文件/目录或重命名文件/目录,如果文件source和target在同一目录下则为重命名,反之则移动并重命名
mv [source] [target]
# 下载文件
wget [http://www.baidu.com/link?url=RIJ]
# 复制文件或目录
cp [sourcefile] [targetfile]
# 显示当前目录的完整路径名
pwd
# 新建并将内容输入到文件中
echo
# 创建 test.txt 文件,并肩 hello world 添加到文件中
echo hello world > test.txt
# 双箭头 >> 将输出附加到文件的末尾,如果文件不存在则创建文件。如果文件已经存在,则会将输出添加到文件的末尾,而不会覆盖原有内容。
echo extendedKeyUsage = clientAuth >> extfile.cnf
# 单箭头 > 将输出覆盖写入文件,如果文件不存在则创建文件。如果文件已经存在,则会将输出覆盖写入文件,清空原有内容。
echo extendedKeyUsage = clientAuth > extfile.cnf
# 在文件查找指定内容
grep
# 在文件系统中查找文件
find
# 打包和解压文件
tar
tar [OPTION...] [FILE]...
# 将许多文件一起保存到一个磁带或磁盘归档中,并且可以从存档中恢复单个文件。
# 查看文件系统的磁盘空间使用情况
df
# 查看目录或文件的磁盘空间使用情况
du
# 改变文件或目录的权限
chmod
# 改变文件或目录的所有者
chown
# 创建文件链接
ln
2025年08月12日
在Linux中,文件重命名本质上是修改文件或目录的名称,通常涉及更改文件名或移动文件到新路径。mv(move)和