-
LINUX 2nd | 리눅스 기본 명령어 1기타/LINUX 2020. 7. 9. 01:00
기본 명령어
명령어 which
명령어의 위치를 찾아주거나 alias를 보여주는 명령어.
which <명령어>
명령어 alias
자주 사용하는 명령어를 특정 별칭으로 지정해, 명령어 대신 해당 별칭을 대신 사용할 수 있게 해주는 명령어.
alias [별칭='명령어']
그냥 alias라고 명령을 사용하면 현재 사용하고 있는 별칭들을 살펴볼 수 있다.
새로운 별칭을 새로 만들고 싶을 때는 alias 명령어 뒤에 [별칭='명령어']의 형태로 사용한다.
예시)
alias m='ls -l'
ls -l 이라는 명령어를 m으로 사용할 수 있게 된다.
명령어 unalias
alias 기능을 해제하는 명령어.
unalias [옵션][별칭]
Options Description -a 설정된 모든 alias 해제 예시)
unalias m
'm'이라는 별칭을 더 이상 사용하지 않는다.
환경변수 PATH
환경변수
운영체제가 참조하는 변수echo $PATH
현재 설정된 PATH를 확인한다.
export PATH=$PATH:<변수값>
새로운 환경변수 PATH를 추가한다.
리눅스 도움말
명령어 man
리눅스에서 사용하는 명령어들의 매뉴얼을 제공하는 명령어.
man [섹션][옵션]<명령어>
Options Description -a 찾고자 하는 명령어의 검색된 매뉴얼 페이지를 모두 출력 -h 사용법을 출력 -f 키워드와 동일한 man 페이지만 출력 -k 키워드가 포함된 man 페이지 출력 -w 찾고자 하는 문자의 매뉴얼 페이지가 있는 위치를 출력 Section Description 1 일반 명령어 관련 매뉴얼이 들어있는 영역 2 시스템 호출 관련 매뉴얼이 들어있는 영역 3 C 표준 라이브러리 함수 관련 매뉴얼이 들어있는 영역 4 장치 드라이버 또는 특수 파일에 대한 정보가 들어있는 영역 5 특정 파일들에 대한 정보가 들어있는 영역 6 게임과 화면보호기에 대한 정보가 들어있는 영역 7 리눅스 파일 표준, 프로토콜, 시그널 목록 정보가 들어있는 영역 8 시스템 관리 명령어와 데몬 정보가 들어있는 영역 9 커널 관리 정보가 들어있는 영역 명령어 info
리눅스 명령어의 사용 방법, 옵션 등을 나타내는 명령어.
info <명령어>
명령어 man에 비해 지원되는 명령어가 한정적이지만, man에 비해 더 상세화된 매뉴얼이다.
명령어 whatis
명령어에 대한 기능을 간략하게 나타내는 명령어. 이때 명령어는 정확히 일치해야 한다.
whatis <명령어>
명령어 manpath
man 페이지의 위치 경로를 표시해주는 명령어.
manpath [명령어]
명령어를 적지 않고 사용할 경우 매뉴얼 페이지의 경로를 표시한다.
명령어 whereis
찾고자 하는 명령어의 실행 파일의 절대 경로, 소스코드, 설정 파일 및 매뉴얼 페이지를 찾아 출력하는 명령어.
whereis [옵션]<명령어>
명령어 apropos
whatis DB에서 해당 문자열을 포함하는 것을 검색해 출력하는 명령어.
apropos <문자열>
사용자 생성 명령어
명령어 useradd
사용자 계정을 생성하는 명령어. adduser 명령어와 동일하다.
useradd [옵션]<계정명>
Options Description -s 사용자의 로그인 기본 셸을 지정 -d 계정의 홈 디렉터리를 지정 -f 패스워드가 만기된 후 계정이 영구히 말소될 때까지의 기간 지정 -e 사용자 계정의 유효기간을 설정
보통 임시 계정을 만들때 사용-c 파일 /etc/passwd에 새로운 사용자 설명을 추가 -G 계정이 속한 그룹 외에 다른 그룹에 계정 추가 계정의 홈 디렉터리는 기본적으로 /home/<계정명>이다.
생성된 계정 정보는 파일 /etc/passwd, /etc/shadow, /etc/group에 저장된다.
명령어 passwd
생성된 계정의 패스워드를 입력 & 변경하는 명령어.
passwd [옵션]<계정명>
Options Description -S 계정 상태 표시
PS: 정상, NP: 패스워드가 없음, LK: Lock 상태거나 NP 상태-d 계정 패스워드 삭제 -l 계정을 lock 상태로 변경 -u 계정의 lock 상태를 해제 생성된 계정의 패스워드는 /etc/shadow 파일에 기록된다.
명령어 su
현재의 사용자 계정에서 로그아웃하지 않고 다른 사용자 계정으로 로그인하여 해당 사용자의 권한을 획득하는 명령어.
su [옵션][사용자][셸변수]
Options Description -, -l, --login 지정한 사용자의 환경변수를 적용하여 로그인 -s 지정된 셸로 로그인 -c 셸을 실행하지 않고 주어진 명령어 수행 사용자를 명시하지 않을 경우 자동으로 root로 실행된다.
사용자 관련 파일
파일 /etc/default/useradd
명령어 useradd로 사용자 계정을 추가할 때 사용되는 정보를 참조하는 파일.
파일 안의 내용은 아래와 같이 나타낸다.
KEY Description GROUP 새로 생성되는 계정의 GID HOME 새로 생성되는 계정의 홈 디렉터리 위치 INACTIVE 새로 생성되는 계정의 비밀번호 유예기간
(비밀번호 사용기간이 만료된 후 실제 계정이 정지되기 까지의 시간)
0이면 바로 사용불가능, -1이면 기능을 사용하지 않음EXPIRE 새로 생성되는 계정의 비밀번호 만료일
YYYY-MM-DD 형식SHELL 새로 생성되는 계정의 기본 셸 SKEL 새로 생성되는 계정의 홈 디렉터리로 복사될 초기 환경설정 파일들이 저장된 디렉터리 CREATE_EMAIL_SPOOL 새로 생성되는 계정의 메일 파일 저장 여부 /etc/defualt/useradd 파일은 useradd -D 명령어로 변경할 수 있다.
useradd -D [옵션]
Options Description -g 그룹 수정 -b 홈 디렉터리 수정 -f INACTIVE 수정 -e 계정 종료일 수정 -s 셸 수정 예시)
useradd -D -g 500 -b /home/here -s /bin/sh
새로운 계정이 추가될 때 GID는 500으로, 홈 디렉터리는 /home/here로, 기본 셸은 /bin/sh로 설정된다.
정확하게는 사용자 계정이 추가될 때 참조하는 파일인 /etc/default/useradd 파일이 변경된 것이다.
파일 /etc/passwd
계정의 정보를 가지고 있는 파일로 리눅스에 로그인할 때 사용된다.
파일 내용은 여러 개의 필드로 구성되어 있으며, 각각의 필드는 콜론(colon, ':')으로 구분된다.
필드의 구성은 아래와 같다.
UserName:Password:UID:GID:Comment:HomeDirectory:Shell
Field Description UserName 사용자 계정명을 나타내는 필드 Password 암호화된 비밀번호를 나타내는 필드
pwconv가 활성화되어 있는 경우 x로 표시되며 실제 비밀번호는 /etc/shadow에 저장됨
pwunconv가 활성화되어 있는 경우 실제 비밀번호를 보여줌UID 사용자의 UID를 나타내는 필드 GID 사용자의 GID를 나타내는 필드 Comment 설명문을 나타내는 필드 (보안상 사용하지 않음) HomeDirectory 사용자의 홈 디렉터리를 나타내는 필드 Shell 실행할 프로그램을 나타내는 필드 (일반적으로 사용자의 로그인 셸) 파일 /etc/shadow
사용자 계정의 비밀번호 정보가 암호화되어 있는 파일.
파일 내용은 여러 개의 필드로 구성되어 있으며, 각각의 필드는 콜론(colon, ':')으로 구분된다.
필드의 구성은 아래와 같다.
UserName:Password:LastChange:MinDays:MaxDays:WarnDays:Inactive:Expire:Flag
Field Description UserName 계정 사용자명을 나타내는 필드 Password 암호화된 비밀번호를 나타내는 필드 (역으로 풀 수 없다) LastChange 최근 비밀번호 변경일을 나타내는 필드 (1970/01/01 기준 날짜 수) MinDays 비밀번호 변경 후, 재설정을 위한 대기일을 나타내는 필드 MaxDays 비밀번호 유효기간을 나타내는 필드 WarnDays 비밀번호 변경 경고 시간을 나타내는 필드 Inactive 비밀번호 유예기간을 나타내는 필드 Expire 비밀번호 만료와 상관없이 계정이 정지되는 시간을 나타내는 필드 (1970/01/01 기준 날짜 수) Flag 나중에 사용하기 위해 예약으로 세팅된 필드 파일 /etc/login.defs
사용자 계정 설정과 관련된 시본 값을 정의한 파일.
새로운 계정을 생성할 때 /etc/default/useradd 파일을 참조 후 참조하는 파일이다.
파일의 구성은 아래와 같다.
Key Description MAIL_DIR 메일 디렉터리 PASS_MAX_DAYS 비밀번호 변경 없이 사용할 수 있는 최대일자 PASS_MIN_DAYS 비밀번호 설정 후 최소 사용기간 PASS_MIN_LEN 비밀번호 최소 바이트 수 PASS_WARN_AGE 비밀번호 만료 경고일 UID_MIN 생성할 수 있는 UID 최소번호 UID_MAX 생성할 수 있는 UID 최대번호 GID_MIN 새로 생성되는 그룹의 GID 최소번호 GID_MAX 새로 생성되는 그룹의 GID 최대번호 CREATE_HOME 홈 디렉터리 생성 여부 (yes / no)
사용자 계정 관리
명령어 usermod
사용자 계정이 관한 정보를 변경하는 명령어.
usermod [옵션]<계정명>
Options Description -u 새로운 UID 지정 -g 새로운 GID 지정 -G 새로운 보조그룹 지정 -d 새로운 홈 디렉터리 지정 -s 새로운 셸 지정 -c 새로운 주석 지정 -l 새로운 계정명으로 변경 명령어 userdel
기존 계정 정보를 삭제하는 명령어.
userdel [옵션]<계정명>
Options Description -r 계정명의 /var/spool/mail의 메일 파일과 홈 디렉터리의 내용 모두를 삭제 옵션 없이 사용하면 디렉터리 /etc/passwd, /etc/shadow, /etc/group에서 해당 계정의 정보가 삭제된다.
명령어 chage
패스워드의 만료 정보를 변경하는 명령어.
chage [옵션]<계정명>
Options Description -l 사용자 계정 정보를 출력 -m 패스워드 최소 사용 일자 -M 패스워드 최대 사용 일자 -E 패스워드 만기일 지정 (YYYY-MM-DD 형식) -W 패스워드 변경 경고 날짜
그룹관리
파일 /etc/group
사용자 그룹에 대해 정의된 파일. (모든 계정은 한 개 이상의 그룹에 포함되어 있다.)
파일 내용은 여러 개의 필드로 구성되어 있으며, 각각의 필드는 콜론(colon, ':')으로 구분된다.
필드의 구성은 아래와 같다.
Group:Password:GID:Members
Field Description Group 그룹명을 나타내는 필드 Password 그룹 비밀번호를 나타내는 필드 ('x'로 표시됨) GID 그룹 번호 Members 그룹 멤버 리스트 (여러 멤버가 존재할 경우 콤마(',')로 구분함) 파일 /etc/gshadow
그룹의 암호를 MD5 해시 함수를 이용해 저장해둔 파일.
파일 내용은 여러 개의 필드로 구성되어 있으며, 각각의 필드는 콜론(colon, ':')으로 구분된다.
필드의 구성은 아래와 같다.
Group:Password:Owner:Members
Field Description Group 그룹명을 나타내는 필드 Password 그룹 비밀번호를 나타내는 필드 ('!'일 경우 부여되지 않은것이다.) GID 그룹의 소유주 Members 그룹 멤버 리스트 (여러 멤버가 존재할 경우 콤마(',')로 구분함) 명령어 groupadd
새로운 그룹을 생성하는 명령어.
groupadd [옵션]<그룹명>
Options Description -g GID를 지정 -r 시스템 그룹 생성 시 사용 (500번 이하의 값으로 지정하되 가장 높은 범위로 할당) 명령어 groupdel
기존의 그룹을 삭제하는 명령어.
그룹 안에 소속된 계정이 있을 경우 삭제되지 않는다.
groupdel <그룹명>
명령어 groupmod
그룹의 설정을 변경하는 명령어.
groupmod [옵션]<그룹명>
Options Description -g GID를 변경 -n 새로운 그룹명으로 변경
사용자 조회 명령어
명령어 users
시스템에 로그인한 사용자 정보를 출력하는 명령어.
users [옵션]
명령어 who
현재 시스템에 접속해 있는 사용자들을 조회하는 명령어.
who [옵션]
Options Description -b 마지막 시스템 부팅 시간 출력 -q 로그인한 사용자와 사용자 수를 모두 출력 -r 현재 시스템의 실행 레벨 출력