좋은 파일 복사 도구가 있습니까?


8

복사 대화 상자가 0 초 남았습니다.

큰 파일을 모든 형식의 USB 펜 드라이브에 복사하려고 할 때마다 항상 마지막 순간에 중지됩니다. 오랜만에 끝납니다 .

내가 검색 우분투를 물어 유사한 게시물과 많은있어 ,하지만 그들 중 누구도 좋은 솔루션이 없습니다.

그렇다면 ... Windows에 Teracopy 와 같은 대체 복사 도구가 있습니까?

아니면 내가 할 수있는 수정 사항이 있습니까?

여기에 이미지 설명을 입력하십시오


참조 용으로 업로드해야하는 파일도 알려주십시오
Severus Tux

2
확실하지는 않지만 문제가 USB 쓰기 캐싱 과 관련이 있다고 가정합니다 . 비활성화하는 방법에 대한 게시물을 검색하십시오. 전체 복사 과정은 느리게 보이지만, 마치면 완성 된 상태 여야합니다.
바이트 사령관

@ByteCommander 천천히, 당신은 실제 속도 를 의미합니까 ??
Severus Tux

2
나는 그 주제에 너무 익숙하지는 않지만 캐싱은 USB 장치에 쓰려는 데이터를 메모리에 보관하고 실제로 버스 또는 장치가 덜 바쁘다고 생각하거나 방법을 최적화 할 수있을 때 나중에 기록합니다 데이터 블록을 함께 저장하려면 ... 실제 실제 쓰기 속도를 크게 향상시키지 않아야합니다 (많이). 쓰기 프로세스가 모두 캐시에 기록 되 자마자 복사 프로세스 보고서가 완료되므로 더 빨리 나타납니다. 그러나 여전히 장치에 캐시를 쓰는 데 시간이 더 걸립니다. 캐시를 작성하기 전에 어쨌든 즉시 플러그를 뽑을 수 없습니다
Byte Commander

예, 실제 복사 속도는 같습니다 (버퍼로 인해 디스크에 아무것도 기록되지 않지만 약간로드 된 시스템에는 많지 않은 순간이있을 가능성이 적기 때문에 약간 느려질 수 있음) 더 정확할 것입니다.
hobbs

답변:


6

너무 걱정하지 않아도됩니다.
아마도 당신의 USB 펜 드라이브가 "저품질"일 것입니다.
시간에 관한 대화 상자 출력이 잘못되었습니다.

다른 복사 도구의 출력 동작은 다를 수
있지만 USB 드라이브의 쓰기 속도는 향상되지 않습니다.
무엇보다도 가장 중요한 것은 결국 복사 작업이 성공한다는 것입니다.

수행 할 수있는 작업은 디스크의 입 / 출력 스케줄러를 최적화하는 것입니다.

root로 gksu파일을 편집하려면 아직 설치 하지 않은 경우 설치하십시오 gedit.

sudo apt-get install gksu  

이제 다양한 디스크 유형에 대해 실행중인 모든 프로세스의 우선 순위를 최적화하십시오.

gksudo gedit /etc/udev/rules.d/60-schedulers.rules

이 빈 파일에 다음 줄을 붙여 넣은 다음 파일을 저장하십시오.

# set cfq scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="cfq"

# set deadline scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"  

변경 사항은 운영 체제를 다시 시작한 후에 적용됩니다.

또한 ... Ubuntu 리포지토리에서 대체 복사 솔루션을 사용할 수 있습니다.

sudo apt-get install dirdiff  

이제 터미널에서 도구를 시작하여 파일과 폴더를 비교하거나 복사하십시오.

dirdiff

dirdiff최대 5 개의 트리를 처리 할 수 있는 GUI 입니다 diff. 트리마다 다른 파일 목록이있는 기본 창을 표시하며 버전의 상대 연령을 표시하기 위해 색상 사각형이 표시됩니다. 메뉴를 사용하면 다른 창에서 두 버전의 차이점을 표시 할 수 있습니다. 다른 메뉴를 사용하면 파일과 폴더를 한 트리에서 다른 트리로 복사 할 수 있습니다.

요약 : USB 디스크의 품질과 쓰기 속도 기능이 가장 중요합니다!


7

복사가 수행되는 방식을 보는 이유는 USB 드라이브에 대한 쓰기가 비동기 이기 때문 입니다.

파일을 복사하면 실제로 파일을 컴퓨터의 RAM에있는 USB 드라이브의 버퍼에 복사합니다. 복사본의 첫 부분은 버퍼로 들어가기 때문에 매우 빠릅니다. 데이터가 플러시됩니다훨씬 느린 속도로 버퍼에서 USB 드라이브로 버퍼가 가득 차면 일부 데이터가 디스크에 플러시 될 때까지 기다려야 버퍼에 더 이상 배치 할 수 있으므로 복사 속도가 느려져 USB 드라이브 속도까지 효과적으로 줄입니다. 모든 파일이 버퍼에 배치되면 파일이 복사 된 것으로 나타납니다. 그러나 모든 데이터가 버퍼에서 USB 디스크 자체로 플러시되지는 않았습니다. 일부 복사 프로그램은 되돌아 와서 플러시가 백그라운드에서 수행되도록합니다. 일부는 모든 데이터가 플러시 될 때까지 대기하기 때문에 일정 시간 동안 100 %를 유지합니다.

디스크를 동기 모드로 전환하면 버퍼를 사용하지 않고 모든 데이터가 USB 드라이브에 즉시 기록됩니다. 이렇게하면 데이터 전송이 더 순조로워 지지만 실제로 전체 속도가 느려질 수 있습니다.

명령 줄에서 디스크를 수동으로 마운트하면 추가 할 수 있습니다 -o sync.

fstab을 사용하여 마운트하면 sync옵션을 추가 할 수 있습니다 .

GUI에서 액세스 할 때 Ubuntu 마운트에 의존하는 경우 마운트 된 명령 행에서 마운트 옵션을 수정할 수 있습니다.

sudo mount -o remount -o sync /media/yourname/diskname

2
이다 대답.
kos

2

문제는 파일이 대상 드라이브에 완전히 기록되기 전에 파일을 읽고 메모리에 완전히 저장하는 것입니다.

이것은 질문에 정확하게 대답한다는 의미는 아니지만 pv큰 파일의 경우 명령 줄에서 해결 방법을 사용할 수 있습니다 .

sudo add-apt-repository universe && sudo apt-get update && sudo apt-get install pv

큰 파일을 복사해야 할 때마다 :

pv /path/to/big_file >/media/username/usb/big_file

이것은 파이프에 사용될 때 유사한 원치 않는 버퍼링 문제를 겪고 있음을 주목해야한다. 이 경우 수정으로 인해 전송 속도가 대상 드라이브의 쓰기 속도보다 약간 높은 속도로 제한됩니다.

[...] | pv -L 10M >/media/username/usb/big_file # Limits the transfer rate to 10 MB/s

1

여러 가지 대안이 있습니다. 명령 행 접근 방식을 사용할 수 있습니다.

cp *source* *target*

여기서 source는 복사 할 파일이고 target은 복사 할 파일 또는 폴더입니다. 추가 옵션은 https://softwarerecs.stackexchange.com/ 에서 찾을 수 있습니다.


0
dd if=INPUT_FILE_PATH of=OUTPUT_FILE_PATH bs=$(( 64 * 1024 * 1024 )) oflag=sync

이것은 당신의에서 읽을 if로 파일 및 쓰기 of각 청크는 다음 일을 시작하기 전에 작성 될 때까지 64MiB 청크에서 파일을 기다립니다. 사용중인 유틸리티는 파일을 메모리로 읽은 다음 디스크로 보내는 것입니다 (한 번에 바이트 수를 알려주는 것은 없습니다). 쓰기 캐싱은 USB 동글 자체에있을 수 있습니다 .... 그래서 당신이 얻는 초당 60MiB 속도는 동글의 내부 캐시에 대한 USB 연결을 통한 전송 속도입니다. 그러나 USB3 동글이 아니라면 가능하지 않습니다. USB2는 초당 60MiB를 처리하기에 충분한 처리량이 없습니다.


0

위의 모든 것이 필요하지 않습니다. 전송에 0 %가 남았을 때 터미널 창을 열기 만하면됩니다. syncman 페이지에서 sync 명령은 파일 시스템 버퍼를 플러시하지만 권한이있는 파일 만 플러시합니다. 모든 유형을 플러시하려면sudo sync

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.