🦇 Linux

리눅스 기초 명령어1 - who / whoami / w / users / arch / logname / uname / hostname / id

ji-hyun 2021. 7. 1. 18:22

 

arch : cpu가 종류가 무엇인지 나타내주는 명령어이다. 

-> x86_64

who : 누가 접속해있는지 확인하는 명령어 (시스템에 로그인되어 있는 사용자를 출력해주는 명령)

whoami : 실질적으로 사용 중인 권한자를 출력해주는 명령

 

 

 

 

w : 지금 뭐하고 있는지 볼 수 있다. (시스템에 로그인되어 있는 사용자와 사용자가 수행 중인 작업을 출력해 주는 명령)

 

 

첫번재 줄은 현재시간(16:52:49), 서버 가동 후 활성화된 시간(5min), 현재 로그인한 총 사용자수(2명), 마지막으로 최근 1분, 5분, 15분간의 시스템 부하를 나타낸다.

 

 

user : 시스템에 로그인한 사용자의 아이디를 나타낸다.

TTY : 터미널 타입을 나타낸다.

 로컬시스템의 콘솔로 접속했을 경우에는 ttyn(n은 정수)으로 표기되고, 외부에서 telnet 등으로 접속하거나 X-Window 터미널은 pts/n(n은 정수)으로 표시된다.

 

FROM : 접속한 위치를 나타낸다.

 로컬시스템의 콘솔로 접속한 경우에는 하이픈(-), X-window로 로그인한 경우에는 ':0', X-Window 의 터미널인 경우에는 ':0.0', 외부에서 접속한 경우에는 원격의 호스트의 도메인명이나 IP가 표시된다.

 

LOGIN@ : 시스템에 로그인한 시간을 나타낸다.

IDLE : 최종 명령 수행 후 대기 시간을 나타낸다. (아무것도 안하고 있는 시간)

JCPU : JOB CPU 시간을 뜻하고, 시스템에 로그인한 후에 CPU를 사용한 시간이다.

PCPU : Process CPU 시간을 뜻하고, WHAT 컬럼에 표시된 작업에 의해 사용된 프로세스 시간이다.

WHAT : 현재 사용 중인 셸이나 작업 등이 표시된다.

 

 

 

 

 

 

 

 

 

hostname 내가 사용하고 있는 호스트 이름을 확인
uname 현재 사용하고 있는 운영체제를 확인

 

 

 

hostname --help 라는 명령어를 치면 명령어 hostname에 관한 다양한 옵션 설명서가 출력된다.

출력결과가 너무 길어서 그 중 일부를 캡쳐해보았다.

 

 

hostname -d : 도메인 네임을 출력한다.

hostname -i : 현재 컴퓨터의 ip주소를 출력한다.

 

 

 

 


 

domain Name의 발생 배경

원래 인터넷 상에서 다른 단말에 접근하기 위해서는 숫자와 구분자(.) 로 구성된 ip를 입력해야 하는데 외우기도 힘들고 사용하기 불편하다. 네이버(125.209.222.142), 구글(216.58.197.206)

그래서 사용자가 기억하기 쉬운 영문, 숫자 및 구분자(.)로 이뤄진 도메인 네임이 등장하였다.

넓은 의미상 네트워크 상에서 컴퓨터를 식별하는 호스트명을 가리킨다고 한다.

 

DNS 는 Domain Name System 의 약자로, DNS는 위에서 언급한 Domain Name을 통하여 IP를 찾는 시스템을 말한다.

 

 

 

< 동작 과정 >

브라우저에서 naver.com 을 입력

로컬 DNS 서버에서 naver.com 이라는

도메인 네임이 캐싱되어 있는지 확인하여 IP를 알려줌

확인되지 않으면 Root DNS 서버에 도메인 네임 확인 요청함.

Root DNS 서버는 해당하는 Top-Level 서버를

Top-Level 서버는 해당하는 Second-Level 서버를

Second-Level 서버는 해당하는 Sub DNS 서버에서 IP를 찾아서 알려준다.

해당하는 도메인을 다시 방문하면 빠르게 찾기위하여

naver.com이라는 서버의 IP를 로컬 DNS 서버에 캐싱

 

 


 

 

 

uname --help

 

 

-s : 커널 이름을 보여준다.

 

 

 

 

logname : 사용자의 로그인 계정을 출력해준다.

출력결과 -> j

 

 

 

 

 

< id >

 

 

id : 시스템에 등록된 아이디에 대한 정보를 출력하는 명령으로 UID, GID, 속한 그룹 정보를 보여준다.

 보안 모듈로 SELinux를 사용하는 레드헷 계열 리눅스에서는 context 라는 관련 정보를 추가로 출력한다.

 

 

주요옵션

-g : 주 그룹의 GID만 출력한다.

-G : 사용자가 속한 모든 그룹의 GID를 출력한다.

-u : 사용자의 UID 값만 출력한다.

-n : -u나 -g 옵션과 같이 사용되며, 숫자값인 UID나 GID 대신에 이름으로 출력한다.

 

 

 

 

+ ) root 의 id는 0번이다. (확인 명령어: id -u root)

 

 

 

 

 

그룹 관리

리눅스는 서버 운영체제인 유닉스의 모태로 만들어진 운영체제이다. 서버인 경우에는 하나의 시스템에 다수의 사용자가 접속해서 사용하는 환경이고, 이러한 환경에서는 사용자간의 파일 공유가 필요한 상황이 발생할 수 있다. 서버에 존재하는 많은 사용자 중에 특정 사용자끼리 파일 공유할 때 유용한 것이 그룹(Group) 이라 할 수 있다. 공유를 원하는 사용자들을 같은 그룹으로 묶어서 허가권(Permission) 설정을 통해 파일 및 디렉터리를 공유할 수 있다. 리눅스에서 모든 사용자는 하나 이상의 그룹에 반드시 속하도록 설정되어 있다.

 

사용자 추가 시 그룹 설정을 하지 않으면 GID가 100인 users 그룹에 속하도록 되어있다. 그러나 레드헷 계열 리눅스에서는 사용자간의 불필요한 공유를 막기 위해 사용자의 아이디와 동일한 그룹을 생성해서 단독으로 그룹에 포함되도록 설정되어 있다. 따라서 레드헷 계열 리눅스에서 사용자들을 동일한 그룹을 묶기 위해서는 그룹을 생성하고, usermode 명령을 이용해서 사용자 정보 변경 작업을 해야 한다.

 

(리눅스 마스터 2급 완전정복 153p)

 

 

 

 

 

 

 

<4강 정리>

리눅스 기초 명령어 -1

1) who/ whoami / w / users / arch

2) logname / uname / hostname / id

3) 간단 도움말 : 명령어 --help