怎样利用云盘做电影网站明星网页制作模板

pingmian/2025/10/9 16:24:53/文章来源:
怎样利用云盘做电影网站,明星网页制作模板,做网站对服务器什么要求高,网络广告营销论文AWK/SED awk awk是一个强大的文本分析工具#xff0c;相对于grep的查找#xff0c;sed的编辑#xff0c;awk在其对数据分析并生成报告时#xff0c;显得尤为强大。简单来说awk就是把文件逐行的读入#xff0c;以空格为默认分隔符将每行切片#xff0c;切开的部分再进行…AWK/SED awk awk是一个强大的文本分析工具相对于grep的查找sed的编辑awk在其对数据分析并生成报告时显得尤为强大。简单来说awk就是把文件逐行的读入以空格为默认分隔符将每行切片切开的部分再进行各种分析处理。 awk {pattern action} {filenames} 统计ip cat test.txt | awk {print $2} | sort | uniq -c | sort -n -r | head -n 1 sed 编辑文本 sed -e s/foo/bar/ myfile 将 myfile 文件中每行第一次出现的foo用字符串bar替换然后将该文件内容输出到标准输出 sed -e s/foo/bar/g myfile g 使得 sed 对文件中所有符合的字符串都被替换 sed -i s/foo/bar/g myfile 选项 i 使得 sed 修改文件 sed -i s/foo/bar/g ./m* 批量操作当前目录下以 m 开头的文件 sed -i s/foo/bar/g grep foo -rl --includem* ./ 括起来的grep命令表示将grep命令的的结果作为操作文件 grep 命令中选项r表示查找所有子目录l表示仅列出符合条件的文件名用来传给sed命令做操作--includem* 表示仅查找 m 开头的文件 管道 管道是linux提供的一种常见的进程通信工具 管道中的数据只能读取一次 管道的实现并没有使用专门的数据结构而是借助了文件系统的file结构和VFS的索引节点inode。通过将两个 file 结构指向同一个临时的 VFS 索引节点而这个 VFS 索引节点又指向一个物理页面而实现的。 IO模型 mmap 零拷贝技术让数据传输不需要经过user space 使用mmap mmap系统调用导致文件的内容通过DMA模块被复制到内核缓冲区中该缓冲区之后与用户进程共享这样就内核缓冲区与用户缓冲区之间的复制就不会发生。 sendfile ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count); 参数特别注意的是in_fd必须是一个支持mmap函数的文件描述符也就是说必须指向真实文件不能使用socket描述符和管道。 out_fd必须是一个socket描述符。 由此可见sendfile几乎是专门为在网络上传输文件而设计的。 Sendfile 函数在两个文件描述符之间直接传递数据(完全在内核中操作传送)从而避免了内核缓冲区数据和用户缓冲区数据之间的拷贝操作效率很高被称之为零拷贝。 select pollNIO select poll epoll都是IO多路复用的实现方式 select系统调用的目的是在一段指定时间内监听用户感兴趣的文件描述符上的可读、可写和异常异常不包括网络断开事件。poll和select应该被归类为这样的系统调用它们可以阻塞地同时探测一组支持非阻塞的IO设备直至某一个设备触发了事件或者超过了指定的等待时间——也就是说它们的职责不是做IO而是帮助调用者寻找当前就绪的设备。 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); fd_set结构体是文件描述符集该结构体实际上是一个整型数组数组中的每个元素的每一位标记一个文件描述符。fd_set能容纳的文件描述符数量由FD_SETSIZE指定一般情况下FD_SETSIZE等于1024这就限制了select能同时处理的文件描述符的总量。 1nfds参数指定被监听的文件描述符的总数。通常被设置为select监听的所有文件描述符中最大值加1 2readfds、writefds、exceptfds分别指向可读、可写和异常等事件对应的文件描述符集合。这三个参数都是传入传出型参数指的是在调用select之前用户把关心的可读、可写、或异常的文件描述符通过FD_SET函数分别添加进readfds、writefds、exceptfds文件描述符集select将对这些文件描述符集中的文件描述符进行监听如果有就绪文件描述符select会重置readfds、writefds、exceptfds文件描述符集来通知应用程序哪些文件描述符就绪。这个特性将导致select函数返回后再次调用select之前必须重置我们关心的文件描述符也就是三个文件描述符集已经不是我们之前传入 的了。 3timeout参数用来指定select函数的超时时间。 1如果指定timeout为NULLselect会永远等待下去直到有一个文件描述符就绪select返回 2如果timeout的指定时间为0select根本不等待立即返回 3如果指定一段固定时间则在这一段时间内如果有指定的文件描述符就绪select函数返回如果超过指定时间select同样返回。 select的几大缺点 1每次调用select都需要把fd集合从用户态拷贝到内核态这个开销在fd很多时会很大 2每次调用select都需要在内核遍历传递进来的所有fd这个开销在fd很多时也很大不适合服务器但客户端也可以使用 3select支持的文件描述符数量太小了默认是1024 int poll(struct pollfd *fds, nfds_t nfds, int timeout); 与select非常类似poll比select的好处就是没有描述符数量限制select 有1024 的限制描述符不能超过此值poll不受限制。 此函数在系统调用select内部被使用作用是把当前的文件指针挂到设备内部定义的等待 队列中。 send不是立即发送数据而是将数据放在本地网卡缓冲区中。 epollNIO select,poll还是在应用中轮询Socket容易浪费OS会自动轮询通过epoll_wait返回。 epoll 与select和poll在使用和实现上有很大区别。首先epoll使用一组函数来完成而不是单独的一个函数其次epoll把用户关心的文件描述符上的事件放在内核里的一个事件表中无须向select和poll那样每次调用都要重复传入文件描述符集合事件集。 系统调用 epoll_create 创建一个epoll对象一般epollfd epoll_create() epoll_ctl epoll_add/epoll_del的合体往epoll对象中增加/删除某一个流的某一个事件 比如 epoll_ctl(epollfd, EPOLL_CTL_ADD, socket, EPOLLIN);//注册缓冲区非空事件即有数据流入 epoll_ctl(epollfd, EPOLL_CTL_DEL, socket, EPOLLOUT);//注册缓冲区非满事件即流可以被写入 epoll_wait(epollfd,...)等待直到注册的事件发生 注当对一个非阻塞流的读写发生缓冲区满或缓冲区空write/read会返回-1并设置errnoEAGAIN。而epoll只关心缓冲区非满和缓冲区非空事件。 对于第一个缺点epoll的解决方案在epoll_ctl函数中。每次注册新的事件到epoll句柄中时在epoll_ctl中指定EPOLL_CTL_ADD会把所有的fd拷贝进内核而不是在epoll_wait的时候重复拷贝。epoll保证了每个fd在整个过程中只会拷贝一次。 对于第二个缺点epoll的解决方案不像select或poll一样每次都把current轮流加入fd对应的设备等待队列中而只在epoll_ctl时把current挂一遍这一遍必不可少并为每个fd指定一个回调函数当设备就绪唤醒等待队列上的等待者时就会调用这个回调函数而这个回调函数会把就绪的fd加入一个就绪链表。epoll_wait的工作实际上就是在这个就绪链表中查看有没有就绪的fd利用schedule_timeout()实现睡一会判断一会的效果和select实现中的第7步是类似的。 对于第三个缺点epoll没有这个限制它所支持的FD上限是最大可以打开文件的数目这个数字一般远大于2048,举个例子,在1GB内存的机器上大约是10万左右具体数目可以cat /proc/sys/fs/file-max察看,一般来说这个数目和系统内存关系很大。 总结 1selectpoll实现需要自己不断轮询所有fd集合直到设备就绪期间可能要睡眠和唤醒多次交替。而epoll其实也需要调用epoll_wait不断轮询就绪链表期间也可能多次睡眠和唤醒交替但是它是设备就绪时调用回调函数把就绪fd放入就绪链表中并唤醒在epoll_wait中进入睡眠的进程。虽然都要睡眠和交替但是select和poll在“醒着”的时候要遍历整个fd集合而epoll在“醒着”的时候只要判断一下就绪链表是否为空就行了这节省了大量的CPU时间。这就是回调机制带来的性能提升。 2selectpoll每次调用都要把fd集合从用户态往内核态拷贝一次并且要把current往设备等待队列中挂一次而epoll只要一次拷贝而且把current往等待队列上挂也只挂一次在epoll_wait的开始注意这里的等待队列并不是设备等待队列只是一个epoll内部定义的等待队列。这也能节省不少的开销。 epoll原理 epoll初始化时会向内核注册一个文件系统用于存储被监控的句柄文件调用epoll_create时会在这个文件系统中创建一个file节点。同时epoll会开辟自己的内核高速缓存区以红黑树的结构保存句柄以支持快速的查找、插入、删除。还会再建立一个list链表用于存储准备就绪的事件。当执行epoll_ctl时除了把socket句柄放到epoll文件系统里file对象对应的红黑树上之外还会给内核中断处理程序注册一个回调函数告诉内核如果这个句柄的中断到了就把它放到准备就绪list链表里。所以当一个socket上有数据到了内核在把网卡上的数据copy到内核中后就把socket插入到就绪链表里。当epoll_wait调用时仅仅观察就绪链表里有没有数据如果有数据就返回否则就sleep超时时立刻返回。 边缘触发模式ETEdge_triggered和水平触发模式LTLevel_triggered Level_triggered(水平触发)当被监控的文件描述符上有可读写事件发生时epoll_wait()会通知处理程序去读写。如果这次没有把数据一次性全部读写完(如读写缓冲区太小)那么下次调用 epoll_wait()时它还会通知你在上没读写完的文件描述符上继续读写当然如果你一直不去读写它会一直通知你如果系统中有大量你不需要读写的就绪文件描述符而它们每次都会返回这样会大大降低处理程序检索自己关心的就绪文件描述符的效率 Edge_triggered(边缘触发)当被监控的文件描述符上有可读写事件发生时epoll_wait()会通知处理程序去读写。如果这次没有把数据全部读写完(如读写缓冲区太小)那么下次调用epoll_wait()时它不会通知你也就是它只会通知你一次直到该文件描述符上出现第二次可读写事件才会通知你这种模式比水平触发效率高系统不会充斥大量你不关心的就绪文件描述符 IOCPAIO 微软在 Winsocket2 中引入了 IOCPInput/Output Completion Port模型。IOCP 是 Input/Output Completion PortI/O 完成端口的简称。简单的说IOCP 是一种高性能的 I/O 模型是一种应用程序使用线程池处理异步 I/O 请求的机制。Java7 中对 IOCP 有了很好的封装程序员可以非常方便的时候经过封装的 channel 类来读写和传输数据。 不仅和epoll一样接收到Socket的事件并且接收时OS已经完成了IO不需要在应用层进行IO。 首先我们创建一个完成端口 CreateIOCompletionPort然后再创建一个或多个工作线程并指定它们到这个完成端口上去读取数据。再将远程连接的套接字句柄关联到这个完成端口。工作线程调用 getQueuedCompletionStatus 方法在关联到这个完成端口上的所有套接字上等待 I/O 的完成再判断完成了什么类型的 I/O然后接着发出 WSASend 和 WSARecv并继续下一次循环阻塞在 getQueuedCompletionStatus。 具体的说一个完成端口大概的处理流程包括 创建一个完成端口 Port port createIoCompletionPort(INVALID_HANDLE_VALUE, 0, 0, fixedThreadCount()); 创建一个线程 ThreadA ThreadA 线程循环调用 GetQueuedCompletionStatus 方法来得到 I/O 操作结果这个方法是一个阻塞方法 While(true){ getQueuedCompletionStatus(port, ioResult); } 主线程循环调用 accept 等待客户端连接上来 主线程 accept 返回新连接建立以后把这个新的套接字句柄用 CreateIoCompletionPort 关联到完成端口然后发出一个异步的 Read 或者 Write 调用因为是异步函数Read/Write 会马上返回实际的发送或者接收数据的操作由操作系统去做。 if (handle ! 0L) { createIoCompletionPort(handle, port, key, 0); } 主线程继续下一次循环阻塞在 accept 这里等待客户端连接。 操作系统完成 Read 或者 Write 的操作把结果发到完成端口。 ThreadA 线程里的 GetQueuedCompletionStatus() 马上返回并从完成端口取得刚完成的 Read/Write 的结果。 在 ThreadA 线程里对这些数据进行处理 ( 如果处理过程很耗时需要新开线程处理 )然后接着发出 Read/Write并继续下一次循环阻塞在 GetQueuedCompletionStatus() 这里。 分区 磁盘的文件名 Linux 中每个硬件都被当做一个文件。 常见磁盘的文件名 SCSI/SATA/USB 磁盘/dev/sd[a-p] IDE 磁盘/dev/hd[a-d] 其中文件名后面的序号的确定与磁盘插入的顺序有关而与磁盘所插入的插槽位置无关。 Linux系统使用字母和数字的组合来指代硬盘分区Linux系统使用一种更加灵活的命名方案该命名方案是基于文件的文件名的格式为/dev/xxyN /dev/这是Linux系统下所有设备文件所在的目录名。 xx分区名的前两个字母表示分区所在设备的类型通常是hdIDE硬盘或sdSCSI硬盘。 y这个字母表示分区所在的设备。 N最后的数字N代表分区。 挂载目录 Linux系统处理分区及磁盘存储的方法与Windows截然不同Linux系统中的每一个分区都是构成支持一组文件和目录所必需的存储区的一部分。它是通过挂载来实现的挂载是将分区关联到某一目录的过程挂载分区使起始于这个指定目录通称为挂载目录的存储区能够被使用。 分区表 磁盘分区表主要有两种格式一种是限制较多的 MBR 分区表一种是较新且限制较少的 GPT 分区表。 1. MBR MBR 中第一个扇区最重要里面有主要开机记录Master boot record, MBR及分区表partition table其中 MBR 占 446 bytespartition table 占 64 bytes。 分区表只有 64 bytes最多只能存储 4 个分区这 4 个分区为主分区Primary和扩展分区Extended。其中扩展分区只有一个它将其它空间用来记录分区表可以记录更多的分区因此通过扩展分区可以分出更多区分这些分区称为逻辑分区。 Linux 也把分区当成文件分区文件的命名方式为磁盘文件名编号例如 /dev/sda1。注意逻辑分区的编号从 5 开始。 2. GPT 不同的磁盘有不同的扇区大小例如 512bytes 和最新磁盘的 4k。GPT 为了兼容所有磁盘在定义扇区上使用逻辑区块地址Logical Block Address, LBA。 GPT 第 1 个区块记录了 MBR紧接着是 33 个区块记录分区信息并把最后的 33 个区块用于对分区信息进行备份。 压缩 tar [主选项辅选项][文件或者目录] 备份/root/abc目录及其子目录下的全部文件,备份文件名为abc.tar。 [rootPC-LINUX ~]# touch /root/abc/a /root/abc/b /root/abc/c //在/root/abc目录中创建/root/abc/a、/root/abc/b和/root/abc/c文件 [rootPC-LINUX ~]# tar cvf abc.tar /root/abc 查看abc.tar备份文件的内容,并显示在显示器上。 [rootPC-LINUX ~]# tar tvf abc.tar 将文件/root/abc/d添加到abc.tar包里面去。 [rootPC-LINUX ~]# touch /root/abc/d [rootPC-LINUX ~]# tar rvf abc.tar /root/abc/d 更新原来tar包abc.tar中的文件/root/abc/d。 [rootPC-LINUX ~]# tar uvf abc.tar /root/abc/d tar调用gzip 把/root/abc目录包括其子目录全部做备份文件,并进行压缩,文件名abc.tar.gz。 [rootPC-LINUX ~]# tar zcvf abc.tar.gz /root/abc 查看压缩文件abc.tar.gz的内容,并显示在显示器上。 [rootPC-LINUX ~]# tar ztvf abc.tar.gz 将压缩文件abc.tar.gz解压缩出来。 [rootPC-LINUX ~]# tar zxvf abc.tar.gz tar调用bzip2 将目录/root/abc及该目录所有文件压缩成abc.tar.bz2文件。 [rootPC-LINUX ~]# tar cjf abc.tar.bz2 /root/abc 查看压缩文件abc.tar.bz2的内容,并显示在显示器上。 [rootPC-LINUX ~]# tar tjf abc.tar.bz2 将abc.tar.bz2文件解压缩。 [rootPC-LINUX ~]# tar xjf abc.tar.bz2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88868.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

义乌婚介网站建设义乌企业网站

一、说明 数据太多了。数据湖和数据仓库;广阔的像素牧场和充满文字的海洋。找到正确的数据就像大海捞针一样!如果你喜欢开源机器学习库 FiftyOne,矢量搜索引擎通过将复杂数据(图像的原始像素值、文本文档中的字符)转换为称为嵌入矢…

网站建设于朦胧wordpress常见问题

前言 提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关。 而事务的ACID(即原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durabili…

怎么做可上传图片的网站手机网站底部导航

连接Linux命令 finaXshell 工具好用: 链接:https://pan.baidu.com/s/13yyOhi7GzcZNTxXseGO_fA 提取码:n4t6 上次Linux 文件工具: fileZilla ,这个网上去下载 转载于:https://www.cnblogs.com/duende99/p/11479182.html

网站开发公司有什么福利形象设计公司网站建设方案书

一、引言 随着电子商务的快速发展,电商平台已经成为人们日常生活中不可或缺的一部分。淘宝作为中国最大的电商平台之一,拥有庞大的用户群体和商家资源。为了满足商家和消费者之间的交易需求, ,其中订单接口是其中最为重要的一部分…

花钱做网站注意些什么程序开发平台哪个好

展开全部申根签证中mult是是多次的意思,指可以在有效期内多次往返申根国家。类型申根签证分62616964757a686964616fe78988e69d8331333431373939为入境和过境两类。1.入境签证有一次入境和多次入境两种。签证持有者分别可一次连续停留90天或每半年多次累计不超过3个月…

公司如何注册网站网站后台管理系统php

描述 荷兰国旗有三横条块构成,自上到下的三条块颜色依次为红、白、蓝。现有若干由红、白、蓝三种颜色的条块序列,要将它们重新排列使所有相同颜色的条块在一起。本问题要求将所有红色的条块放最左边、所有白色的条块放中间、所有蓝色的条块放最右边。 …

服务周到的上海网站建设公司wordpress添加菜单分类目录是灰的

在当今技术飞速发展的时代,越来越多的领域开始应用人工智能(Artificial Intelligence,简称AI)。其中,AI写作工具备受瞩目,备受推崇。在众多的选择中,智元兔AI是一款在笔者使用过程中非常有帮助的…

搭建网站要多久wordpress在页面添加文章分类导航

$t3$不会 世界线 题解 题目让求的就是每个点能到点的数量$-$出度 设每个点能到的点为$f[x]$ 则$f[x]x \sum\limits_{y}^{y\in son[x]} U f[y]$ 用$bitset$优化一下即可,但单纯这样会炸内存,随意$yy$一下,时间换空间,像平衡树一样开个垃圾桶都行 代码 #include<bits/stdc.h&g…

北京网站建设公司那个好网站的风格对比信息表

你关掉电脑&#xff0c;离开办公室。 一个小时后&#xff0c;你进入家门和孩子们在一起。 你和家人一起吃晚饭。 你的老板打电话来查看你的项目进展。 你哄孩子入睡并给他们读个故事。 作为一个负责任的父母&#xff0c;你想要与孩子们的互动时间增加并提高生活的质量&…

少儿编程加盟费济南百度seo排名公司

1.transformer transformer self-attention 当前编码的词和整个句子所有词做attention&#xff0c;权重加在所有句子上获得当前的表示 encoder-decoder-attention 当前解码的单元和编码器的所有输出做attention&#xff0c;权重加在所有编码输出上&#xff0c;获得当前的表示…

毕业设计做网站论文兰州优化网站

在高低压隔离系统设计中&#xff0c;难免会使用光耦来通信。在选择光耦器件时&#xff0c;需要考虑光耦允许的最大通信速率&#xff0c;否则在高速通信时会失败. 对于高速的光耦应用时&#xff0c;需要注意电流传输比率和开关速度。 参考文档《Basic Characteristics and Appli…

网站设计与应用方向论文网站建设费能不能认定为广告费

JS获取服务器编码格式为gb2312的文件时内容为乱码&#xff0c;ajax网络请求内部使用的是XMLHttpRequest&#xff0c;所以在请求之前需要设置一下编码格式&#xff0c;但是设置xhr.setRequestHeader("accept", "text/csv;charsetgb2312,*/*");没有效果&…

西安网站建设sxyun深圳去聋哑做义工申请网站

查看原文>>>全流程R语言Meta分析核心技术高阶应用 目录 专题一、Meta分析的选题与检索 专题二、Meta分析与R语言数据清洗及统计方法 专题三、R语言Meta分析与作图 专题四、R语言Meta回归分析 专题五、R语言Meta诊断分析 专题六、R语言Meta分析的不确定性 专题…

珠海做网站最好的公司网吧服务员

绪论 大家好&#xff0c;欢迎来到【程序员的自我修养】专栏。正如其专栏名&#xff0c;本专栏主要分享学习《程序员的自我修养——链接、装载与库》的知识点以及结合自己的工作经验以及思考。编译原理相关知识本身就比较有难度&#xff0c;我会尽自己最大的努力&#xff0c;争…

网站加关键词代码开发公司项目经理职责

目录 一、SQL语句 1.1SQL语言分类 1.2查看数据库信息 1.3登录到你想登录的库 1.4查看数据库中的表信息 1.5显示数据表的结构&#xff08;字段&#xff09; 1.5.1数据表的结构 1.5.2常用的数据类型: 二、关系型数据库的四种语言 2.1DDL&#xff1a;数据定义语言&am…

自行建网站 所需费用郑州软件开发外包

分享来源&#xff1a;微信号&#xff1a;java一日一条 要想了解Java动态代理&#xff0c;首先要了解什么叫做代理&#xff0c;熟悉设计模式的朋友一定知道在Gof总结的23种设计模式中&#xff0c;有一种叫做代理(Proxy)的对象结构型模式&#xff0c;动态代理中的代理&#xff0c…

珠海品牌网站建河南网站建设推广

" A flow of control within a process that consists of a PC, a register set and a stack space" 本章将介绍为单个运行进程提供的新抽象 —— 线程 (thread) 线程是 调度的一个基本单位&#xff08;basic unit of CPU scheduling&#xff09;一个单独的线程至…

重庆网站建站建设平台为什么要做手机网站

1. 前言入门篇我们已经成功运行hello.benchmarks.yml并输出测试结果&#xff0c;本篇我们就hello.benchmarks.yml、以及运行的shell脚本详细解读下其中的含义2. 剖析hello.benchmarks.yml2.1. job在hello.benchmarks.yml中我们定义了一个新的job: server&#xff0c;并指定了仓…

网站策划要遵循的原则淡水网站建设定制

SpringBoot经典之作 进入Spring Boot世界 准备开发环境搭建开发工具 基础 Spring Boot基础分层开发Web应用程序响应式编程 进阶 Spring Boot进阶用ORM操作SQL数据库接口架构风格——RESTful集成安全框架&#xff0c;实现安全认证和授权集成Redis&#xff0c;实现高并发集成R…