본문 바로가기

리눅스(Linux) 공부

리눅스 마스터 2급 1차 1-3) 리눅스의 기본 명령어 정리

1) 사용자 생성 및 계정 관리

* which [명령어]

명령어의 경로를 확인

alias을 보여주는 명령어

$PATH가 설정되어 있는 경로에서만 해당 명령어의 경로를 찾음

 

* alias [별명=‘명령어’]

자주 사용하는 명령어를 특정 문자로 입력

ex) alias m=’ls al’

 

* unalias [옵션] [단축명령어]

alias 기능을 해제

 

* 환경변수 PATH

PATH? 실행 파일들의 디렉터리 위치를 저장해 놓은 환경 변수

- echo $PATH : 지정된 PATH 값을 확인

- export [변수명] = $[변수명]:[변수값]

:기존의 PATH에 새로운 경로를 추가하는 방법

 

* man [섹션] [옵션] [명령어]

명령어들의 매뉴얼을 제공

 

* info [명령어]

리눅스 명령어의 사용 방법, 옵션을 나타냄

명령어 man에 비해 제공되는 명령어 한정적

GNU 프로젝트에 의해 배포되는 온라인 매뉴얼로서 하이퍼텍스트 형식으로 관련 정보 제공

 

* whatis [명령어]

명렁어에 대한 기능을 간략하게 나타냄

 

* manpath [명령어]

특정 명령어의 man 페이지가 존재하는 위치를 찾는 검색 경로를 확인

 

* whereis [옵션] [명령어]

명령어의 실행 파일 절대 경로, 소스코드, 설정 파일 및 매뉴얼 페이지의 위치를 찾아 출력

 

* apropos [문자열]

man 페이지 설명에서 지정한 키워드를 포함하고 있는 명령어

ex) apropos system | grep ^system

 

< 사용자 생성 명령어 >

* useradd [옵션] [계정명]

계정을 생성하는 명령어 =adduser

 

* 파일 /etc/default/useradd

명령어 useradd로 사용자 계정을 추가할 때 사용되는 정보를 읽어오는 파일

- useradd D

: /etc/default/useradd을 변경

 

* passwd [옵션] [계정명]

생성된 계정자의 패스워드를 입력 및 변경하는 명령어

 

* su [옵션] [사용자] [셸변수]

= switch user

현재 사용자 계정에서 로그아웃하지 않고 다른 사용자 계정으로 로그인하여 해당 사용자의 권한을 획득하는 명령어

 

* 파일 /etc/passwd

계정자의 정보를 가지고 있는 파일

 

* 파일 /etc/shadow

계정자의 패스워드 정보가 암호화되어 있는 파일

 

* 파일 /etc/login.defs

사용자 계정 설정과 관련된 기본값을 정의한 파일

 

< 사용자 계정 관리 명령어 >

* usermod [옵션] [계정명]

디렉터리 /home에 위치한 사용자들의 정보를 변경하는 명령어

 

* userdel [옵션] [계정명]

기존 계정 정보를 삭제하는 명령어

 

* chage [옵션] [계정명]

패스워드의 만료 정보를 변경하는 명령어

사용자의 패스워드에 대한 정보를 출력하고 /etc/shadow의 날짜 관련 필드에 모두 설정할 수 있는 명령어

 

- 그룹관리 명령어

* 파일 /etc/group

사용자 그룹에 대해 정의되어 있는 파일

 

* 파일 /etc/gshadow

그룹의 암호를 MD5로 하여 저장, 그룹의 소유주와 구성원 설정이 가능한 파일

 

* groupadd [옵션] [그룹명]

새로운 그룹을 생성하는 명령어

 

* groupdel [그룹명]

기존의 그룹을 삭제하는 명령어

 

* groupmod [옵션] [그룹명]

그룹의 설정을 변경하는 명령어

 

< 사용자 조회 명령어 >

* users [옵션]

시스템에 로그인한 사용자의 정보를 출력하는 명령어

 

* who [옵션]

현재 시스템에 접속해 있는 사용자들을 조회하는 명령어

관리자 root와 일반 사용자 모두 사용 가능

- who am i, whoami 명령어 : 자신의 정보 조회 가능

 

* w

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

 

* id [옵션] [계정명]

사용자 계정의 uid, gid, group을 확인하는 명령어

 

* groups [계정명]

사용자 계정이 속한 그룹 목록을 확인하는 명령어

 

2) 디렉터리 및 파일

< 디렉터리 관리 명령어 >

* pwd

= present where directory

현재 작업 중인 디렉터리의 위치를 나타내는 명령어

 

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

= change directory

디렉터리를 이동할 때 사용하는 명령어

~ : 현재 사용자의 홈 디렉터리

. : 현재 디렉터리

.. : 부모 디렉터리

/ : 루트 디렉터리

 

* mkdir [옵션] [디렉터리명]

= make directory

새로운 디렉터리를 생성할 때 사용하는 명령어

 

* rmdir [디렉터리명]

= remove directory

디렉터리만 삭제하는 명령어

디렉터리 안에 파일이 존재하는 경우 삭제 x

< 파일 관련 명령어 >

* ls [옵션] [경로명]

현재 위치한 디렉터리의 파일 목록들을 나타내는 명령어

a : 히든파일을 포함한 모든 파일과 디렉터리

l : 퍼미션, 크기, 사이즈 등의 자세한 정보 표시

 

* cp [옵션] [원본 대상]

= copy

파일 또는 디렉터리를 복사하는 명령어

 

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

= remove

파일 또는 디렉터리를 삭제하는 명령어

 

* mv [옵션] [원본 대상]

= move

파일 또는 디렉터리를 이동하거나 파일명을 변경할 때 사용하는 명령어

 

* touch [옵션] [파일명]

파일 크기가 0바이트인 빈 파일을 생성

서버의 현재 시간으로 변경시간(Change Time)을 제외한 최근 사용한 시간, 최근 수정 시간 등의 타임 스템프를 변경

 

* file [옵션] [파일명]

파일의 종류 및 파일 속성값을 나타내는 명령어

 

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

주어진 조건의 파일을 찾아 해당 경로를 표시

 

* locate [파일명]

파일의 위치를 찾는 명령어

< 텍스트 파일 관련 명령어 >

* cat [옵션] [파일]

파일의 내용을 출력하는 명령어

 

* head [옵션] [파일명]

파일의 앞부분을 지정한 만큼 출력하는 명령어

옵션을 지정하지 않으면 기본적으로 10개씩 출력

 

* tail [옵션] [파일명]

파일의 마지막 행을 기준으로 지정한 행까지의 파일 내용 일부를 출력하는 명령어

 

* more [옵션] [파일명]

파일을 확인하는 명령어

파일을 화면 단위로 끊어서 출력하는 명령어

 

* less more를 확장한 것

텍스트 파일을 한 번에 한 화면씩 나타내는 명령어

 

* grep [옵션] [문자열] [파일명]

파일에서 단어를 찾는 명령어

ex) grep '^a' config

:파일 config에서 ‘a'로 시작하는 행 검색

ex) grep 'apple$' config

:파일 config에서 ‘apple'로 끝나는 행 검색

ex) grep 'appl*' config

:파일 config에서 'appl'로 시작하는 모든 단어 검색

ex) grep '^[ab]' config

:파일 config에서 ‘a'’b'로 시작하는 모든 행 검색

 

* wc [옵션] [파일명]

= wordcount

파일의 라인 수, 단어 수, 알파벳 수를 알려주는 명령어

 

* sort [옵션] [정렬할 파일명]

명령어 결과나 문서 내용을 정렬하는 명령어

 

* cut [옵션] [파일명]

파일에서 특정 필드를 추출해 내는 명령어

 

* split [옵션] [파일명]

하나의 파일을 여러 개의 작은 파일로 분리할 때 사용하는 명령어

< 파일 비교 명령어 >

* diff [옵션] [파일명1] [파일명2] or diff [옵션] [디렉터리1] [디렉터리2]

두 개의 파일을 행 단위로 비교하여 다른 부분을 출력하는 명령어

 

* cmp [옵션] [파일명1] [파일명2]

= compare

두 개의 파일을 바이트(문자) 단위로 비교하여 출력하는 명령어

 

* comm [옵션] [파일명1] [파일명2]

두 개의 파일을 줄 단위로 비교하여 출력하는 명령어

 

3) 기타 명령어

< 네트워크 관련 명령어 >

* ping [옵션] [도메인명 or IP주소]

외부 호스트에 신호를 보내며 신호를 받은 호스트는 응답을 주면서 서로 네트워크가 연결되어 있음을 확인시켜 주는 명령어

 

* traceroute [도메인명 or IP주소]

목적지 호스트까지의 경로를 표시

그 구간의 정보를 기록하는 명령어

경로상의 어떤 장애가 있는 경우 위치 파악

 

*nslookup [옵션] [호스트명]

도메인명 IP주소

도메인명으로 IP주소 조회, IP주소로 도메인명 조회하는 명령어

 

* dig [서버명] [호스트명] [질의타입]

호스트명 IP주소

호스트명에 대한 IP주소 정보, IP주소에 대한 호스트명을 조회하는 명령어

 

* host [옵션] [도메인 또는 IP주소] [DNS 서버]

호스트명 IP주소

호스트명을 알고 있는데 IP주소를 모르거나 그 반대의 경우에 사용하는 명령어

호스트명을 이용하면 IP주소뿐만 아니라 하위 호스트명도 조회 가능

 

* hostname [옵션] [파일명]

시스템 이름을 확인하거나 변경할 때 사용하는 명령어

사용 중인 시스템의 도메인 네임을 출력하기 위해 사용하는 명령어

 

* route

호스트의 라우팅 테이블을 확인하는 명령어

< 시스템 종료 명령어 >

* shutdown [옵션] [시간] [경고메시지]

시스템을 종료하거나 재부팅하는 명령어

현재 수행 중인 프로세스들을 종료

sync를 수행하여 저장되지 않은 데이터를 디스크에 저장

모든 파일 시스템을 mount시킨 후 시스템 종료

root 사용자만이 권한을 가짐

 

* init [런레벨]

shutdown 명령어와 동일한 기능을 가진 명령어

 

*reboot [옵션]

시스템을 재부팅하는 명령어

 

* halt [옵션]

시스템을 종료하는 명령어

< 기타 명령어 >

* cal [옵션] [[month]year]

달력을 출력하는 명령어

옵션 없이 실행시킬 시 달 출력

 

* date [옵션] [MMDDhhmm]

or date [옵션] [+FORMAT]

시스템의 날짜와 시간을 표시하거나 변경하는 명령어

 

* clear = cls

터미널의 내용을 지우는 명령어

 

* tty

현재 사용하고 있는 단말기 장치의 경로명과 파일명을 나타내는 명령어

현재 사용 중인 가상 콘솔 창 정보를 확인하는 명령어

 

* time

프로그램이 수행되는 데 걸리는 시간을 측정하여 출력하는 명령어

- real: 총 수행시간

- user: CPU가 사용자 영역에서 보낸 시간

- sys: 시스템 호출 실행에 걸린 시간

 

* wall [메시지 내용]

터미널을 통해 메시지를 전달하는 명령어

 

* write [계정명] [ttyname]

해당 사용자에게 메시지를 전달하는 명령어

 

* mesg [y/n]

write을 사용해서 들어오는 메시지 수신 여부를 확인하고 제어하는 명령어

 

* rdate -s

지정된 서버와 현재 시스템의 날짜와 시간을 동기화하는 명령어

 

* hwclock

시스템의 하드웨어 시간 정보를 출력하는 명령어

 

 


< 위의 내용으로 정리한 pdf >

리눅스 명령어.pdf
0.06MB