동일한 이름을 가진 폴더의 파일 크기 차이

동일한 이름을 가진 폴더의 파일 크기 차이

서로 다른 두 폴더의 이름은 같지만 파일 크기가 다릅니다. 두 폴더를 비교하고 동시에 파일 크기의 차이를 알려줄 수 있는 Linux 명령이 있습니까?

답변1

bashStephen의 답변에 대한 대안 :

diff -u <(cd dir1 && du -a | sort -k2) <(cd dir2 && du -a | sort -k2)

이것과 Stephen의 답변은 모두 파일 이름에 줄 바꿈이 없다고 가정합니다.

답변2

사용하면 zsh다음 vim을 수행할 수 있습니다.

vim -d =(cd dir1 && du -a | sort -k2) =(cd dir2 && du -a | sort -k2)

( 또는 또는 선호하는 텍스트 비교 유틸리티 vim -d로 대체할 수 있습니다 ).diff -ukompare

명령 대체 형식은 일반 파일(예: ) 이 필요한 명령을 사용할 수 있도록 파이프 대신 임시 파일을 사용한다는 점만 제외하면 =(...)ksh, zsh, bash와 동일합니다 . 해당 제한이 없는 명령(예 : )의 경우 를 사용할 수 있습니다 .<(...)vimdiff<(...)

답변3

디렉토리는 파일 이름과 inode 사이의 매핑일 뿐이며 "디렉토리에 파일"이 없습니다. ) 명령을 사용하여 디렉터리를 통해 액세스할 수 있는 파일의 크기를 물어볼 수 있습니다 du(1). 보고된 바와 같이 디렉토리 자체의 크기가 걱정된다면 ls -ld directory여기에는 현재 파일 이름, 현재 삭제된 파일이 사용하는 공간, 패딩 및 다양한 관료주의가 포함됩니다.

액세스 가능한 파일의 이름/내용이 동일한지 알고 싶다면 cmp(1)두 파일을 비교하십시오. 또는 diff(1) ( -r플래그를 사용하여) 디렉터리를 재귀적으로 비교합니다(단, 텍스트에서는 작동합니다).

관련 정보