리눅스 기본 명령어
본문 바로가기

GuideBook

리눅스 기본 명령어

리눅스 기본명령어는 정말 기본이다..

내가 볼려고 정리한다.

너무 기본적인것은 넘어가려고 했으나, 그런게 어딨나? 안쓰면 까먹는거지..

되도록이면 Windows 와 비교하면서 써놓으면 이해가 쉽게 될것 같다.

 

사진이 하나도 없어서 관련성 없는 사진 하나 올리겠다.

리눅스
< 리눅스 모델 펭수에 버금가는 펭귄 >

 

1. 파일 위치 개념

 먼저 Windows의 경우 파일탐색기를 열면 아래와 같이 경로가 보인다.

 

 [ Windows 상에서 경로 표현 ]

 C:\Users\user\Desktop\extra\9월

 -> C드라이브 밑에 Users 밑에 Desktop 밑에 extra 밑에 9월 이라는 폴더가 있다.

 즉 폴더와 폴더사이 표현을 \(역슬러쉬)를 통해 하고 있다.

 

 [ 리눅스 상에서 경로 표현 ]

 C/Users/user/Desktop/extra/9월

 즉 폴더와 폴더사이 표현을 /(슬러쉬)를 통해 하고 있다.

 

2. 경로 이동

 [ Windows 상에서 경로 표현 ]

 C:\Users\user\Desktop\extra\9월

 현재 경로는 C:\Users\user\Desktop 이라고 할 경우 하위의 extra/9월 로 이동하고자 하면, 그냥 마우스로 폴더를 더블클릭해서 들어가면 된다. 그리고 나오고싶을때는 '뒤로가기'를 누르면 된다.

 

 [ 리눅스 상에서 경로 표현 ]

 C:\Users\user\Desktop\extra\9월

 현재 경로는 C:\Users\user\Desktop 이라고 할 경우 하위의 extra/9월 로 이동하고자 하면, 

 cd extra/9월

 cd : 명령어

 녹색 : 이동하고자 하는 위치

 

 Windows에서 처럼 '뒤로가기' 하고 싶을 경우?

 cd ..

 cd .. : 명령어 ( .. 의 의미는 상위폴더, 즉 이전폴더를 의미한다. )

 그러니까 cd ..은 한번 cd ../.. 은 두번 cd ../../.. 은 세번을 의미한다.

 

 참고로 cd ./ 는 현재 폴더를 의미한다.

 그러니까 cd ./를 입력하면 그냥 계속 현재 폴더를 의미한다.

 

 

3. 파일 이동 ( 복사 or 잘라내기 )

 Window에서 어떤 excel 파일을 '/C:\/바탕화면/내파일.text' 를 'C:\/바탕화면/파일/내파일.text'로 이동하고 싶다. 보통 두가지 방법이 존재하는데 아래와 같다.

 

 [ Window 상에서 ]

 1) 마우스로 드래그해서 이동하는 방법

 그러면 탐색기 두개를 열어서 한쪽탐색기는 '/C:\/바탕화면/' 을 열어두고 다른 탐색기는 '/C:\/바탕화면/파일' 을 열어두고 마우스로 '내파일.text'를 드래그해서 이동시킬 수 있다.

 2) 해당 파일을 기존위치에서 'control + x'로 잘라내기한 뒤 이동하고자 하는 위치에서 'control + v'로 이동시킬 수 있다.

 

 [ 리눅스 상에서 잘라내기와 같이 이동하기 ]

 mv 내파일.text ./내파일

 mv : 명령어

 녹색 : 이동하고자하는 대상파일

 파란색 : 이동하고자하는 위치

 

 [ 리눅스 상에서 복사와 같이 이동하기 ]

 cp 내파일.text ./내파일

 cp : 명령어

 녹색 : 복사하고자하는 대상파일

 파란색 : 붙여넣고자하는 위치

 

 

4. 폴더 만들기

mkdir 폴더명

mkdir : 명령어

폴더명 : 만들고자하는 폴더명

 

반대로 지울때는?

rmdir 폴더명

rmdir : 명령어

폴더명 : 지우고자하는 폴더명

 

여기서 부터 옵션이 있다. 보통 'rmdir' 명령어는 하위폴더안에 아무런 파일이 존재하지 않을때 사용하게 된다. 만약 하위폴더 안에 또다른 하위폴더가 존재한다거나, 파일들이 존재할경우 rm 명령어와 옵션을 추가로 사용해야한다. 그건 5번에서 확인해보자.

 

 

 

5. 파일 만들기

touch 파일명

touch  : 명령어

파일명 : 만들고자 하는 파일명

 

반대로 지울때는?

rm 파일명

rm  : 명령어

파일명 : 지우고자 하는 파일명

 

자 4번에서 말한대로, 폴더 혹은 하위폴더 내부까지 삭제하고 싶을때 'rm' 에 옵션을 사용해서 삭제가 가능하다.

다른거 필요없고 그냥 헷깔리니까 하나로 퉁치자

rm -rf 폴더명

rm : 명령어

-rf : 옵션

폴더명 : 하위내용까지 싸그리 삭제하고자하는 폴더명

!이건 주의해야 한다. 진짜 싸그리 다날아 간다.

 

 

6. 로그와 같이 실시간으로 업데이트되는 파일을 확인할때 사요하는 tail

tail -f 파일명

tail : 명령어

-f : 옵션

파일명 : 출력하고자 하는 파일명

 

뭐 여러 옵션이 있는데, 로그라는게 밑에부분부터 지속적으로 쌓이게 되니까, 이 뒷부분을 출력해 주는 tail 을 사용하면된다. head 처럼 앞부분 출력해주는것도 있는데, 그거 그냥 열어서 보면 된다.

 

7. 파일내용을 병합할때 사용하는 'cat' 그리고 '>' or '>>'

 솔직히 병합할 일도 없는데, 예를들어 아래와 같은 1.txt 파일과 2.txt 파일이 있다고 하자.

<1.txt>
111
111
111
<2.txt>
222
222
222

1.txt 파일 내용과 2.txt 파일 내용을 합치고자 할경우

cat 1.txt 2.txt > 3.txt

cat : 명령어

1.txt 2.txt : 병합하고자하는 파일

> : 명령어( 파일쓰기와 같은 명령어고 리다이렉션? 뭐 그렇게 부르는데 아무필요없음 )

3.txt : 병합된 내용을 포함하는 새로운 파일명

 

위와같이 하면 되긴하는데, '>' 그리고 '>>' 요 두녀석의 차이를 알면 좀 다양하게 응용이 가능하다.

> : 지금 3.txt 파일을 새롭게 만들었는데 만약 기존에 3.txt파일이 존재하고 있다면, 기존내용이 지워진다.

>> : 기존내용 밑에 그대로 붙여 넣는다.

 

그러니까 '>' 요놈은 기존내용 전부 삭제하고 새롭게 쓰는것이고

'>>' 요놈은 기존내용에 새로운내용을 붙여 넣는 용도이다.

 

8. 간혹 특정 파일이 포함된 행만 출력하고 싶을때가 있다. 그럴때 사용하는 'cat 찾고자하는파일 | grep 찾을내용'

cat 찾고자하는파일 | grep 찾을내용

cat : 명령어 ( 출력하는기능 )

찾고자하는파일 : 어떤파일에서 찾을것인가?

| : 명령어( Shift + 역슬러쉬)

grep : 명령어( 그랩! 잡겠다는 의미 즉 grep 뒤에 '찾을내용'을 잡아내겠다는 의미 )

찾을내용 : 응~ 찾을내용

 

예를들어보자. 아래의 test.txt 파일에서 AA만 찾고 싶을 경우이다.

<test.txt>
회사명	신용도
A-Company	AAA
B-Company	BBB
C-Company	CCC
D-Company	BBB
E-Company	AAA
F-Company	CCC
G-Company	CCC
H-Company	CCC
I-Company	FFF
H-Company	FFF
K-Company	AAA
L-Company	BBB
M-Company	BBB
N-Company	AAA
O-Company	BBB
P-Company	CCC
Q-Company	BBB
R-Company	AAA
S-Company	CCC
T-Company	CCC
U-Company	CCC
V-Company	BBB
W-Company	BBB
X-Company	BBB
Y-Company	BBB
Z-Company	AAA

cat test.txt | grep AAA 

위와 같이 입력하면 아래처럼 출력된다.

[출력결과]
A-Company       AAA
E-Company       AAA
K-Company       AAA
N-Company       AAA
R-Company       AAA
Z-Company       AAA

그런데, 이 출력결과를 저장하고 싶다면? 위 명령어에서 7에서 알려준 '>'를 사용하자

cat test.txt | grep AAA > new.txt

 

진짜 쉽지 않나? '>>' 하면 덮어써지는거고 전부 응용이 가능하다.

근데, 또 이럴수가 있지 않은가? 뒤에 AAA는 이미 알고 있으니까 회사명만 출력하고 싶은데.. 어떻게 하지??

 

그럴때 쓰는게 awk 명령이다. 맛만 보여드림

cat test.txt | grep AAA | awk '{print $1}' > new.txt

이러면 회사면만 출력된다. cat이 보통 '행'을 담당하면 awk는 보통 '열'을 담당한다고 알면된다.

 

위명령어들과 함께 쓰이는 명령어가 하나더 있다. 'sed' 명령어 이다.

 

결국 리눅스는

 

cat / grep / awk / sed 이걸 혼합해서 사용할 수 있으면 하산하면 된다.

이 끝판왕이 bash shell 이고, bash shell로 다양한 반복작업을 가능하게 하고, 흔히 말하는 메크로도 bash shell 로 씌여지는 경우가 많다.

 

기회되면 올려보겠다.

 

혹시라도 vi 명령어는 아래에서 확인바람

https://issueguide.tistory.com/44

 

vi 편집기 명령어

MAC 혹은 리눅스를 활용하시는 분들은 대부분 아실것으로 생각합니다. 제가 그래도 꼭 필요한 것들로 추려서 알아보도록 하겠습니다. 1. 무료 터미널 프로그램 터미널 프로그램은 다양하게 존재합니다. 마치 우리..

issueguide.tistory.com