리눅스 명령어는 일반적으로 다음과 같은 구문을 가집니다:
기본 형태
command [options] [arguments]
옵션 (Options): 명령어의 동작을 수정하며 하이픈(-) 또는 대시로 시작하여 한 글자로 구성됩니다.
인수 (Arguments): 대부분의 명령어는 하나 이상의 인수와 함께 사용되며, 일부 명령어는 기본 인수를 가정하기도 합니다.
예제:
ls -al: 현재 디렉토리의 모든 파일을 상세히 목록화합니다.
권한은 다음 세 가지 유형으로 나뉩니다:
권한은 세 가지 수준에서 제어됩니다:
권한 변경:
chmod ugo+r file 또는 chmod 764 file
소유권 변경:
chown user:group file - 파일의 소유자와 그룹을 변경
chgrp group file - 파일의 그룹을 변경
리눅스는 사용자가 명령어 및 시스템 유틸리티에 대한 정보를 찾을 수 있도록 다양한 도움말 명령어를 제공합니다:
리눅스에서는 여러 가지 방법으로 파일에 텍스트를 추가할 수 있습니다:
리눅스에는 표준 입력, 표준 출력, 표준 오류의 세 가지 리다이렉션이 있습니다:
제목: 리눅스에서 파이프 사용하기
구문
command1 | command2
예제: ls -l | more
제목: 파일 유지보수 명령어 사용하기
리눅스에서 파일을 관리하는 데 필수적인 명령어는 다음과 같습니다:
제목: 파일 내용 표시 명령어
리눅스에서 파일 내용을 확인하는 명령어는 다음과 같습니다:
리눅스는 텍스트 데이터를 처리하기 위한 강력한 명령어를 제공합니다:
개념 및 정의:
언제 사용하는가:
왜 사용하는가:
어떻게 사용하는가:
cut [옵션] [파일]
작동 원리:
실제 사용 예시:
cut -c1-3 filename - 파일의 각 라인에서 첫 번째부터 세 번째까지의 문자를 출력합니다.
cut -d':' -f1 /etc/passwd - 콜론 구분자로 나눠진 첫 번째 필드를 출력합니다.
여러 예시들
cut filename = Does not work
cut --version = Check version
cut –c1 filename = List one character
cut –c1,2,4 = Pick and chose character
cut –c1-3 filename = List range of characters
cut –c1-3,6-8 filename = List specific range of characters
cut –b1-3 filename = List by byte size
cut -d: -f 6 /etc/passwd = List first 6th column separated by : (d명령어는 :을 기준으로 자른다는 의미, -f 6은 6번째 열을 출력한다는 의미)
cut -d: -f 6-7 /etc/passwd = List first 6 and 7th column separated by :
ls –l | cut –c2-4 = Only print user permissions of files/di
개념 및 정의:
언제 사용하는가:
왜 사용하는가:
어떻게 사용하는가:
awk '패턴 {액션}' 파일
작동 원리:
실제 사용 예시:
첫 번째 필드 출력:
awk '{print $1}' filename - 각 라인의 첫 번째 필드를 출력합니다.
특정 조건에 따른 출력:
awk '$3 > 50 {print $1, $3}' filename - 세 번째 필드의 값이 50보다 큰 라인의 첫 번째와 세 번째 필드를 출력합니다.
여러예시들
awk --version = Check version
awk ‘{print $1}’ file = List 1st field from a file
ls –l | awk ‘{print $1,$3}’ = List 1 and 3rd field of ls –l output
ls –l | awk ‘{print $NF}’ = Last field of the output
awk '/Jerry/ {print}' file = Search for a specific word
('//': 슬래시(/)로 감싸진 부분은 패턴 매칭을 의미합니다. 여기서는 "Jerry"라는 단어를 포함하는 모든 줄을 찾습니다
{}: 중괄호({}) 안에 있는 부분은 패턴이 일치하는 줄에 대해 수행할 작업을 지정합니다. print는 해당 줄을 출력하라는 의미)
awk -F: '{print $1}' /etc/passwd = Ouput only 1st field of /etc/passwd
( -F: 필드 구분자를 설정하는 옵션으로, 여기서는 콜론(:)을 필드 구분자로 사용, {}: 중괄호({}) 안에 있는 부분은 각 줄에 대해 수행할 작업을 지정합니다. $1은 첫 번째 필드를 의미하며, print $1은 첫 번째 필드를 출력하라는 의미)
echo "Hello Tom" | awk '{$2="Adam"; print $0}‘ = Replace words field words
cat file | awk '{$2=“Imran"; print $0}‘ = Replace words field words
awk 'length($0) > 15‘ file = Get lines that have more than 15 byte size
ls -l | awk '{if($9 == "seinfeld") print $0;}‘ = Get the field matching seinfeld in /home/iafzal
ls -l | awk '{print NF}‘ = Number of fields
개념 및 정의:
언제 사용하는가:
왜 사용하는가:
어떻게 사용하는가:
grep [옵션] '패턴' 파일
작동 원리:
실제 사용 예시:
패턴 검색:
grep 'search_term' filename - 파일에서 'search_term'을 포함하는 모든 라인을 출력합니다.
대소문자 무시 검색:
grep -i 'search_term' filename - 대소문자를 구분하지 않고 검색합니다.
여러 예시
grep –-version OR grep --help = Check version or help
grep keyword file = Search for a keyword from a file
grep –c keyword file = Search for a keyword and count
grep –i KEYword file = Search for a keyword ignore case-sensitive
grep –n keyword file = Display the matched lines and their line numbers
grep –v keyword file = Display everything but keyword
grep keyword file | awk ‘{print $1}’ = Search for a keyword and then only give the 1st field
ls –l | grep Desktop = Search for a keyword and then only give the 1st field
egrep –i “keyword|keyword2” file = Search for 2 keywords
개념 및 정의:
언제 사용하는가:
왜 사용하는가:
어떻게 사용하는가:
sort [옵션] [파일]
작동 원리:
실제 사용 예시:
기본 정렬:
sort filename - 파일의 내용을 오름차순으로 정렬합니다.
역순 정렬:
sort -r filename - 파일의 내용을 내림차순으로 정렬합니다.
여러 예시
sort –-version OR sort --help = Check version or help
sort file = Sorts file in alphabetical order
sort –r file = Sort in reverse alphabetical order
sort –k2 file = Sort by field number
uniq file = Removes duplicates
sort file | uniq = Always sort first before using uniq their line numbers
sort file | uniq –c = Sort first then uniq and list count
sort file | uniq –d = Only show repeated lines.
개념 및 정의:
언제 사용하는가:
왜 사용하는가:
어떻게 사용하는가:
uniq [옵션] [파일]
작동 원리:
실제 사용 예시:
중복 제거:
sort filename | uniq - 파일을 정렬한 후 중복된 라인을 제거합니다.
중복 카운트:
sort filename | uniq -c - 중복된 라인의 개수를 표시합니다.
개념 및 정의:
언제 사용하는가:
왜 사용하는가:
어떻게 사용하는가:
wc [옵션] [파일]
작동 원리:
실제 사용 예시:
전체 카운트:
wc filename - 파일의 라인 수, 단어 수, 바이트 수를 출력합니다.
라인 수 카운트:
단어 수 카운트:
wc -w filename - 파일의 단어 수를 출력합니다.
여러 예시
wc –-version OR wc --help = Check version or help
wc file = Check file line count, word count and byte count
wc –l file = Get the number of lines in a file
wc –w file = Get the number of words in a file
wc –b file = Get the number of bytes in a file
wc DIRECTORY = NOT allowed
ls –l | wc -l = Number of files
grep keyword | wc -l = Number of keyword lines.
개념 및 정의:
언제 사용하는가:
왜 사용하는가:
어떻게 사용하는가:
diff [옵션] 파일1 파일2
작동 원리:
실제 사용 예시:
기본 비교:
diff file1.txt file2.txt
두 파일의 차이점을 줄 단위로 비교하여 출력합니다.
문맥 줄 추가:
diff -c file1.txt file2.txt
차이점 주변의 몇 줄을 포함하여 비교 결과를 표시합니다.
확장된 유니파이드 포맷:
diff -u file1.txt file2.txt
좀 더 읽기 쉬운 유니파이드 형식으로 비교 결과를 출력합니다.
개념 및 정의:
언제 사용하는가:
왜 사용하는가:
어떻게 사용하는가:
cmp [옵션] 파일1 파일2
작동 원리:
실제 사용 예시:
기본 비교:
cmp file1.bin file2.bin
두 파일을 바이트 단위로 비교하여 첫 번째 다른 위치를 출력합니다.
차이점 상세 출력:
cmp -l file1.bin file2.bin
모든 차이점을 바이트 단위로 상세히 출력합니다.
비교 결과 무시:
cmp -s file1.bin file2.bin
차이점 여부만을 확인하고 결과를 출력하지 않습니다. 이 옵션은 스크립트에서 유용합니다.
결론
diff와 cmp 명령어는 각각 줄 단위 및 바이트 단위로 파일을 비교하는데 사용됩니다.
diff는 텍스트 파일 비교에, cmp는 바이너리 파일 비교에 주로 사용됩니다.
개념 및 정의:
명령어
동작
옵션
언제 사용하는가:
어떻게 사용하는가:
파일 묶기: tar -cvf archive.tar file1 file2 directory/
묶은 파일 해제: tar -xvf archive.tar
내용 확인: tar -tvf archive.tar
작동 원리:
실제 사용 예시:
파일 묶기:
tar -cvf backup.tar /home/user/docs
/home/user/docs 디렉토리의 모든 파일을 backup.tar로 묶습니다.
묶은 파일 해제:
tar -xvf backup.tar
현재 디렉토리에 backup.tar의 내용을 해제합니다.
내용 확인:
tar -tvf backup.tar
backup.tar의 내용을 목록으로 보여줍니다.
더많은 예시
tar cvf my.tar /etc/sysconfig/
-> 묶기
tar cvfJ my.tar.xz /etc/sysconfig/
-> 묶기 + xz 압축
tar cvfz my.tar.gz /etc/sysconfig/
-> 묶기 + gzip 압축
tar cvfj my.tar.bz2 /etc/sysconfig/
-> 묶기 + bzip2 압축
tar tvf my.tar
-> 파일 확인
tar xvf my.tar
-> tar 풀기
tar cxvf newdir my.tar
-> newdir에 tar 풀기
tar xfJ my.tar.xz
-> xz 압축 해제 + tar 풀기
tar xfz my.tar.gz
-> gzip 압축 해제 + tar 풀기
tar xfg my.tar.bz2
-> bzip2 압축 해제 + tar 풀기
개념 및 정의:
언제 사용하는가:
어떻게 사용하는가:
파일 압축: gzip filename
압축 해제: gzip -d filename.gz
작동 원리:
실제 사용 예시:
파일 압축:
gzip data.txt
data.txt 파일을 압축하여 data.txt.gz로 만듭니다.
압축 해제:
gzip -d data.txt.gz
data.txt.gz 파일의 압축을 해제하여 data.txt로 복원합니다.
개념 및 정의:
언제 사용하는가:
왜 사용하는가:
어떻게 사용하는가:
압축 해제: gunzip filename.gz 또는 gzip -d filename.gz
작동 원리:
gunzip은 gzip으로 압축된 파일을 읽어, 압축 알고리즘을 역으로 적용하여 원래의 파일로 복원합니다.
실제 사용 예시:
압축 해제:
gunzip archive.tar.gz
archive.tar.gz 파일의 압축을 해제하여 archive.tar로 복원합니다.
gzip -d archive.tar.gz - 동일한 기능을 수행합니다.
개념
# xz 파일이름
-> '파일이름' 파일을 '파일이름.xz' 파일로 압축
-> 압축 대상 파일은 삭제
# xz -d 파일이름.xz(d는 Decompress의 의미)
-> '파일이름.xz' 파일을 '파일이름' 파일로 압축 해제
# xz -l 파일이름.xz(l는 List의 의미)
-> '파일이름.xz' 압축 파일에 포함된 파일 목록과 압출률 등을 출력
# xz -k 파일이름(k는 Keep의 의미)
-> 압축 후 기존 파일을 삭제하지 않음
개념
# bzip2 파일이름
-> '파일이름' 파일을 '파일이름.bz2' 파일로 압축
# bzip2 -d 파일이름.bz2
-> '파일이름.bz2' 파일을 '파일이름' 파일로 압축 해제
제목: 리눅스 시스템 정보 찾기
리눅스에서 시스템 정보를 확인하는 명령어는 다음과 같습니다: