Linux

리눅스 명령어

보람줄 2018. 7. 31. 21:49

안녕하세요 보람줄입니다 오늘은 리눅스의 명령어들이 뭐가 있는지를 대략적으로 알아보도록 하겠습니다!


 리눅스 명령어


명령어 사용 형식은 #command [-options] [arguments]

option    : 명령어의 특정 기능을 쓸 때 사용

argument : 명령이 실행될 대상 


* clear : 터미널의 텍스트 화면을 모두 제거


* pwd (Print Working Drectory) : 현재 디렉토리의 위치를 절대경로로 출력


* cd (Change Directory) : 디렉토리를 이동


* ls (LiSt) : 디렉토리의 목록을 출력 (특정 파일을 지정하지 않을 경우 현재 디렉토리를 출력)

[옵션] 

-a : 숨긴파일을 포함해서 모든 파일을 출력

-l  : 리스트 형태로 출력

-F : 파일의 형식을 알 수 있게끔 목록의 마지막부분에 문자를 추가하여 출력

-F 옵션 

"/"  : 디렉토리

""   : 텍스트형 파일

"@" : 바로가기 파일

"*"  : 실행파일  

-h : 파일의 크기를 사람이 읽기 쉽게 출력

-i : 인덱스 값을 출력


* echo : 특정 문자열을 화면에 출력


* mkdir (MaKe DIRectory) : 빈 디렉토리를 생성

[옵션]

-p : 하위 디렉토리까지 한번에 생성

[사용방법]

#mkdir /test

#mkdir -p /test/test1/test2


* touch : 빈 파일을 생성하거나 파일저장 시간을 변경

[사용방법]

#touch [파일명]


* rmdir (ReMove DIRectory) : 빈 디렉토리만 삭제

[사용방법]

# rmdir [비어있는디렉토리명]


* rm (ReMove) : 파일과 디렉토리를 삭제(옵션을 사용하지 않을 경우 파일만 삭제)

[옵션]

-r : 파일,디렉토리 삭제(디렉토리 삭제 시 안에 파일이 있을 경우 같이 삭제 됨) 

-f : 삭제시 확인메시지를 보여주지 않고 바로 삭제

[사용방법]

#rm -rf [디렉토리명]


* mv (MoVe) : 파일 또는 디렉토리를 이동하거나 이름을 변경할 때 사용

[사용방법]

#mv [원본] [이동할위치]


ex) 

#mv /root/test /dir        -> /root안에 있는 test 파일을 /dir 디렉토리 안으로 이동

#mv /dir/test /dir/test1    -> /dir안에 있는 test파일 이름을 test1로 변경 


* cp (CoPy) : 디렉토리 또는 파일을 지정된 경로에 복사

[옵션]

-r : 파일이 들어 있는 디렉토리를 복사 할 경우 사용

[사용방법]

#cp [원본] [복사할 위치]


ex)

#cp /etc/passwd /root       -> /etc/passwd 파일을 /root에 복사

#cp /etc/passwd /root/jin    -> /etc/passwd 파일을 /root에 jin이라는 이름으로 변경하여 복사 


* alias : 복잡하거나 자주쓰는 명령어를 자주 사용 할 때 간편하게 별명을 지정

(단, 재부팅하면 사라지기 때문에 영구적인 등록은 .bashrc에서 해야함)

[사용방법]

#alias [별명]=["명령어"]    -> 설정

#alias                 -> 확인

#unalias [별명]           -> 제거


ex)

#alias network="vi /etc/sysconfig/network-scripts/ifcfg-eth0"

#network

#unalias network


* cat : 텍스트 파일 내용을 출력

[옵션]

-b : 공백라인을 제외한 글자가 있는 모든 라인에 번호를 붙여 출력

-n : 공백라인을 포함해 모든라인에 번호를 붙여 출력


ex)

#cat -n /etc/services


* head : 파일을 읽어올 때 위에서부터 10줄만 출력

[옵션]

-n : 출력 행 수를 지정하여 출력

[사용방법]

#head [파일이름]

#head -n [라인수] [파일이름]


ex)

#head -n 20 /etc/services


* tail : 파일을 읽어올 때 마지막 행에서부터 위로 10줄만 출력

[옵션]

-n : 출력 행 수를 지정하여 출력

-f  : 실시간으로 확인

[사용방법]

#tail [파일이름]

#tail -n [라인수] [파일이름]

#tail -f [파일이름]


ex)

#tail -n 20 /etc/services

#tail -f /var/log/secure (실시간으로 접속 관련 로그를 확인함 종료는 ctrl + c)


* more : 파일을 화면 단위로 출력

[사용방법]

#more [파일이름]


ex)

#more /etc/services


spacebar : 다음화면 출력

enter      : 한 줄 씩 스크롤

b           : 이전 화면

f            : 다음 화면

/숫자      : 해당 숫자의 페이지로 이동

/문자열   : 해당 문자열 검색

q           : 종료


* file : 파일 형식 확인


* which : 명령어 (실행파일)경로 및 alias 확인

[사용방법] 

#which ls

#which cd


* watch : 주기적으로 지정된 명령어를 실행 및 결과를 출력

[옵션] 

-n : n초마다 명령 결과를 출력

-d : 변경된 부분에 음영 처리

[사용방법]

#watch ["command"]


ex)

#watch -d -n 0.1 "netstat" (ctrl + c로 종료)


* history : 이전에 사용한 명령어들을 화면에 출력

[옵션]

!번호    : 번호에 해당하는 명령어 실행

!문자열 : 문자열로 시작하는 가장 최근 명령어 실행

[사용방법]

#histroy     (번호 확인)

#!5           (해당 번호 실행)

#!문자열    (해당 문자열 실행)


* wc (Word Count) : 문서의 행, 단어, 문자의 개수를 카운트하고 출력

[옵션]

-l   : 라인 수 출력

-w  : 단어 수 출력

-m : 문자 수 출력

[사용방법]

#wc [파일이름]


ex)

#wc /etc/services

#wc -l -w -m /etc/services (옵션을 한번에 적용도 가능)


* grep (Globally find Regular-Expression and Print) : 파일의 내용중 정규식 패턴에 일치하는 문자열을 찾아 화면에 출력

[옵션]

-i  : 대소문자를 구별하지 않고 출력

-n : 행 번호를 함께 출력

-v : 정규식에 일치하지 않는 행만 출력

-r  : 하위 디렉토리에 위치한 파일까지 출력

-E : 복수의 패턴을 탐색하여 출력 (grep ["패턴|패턴"] [파일])

[참고]

#alias grep="grep --color=auto" (찾으려는 문장에 알아보기 음영처리)

[사용방법]

grep "root" /etc/passwd

grep -E "mail|sshd" /etc/passwd


* cut : 파일에서 원하는 필드를 출력

[옵션]

-c : 잘라낼 글자 위치를 지정

-f  : 잘라낼 필드를 지정

-d : 필드와 필드를 구분하는 문자를 지정 (기본 tab)

[사용방법]

#cut -c 1 /etc/passwd

#cut -c 1,2 /etc/passwd

#cut -c 1-4 /etc/passwd (1~4번째 자릿수)


#cut -d ":" -f 1 /etc/passwd (:로 필드를 구분하고 그 앞까지 출력)

#cut -d ":" -f 1-3 /etc/passwd


* sort : 파일내의 내용을 알파벳 순서대로 정렬

[옵션]

-n : 숫자를 기준으로 정렬

-r  : 역순으로 정렬

-u : 중복행 제거 (uniq)

-o : 출력 결과를 파일로 저장

[사용방법]

ex)

#vi sort_test.txt (i 누르고 아래 단어들을 입력 후 esc 로 빠져 나와 :wq 를 입력 한 뒤 Enter을 누르면 파일이 생성됨)

treat

ant

banana

ant

normal

simple

creative

negative

normal

normal

normal

#cat sort_test.txt      (원본 출력)

#sort sort_test.txt     (영어순으로 나열)

#sort -u sort_test.txt  (중복제거)

#sort -r sort_test.txt  (역순으로 나열)

#sort -u sort_test.txt -o testfile.txt  (중복을 제거하고 testfile.txt에 저장)

#cat testfile.txt         (확인)


* time : 명령어가 실행되고 완료되기 까지의 시간을 측정

[사용방법]

#time [명령어]


* shutdown -h now | init 0 | poweroff | halt : 시스템 종료

[사용방법]

#shutdown -h now

#init 0

#poweroff

#halt


* shutdown -r now | init 6 | reboot : 시스템 재부팅

[사용방법]

#shutdown -r now

#init 6

#reboot


* date : 시스템 시간을 확인 및 수정

[사용방법]

#date                    (현재 시스템 시간 확인)

#date -s "날짜 시간" (날짜와 시간변경)

#date -s "시간"        (시간변경)

#date -s "날짜"        (날짜 변경(시간 초기화))

#date "+%F %b"       (서식문자 활용)


ex)

#date -s "2018-07-31 22:00"

#date -s "12:00"

#date -s "2018-03-13"

#date "+%A %b %e"


* cal : 달력 출력

[사용방법]

#cal

#cal 연도

#cal 월 연도


* 패키지 설치하기

#yum install -y lrzsz (인터넷이 연결되어 있어야 함)

- 파일 전송 패키지이며 windows의 파일을 드래그해서 파일을 옮길 수 있음

또한 [ #sz 파일명 -> 위치선택 ] 을 사용하여 리눅스에서 windows로 옮길수도 있음


#yum install -y man

- 명령어의 메뉴얼(옵션)을 출력해주는 패키지

[사용방법]

#man [명령어]


ex)

#man grep

#man cut


대략적으로 리눅스의 명령어들을 알아보았는데 설명 안드린 옵션들과 명령어들도 엄청 많습니다..하하 

무튼 도움이 되셨으면 좋겠고 모두 알찬 하루 보내세요~~

'Linux' 카테고리의 다른 글

yum lock 해결방법  (0) 2019.03.20
리눅스 다중명령  (0) 2019.01.23
리눅스 네트워크 설정 및 Xshell 제어  (0) 2018.07.21
리눅스의 디렉토리 구조  (0) 2018.07.17
리눅스 개요  (2) 2018.07.07