⑴ 2个linux之间复制文件效率怎么样
linux复制文件效率很快的,如果是局域网的话,100M的网卡,复制文件的速度在12M左右,应该比window快一点,而且支持断点续传2台普通linux电脑之间可以用scp命令传输文件如果是服务器,可以用lftp命令传输文件
⑵ linux中复制文件的命令
如大多数操作系统一样,如果你想的话,你可以完全用 GUI 来管理文件。拖拽放下最浅显的复制文件的方式可能就是你以前在电脑中复制文件的方式:拖拽并放下。在大多数 Linux 桌面上,从一个本地文件夹拖拽放下到另一个本地文件夹是移动文件的默认方式,你可以通过在拖拽文件开始后按住 Ctrl 来改变这个行为。你的鼠标指针可能会有一个指示,例如一个加号以显示你在复制模式。复制一个文件注意如果文件是放在远程系统上的,不管它是一个 Web 服务器还是在你自己网络里用文件共享协议访问的另一台电脑,默认动作经常是复制而不是移动文件。右击如果你觉得在你的桌面拖拽文档不够精准或者有点笨拙,或者这么做会让你的手离开键盘太久,你可以经常使用右键菜单来复制文件。这取决于你所用的文件管理器,但通常来说,右键弹出的关联菜单会包括常见的操作。关联菜单的“复制”动作将你的文件路径(即文件在系统的位置)保存在你的剪切板中,这样你可以将你的文件粘贴到别处:(LCTT 译注:此处及下面的描述不确切,这里并非复制的文件路径的“字符串”,而是复制了代表文件实体的对象/指针)从右键菜单复制文件在这种情况下,你并没有将文件的内容复制到你的剪切版上。取而代之的是你复制了文件路径。当你粘贴时,你的文件管理器会查看剪贴板上的路径并执行复制命令,将相应路径上的文件粘贴到你准备复制到的路径。用命令行复制虽然 GUI 通常是相对熟悉的复制文件方式,用终端复制却更有效率。cp
⑶ Linux 下文件复制移动到移动存储(U盘,移动硬盘 etc)的速度要比 windows 下快吗
你在linux传完后立刻给个sync,这个命令完成的时间才是真正完成的时间。windows的话把写入缓存关掉再测。
⑷ 如何测试Linux磁盘的读写速度
用法:1.测试读hdparm -t –direct /dev/sda3IO读用上面的命令测试即可,不过 hdparm 这个工具需要自己安装,而且需要root用户去执行。2.测试IO写sync;/usr/bin/time -p bash -c "(dd if=/dev/zero of=test.dd bs=1000K count=20000;sync)"dd bs=1M count=20000 if=/dev/zero of=test.dd conv=fdatasync dd命令测试是IO的顺序写和读方式。3.查看文件系统块大小tune2fs -l /dev/sda1 | grep Block上面的命令行有些复杂,做下详细的解释:(1)sync 命令用来刷新文件系统的缓冲区,执行sync命令实际的作用是把内存中的数据缓冲写入到磁盘中。先执行下sync命令,是为了减少对后面测试的影响。也可以使用 echo 3 > /proc/sys/vm/drop_caches 来清除缓存。(2)time 命令用来测试命令的执行时间,shell内建还有一个time命令,我们这里使用全路径来指定使用的是非内建命令。-p 选项设置时间的输出格式为POSIX缺省时间格式,单位是秒,在后面的测试小节可以看到time -p 的输出形式。(3)bash 命令 -c 选项的作用是将后面的字符串参数当作bash脚本来执行,看起来有些画蛇添足,好像直接执行也是可行的,其实不然,因为后面字符串中包含了两条命令行,而time命令需要统计这两条命令行的执行时间。(4)小括号的意思是另起一个子进程来执行括号中的脚本,dd 这条命令行这里就不讲了,不知道的话Bai吧。重点是sync命令,因为当dd退出时,这条命令行提交的大部分内容都在内存缓冲区(写缓存),甚至如果机器的内存相比于你提交的数据要大得多,那可能数据都在内存中,而再执行sync才能将内存中的数据写入到磁盘中,否则就成了测试内存的写速度,那显然不是你想要的结果。
⑸ linux 下如何查看本机的网络速率
使用以下2个命令可以查看:1)查看网卡型号lspci|grepEthernet这个命令可以查看你的网卡设备型版号,根权据型号就知道是什么性能了。2)查看网卡实际通讯速率 dmesg|grepeth0这个命令可以列出网卡工作速率。看到Up1000Mpsfullplex…
⑹ 如何加快Linux文件拷贝速度
项目越来越大,每次需要重新编译整个项目都是一件很浪费时间的事情。Research了一下,找到以下可以帮助提高速度的方法,总结一下。 1. 使用tmpfs来代替部分IO读写2.ccache,可以将ccache的缓存文件设置在tmpfs上,但是这样的话,每次开机后,ccache的缓存文件会丢失3.distcc,多机器编译4.将屏幕输出打印到内存文件或者/dev/null中,避免终端设备(慢速设备)拖慢速度。 tmpfs 有人说在Windows下用了RAMDisk把一个项目编译时间从4.5小时减少到了5分钟,也许这个数字是有点夸张了,不过粗想想,把文件放到内存上做编译应该是比在磁盘上快多了吧,尤其如果编译器需要生成很多临时文件的话。这个做法的实现成本最低,在Linux中,直接mount一个tmpfs就可以了。而且对所编译的工程没有任何要求,也不用改动编译环境。mount -t tmpfs tmpfs ~/build -o size=1G 用2.6.32.2的Linux Kernel来测试一下编译速度:用物理磁盘:40分16秒用tmpfs:39分56秒呃……没什么变化。看来编译慢很大程度上瓶颈并不在IO上面。但对于一个实际项目来说,编译过程中可能还会有打包等IO密集的操作,所以只要可能,用tmpfs是有益无…
⑺ 如何在Linux中显示文件的速度和剩余时间
将yourdir目录下修改时间一天以内的文件复制到destdir下: find /yourdir -mtime -1 -type f -exec cp {} /destdir \;
⑻ Linux查看拷贝一个文件用多少时间命令
查看拷贝文件耗时多久可以在linux下使用time命令比如 time cp a /d
⑼ linux中多个文件有方法显示进度条吗
拷贝多个文件或者文件夹下有多个文件的时候,可以使用rsync命令,可以显示拷贝进度,而且支持断点重传。rsync -av –progress /source/file /dest/dir
⑽ Linux下的几种文件拷贝方式效率对比
不管是哪种操作系统,要实现文件拷贝,必须陷入内核,从磁盘读取文件内容,然后存储到另一个文件。实现文件拷贝最通常的做法是:读取文件用系统调用read()函数,读取到一定长度的连续的用户层缓冲区,然后使用write()函数将缓冲区内容写入文件。也可以用标准库函数fread()和fwrite(),但这两个函数最终还是通过系统调用read()和write()实现拷贝的,因此可以归为一类(不过效率肯定没有直接进行系统调用的高)。一个更高级的做法是使用虚拟存储映射技术进行,这种方法将源文件以共享方式映射到虚拟存储器中,目的文件也以共享方式映射到虚拟地址空间中,然后使用memcpy高效地将源文件内容复制到目的文件中。 点击(此处)折叠或打开#include #include #include #include #include #include #include #include #include #include #define error(fmt,args…)\ printf(fmt, ##args);\ printf(":%s\n",strerror(errno))inline int cp_rw(int srcfd,int dstfd,char *buf,intlen);inline int cp_map(int srcfd,int dstfd,size_t len);int main(int argc,char **argv){ char buf[8192]; int srcfd,dstfd; clock_t start,end; struct tms stm,ntm; struct stat filestat; int tck; char cmdline[30];if(argc!=3) printf("usage: cmd ");tck=sysconf(_SC_CLK_TCK); start = times(&stm); if((srcfd=open(argv[1],O_RDONLY))==-1) { error("open %s error",argv[1]); exit(0); } if((dstfd=open(argv[2],O_RDWR|O_CREAT|O_TRUNC,0666))==-1) { error("creat %s error",argv[2]); exit(0); } fstat(srcfd,&filestat); if(lseek(dstfd,filestat.st_size,SEEK_SET)==-1) { error("lseek error"); exit(0); } if(write(dstfd," ",1)!=1) { error("write error"); exit(0); } cp_map(srcfd,dstfd,filestat.st_size); close(srcfd); close(dstfd); end= times(&ntm); printf("ing %s to %s using cp_map:filesize=%lu MBytes Using %f seconds\n" ,argv[1],argv[2],filestat.st_size>>20,(end-start)/(double)tck);sprintf(cmdline,"rm -f %s",argv[2]); system(cmdline);return 0;}inline int cp_rw(int srcfd,int dstfd,char *buf,intlen){ int nread; while((nread=read(srcfd,buf,len))>0) { if(write(dstfd,buf,nread)!=nread) { error("write error"); return -1; } } if(nread ==-1) { error("read error"); return -1; } return 0;}inline int cp_map(int srcfd,int dstfd,size_t len){ char *src,*dst; if((src=mmap(0,len,PROT_READ,MAP_SHARED,srcfd,0))==MAP_FAILED) { error("mmap src error"); return -1; } if((dst=mmap(0,len,PROT_WRITE,MAP_SHARED,dstfd,0))==MAP_FAILED) { error("mmap dst error"); return -1; } if(memcpy(dst,src,len)==NULL) { error("memcpy error"); return -1; } munmap(src,len); munmap(dst,len); return 0;}运行,拷贝一个1.1G的文件,得到如下结果[[email protected] ]# ./ /home/ker.tgz ./ker.tgzing /home/ker.tgz to ./ker.tgz using cp_map:filesize=1030 MBytes Using 61.900000 secondsing /home/ker.tgz to ./ker.tgz using cp_rw:filesize=1030 MBytes Using 34.330000 seconds使用read/write的方法居然比mmap的快一倍,这是怎么回事呢?理论上mmap系统调用只进行了一次,而且拷贝文件是直接在内核空间进行的,read/write则需要通过系统调用把内核空间的缓存复制到用户空间,再将用户空间缓存复制到内核空间,拷贝次数明显多了一个呢?速度为什么于理论预测的不一致呢?
未经允许不得转载:山九号 » linux复制文件并查看速率|linux 下如何查看本机的网络速率