Press "Enter" to skip to content

[태그:] 파일

리눅스 서버 파일 삭제해도 하드공간 확보가 안되는 경우

갑자기 하드(HDD or SSD) 용량 부족이 발생하면 당황하기 마련이다.

급하게 임시파일이나 로그파일들을 삭제해도 이상하게 free space 확보가 안되는 경우가 있다.

디스크 용량 확인

df -h

디렉토리별 용량확인

sudo du -sh * | sort -hr

파일 삭제 후에도 용량 확보 안될경우 체크 명령

/usr/sbin/lsof / | grep deleted

조회되는 프로세스 강제 종료

kill -9 <PID 번호>

다시 디스크 용량 확인

df -h

이상이 있는 프로세스가 파일을 물고 있어서 용량 회복이 안된 상태였는데, 프로세스를 강제로 종료 시켰으므로 용량이 회복됨.

리눅스 텍스트파일 한글깨짐 고쳐보기

오래된 프로그램 소스나 텍스트 파일에서 한글깨진 파일이 있을 경우가 있다.

일단 예전 파일이 요즘쓰는 utf-8로 변환되어 있지 않아서 나타나는 현상이 대부분이다.

현재 리눅스 시스템이 어떤 인코딩 타입을 사용하고 있는지 알아보자

# locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

UTF-8을 사용하고 있군요.

다음. 한글이 깨지는 파일의 인코딩 형태를 파악해 보자.

# file -bi test.txt
text/plain; charset=utf-8

이 파일은 텍스트 파일인데 utf-8로 저장되어 있다는 소리다. 리눅스 시스템도 UTF8이니깐 이 파일은 잘 보일거다.

리눅스 시스템이 UTF-8인데 파일은 euc-kr 이라면 깨져 보일 것이다.

리눅스 시스템이 EUC-KR인데 파일이 UTF-8이라면 역시 깨져 보일 것이다.

파일 인코딩을 euc-kr 에서 utf-8로 변환하여 저장하는 방법

# iconv -c -f euc-kr -t utf-8 org.txt > new_utf8.txt

find . * | xargs grep string 문서에서 문자열 찾기

find . * | xargs grep string 문서에서 문자열 찾기

(find) 찾기를 할껀데!!!  (.)현재 디렉토리를 기준으로 (*)모든 파일에서 (string)이라는 문자열이 있는 파일만 (grep) 걸러줘라

라는 뜻!!!


그런데… 서브 디렉토리들이 걸림돌이 된다. ㅡㅡ;;; 
이렇게 아래와 같은 메시지가 주루루루루루루루루룩 나온다…

grep: /usr/lib/ruby/1.9.1/webrick/httpservlet: Is a directory
grep: /usr/lib/ruby/1.9.1/shell: Is a directory
grep: /usr/lib/ruby/1.9.1/dl: Is a directory
grep: /usr/lib/ruby/1.9.1/bigdecimal: Is a directory
grep: /usr/lib/ruby/1.9.1/uri: Is a directory
grep: /usr/lib/ruby/1.9.1/rake: Is a directory
grep: /usr/lib/ruby/1.9.1/rake/ext: Is a directory
grep: /usr/lib/ruby/1.9.1/rake/lib: Is a directory

수백개가 나오는데… 내가 찾고 싶은 파일은 이 디렉토리들에 파뭍혀 안보일 수도 있다. ㅡㅡ;;



그래서 수정한 것이…

find / -type f | xargs grep <파일 안에서 찾을 문자열>