이번 포스팅에서는 리눅스(Linux)에서 자주 사용하는 기본 명령어 20가지를 정리해보았습니다.
1. ls
> 파일이나 디렉토리를 보는 명령어
* 옵션
-a : 전부 보여달라 (숨김, 디렉토리)
-l : 상세정보 (소유자, 크기, 수정시간 등)
-S : 크기별 정렬
-h : 단위 표현 변경 (사람이 보기 편한 단위 KB, GB 등으로 보임)
$ ls -al // 리스트를 상세하게 모두 출력
2. man
> 명령어 도움말
$ man ls // ls 명령어에 대한 도움말 출력
3. cd
> 디렉토리 이동
$ cd /Data // 루트 디렉토리에서 Data 디렉토리로 이동
$ cd ./Users // 현재 디렉토리에서 Users 디렉토리로 이동
4. mkdir
>신규 디렉토리 생성
$ mkdir /Users/Temp // Users폴더에 Temp 폴더 생성
5. rmdir
> 디렉토리 삭제 ( 삭제시 디록토리 안에 파일이 없어야함)
$ rmdir /Test // Test 폴더 삭제
6. rm
> 파일이나 디렉토리 삭제 ( rmdir 보다 더 많이 사용 )
* 옵션
-r : 하위 디렉토리 삭제
-f : 강제로 삭제
-i : 파일 지울지 물어봄
-v : 삭제 정보 보여줌
$ rm /test/abc.txt // test 디렉토리 안의 abc.txt 파일 삭제
$ rm -fr /test/* // test 디렉토리 안의 모든 디렉토리와 파일들을 확인 없이 삭제
7. touch
> 용량 0의 파일 생성
-a : 현 시간으로 파일의 접근 시간, 변경 시간 수정
-c : 기존 파일이 없으면 파일이 생성되지 않음
-t : 지정한 시간으로 접근 시간, 수정 시간을 수정 (단 변경 시간은 현재 시간으로 수정)
$ touch test.txt // 내용이 없는 test.txt 파일 생성
$ touch a.txt b.txt c.txt // 내용이 없는 파일 3개 생성
$ touch -t 07031000 c.txt // 7월 3일 10시 00분 으로 접근 시간, 수정 시간을 수정
8. cat / more
> 텍스트 파일 출력
짧은 내용 볼때 cat, 내용이 많으면 more 사용
$ cat abc.txt / more abc.txt
9. head
> 처음 10줄을 출력
$ head abc.txt
10. tail
> 마지막 10줄을 출력
* 옵션
-f : 실시간으로 조회 (Log 확인시 주로 사용)
$ tail abc.txt // tail 5 abc.txt 5줄확인
$ tail -f abc.log // abc.log 파일이 변경될때마다 실시간으로 마지막 10줄의 변경사항을 보여줌
11. clear
> 화면을 Clear 함
12. wc
> 단어 수, 줄 수 등을 세어줌
* 옵션
-l : line 수를 Count
$ wc -l abc.txt // abc.txt파일의 Line 수를 Count
13. alias / unalias
> 별칭을 지어주고 삭제함
$ alias a='cd /a/b/c/d/e/f/g' // alias 지정 후 a를 입력하면 해당 명령어가 실행됨
$ unalias a // a로 지정된 alias 를 삭제
14. tar
> 파일을 묶어줌
* 옵션
c : 파일을 묶어줌
v : 작업 과정 확인
f : 저장될 파일명 지정
x : 묶은 파일을 풀어줌
z : tar + gzip
j : tar + bzip2
$ tar cvf abc.tar ./test // test 디렉토리를 abc.tar 파일로 묶어줌
$ tar xvf abc.tar // abc.tar 파일을 풀어라
15. find
> 파일을 검색
* 옵션
-name : 파일 이름으로 검색
-user : 소유자 이름으로 검색
-size : 파일 크기로 검색
$ find ./test -name 'b.*' -size 0
// test 디렉토리에서 파일명이 b이고 size가 0인 파일 찾아줌 (확장자 무관)
16. grep
> 파일에 포함된 특정 단어를 검색
* 옵션
-i : 대소문자 구분 안함
-n : 라인 번호 출력
-v : 검색어가 없는 Line 보여달라
-c : 라인의 개수 출력
$ grep -ic 'Feb' ./d.txt // 대소문자 구분하지 않고 d.txt 에 'Feb' 가 있는 행 Count 해서 보여달라
$ grep -iv 'feb' ./d.txt // 대소문자 구분하지 않고 d.txt에 'feb' 가 없는 Line 을 보여달라
17. ps
> 명령어는 지금 실행중인 프로세스의 목록을 출력해주는 명령어
* 옵션
a : 현재 실행중인 모든 프로세스 ( 다른 사용자들의 프로세스 포함)
e: 프로세스의 실행 환경 출력 ( = pid, time, tty)
u : 프로세스의 사용자 이름, 시간
x : 다른 사용자가 실행한 완료되지 않은 프로세스를 같이 출력
-f : full format
$ Ps – ef | grep tomcat // tomcat 프로세스 확인
$ Kill -9 14333 // 프로세스 번호 kill
18. netstat
> Linux 시스템의 TCP/IP 프로토콜 진단시 사용, 라우팅테이블, 소켓사용정보 등 볼수있음
* 옵션
-a : 모든 소캣의 상태를 보여준다 / -p 포트정보 보여줌.
-t : tcp 소캣만 보여준다.
-n : 로컬 주소와 나가는 주소를 도메인에서 ip형태로 보여준다.
$ Netstat –nap | grep :80 | grep 112.175 |grep Established 떠있는 포트 확인 해당아이피로
19. yum
> 패키지 자동설치 (list, check-update / update / install /remove / info)
$ Yum install wget / yum list
20. ln
> 하드링크 / 심볼링크 생성 ( 윈도우 바로가기와 유사 )
1. 하드링크 – 원본 파일의 inode를 같이 사용하는 파일
원본 파일이 변경되거나 사라지더라도 하드링크파일은 원본 데이터를 찾아 갈 수 있음
2. 심볼링크 - 새로운 inode를 원본파일을 찾아가게 합니다
ln –s / ln 파일1 파일2
번외. VI 사용법 정리
[기본 커서이동]
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 문서 해당 이름으로 저장하고 닫기
[문서 열기]
:vs filename : 파일을 세로 방향으로 열기 ( 본인의 기준에 따라 방향이 다름 )
:sp filename: 파일을 가로 방향으로 열기 ( 본인의 기준에 따라 방향이 다름 )
[다중 문서 이동하기]
shift + w : 여러개 열어둔 문서끼리 이동 ( 다른 명령어도 있겠지만 이걸 가장 많이 사용함)
[vi상에서 명령어 실행]
:! ls vi를 종료하지 않고 명령어 실행하기(파일 확인용, 서버 재 실행등의 간단한 작업시 자주 사용함)
[편집기 라인 번호]
:se nu or :set number : 편집기에 라인을 표시한다.(거의 습관적으로 사용)
리눅스 운영 환경에 따라 명령어 중요도가 다를 수 있으므로 레퍼런스로 활용하시면 좋을 것 같습니다.
읽어주셔서 감사합니다.
최근댓글