디렉토리 용량 확인하기(du)

리눅스에서 각 파일에 대해 디스크 사용량을 확인하려면 du 명령어를 사용하면 된다.


하위 디렉토리가 많으면 du 명령 사용시 각각 파일의 크기를 보여주기 때문에 제대로 크기를 확인하기 어려운데 이럴때는 -s(--summarize) 옵션을 사용하면 전체 사용량의 합계를 보여준다.

du -s


하지만 -s 옵션은 하위 디렉토리나 파일의 전체 합계만 보여주기 때문에 조금 불편하다.

예를 들면 하위 디렉토리가 여러개 있을 때, 디렉토리별 각각의 사용량을 보고 싶을 때가 있다. 이럴 때는 다음과 같이 입력하면 된다.

du -s */

또는 

du -sh */



mv 명령으로 디렉토리 이동시 덮어쓰기(mv directory target not empty)

mv member1/ group/


위 명령 처럼 member1 디렉토리를 group 디렉토리 아래로 이동하려고 할때 group/member1 이란 디렉토리가 이미 존재하면 아래 처럼 Dirctory not empty 라는 에러가 발생하면서 이동을 할 수가 없다.


mv: cannot move `member1/' to `group/member1': Directory not empty


-f(--force) 옵션을 줘도 마찬가지이다.

mv 명령으로는 해결 방법을 못 찾았고 아래와 같이 rsync 명령과 rm 명령을 병행해서 써야 한다.


rsync -a member1/ group/

(또는 rsync -a -v member1 group/)

rm -rf member1/




쉘 스크립트 백그라운드로 실행하는 방법(Run Shell Script in Background)

shell script 를 background로 실행하려면 다음과 같이 입력해보자.


nohup script >script.out 2>script.err &



script를 실행하는 도중 output 이 있다면 script.out 파일로 저장이 되고, 에러 메세지는 script.err 파일에 저장이 된다.




만약 일반적인 출력과 에러 메세지를 하나의 파일에 저장되도록 하려면 다음과 같이 하면 된다.


nohup script >script.out 2>&1 &





output을 저장하고 싶지 않을 때도 있다. 그럴때는 아래와 같이 /dev/null 로 출력을 redirect 하면 된다.


nohup script >/dev/null 2>&1 &