LINUX

포스트: 477|조회수: 0|TERM
Items

Posts

477 posts

[bash: sed] 특정 행부터 파일 마지막까지 출력하기

반달가면|2018년 12월 12일

우선, sed 명령으로 파일의 특정 범위를 출력하는 기본적인 방법은 이전 게시물을 참고하자. 여기로 # my_file.txt 파일의 12번째 행만 출력 sed -n 12p my_file.txt # my_file.txt 파일의 3번째 행부터 12번째 행까지 출력 sed -n 3,12p my_file.txt 예를 들어, my_file.txt 파일이 총 몇개의 행으로 이루어져 있는지 확인하지 않고 어쨌든 3번째 행부터 마지막까지 출력하려면 아래와 같이 할 수 있다. # my_file.txt 파일의 3번째 행부터 마지막 행까지 출력 sed -n "3,\$p" my_file.txt 마지막 행을 지칭하는 기호가 "$"인데, 셸(shell)에서 변수를 지칭하는 것으로 해석되지 않도록 역

locate - mlocate 데이터베이스 정보 확인 및 수동 갱신

반달가면|2018년 12월 5일

파일을 빠르게 찾기 위한 locate 명령에 대한 기본적인 내용은 이전 게시물을 참고하자. 여기로 기본적인 사용 예시는 아래와 같다. # 디렉토리 경로 또는 파일명에 문자열 "abc"를 포함한 경우 찾기 locate "abc" # 파일명(basename)에 문자열 "abc"를 포함한 경우 찾기 locate -b "abc" # 정규표현식 사용, 문자열 "Abc" 또는 "abc"를 포함한 경우 찾기 locate --regex "[Aa]bc" locate에서 참조하는 데이터베이스(mlocate DB) 관련 정보를 확인하려면 -S(대문자) 옵션을 이용한다. # mlocate DB 정보 출력 locate -S Database /var/lib/mlocate/mlocate.d

locate - 리눅스에서 고속으로 파일 찾기

반달가면|2018년 12월 3일

파일을 검색할 때 개인적으로 가장 요긴하게 사용하는 명령어가 find인데, 파일 수가 엄청나게 많은 상황에서 특정 파일의 위치를 확인하려면 시간이 꽤 걸릴 수 있다. 이럴 경우 locate를 사용하면 훨씬 빠르게 결과를 얻을 수 있다. 파일 시스템을 직접 검색하는 find와 달리, locate는 파일 정보가 저장되어 있는 데이터베이스(DB)를 검색해서 결과를 출력하기 때문에 속도가 훨씬 빠르다. 검색 조건과 관련된 옵션에 있어서는 find가 훨씬 유연하고 다양하므로 필요에 따라 두가지 명령을 상호보완적으로 사용하면 되겠다. (find 활용은 이전 게시물들을 참고하자. 여기로) 가장 간단한 예로, 파일시스템 어딘가에 my_file.txt 파일이 어디에 있는지 보려면 아래와 같이 입력하면 된다.

리눅스에서 파일이 매우 많은 디렉토리에 대한 ls 명령 실행속도 향상 (-f 옵션)

반달가면|2018년 11월 29일

간단한 내용이지만, 간혹 요긴할 때가 있어 정리해 두기로. 리눅스에서 디렉토리 하위에 상당히 많은 파일이 있을 경우, ls 명령을 입력하면 시간이 상당히 오래 걸릴 수 있다. 특히 속도가 느린 HDD에서는 더욱 두드러질 수 있다. 출력이 느린 이유중 하나는 ls에서 조회한 내용을 출력할 때 정렬(sorting)을 하기 때문이다. 항목이 많지 않을 때는 문제가 없지만 항목이 꽤 많을 경우엔 정렬에 소요되는 시간도 무시할 수 없게 된다. 이런 상황일 경우 -f 옵션을 추가해서 정렬하지 않고 바로 결과를 출력하도록 할 수 있다. # -f 옵션: 정렬 비활성화(do not sort) ls -f 예를 들어 특정한 문자열이 포함된 파일이 있는지 유무를 확인하려 할 경우에 굳이 정렬로 시간을 낭비