티스토리 뷰

리눅스

리눅스의 기본 명령어

삼전동해커 2018. 7. 13. 18:32

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


1.리눅스 명령어 개요


(1)명령어 which

1.명령어의 경로를 확인해주는 명령어

2.명령어 위치를 찾아주거나 alias를 보여주는 명령어

3.사용자가 현재 위치에서 명령을 실행시켰을 때 어떤 명령이 실행되는지를 알고 확인할 수 있다.

4.$PATH가 설정되어 잇는 경로에서만 해당 명령어의 위치를 찾는다.


형식

which 명령어


(2)명령어alias

1.자주 사용하는 명령어를 특정 문자로 입력해두고 명령어 대신 해당 문자를 사용할 수 있게 하는 명령어


형식

alias [별명='명령어']


(3)명령어 unalias

1.alias기능을 해제


옵션

-a : 설정된 모든 alias해제


(4)환경변수 PATH

1.PATH는 실행 파일들의 디렉토리 위치를 저장해 놓은 환경 변수

2.명령어 입력자의 현재 작업 디렉토리와 상관없이 특정 명령어를 입력하면 PATH 변수에 저장되어 있는 경로에서 해당 명령어를 찾아 실행

3.기존의 PATH에 새로운 경로를 추가하는 방법에는 명령어 PATH나 홈 디렉토리의 .bash_profiledp PATH를 추가한다. 기존 경로와 새로운 경로는 (:)으로 구분


2.리눅스 도움말


(1)명령어 man

1.리눅스에서 사용하는 명령어들의 메뉴얼을 제공


형식

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


옵션

-a : 찾고자 하는 명령어의 검색된 메뉴얼 페이지르 모두 출력

-h:  사용법 출력

-f : whatis명령과 동일,키워드와 동일한 man 페이지만 출력

-k : apropos명령과 동일, 키워드를 포함한 man 페이지만 출력

-w : 찾고자 하는 문자의 메뉴얼 페이지가 있는 위치를 출력


섹션

1 : 일반 명령어 관련 메뉴얼이 들어있는 영역

2 : 시스템 호출 관련 메뉴얼이 들어있는 영역

3 : c 표준 라이브러리 함수 관련 메뉴얼이 들어있는 영역

4 : 장치 드라이버 또는 특수 파일에 대한 정보가 들어있는 영역

5 : 특정 파일들에 대한 정보가 들어있는 영역

6 : 게임과 화면보호기에 대한 정보가 들어있는 영역

7 : 리눅스 파일 표준,프로토콜,시그널 목록 정보가 들어있는 영역

8 : 시스템 관리 명령어와 데몬 정보가 들어있는 영역

9 : 커널 관리 정보가 들어있는 영역


(2)명령어 info

1.리눅스 명령어의 사용 방법,옵션 등을 나타낸다.

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


(3)명령어 whatis

1.명령어에 대한 기능을 간략하게 나타낸다.

2.자세한 사용법과 설명은 명령어 man이나 info로 확인 가능

3.완전히 키워드가 일치해야만 해당 명령어의 기능을 확인 할 수 있다.


(4)명령어 manpath

1.man페이지의 위치 경로를 검색하여 표시해 주는 명령어


(5)명령어 whereis

1.찾고자 하는 명령어의 실행 파일 절대 경로와 소스코드,설정 파일 및 메뉴얼 페이지를 찾아 출력하는 명령어

 

옵션

-b : 바이너리 파일만 찾음

-m : 지정된 메뉴얼 섹션에서만 찾음

-M : 메뉴얼 페이지의 위치를 제한

-u : 특정 파일을 제외


(6)명령어 apropos

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

2.whatis 데이터베이스에서 문자열을 포함한 것을 검색

3.whatis 데이터베이스가 만들어져 있어야 이 명령을 쓸 수 있다.


3.사용자 생성 명령어


(1)명령어 useradd

1.계정을 생성하는 명령어로 명령어 adduser와 동일

2.계정자의 홈 디렉토리는 /home/계정명 이다.

3.생성된 계정자 정보는 파일 /etc/passwd, /etc/shadow, /etc/group에 저장


옵션

-s : 사용자의 로그인 기본 셸을 지정

-d : 계정자의 홈 디렉토리를 지정

-f : 패스워드가 만기 된 후 계정이 영구히 말소될 때까지의 기간 지정

-e : 사용자 계정의 유효기간을 설정, 일정시간 동안 사용 가능한 임시 계정을 만들고자 할때 사용

-c : 파일 /etc/passwd에 새로운 사용자 설명을 추가

-G : 계정자가 속한 그룹 외에 다른 그룹에 계정자 추가


(2)명령어 passwd

1.생성된 계정자의 패스워드를 입력 및 변경

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


옵션

-S : 계정 상태 표시(PS : 정상,NP : 패스워드 없음, LK : LOCK상태거나 NP상태)

-d : 계정 패스워드 삭제

-l : 계정을 lock상태로 변경

-u : lock 상태 해제


(3)명령어 su

1.명령어 su는 switch user의 줄임말

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


형식

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


옵션

-, -l, --login  : 지정한 사용자의 환경변수를 적용하여 로그인

-s : 지정된 셸로 로그인

-c : 셸을 실행하지 않고 주어진 명령어 수행


4.사용자 관련 파일

(1)파일 /etc/default/useradd

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

2.vi편집기난 useradd -D로 변경할 수 있다.


옵션

-g : 그룹 변경

-b : 홈 디렉토리 변경

-f : inactive 변경

-e : 계정 종료일 변경

-s : 셸 변경


(2)파일 /etc/passwd

1.계정자의 정보를 가지고 있는 파일로 리눅스에 로그인할 때 사용한다.

2.파일 내용은 여러 개의 필드로 구성되어 있으며, (:)으로 구분


(3)파일 /etc/shadow

1.계정자의 패스워드 정보가 암호화되어 있는 파일로 암호화 패스워드 및 계정의 유효 기간등을 기록하고 있는 파일이다.


(4)파일 /etc/lgoin.defs

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

2.새로운 계정을 생성할때 참조하는 파일


5.사용자 계정 관리

(1)명령어 usermod

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

2.사용자의 홈 디렉토리 변경,그룹 변경, 유효기간 등을 변경


옵션

-u uid : 새로운 uid 지정

-o와 같이 사용해 강제 설정 가능

-g gid : 새로운 gid 지정


-d 홈 디렉토리 : 새로운 홈 디렉토리 지정

-m옵션과 같이 사용해 새로 생성 가능

-s 셸 : 새로운 셸 지정


-c 주석 : 새로운 주석 지정

-l id : 로그인 id를 바꾸는 옵션으로 새로운 계정명으로 변경


(2)명령어 userdel

1.기존 계정 정보를 삭제

2.사용자의 홈 디렉토리 변경,그룹 변경, 유효기간 등을 변경


옵션

-r : 계정명의 메일파일과 홈 디렉토리의 내용을 삭제


(3)명령어 change

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


옵션

-l : 사용자 계정 정보를 출력

-m : 설정 암호 최소일자

-M : 설정 암호 사용 가능일자

-E : 암호 만기일 지정

-W : 만기 관련 경로 메세지 출력


6.그룹 관리

(1)파일 /etc/group

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

2.모든 계정은 한 개 이상의 그룹에 포함되어 있다. 파일 /etc/group을 이용해 계정자의 그룹에 대한 변경을 직접 파일수정이나 명령어를 이용해 변경 할 수 있다.


(2)파일 /etc/gshadow

1.그룹의 암호를 MD5로 하여 저장하면 그룹의 소유주,구성원 설정이 가능하다.


(3)명령어 groupadd

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


옵션

-g gid : 그룹 gid를 지정

-r : 시스템에 사용되는 gid를 부여 500번 이하의 gid생성


(4)명령어 groupdel

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

2.그룹 안에 소속되어 있는 계정명이 있을 경우 해당 그룹은 삭제되지 않는다.


(5)명령어 groupmod

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


옵션

-g gid : gid를 변경

-o와 같이 사용해서 중복 설정 가능

-n 그룹명 : 새로운 그룹명을 변경할 때 사용



7.사용자 조회 명령어

(1)명령어 users

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


옵션

--version : user명령어 버전 출력


(2)명령어 who

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

2.사용자 계정명, 터미널 정보, 접속 시간, 젒고한서버 정보 등을 확인 할 수 있다.

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

4.명령어 whoami로 자기 자신 정보 확인 가능


옵션

-b : 마지막 시스템 부팅 시간 출력

-q  : 로그인한 사용자와 사용자 수를 모두 출력

-r : 현재 시스템의 실행 레벨을 확인 가능


(3)명령어 w

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

2.확인 가능한 정보는 서버의 현재 시간 정보,서버 부팅 후 시스템 작동 시간,서버 접속자의 총 수, 접속자별 서버 평균 부하율,접속자별 서버 접속 계정명,TTY명,로그인 시간 정보 등이다.

3.JCPU는 w TTY필드의 장치명에서 사용되는 모든 프로셋의 CPU 사용시간

4.PCPU는 해당 프로세스 결과값에서 WHAT필드에 나타나는 프로세스명에서 사용하는 CPU 총 시간이다.


(4)명령어 id

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


옵션


-g : 사용자의 gid만 표시

-G : 모든 그룹 정보 표시

-u : 사용자의 uid만 표시


(5)명령어 groups

1.사용자가 속한 그룹 목록을 확인



2.디렉토리 및 파일


1.디렉토리 관리 명령어

(1)명령어 pwd

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


(2)명령어 cd

1.디렉토리 이동할 때 사용하는 명령어

2.절대 경로는 시작 위치와 상관없이 경로에 모든 디렉토리를 표시,상대경로는 현재 작업 중인 디렉토리를 기준으로 표시하는 경로


형식

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


설정경로

~ : 현재 사용자의 홈 디렉토리로 이동

. : 현재 디렉토리

.. : 한 단계 상위 디렉토리

/ : 루트 디렉토리


(3)명령어 mkdir

1.새로운 디렉토리 생성할 때 사용


옵션

-m : 디렉토리 생성할 때 권한 설정(디폴트755)

-p : 상위 경로 생성

-v  : 디렉토리 생성 후 생성된 디렉토리의 메세지 출력


(4)명령어 rmdir

1.디렉토리만 삭제하는 명령어, 디렉토리 안에 파일이 존재하는  경우 삭제 되지 않는다.


2.파일 관련 명령어

(1)명령어 ls

1.현재 위치한 디렉토리의 파일 목록을 나타낸다.


옵션

-a : 히든 파일을 포함한 모든 파일과 디렉토리 표시

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

-d : 지정된 디렉토리의 정보 출력

-r : 알파벳 역순 출력

-R : 하위 경로와 그 안에 있는 파일 표시


(2)명령어 cp

1.파일 또는 디렉토리를 복사하는 명령어


옵션

-b : 백업 파일을 만듬

-f : 강제로 지우고 새로 복사

-i  : 덮어씌우고 새로 쓸 것인지 물어봄

-r :  복사대상 하위 디렉토리와 파일을 모두 복사


(3)명령어 rm

1.파일 또는 디렉토리를 삭제하는 명령어


옵션

-f : 강제로 파일이나 디렉토리 삭제

-i : 삭제 시 사용자에게 질의

-r : 하위 디렉토리를 포함하여 모든 파일 삭제


(4)명령어 mv

1.파일, 디렉토리를 이동하거나 파일명 변경시 사용


옵션

-b : 백업파일 생성

-f : 대상 파일이 있어도 강제도 복사

-v : 파일이 옮겨지는 과정 상세 표시


(5)명령어 touch

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

2.서버의 현재 시간으로 파일의 최근 사용한 시간과 최근 수정 시간 등 타임 스탬프를 변경   

접근 시간 : 파일을 읽을 때 접근 시간 갱신

수정 시간 : 파일 내용이 변경될 때 수정 시간 갱신

변경 시간 : 파일 내용을 수정했을 때 기록되는 시간이 변경 불가능한 시간이다.


옵션

-a : 접근 시간을 변경

-m : 수정 시간을 변경

-c : 시스템 현재 시간으로 파일 시간 정보를 수정

-t 시간정보 : 특정 파일의 시간 정보 변경

-r 파일1 파일2 : 파일1의 시간 정보를 파일2에 동일하게 적용


(6)명령어 file

1.파일의 종류 및 파일 속성값을 나타냄


옵션

-b : 파일명을 출력하지 않고 파일 유형만 출력

-f : 파일목록에서 지정한 파일들에 대해서만 명령을 실행

-z : 압축된 파일의 내용 출력

-i : MIME 타입 문자로 출력


(7)명령어 find

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


형식

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


옵션

-name : 이름을 기준으로 파일 검색

-user : user의 파일이나 디렉토리 검색

-perm : 지정된 권한의 파일 검색

-type : 파일 유형에 따라 파일 검색

-atime n : n일 이전에 검색한 파일 검색

-exec  :찾아진 파일과 연계하여 명령을 내릴 수 있는 옵션


(8)명령어 locate

1.파일의 위치를 찾는 명령어


3.텍스트 파일 관련 명령어

(1)명령어 cat

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


옵션

-n : 각 문장 앞에 번호 표시,비어있는 행 포함

-b : 각 문장 앞에 번호 표시,비어있는 행 제외

-s : 연속되는 2개 이상의 빈 행을 한 행으로 출력

-A : 텍스트 파일에 존재하는 개행 문자나 탭 문자 등을 확인


(2)명령어 head

1.파일의 앞부분을 지정한 만큼 출력


옵션

-숫자 : 각 문장 앞에 번호 표시

-c : 출력을 원하는 용량 지정

-n : 출력을 원하는 줄 수 지정


(3)명령어 tail

1.파일의 마지막 행을 기준으로 지정한 행까지의 파일 내용을 일부 출력  


옵션

-숫자 : 각 문장 앞에 번호 표시

-c : 출력을 원하는 용량 지정

-n : 출력을 원하는 줄 수 지정

-f : 지정된 파일에 새롭게 추가된 파일 내용을 실시간으로 출력

-v :  파일을 출력할 때 파일명을 출력

-q : 파일을 출력할 때 파일명을 출력하지 않음


(4)명령어 more

1.파일을 확인하는 명령어로 파일을 읽어 화면에 화면 단위로 끊어서 출력하는 명령어

2.위에서 아래 방향으로 출력되기 때문에 지나가면 다시 볼 수 없다.


옵션

-숫자 : 한 페이지에 표시되는 라인 수


(5)명령어 less

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

2.기능적으로 more을 확장한 것으로 커서를 파일 상하좌우로 이동할 수 있다.


(6)명령어 grep

1.파일에서 특정한 패턴 또는 정규 표현식으로 나타낸 단어를 찾는 명령어


옵션

-r : 디렉토리 내의 모든 디렉토리와 파일들을 검색하도록 지정

-E : 패턴을 정규 표현식으로 확장

-i : 대문자 소문자 차이 무시

-v : 검색할 문자열이 포함되지 않은 줄만 출력

-n : 라인 수 출력

-l : 문자열이 포함된 파일명 출력


(7)명령어 wc

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


옵션

-l : 전체 라인 수 출력

-w : 전체 단어 수 출력

-c : 전체 알파벳 수 출력


(8)명령어 sort

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


옵션

-b : 앞 공백 무시

-o  : 저장할 파일 명시

-r : 역순으로 표시

-f : 대소문자 구분하지 않음

-t : 필드 구분자 지정

-u : 중복 행 제거

-m : 정렬 파일 병합

-n : 숫자만 비교

(9)명령어 cut

1.파일에서 특정 필드를 추출한다.필드는 구분자로 구분


옵션

-c : 잘라낼 곳의 글자 위치를 지정,콤마나 하이픈을 사용

-f : 잘라낼 필드를 지정

-d : 필드를 구분하는 문자 지정,디폴트는 탭

-s : 대소문자 구분X

(10)명령어 split

1.하나의 파일을 여러 개의 작은 파일로 분리할 때 사용

2.파일 내용을  라인 수로 분할할 수 있고, 용량 단위로 분할할 수 있다.

3.주로 디스켓에 파일을 나누거다 복사하거나 백업할때 유용


옵션

-b : 바이트단위로 분할

-l : 라인 수 단위로 분할


4.파일 비교 명령어


(1)명령어 diff

1.두 개의 파일을 행 단위로 비교하여 다른 부분을 출력

2.두 개의 파일명을 매개변수로 사용하여 화면에 차이점을 나열


옵션

-b : 연속된 공백 무시

-i : 대소문자는 구분하지 않음

-s : 두 파일이 같은지 확인

-r : 두 디렉토리의 차이점 출력


(2)명령어 cmp

1.두 개의 파일을 바이트 단위로 비교하여 출력


옵션

-b : 두 파일 간의 다른 바이트 출력

-l : 다른 문자 위치와 문자를 출력

-s : 아무 것도 출력하지 않고 실행 결과 코드만 반환


(3)명령어 comm

1.두 개의 파일의 행과 행을 비교하여 출력하는 명령어


형식

comm [옵션] 파일1 파일2


옵션

-1 : 두 개의 파일을 비교하여 공통 내용과 파일2 내용 출력

-2 : 두 개의 파일을 비교하여 공통 내용과 파일1 내용 출력

-3 : 두 개의 파일을 비교하여 공통 내용은 출력하지 않음


5.리다이렉션과 정규 표현식


(1)리다이렉션

1.표준 입력과 표준 출력의 방향을 재지정

2.표준 출력을 화면이 아닌 파일로 대체.모니터로 출력이 파일로 재지정함


연산자

> : 명령을 화면에 출력하는 것이 아니라 프린터나 파일에 출력하도록 전송

파일이 존재하지 않으면 새로운 파일을 만들고 같은 파일이 존재하면 덮어씀

>> : 파일이 있는 경우 지정된 파일에 결과를 추가

파일이 존재하지 않으면 지정된 이름으로 파일 생성

< : 키보드가 아닌 지정된 파일에서 입력 내용을 읽어옴

>& : 명령의 출력을 다른 명령의 입력으로 보냄

<& : 명령의 입력을 읽고 다른 명령의 출력으로 보냄


(2)파이프

1.둘 이상의 명령을 함께 묶어 출력 결과를 다른 프로그램의 입력으로 전환

2.현재 명령의 표준 출력은 다음 명령의 표준 입력


(3)정규 표현식

^ : 라인의 첫 글자

$ : 라인의 끝 글자

. : 한 글자

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

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

[^] : 대체 못할 글자 목록을 [^]에 나열

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

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

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

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

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

'리눅스' 카테고리의 다른 글

john the ripper 사용하기  (0) 2020.09.26
파일 디스크립터  (0) 2020.09.13
root 권한에 비밀번호 설정  (0) 2020.06.26
리눅스의 설치  (0) 2018.07.10
리눅스의 이해  (0) 2018.07.09
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함