2010. 11. 17. 09:08
Ubuntu File에 대해 좀더 자세히 알아내기 (ls 명령과 file 검증(md5, sha1)하기)
2010. 11. 17. 09:08 in Research/Ubuntu
이전(2010/11/16 - [Research/Ubuntu] - Ububtu/Linux에서 File 검색(Search)하기)에서 file을 어떻게 찾는지를 알아 보았습니다. 그리고 이제 이러한 file들에 대해 좀더 자세한 정보를 구하는 방법을 알아보도록 합니다. 덜 사용되는 ls 명령의 option을 사용하면 사용하지 않을 때 보다 당신이 알지 못했던 정보를 나열해 줍니다. file과 같은 명령은 file의 type을 알아내는데 도움을 줍니다. 그리고 md5sum과 sh1sum 명령으로 file의 검증을 해 볼 수 있습니다.
ls 명령에 친숙하더라도, 당신의 system상에 있는 file의 많은 정보를 알려주는데 도움을 준다는 것에는 그다지 익숙하지 않을 것입니다. 다음은 file과 directory의 long list를 표시하는데 사용되는 option인 -l의 예를 보여주고 있습니다.
- ls -l : 현재 directory의 file과 directory
- ls -la : 점(.)으로 시작하는 file/directory 포함
- ls -lt : 최근에 변경된 순으로 정렬
- ls -lu : 최근에 접근한 순으로 정렬
- ls -ls : 크기순으로 정렬
- ls -li : 각 file 마다 연계된 inode 표시
- ls -ln : user/group ID의 숫자를 표시
- ls -lh : 사람이 쉽게 읽을 수 있도록 사이즈 표시 (K, M, ...)
- ls -lR : sub-directory를 recursive하게 표시
당신이 file을 list할 때 다른 type의 file을 다르게 표시하는 방법이 있습니다.
- ls -F : file type 별로 문자를 추가시킴
symbolic link(@), directory(/), pipe(|), executable(*), socket(=) - ls --color=always : type 별로 다른 색으로 표현
- ls -C : column으로 표현
software package나 CD 혹은 DVD image등의 파일은 internet 등에서 공유되는데, 종종 SHA1SUM이나 DD5SUM file이 함께 배포됩니다. 이러한 file은 배포한 저장소로 부터 정확하게 download되었는지 확신시켜 주는데 사용되는 checksum을 가지고 있습니다.
아래는 md5sum과 sha1sum 명령으로 file의 checksum을 만드는 예입니다.
$ md5sum system-admin-guide.pdf f85a9c13ac40f439456e6238f2f39610 system-admin-guide.pdf $ sha1sum system-admin-guide.pdf a83687b62e746aaf4ed1be400f71c6a130be0770 system-admin-guide.pdf |
$ md5sum index.html d41d8cd98f00b204e9800998ecf8427e index.html $ md5sum index.html > md5sum.txt $ md5sum -c md5sum.txt index.html: OK $ sha1sum index.html > sha1sum.txt $ sha1sum -c sha1sum.txt index.html: OK |
위와 같이 되며, 보통의 checksum 파일은 여러개의 파일로 구성되어 있습니다. 만일 단일 파일만 체그해 보고 싶다면, 다음과 같이 할 수 있습니다.
$ cat md5sum.txt | grep Release.gpg | md5sum -c ./somedirectory/Release.gpg: OK |
만일 md5sum.txt file 대신하여 sha1 checksum file이 있다면, 동일한 방법을 사용하면 됩니다. find 명령과 조합하여 md5sum 명령으로 당신의 file system의 file을 검증할 수 있습니다. 다음의 예를 보십시요.
$ sudo find /etc -type f -exec md5sum {} \; > /tmp/md5.list 2> /dev/null $ head /tmp/md5.list 4c82dbf7e1d8c5ddd70e40b9665cfeee /etc/wpa_supplicant/ifupdown.sh 57813804697f518c667b6930e3c7df2d /etc/wpa_supplicant/functions.sh 1dcca5080e42ea56d7be96d71214f57b /etc/wpa_supplicant/action_wpa.sh 92a0a19db9dc99488f00ac9e7b28eb3d /etc/hosts.deny 887c00ab9cf13f6944abe88d424c9d08 /etc/ufw/sysctl.conf 9cdc37360d39d2623111bd3190d53839 /etc/ufw/before6.rules 44eab12c7b5c683d750b83dcffb6cccb /etc/ufw/ufw.conf 8e482ff92456fcb9ea15ecbd96ea8cf5 /etc/ufw/before.rules 5d543566c1e643829452cf7c06869ea2 /etc/ufw/after6.rules 53e906b055d9145d03b6a2fadeca20f1 /etc/ufw/after.rules $ cd /etc $ sudo md5sum -c /tmp/md5.list | grep -v 'OK' |
$ ls *.txt errors.txt everything.txt md5sum.txt ouptput.txt output.txt sha1sum.txt $ cp output.txt fail.txt $ ls *.txt errors.txt everything.txt fail.txt md5sum.txt ouptput.txt output.txt sha1sum.txt $ find ~ -type f -exec md5sum {} \; > ~/md5.list 2> /dev/null $ cp errors.txt fail.txt $ md5sum -c md5.list | grep -v 'OK' /home/greenfish/fail.txt: FAILED md5sum: WARNING: 1 of 188 computed checksums did NOT match |
'Research > Ubuntu' 카테고리의 다른 글
JOE editor 사용하기 (0) | 2010.11.19 |
---|---|
Linux/Ubuntu Text 처리하기 (Regular Expression) (0) | 2010.11.18 |
Ububtu/Linux에서 File 검색(Search)하기 (1) | 2010.11.16 |
Ubuntu/Linux File 속성(Attribute) 변경하기 (0) | 2010.11.12 |
Ubuntu에서 File 복사, Partition 백업 하기 (2) | 2010.11.11 |