개인 자료 정리 홈페이지 입니다.

Note > 리눅스 명령어 모음

Note > 리눅스 명령어 모음find - search for files in a directory hierarchy

By a3040, Published on Invalid Date

지정된 디렉토리에서 파일이나 디렉토리를 검색하는 명령어입니다. 주로 파일을 검색하는 용도로 사용되며, 파일 이름, 파일 크기, 수정 시간 등의 정보를 기준으로 검색할 수 있습니다.


현재 디렉토리에서 이름이 "foo"인 파일 검색

find . -name "foo"

find . -name "robot"

find . -name "robots.txt"

find . -name "robot*"


/home 디렉토리에서 크기가 1MB 이상인 파일 검색

find /home -size +1M


/home 디렉토리에서 7일 이내에 수정된 파일 검색

find /home -mtime -7



-name: 파일 이름으로 검색

-size: 파일 크기로 검색 (+n: n보다 큰 크기, -n: n보다 작은 크기)

-mtime: 파일 수정 시간으로 검색 (-n: n일 전부터 지금까지, +n: n일 전부터 지난 시간에 해당하는 파일)

-type: 파일 타입으로 검색 (d: 디렉토리, f: 일반 파일)

-maxdepth: 검색할 하위 디렉토리의 최대 깊이 지정


Note > 리눅스 명령어 모음 gawk - pattern scanning and processing language

By a3040, Published on Invalid Date

파일에서 데이터를 추출하거나 가공하기 위해 사용되는 텍스트 처리 도구입니다. 주로 파일의 특정한 부분만 추출하거나 특정한 패턴을 찾아내서 가공할 때 사용됩니다.


-F: 필드 구분자를 지정할 때 사용 (기본 값은 공백 문자)

-v: 변수를 선언할 때 사용

$1, $2, ... : 데이터에서 필드를 추출할 때 사용

if, else if, else: 조건문을 작성할 때 사용

print: 데이터를 출력할 때 사용

BEGIN, END: 데이터 처리 전에 실행할 코드와 데이터 처리 후에 실행할 코드를 작성할 때 사용


]$ awk -F ':' '{print $1, $6}' /etc/passwd

passwd 파일을 직접 지정하여 awk 명령어를 실행합니다. passwd 파일을 직접 지정하여 awk 명령어를 실행합니다. 

example /home/example


]$ cat passwd | awk -F ':' '{print $1, $6}'

/passwd 파일의 내용을 출력하고, awk 명령어를 사용하여 각 줄을 : 기호를 구분자로 필드를 분리하고, 필드 번호가 1인 값(즉, 사용자 이름)과 필드 번호가 6인 값(즉, 홈 디렉토리)을 출력합니다.


/etc/passwd 파일에서 사용자 example 제하고 그룹 번호를 찾아 더하기

awk -F ':' '{if ($1 != "example") sum += $4} END {print sum}' /etc/passwd


각 줄을 : 기호를 구분자로 필드를 분리하고, 

{if ($1 != "example") sum += $4} 구문에서 사용자 이름이 example이 아닌 경우에만 

필드 번호가 4인 값(즉, 그룹 번호)을 더합니다. 

END 구문에서 sum 변수에 저장된 값을 출력합니다. 





Note > 리눅스 명령어 모음sed - stream editor for filtering and transforming text

By a3040, Published on Invalid Date

스트림 편집을 위한 명령어로, 텍스트 데이터를 읽어들여 특정 패턴을 찾아 다른 패턴으로 치환하거나, 텍스트를 삭제 또는 추출하는 등 다양한 작업을 수행할 수 있습니다.


sed [옵션] '스크립트' [입력 파일]


# 파일에서 'hello'를 'world'로 치환하는 예시

sed 's/hello/world/' file.txt


# 파일에서 'hello'가 포함된 라인을 삭제하는 예시

sed '/hello/d' file.txt


# 파일에서 첫 번째 라인을 출력하는 예시

sed -n '1p' file.txt


-n(출력을 억제)

-i(파일 내용을 직접 수정)

-e(다중 명령어 실행)


cat file.txt | sed 's/^/I like /'


Note > 리눅스 명령어 모음grep - print lines that match patterns

By a3040, Published on Invalid Date

 grep, egrep, fgrep, rgrep - print lines that match patterns


특정 문자열이 포함된 행을 파일 또는 입력 스트림에서 찾아 출력하는 명령어입니다. 일반적으로 로그 파일이나 소스 코드에서 특정 문자열을 찾아내는 데에 많이 사용됩니다.


-i : 대소문자를 구분하지 않습니다.

-v : 지정한 문자열을 제외한 나머지 행을 출력합니다.

-n : 매칭된 행의 줄 번호를 출력합니다.

-l : 파일 이름만 출력합니다.

-r : 하위 디렉토리를 재귀적으로 검색합니다.

-E : 확장 정규식을 사용합니다. (기본값은 기본 정규식입니다.)


/var/log$ dmesg | grep 'error'


grep -r 'example' /var/log : /var/log 디렉토리와 그 하위 디렉토리에서 'example' 문자열이 포함된 모든 파일의 행을 출력합니다.


ps aux | grep 'node' : 현재 실행 중인 프로세스 중 'node' 문자열을 포함하는 모든 프로세스를 출력합니다.


grep node 명령어 자체로 프로세스에 있어서 두개의 결과가 나옴 이럴때 옵션 -v를 사용합니다.

쉘스크립트 만들때 $PID 값 만들때도 사용되어서 service 관련 스크립트에 자주 나옵니다.


Note > 리눅스 명령어 모음du - estimate file space usage

By a3040, Published on Invalid Date

파일 및 디렉토리의 디스크 사용량을 보고하는 명령어입니다. 주로 디스크 용량을 확인하는데 사용됩니다.


du -h

현재 디렉토리 내의 모든 파일 및 디렉토리의 크기 확인


du -h public_html/

현재 디렉토리 내의 특정 디렉토리의 크기 확인


du --max-depth=1 -h //서버 사용량이 가득 차오를때 누가 범인인지 확인하기 용이합니다.

현재 디렉토리의 하위 디렉토리까지만 1단계까지의 디렉토리 사이즈를 출력