전공공부/리눅스

[리눅스] 기본 명령어 2

intro_ch 2021. 8. 10. 00:30

 

안녕하세요. 개알못입니다

저번에 이어서 리눅스의 기본 명령어 파트 입니다!!

 


 

1. 사용자 생성 명령어

 

1.1 명령어 useradd

useradd [옵션] 계정명

옵션 설명
-s 사용자의 로그인 기본 셀을 지정
-d 계정의 홈 디렉터리를 지정
-f 패스워드가 만기된 후 계정이 영구히 말소될 때까지의 기간 지정
-e 사용자 계정의 유효기간을 설정
일정 시간 동안 사용 가능한 임시 계정을 만들고자 할 때 사용
-c 파일 /etc/passwd에 새로운 사용자 설명을 추가
-G 계정이 속한 그룹 외에 다른 그룹에 계정 추가

- 계정을 생성하는 명령어이고, adduser와 동일한 기능을 갖습니다.

- 계정자의 홈 디렉터리는 '/home/계정명' 입니다.

- 생성된 계정 정보는 파일 /etc/passwd, /etc/shadow, /etc/group에 저장됩니다.

~$ useradd -d /IHD ihd	// 계정 ihd를 생성하고 ihd의 홈 디렉터리를 /IHD로 지정한다.

 

 

1.2 명령어 passwd

passwd [옵션] 계정명

옵션 설명
-S 계정 상태 표시(Status)
(PS : 정상, NP :패스워드가 없음, LK : Lock 상태이거나 NP 상태)
-d 계정 패스워드 삭제(delete)
-l 계정을 lock 상태로 변경(lock)
-u 계정의 lock 상태를 해제(unlock)

- 생성된 계정자의 패스워드를 입력 및 변경합니다.

- 생성된 계정자의 패스워드는 /etc/shadow 파일 안에 기록됩니다.

~$ passwd -S ihd	// 계정자 ihd의 상태를 확인합니다.

 

 

1.3 명령어 su

su [옵션] [사용자] [셀변수]

옵션 설명
-, -l, --login 지정한 사용자의 환경변수를 적용하여 로그인
-s 지정된 셀로 로그인
-c 셀을 실행하지 않고 주어진 명령어 수행

- 명령어 su는 switch user의 줄임말입니다.

- 현재의 사용자 계정에서 로그아웃하지 않고 다른 사용자 계정으로 로그인하여 해당 사용자의 권환을 획득합니다.

~$ su root	// 셀 환경변수를 가져오지 않고 관리자 root로 계정을 변경합니다.
~$ su - root	// 관리자 root의 셀 환경변수를 가져옵니다.
~$ su -c 'cat /etc/shadow' - root	//사용자 계정 변환 없이 root권한으로 명령어 'cat /etc/shadow'를 수행합니다.

 

 

2. 사용자 조회 명령어

 

2.1 명령어 users

users [옵션]

옵션 설명
--version users 명령어 버전 정보 출력

- 시스템에 로그인한 사용자 정보를 출력합니다.

~$ users	// 현재 시스템에 로그인 사용자 정보를 출력합니다.

 

 

2.2 명령어 who

who [옵션]

옵션 설명
-b 마지막 시스템 부팅시간 출력
-q 로그인한 사용자와 사용자 수를 모두 출력
-r 현재 시스템의 실행 레벨을 확인 가능

- 현재 시스템에 접속해 있는 사용자들은 조회하고 사용자계정명, 터미널 정보, 접속시간, 접속한 서버 등을 확인할 수 있습니다.

- 관리자 root와 일반 사용자 모두 사용이 가능합니다.

 

 

2.3 명령어 w

w

- 현재 접속 중인 사용자들의 정보를 나타내는 명령어 입니다.

 

 

2.4 명령어 id

id [옵션] [명령어]

옵션 설명
-g 사용자의 GID만 표시
-G 사용자가 포함되어 있는 모든 그룹 정보 표시
-u 사용자의 UID만 표시

- 사용자 계정의 uid, gid, group을 확인합니다.

 

 

2.5 명령어 groups

groups [계정명]

- 사용자 계정이 속한 그룹 목록을 확인합니다.

 

 

3. 디렉터리 관리 명령어

 

 

3.1 명령어 pwd

pwd

- 현재 작업 중인 디렉터리의 위치를 나타냅니다.

 

 

3.2 명령어 cd

cd [상대경로][절대경로][설정경로]

설정 경로 설명
~(틸다) 현재 사용자의 홈 디렉터리로 이동
.(점 하나) 현재 디렉터리
..(점둘) 현재에서 한 단계 상위 디렉터리로 이동
/ 루트 디렉터리로 이동

- change directory의 약자로 디렉터리를 이동할 때 사용합니다.

- 절대 경로는 시작 위치와 상관없이 경로에 모든 디렉터리를 표시하며, 절대경로의 시작은 /(루트)에서부터 시작합니다.

- 상대 경로는 현재 작업 중인 디렉터리를 기준으롱 표시합니다.

 

 

3.3 명령어 mkdir

mkdir [옵션] 디렉터리명

옵션 설명
-m 디렉터리를 생성할 때 권환을 설명(디폴트는 755)
-p 상위 경로 생성
-v 디렉터리 생성 후 생성된 디렉터리의 메시지 출력

- make directory의 약자로 새로운 디렉터리를 생성할때 사용합니다.

 

 

3.4 명령어 rmdir

rmdir 디렉터리명

- 디렉터리만 삭제하는 명렁어입니다. 다만 디렉터리 안에 파일이 존재하는 경우에는 삭제되지 않습니다.

 

 

4. 파일 관련 명령어

 

 

4.1 명령어 ls

ls [옵션][경로명]

옵션 설명
-a 히든파일을 포함한 모든 파일과 디렉터리 표시
-l 퍼미션, 크기, 사이즈 등의 자세한 정보 표시
-d 지정된 디렉터리의 정보 출력
-r 알파벳 역순으로 정보 출력
-R 하위 경로와 그 안에 있는 파일 표시

- 현재 위치한 디렉터리의 파일 목록들을 나타냅니다.

~$ ls -al	// 현재 디렉터리의 히든 파일을 포함하여 파일 및 디렉터리 정보를 자세히 표시합니다.

 

 

4.2 명령어 cp

cp [옵션] 원본 대상

옵션 설명
-b 복사 대상 파일이 이미 존재할 경우를 대비하여 백업 파일을 만듦
-f 복사 대상이 이미 존재하면 복사 대상 파일을 강제로 지우고 복사
-i 복사 대상이 이미 존재하면 사용자에게 덮어씌울 것인지 유무 확인
-r 디렉터리를 복사할 경우 하위 디렉터리와 파일을 모두 복사

- 파일 또는 디렉터리를 복사합니다.

 

 

4.3 명령어 rm

rm [옵션] 파일명|디렉터리명

옵션 설명
-f 질의 메시지 없이 강제로 파일이나 디렉터리 삭제
-i 삭제 시 사용자에게 질의
-r 삭제 디렉터리가 포함하고 있는 하위 디렉터리를 포함하여 모든 파일 삭제

- 파일 또는 디렉터리를 삭제합니다.

 

 

4.4 명령어 mv

mv [옵션] 원본 대상

옵션 설명
-b 대상 파일이 이미 있어 지워지는 것을 대비해 백업 파일 생성
-f 대상 파일이 이미 있어도 사용자에게 어떻게 처리할지 묻지 않음
-v 파일이 ㅇ롬겨지는 과정이 자세히 표시

- 파일 또는 디렉터리를 이동하거나 파일명을 변경할 때 사용합니다.

 

 

4.5 명령어 touch

touch [옵션] 파일명

옵션 설명
-a 접근시간을 변경
-m 수정시간을 변경
-c 시스템 현재 시간으로 파일 시간 정보를 수정
-t 시간정보 특정 파일의 시간정보 변경
-r 파일1 파일2 파일1의 시간정보를 파일2에 동일하게 적용

- 파일 크기가 0바이트인 빈 파일을 생성합니다. 그 뒤 서버의 현재 시간으로 파일의 최근 사용한 시간과 최근 수정 시간 등 타임 스템프를 변경합니다. 여기서 타임 스탬프는 파일의 시간 정보를 나타낸 것으로 접근 시간, 수정 시간, 변경 시간이 있습니다.

- 접근시간(access time) : 애플리케이션 혹은 서비스가 시스템 호출을 사용해 파일을 읽을 때마다 접근 시간이 갱신됩니다.

- 수정시간(modify time) : 파일 내용이 변경될 때 파일 수정 시간이 갱신됩니다.

- 변경시간(change time) : 파일 내용을 수정했을 때 기록되는 시간으로 변경 불가능한 시간입니다.

~$ touch TEST_1	// 파일 TEST_1의 파일 시간을 현재 시간으로 변경합니다.

 

 

4.6 명령어 file

file [옵션] 파일명

옵션 설명
-b 파일명은 출력하지 않고 파일 유형만 표시
-f 파일 목록에서 지정한 파일들에 대해서만 명령을 실행
-z 압축된 파일의 내용 출력
-i MIME 타입 문자로 출력

- 파일의 종류 및 파일 속성값을 나타냅니다.

 

 

4.7 명령어 find

find [경로][옵션][정규표현식][파일명]

옵션 설명
-name 이름을 기준으로 파일 검색
-user user의 파일이나 디렉터리 검색
-perm 지정된 권한의 파일 검색
-type 파일 유형에 따라 파일 검색
-atime n n일 이전에 접근한 파일 검색
-exec 검색된 파일에 수행할 명령어를 지정

- 현재 디렉터리에서부터 하위 디렉터리까지 주어진 조건의 파일을 찾아 해당 경로를 표시합니다.

 

 

4.8 명령어 locate

locate [파일명]

- 파일의 위치를 찾습니다.

~$ locate *.bak	# 현재 시스템에 존재하는 *.bak 파일을 검색합니다.

 

 


다음 게시글을 마지막으로 리눅스 기본 명령어를 마무리하겠습니다 :)