연습장

리눅스 기본 명령어 본문

리눅스 마스터 2급

리눅스 기본 명령어

js0616 2024. 5. 28. 23:00

which : 명령어 경로 확인
whereis : 대상 명령어의 절대 경로, 소스 파일, 설정 파일, 메뉴얼 등 정보를 표시
alias : 명령어의 별칭 만들기
unalias : 명령어의 별칭 삭제하기

 

man : 리눅스 명령어의 메뉴얼 확인, 리눅스 명령어 특징과 세부 옵션 확인

apropos : 명령어 메뉴얼에서 지정한 키워드가 포함된 것을 검색, whatis 데이터 베이스를 참조하여 지정한 문자열을 포함한 것을 검색하여 표시

manpath : man 명령이 참조하는 메뉴얼의 경로 표시

info : 리눅스 명령어의 사용법, 옵션 등 표시 (man 보다 제한적인 기능)

whatis : 명령어의 기능을 간략히 표시, whatis 데이터 베이스에서 키워드를 검색하여 일치할 경우 명령어의 기능을 표시

 

 


 

PATH 환경 변수 : 명령어가 위치한 경로를 찾는 순서 지정
PATH 환경 변수에 지정된 디렉터리를 순서대로 탐색하여 명령어(프로그램)을 찾고 실행

 

일반적으로, 셸은 사용자가 입력한 명령어를 찾을 때, 
PATH에 지정된 디렉터리들을 순차적으로 검색하여 해당 명령어에 대한 실행 파일을 찾습니다. 
따라서 PATH를 올바르게 설정해 두면 사용자가 실행할 수 있는 명령어를 어디서든 사용할 수 있습니다.

  1. 기본 PATH 값은 시스템에서 이미 정의되어 있습니다. 보통은 /bin, /usr/bin, /sbin, /usr/sbin 등이 포함됩니다.
  2. 사용자가 새로운 디렉터리를 PATH에 추가하려면, 해당 디렉터리의 경로를 PATH에 추가하면 됩니다. 예를 들어, 새로운 디렉터리인 /home/user/bin을 PATH에 추가하고 싶다면 다음과 같이 합니다:

export PATH=$PATH:/home/user/bin


export PATH = [설정값:설정값: ... ] // 설정

echo $PATH  // 설정 확인 

 


사용자 생성 및 계정 관리

 

useradd, adduser : 사용자 계정 생성

passwd : 사용자 패스워드 변경

su : 사용자 전환 (switch user) , 로그아웃 없이 다른 사용자의 계정으로 로그인, 다른 사용자의 권한 획득

 

/etc/default/useradd : 사용자를 추가할 때 기본 설정 정보로 활용

/etc/passwd : 사용자 계정 정보 저장

/etc/shadow : 사용자 패스워드 암호화 파일

/etc/login.defs : 사용자 계정 설정 시 기본값

 

 

usermod : 사용자 계정 정보 수정, 사용자 홈 디렉터리, 그룹, 유효기간, 셸 등 정보를 변경

userdel : 사용자 계정 정보 삭제

chage : 패스워드 만료 정보 변경

 


groupadd : 그룹을 추가하는 명령어

groupdel : 그룹을 삭제하는 명령어

groupmod : 그룹 설정 변경

 

그룹 설정 관련 환경 구성 파일

/etc/group : 사용자가 소속된 그룹을 설정

/etc/gshadow : 그룹의 패스워드를 MD5 로 암호화 하여 저장

 


user : 로그인한 사용자 정보 표시

who : 접속한 사용자 정보 표시, 계정명, 터미널 정보, 접속 시간, 접속 서버 등 표시

w : 접속한 사용자 정보 표시, 서버시간, 부팅 후 작동시간, 접속자 수 , 접속자별 평균 부하율, 접속자별 계정명, TTY 이름 , 로그인 시간 등

id : 접속한 사용자 정보 표시, uid, gid, group 정보 표시

who am i , whoami : 접속해 있는 자신의 정보를 표시

groups : 사용자가 속한 그룹 목록 표시


디렉터리 및 파일 관련 명령어

 

~ : 로그인한 사용자의 홈 디렉터리

 

pwd : 현재 작업 디렉터리명 표시

 

cd : 디렉터리 이동 ( ~ : 홈 디렉터리, . : 현재 디렉터리,  .. : 상위 디렉터리 , / : 루트 디렉터리 )

 

mkdir : 디렉터리 만들기

[ -m : 권한 설정 755기본 , -p : 상위 디렉터리 생성, -v : 생성 디렉터리 메시지 표시]

 

rmdir : 디렉터리 삭제하기 (비어있는 디렉터리만 가능)

 

ls : 디렉터리의 파일 목록(정보) 표시

[-a: 숨김파일 포함, -l : 자세히 목록 보기, -d : 디렉터리 지정, -r : 역순으로 표시, -R 하위 디렉터리 포함]

 

cp : 파일, 디렉터리 복사

[-b: 타깃 파일 존재 시 백업, -f : 타깃 파일 존재 시 강제로 삭제 및 복사, -i : 타깃 파일 존재 시 덮어쓰기 확인 , -r : 하위 폴더 및 파일 포함]

 

rm : 파일, 디렉터리 삭제

[ -f : 확인없이 삭제, -i : 사용자에게 확인 , -r : 하위 디렉터리 포함, 모든 파일 제거] 

 

mv : 파일, 디렉터리 이동, 파일명 변경에서 사용

[-b : 타깃 파일 존재 시 백업, -f : 타깃 파일이 있어도 강제 적용 , -v : 진행 과정의 정보 표시]

 

touch : 비어있는 파일 생성 혹은 파일의 시간(time stamp) 변경

[ -a: 접근시간 변경, -m : 수정시간변경 , -c : 파일 시간을 현재 시간으로 변경, -t : 특정 파일의 시간 변경, -r 파일 A 파일 B : 파일 A의 시간을 파일 B 와 동일하게 변경 ]

 

file : 파일의 종류와 속성 값 표시

[-b : 파일 형식만 표시, -f : 지정한 파일만 대상으로 실행, -z : 압축 파일 내용 표시 , -i : MIME 으로 출력 ] 

 

find : 지정된 조건에 따라 파일을 검색하는 명령어 (지정한 경로 및 하위 경로를 대상으로 검색) 

[ -name : 이름으로 검색, -user : 사용자의 파일/디렉터리 검색, -perm : 권한으로 검색, -type : 파일 유형으로 검색, -atime 숫자 : 숫자 일수 이전에 접근한 파일 검색, -size : 파일 크기를 지정하여 검색, -exec : 검색 파일을  대상으로 실행할 명령어

 

locate : 파일의 위치 검색

 

cat : 파일 내용을 출력

[ -n : 행 번호 표시 , -b : 행 번호 표시, 비어있는 행 제외, -s : 2개 이상 빈 행을 하나로 표시, -A: 텍스트 파일의 개행 문자, 탭문자 등 확인] 

 

head : 파일의 앞 부분만 출력

[ -c: 지정 숫자의 바이트 만큼 출력, -n : 지정 줄 수 만큼 출력, 기본 10줄 ]

 

tail : 파일의 마지막 부분만 출력

[ -c : 지정 숫자의 바이트 만큼 출력, -n : 지정 줄 수 만큼 출력, 기본 10줄, -f : 새롭게 추가되는 내용을 실시간 출력, -v : 파일명 표시 , -q : 파일명 표시하지 않음 ] 

 

more : 화면 단위로 파일의 내용을 출력

[ -숫자 : 페이지 당 표시할 줄 수 ] 

( 다음페이지 : space , 다음 줄 : enter , 1/2 페이지 : Ctrl + D , 이전 페이지 : Ctrl + B, 종료 : Q , 문자열 패턴 검색 : /패턴

 

less : 텍스트 파일을 한 화면씩 표시

(more 과 다르게 커서를 이동할 수 있음

 

wc : 파일의 라인 수 , 단어 수 , 알파벳 수 표시

[ -l : 라인수 표시, -w : 단어 수 표시, -c : 알파벳 수 표시]

 

grep : 특정한 문자열 패턴, 정규식을 이용하여 단어를 검색

[ -r : 모든 디렉터리, 파일 , -E : 정규표현식, -i : 대소문자 무시, -v : 검색 대상이 포함되지 않은 라인만 표시, -n : 라인수 표시 , -l : 문자열이 포함된 파일명 표시 ] 

 

sort : 정렬하여 표시하는 명령어

[ -b : 앞 공백 무시, -o : 저장 파일명, -r : 역순 , -f : 대소문자 구분하지 않음 , -t : 필드 구분자 지정, -u : 중복 행 제거, -m : 정렬 파일을 병합, -n : 숫자만 비교 ] 

 

cut : 구분자를 이용하여 특정 필드를 추출하는 명령어

[ -b : 바이트 수를 기준, -c : 문자열, 콤마와 하이픈으로 범위 지정, -f : 필드를 기준, -d : 구분문자, 기본 값은 탭, -z : 라인의 구분자로 개행이 아닌 NUL 을 이용]

 

split : 여러개의 파일로 분리하여 저장

[ -b : 바이트 단위로 분할, -l : 라인수 단위로 분할]

 

diff : 파일을 라인 단위로 비교하여 표시

[ -b : 연속 공백 무시, -i : 대소문자 구분 없음 , -S 동일한 파일인지 확인, -r 디렉터리 차이점 출력]

 

cmp : 파일을 바이트 단위로 비교하여 표시

[ -b : 다른 바이트 출력, -l 다른 문자 위치, 문자 출력, -S : 비교 결과만 표시 ]

 

comm : 파일을 라인 단위로 비교하여 표시

[ -1 : 파일 A에만 있는 내용 제외 , -2 : 파일  B에만 있는 내용 제외 , -3 : 공통으로 존재하는 내용 제외 ] 

 


리다이렉션의 개념과 활용

표준 입력 (stdin 키보드) , 표준 출력(stdout 모니터), 표준 에러 (stderr 모니터) 의 방향을 재지정하는 방법

>  : 출력 재지정 

>> : 추가 모드로 출력 재지정

< : 입력 재지정

 

파이프 : 두개 이상의 명령을 상호 연결하여, 한 명령의 출력을 다른 명령의 입력으로 지정하여 실행하는 방법

명령 A | 명령 B ... 

A의 명령의 결과를 B 의 명령의 입력으로 사용하여 출력한 결과를 보게 됨 . 

 

정규표현식

^ : 라인의 첫 글자

$ : 라인의 끝 글자

. : 한글자

* : 기호 바로 이전의 글자나 정규 표현식이 0 회 이상 반복

[] : 대체 글자 목록을 [] 에 나열, " - " 로 문자의 범위 지정

+ : + 기호 이전 글자나 정규 표현식이 1회 이상 반복

? : ? 기호 바로 이전 글자나 정규 표현식이 없거나 1회만 존재

( ) : 부분 정규 표현식의 시작과 끝을 표시

| : | 로 구분된 단어들 중 최소 하나 존재

{ m, n } : { } 기호 바로 이전 글자나 정규 표현식이 m 개 이상 n 개 이하 반복

 


 

ping : 상대 호스트와 IP 통신이 가능한지 확인하는 명령어

[ -c: 요청 수, 기본 무제한, -i : 통신을 위한 신호를 전달하는 시간 간격, 기본 1초, -s : 전송할 패킷 크기 바이트]

 

tracerout : 상대 호스트까지의 경로 표시

통과하는 라우터의 경로를 표시, 통신이 원활하지 않을때 사용

 

nslookup : 도메인 정보를 조회하는 명령어

[ -type=레코드타입 , NS : 네임서버 , MX : 메일서버 , A : IPv4 주소 , AAA: IPv6 주소 , CNAME : 별칭, SOA : 도메인 정보 , PTR (IP 주소에 대한 도메인 명) ]

 

dig : 도메인 정보를 조회하는 명령어

타입 : a : IPv4 , any : 모든 정보 , mx : 메일서버, ns : 네임서버 , soa: SOA 정보

 

host : 도메인/호스트 정보를 조회하는 명령어

 

hostname : 시스템(호스트) 이름 확인 및 변경

 

shutdown : 시스템을 종료 혹은 재 부팅하는 명령어

[ -r : 리부팅, -h : 종료 , -c : 명령취소, -k : 경고 메세지만 출력, -f : 리부팅시 fsck 명령 생략, -n : init 호출없이 종료 , -t : 지정 시간에 재시동 ]

 

init : 런레벨을 이용한 shutdown 수행

reboot : 시스템 리부팅 명령어

halt : 시스템 종료 명령어

cal : 달력 출력

date : 시스템 날짜 표시 혹은 변경

clear : 화면지우기

tty : 접속에 사용한 장치 정보 표시

time : 명령 수행에 소요된 시간 표시

wall : 로그인한 사용자에게 메시지 전송

write : 특정 사용자에게 메시지 전송

mesg : write 로 전송되는 메시지 수신 여부 확인 및 제어

 

 

 

 

 

 

 

 

 

 

 

 


 

https://chatgpt.com/

 

https://www.youtube.com/watch?v=F1OTwG55odE&list=PLQgMSoJkoYmY_BH1WhnOdfCnx31npCZnR&index=46

'리눅스 마스터 2급' 카테고리의 다른 글

01. 권한 및 그룹 설정 (chmod)  (0) 2024.06.05
권한 및 그룹 설정  (0) 2024.05.29
리눅스 특징  (0) 2024.05.28
RAID  (0) 2024.05.27
파티션, 파일 시스템 , LVM  (0) 2024.05.27