본문으로 바로가기

리눅스 (Linux) / 유닉스 (Unix) 주요 기본 명령어

-- ls, man, cd, pwd, mkdir, rmdir, rm, mv, touch, cat, more, head, tail, clear, wc, alias, unalias, | (Pipe), d, find, grep, vi

 

 

■ ls
> 파일이나 디렉토리를 보는 명령어


* 옵션
-a : 전부 보여달라 (숨김, 디렉토리)
-l : 상세정보 (소유자, 크기, 수정시간 등)
-S : 크기별 정렬
-h : 단위 표현 변경
(사람이 보기 편한 단위 KB, GB 등으로 보임)


* 예제
ls -al            // 리스트를 상세하게 모두 출력

 

■ man
> 명령어 도움말


* 예제
man ls        // ls 명령어에 대한 도움말 출력

 

■ cd
> 디렉토리 이동


* 예제
cd /abc        // 루트 디렉토리에서 abc 디렉토리로 이동
cd ./test11        // 현재 디렉토리에서 test11 디렉토리로 이동


■ pwd
> 현재 디렉토리 경로 확인

 

■ mkdir
>신규 디렉토리 생성


* 예제
mkdir /test1/test11        // test1폴더에 test11 폴더 생성

 

■ rmdir
> 디렉토리 삭제 ( 삭제시 디록토리 안에 파일이 없어야함)
* 예제
rmdir /test11        // test11 폴더 삭제

 

■ rm
> 파일이나 디렉토리 삭제 ( rmdir 보다 더 많이 사용 )


* 옵션
-r : 하위 디렉토리 삭제
-f : 강제로 삭제
-i : 파일 지울지 물어봄
-v : 삭제 정보 보여줌

* 예제
rm /test/abc.txt        // test 디렉토리 안의 abc.txt 파일 삭제
rm -fr /test/*        // test 디렉토리 안의 모든 디렉토리와 파일들을 확인 없이 삭제

 

■ touch
> 용량 0의 파일 생성


* 예제
touch abc.txt        // 내용이 없는 abc.txt 파일 생성
touch a.txt b.txt c.txt       // 내용이 없는 파일을 3개 생성
touch -t 01051054 c.txt  // 1월 5일 10시 54분 으로 시간 수정

 

■ cat  /  more
> 텍스트 파일 출력
짧은 내용 볼때 cat, 내용이 많으면 more 사용


* 예제
cat abc.txt    /    more abc.txt

 

■ head
> 처음 10줄을 출력


* 예제
head abc.txt

 

■ tail
> 마지막 10줄을 출력


* 옵션
-f : 실시간으로 조회 (Log 확인시 주로 사용)


* 예제
tail abc.txt   // tail 5 abc.txt   5줄확인
tail -f abc.log    // abc.log 파일이 변경될때마다 실시간으로 마지막 10줄의 변경사항을 보여줌

 

■ clear
> 화면을 Clear 함

 

■ wc
> 단어 수, 줄 수 등을 세어줌


* 옵션
-l : line 수를 Count


* 예제
wc -l abc.txt        // abc.txt파일의 Line 수를 Count


■ alias  /  unalias
> 별칭을 지어주고 삭제함


* 예제
alias a='cd /a/b/c/d/e/f/g'        // alias 지정 후 a를 입력하면 해당 명령어가 실행됨
unalias a                              // a로 지정된 alias 를 삭제


■ | (Pipe)
> 명령의 결과를 다음 명령의 입력으로 넘긴다.


* 예제
ls -al | wc -l        // ls 명령어의 라인수를 Count


■ tar
> 파일을 묶어줌


* 옵션
c : 파일을 묶어줌
v : 작업 과정 확인
f : 저장될 파일명 지정
x : 묶은 파일을 풀어줌
z : tar + gzip
j : tar + bzip2


* 예제
tar cvf abc.tar ./bbb        // bbb 디렉토리를 abc.tar 파일로 묶어라
tar xvf abc.tar               // abc.tar 파일을 풀어라

 

■ find
> 파일을 검색


* 옵션
-name : 파일 이름으로 검색
-user : 소유자 이름으로 검색
-size : 파일 크기로 검색


* 예제
find ./bbb -name 'b.*' -size 0        // bbb 디렉토리에 파일명이 b이고 확장자는 무엇이든 되며 size가 0인 파일 찾아

■ grep
> 파일에 포함된 특정 단어를 검색


* 옵션
-i : 대소문자 구분 안함
-n : 라인 번호 출력
-v : 검색어가 없는 Line 보여달라
-c : 라인의 개수 출력


* 예제
grep -ic 'Feb' ./d.txt        // 대소문자 구분하지 않고 d.txt 에 'Feb' 가 있는 행 Count 해서 보여달라
grep -iv 'feb' ./d.txt        // 대소문자 구분하지 않고 d.txt에 'feb' 가 없는 Line 을 보여달라

 

■ ps
> 명령어는 지금 실행중인 프로세스의 목록을 출력해주는 명령어


* 옵션
a : 현재 실행중인 모든 프로세스 ( 다른 사용자들의 프로세스 포함)
(-a 와는 다릅니다.)
e: 프로세스의 실행 환경 출력 ( = pid, time, tty)
(-e 와 다릅니다.)
u : 프로세스의 사용자 이름, 시간
x : 다른 사용자가 실행한 완료되지 않은 프로세스를 같이 출력
-f : full format


* 예제
Ps – ef | grep tomcat    // tomcat 프로세스 확인
Kill -9 14333               // 프로세스 번호 kill

 

■ netstat
> Linux 시스템의 TCP/IP 프로토콜 진단시 사용, 라우팅테이블, 소켓사용정보 등 볼수있음


* 옵션
-a : 모든 소캣의 상태를 보여준다  /  -p 포트정보 보여줌.
-t : tcp 소캣만 보여준다.
-n : 로컬 주소와 나가는 주소를 도메인에서 ip형태로 보여준다.


* 예제
Netstat –nap | grep :80 | grep 112.175 |grep Established  떠있는 포트 확인 해당아이피로


■ yum
> 패키지 자동설치  (list, check-update / update / install /remove / info)


* 예제
Yum install wget   / yum list


■ wget
> 특정 URL 파일 다운로드


■ make
> 만들어진 패키지 파일 빌드하여 설치


* 예제
Make install


■ ln
> 하드링크 / 심볼링크 생성 ( 윈도우 바로가기와 유사 )


1. 하드링크 – 원본 파일의 inode를 같이 사용하는 파일

                  원본 파일이 변경되거나 사라지더라도 하드링크파일은 원본 데이터를 찾아 갈 수 있음
2. 심볼링크 - 새로운 inode를 원본파일을 찾아가게 합니다



* 예제
ln –s  /  ln 파일1 파일2


 

■ VI
> 텍스트 수정 (win 메모장)

--------------------------------------------------------------------------------
기본 방향키 - 커서 이동
h :  왼쪽방향키
j : 아래 방향키
k : 위 방향키
l : 오른쪽 방향
gg : 문서 가장 위로 이동.
shift + g : 문서 가장 밑으로.
w(소문자) : 현재 커서의 다음 단어로 이동
W(대문자) : 현재 커서 라인의 가장 끝으로 이동
b(소문자) : 현재 커서의 전 단어로 이동
B(대문자) : 현재 커서 라인의 가장 앞으로 이동
--------------------------------------------------------------------------------
복사
yy : 현재 커서 라인 1줄 복사
y5y: 현재 커서 라인에서 5줄복사
--------------------------------------------------------------------------------
잘라내기(라인 삭제 용도로 활용)
dd : 현재 커서 라인 잘라내기
d5d: 현재 커서 라인에서 5줄 잘라내기
--------------------------------------------------------------------------------
붙여넣기
p(소문자) : 복사나 잘라내기한 내용을 현재 커서 위치 밑줄에 붙여넣기 한다.(전 이걸 많이 씀. shift누르기 귀찬)
P(대문자) : 복사나 잘라내기한 내용을 현재 커서 위치의 위줄에 붙여넣기 한다
--------------------------------------------------------------------------------
되돌리기
u : 이전으로 문자 돌리기

--------------------------------------------------------------------------------
편집모드
i : 문자 전 위치부터 편집.
a: 문자 다음 위치부터 편집.
x: 현재 위치 문자 제거하고 편집
--------------------------------------------------------------------------------
저장 및 문서 닫기
:w  :문서 저장만하지
:wq :문서 저장하고 닫기
:q : 문서 닫기 (저장안하고 그냥닫으려면 :!q로 오버라이드)
:wq filename 문서 해당 이름으로 저장하고 닫기
--------------------------------------------------------------------------------
문서 열기 - 보통 4개의 소스를 동시에 보며 작업 진행시 아주 편리함
:vs filename : 파일을 세로 방향으로 열기 ( 본인의 기준에 따라 방향이 다름 )
:sp filename:  파일을 가로 방향으로 열기 ( 본인의 기준에 따라 방향이 다름 )
-------------------------------------------------------------------------------
다중 문서 이동하기
shift + w : 여러개 열어둔 문서끼리 이동 ( 다른 명령어도 있겠지만 이걸 가장 많이 사용함)
-------------------------------------------------------------------------------
vi상에서 명령어 실행
:! ls  vi를 종료하지 않고 명령어 실행하기(파일 확인용, 서버 재 실행등의 간단한 작업시 자주 사용함)
--------------------------------------------------------------------------------
편집기 라인 번호
:se nu or :set number : 편집기에 라인을 표시한다.(거의 습관적으로 사용)


Reference