안녕하세요
뚱보 프로그래머 입니다.
리눅스 공부를 위한 기본 명령어를 알아보겠습니다.
사실 사용할 때 자주사용하는 것도 있고 자주 사용안하는 것도 있지만 기본적인 것들은 알아두는 것이 좋은듯 싶습니다.
1. rm 명령어
▣파일의삭제(rm)
일반형식 rm [ -firv] source dest
주요옵션
-f : 지울파일이있을경우강제로삭제
-i : 지울파일이있을경우지울것인지물어봄
-r : 하위디렉토리에있는모든파일을삭제
-v : 지우는파일정보를출력
▣사용 예
[cprog2@seps5 cprog2]$ cd Test
[cprog2@seps5 Test]$ ls
Test.c date
[cprog2@seps5 Test]$ rm date
[cprog2@seps5 Test]$ ls
Test.c
2. mkdir 명령어
▣디렉토리생성(mkdir)
일반형식mkdir [ -m mode ] [ -p ] dir …
주요옵션
-m : 새로운디렉토리의허가모드를지정한모드로설정
-p : 하위디렉토리가존재하지않는경우함께생성
▣사용 예
[cprog2@seps5 cprog2]$ ls
Desktop Mail Test bashrc book2 packages
[cprog2@seps5 cprog2]$ mkdir temp
[cprog2@seps5 cprog2]$ ls
Desktop Mail Test bashrc book2 packages temp
[cprog2@seps5 cprog2]$ mkdir -p Test3/Test5
[cprog2@seps5 cprog2]$ ls
Desktop Mail Test Test3 bashrc book2 packages temp
[cprog2@seps5 cprog2]$ ls Test3
Test5
3. rmdir 명령어
▣디렉토리삭제(rmdir)
일반형식 rmdir[ -p ] dir …
주요옵션
-p : 지정한하위디렉토리까지삭제
▣사용예
[cprog2@seps5 Test3]$ ls
Test5
[cprog2@seps5 Test3]$ rmdir Test5
[cprog2@seps5 Test3]$ ls
[cprog2@seps5 Test3]$
4. mv 명령어
▣파일이름변경와옮기기(mv)
일반형식
mv[ -fi] source dest
mv[ -fi] source …dest_dir
주요옵션
-b : 대상파일이지워지기전에백업파일을만듦
-f : 대상파일의접근허가와관계없이무조건파일을이동
-i : 대상파일이기존파일이면, 덮어쓸것인지물어봄
-u : 대상파일보다원본파일이최근의것일때업그레이드
-v : 파일옮기는과정을자세하게보여준다
▣사용예
[cprog2@seps5 cprog2]$ ls
Desktop Mail Test bashrc book2 mvTest.c packages
[cprog2@seps5 cprog2]$ mv mvTest.c Test
[cprog2@seps5 cprog2]$ ls
Desk top Mail Test bashrc book2 packages
[cprog2@seps5 cprog2]$ cd Test
[cprog2@seps5 Test]$ ls
Test.c Test2 mvTest.c
[cprog2@seps5 Test]$ cp mvTest.c..; cd..
[cprog2@seps5 cprog2]$ mv -i mvTest.c Test
mv: overwrite `Test/mvTest.c'? Y
[cprog2@seps5 cprog2]$ ls
Desktop Mail Test bashrc book2 packages
[cprog2@seps5 cprog2]$
5. touch 명령어
▣파일만들기(touch)
일반형식
touch [ -acm] [-r ref_file | -t time ] file ...
touch [ -acm] [ date_time ] file ...
주요옵션
-a : 접근시간만갱신
-c : 지정된파일이없는경우새로작성하지않음
-m : 수정시간만갱신
-r 또는-t : 현재시간대신지정시간(ref_file 또는time) 사용
▣사용예
[cprog2@seps5 temp]$ ls
[cprog2@seps5 cprog2]$ touch out
[cprog2@seps5 cprog2]$ ls
-rw-rw-r-- 1 cprog2 cprog2 0 9월 3 19:24 out
[cprog2@seps5 cprog2]$ touch out
[cprog2@seps5 cprog2]$ ls
-rw-rw-r-- 1 cprog2 cprog2 0 9월 3 19:30 out
6. cat 명령어(파일만들기)
▣파일만들기(cat)
일반형식
cat > filename
기능
화면으로부터입력받아파일생성
종료시ctrl-D 입력하면쉘로빠져나옴
▣사용예
[cprog2@seps5 Test]$ cat > catTest.txt
Hello!
Nice to meet you. <- Ctrl-D 입력
[cprog2@seps5 Test]$ ls
Test.c Test2 catTest.txt mvTest.c
6. cat 명령어(파일의 내용보기)
▣파일의내용보기(cat)
일반형식
cat [ -bnsuvet] [ file …]
주요옵션
-b, -n : 모든라인에행번호를붙임(-b 는nonblank 라인에)
-u : 출력이버퍼에기록되지않게함
-v : 출력할수없는문자를출력.
-e : -vE옵션과같음. 라인의끝에"$"를표시함
-t : -vT옵션과같음. ^I 로TAB 문자를표시함
▣사용예
[cprog2@seps5 Test]$ cat catTest.txt
Hello!
Nice to meet you.
[cprog2@seps5 Test]$ cat -b catTest.txt
1 Hello!
2 Nice to meet you.
7. more, page 명령어
▣파일의내용보기(more, page)
일반형식
more [ -cdflrsuw] [ -lines] [ +linenumber] [ +/pattern] [ file…]
page [ -cdflrsuw] [ -lines] [ +linenumber] [ +/pattern] [ file…]
주요옵션
-c : 화면스크롤대신에화면의상단에서부터나타내게함
-d : 계속하기위한프롬프트출력
+linenumber: 지정된linenumber부터출력함
+pattern : 처음패턴이발견된라인의앞두라인부터출력
8. head, tail 명령어
▣파일의내용보기(head, tail)
일반형식
head [ -number | -n number ] [ file…]
tail [ + number [ lbcf] ] [ file…]
tail [ -f | -r ] [ -c name | -n number ] [ file…]
주요옵션
-n : 출력할라인의개수이며기본은10개의라인임
-l : 출력크기를라인단위로지정
-b : 출력크기를블록단위로지정
-c : 출력크기를문자단위로지정
-f : 파일뒤에추가되는라인을계속적으로보여줌
▣사용예
[cprog2@seps5 Test]$ cat catTest.txt
Hello!
Nice to meet you.
[cprog2@seps5 Test]$ head –1 catTest.txt // 첫번째줄
Hello!
[cprog2@seps5 Test]$ tail –1 catTest.txt // 마지막줄
Nice to meet you.
9. 소유권과 보호
▣파일접근을위해각파일에대해사용권한설정
◈파일/디렉토리에대한사용자범위제한및발생가능한사용자실수로부터의보호
▣사용권한
모드 종류 의미
4 Read 그파일에대해읽기가능
2 Write 그파일에대해쓰기가능
1 Execute 그파일에대해실행가능(명령어로사용가능)
0 그파일에대해어떤사용권한도없음
▣소유권한
◈Unix에서제공되는모든파일들은3가지권한의조합으로표시모드종류의미
종류 의미
소유자(Owner) 파일이나디렉토리를처음만든사람
그룹(Group) 사용자는어느특정한그룹에속함
다른사람들(Public) 현재사용자계정을가진모든사람
▣사용권한조합
사용권한 값
읽기 쓰기 실행
- - - 0
- - Y 1
- Y Y 3
Y - - 4
Y - Y 5
Y Y - 6
Y Y Y 7
10. chmod 명령어
▣파일사용권한변경(chmod)
일반형식
chmod[ -fR] <absolute-mode> file ...
chmod[ -fR] <symbolic-mode-list> file …
주요옵션
-f : chmod가에러가발생하여도강제로모드를변경
-R: 모든하위디렉토리를포함하여모드를변경
◈기호모드
기호 의미
+ 사용권한부여
- 사용권한제거
= 사용권한유지
s 소유자와그룹만허용
u 소유자권한
g 그룹권한
o 다른사용자권한
a 소유자, 그룹, 다른사용자모두사용권한허가
▣사용예
[cprog2@seps5 Test]$ ls l
합계8
-r-xr-xr-x 1 cprog2 cprog2 0 2월 10 23:01 Test.c
drwxrwxr-x 2 cprog2 cprog2 4096 2월 10 23:31 Test2
-rw-rw-r-- 1 cprog2 cprog2 26 2월 11 00:44 catTest.txt
-rw-rw-r-- 1 cprog2 cprog2 0 2월 11 00:17 mvTest.c
[cprog2@seps5 Test]$
[cprog2@seps5 Test]$ chmod g+rw Test.c
[cprog2@seps5 Test]$ ls -l
합계8
-r-xrwxr-x 1 cprog2 cprog2 0 2월10 23:01 Test.c
drwxrwxr-x 2 cprog2 cprog2 4096 2월10 23:31 Test2
-rw-rw-r-- 1 cprog2 cprog2 26 2월11 00:44 catTest.txt
-rw-rw-r-- 1 cprog2 cprog2 0 2월11 00:17 mvTest.c
▣절대모드
사용자 범위 사용권한 기호 절대모드
소유자 읽기 r 400
쓰기 w 200
실행 x 100
그룹 읽기 r 40
쓰기 w 20
실행 x 10
다른 사용자 읽기 r 4
쓰기 w 2
실행 x 1
▣사용예
[cprog2@seps5 Test]$ ls-l
합계8
-r-xrwxr-x 1 cprog2 cprog2 0 2월 10 23:01 Test.c
drwxrwxr-x 2 cprog2 cprog2 4096 2월 10 23:31 Test2
-rw-rw-r-- 1 cprog2 cprog2 26 2월 11 00:44 catTest.txt
-rw-rw-r-- 1 cprog2 cprog2 0 2월 11 00:17 mvTest.c
[cprog2@seps5 Test]$
[cprog2@seps5 Test]$ chmod 725 Test.c
[cprog2@seps5 Test]$ ls -l
합계8
-rwx-w-r-x 1 cprog2 cprog2 0 2월10 23:01 Test.c
drwxrwxr-x 2 cprog2 cprog2 4096 2월10 23:31 Test2
-rw-rw-r-- 1 cprog2 cprog2 26 2월11 00:44 catTest.txt
-rw-rw-r-- 1 cprog2 cprog2 0 2월11 00:17 mvTest.c
11. chown 명령어
▣파일소유자변경(chown)
일반형식
chown[ -fR] owner [ : group ] file …
주요옵션
-f : chown이에러가발생하여도강제로모드를변경
-R: 모든하위디렉토리를포함하여모드를변경
12. chgrp 명령어
▣파일그룹명변경(chgrp)
일반형식chgrp[ -fR] group file ...
주요옵션
-f : chgrp가에러가발생하여도강제로모드를변경
-R: 모든하위디렉토리를포함하여모드를변경
13. ln 명령어
▣파일연결관계(Link) 만들기(ln)
◈Unix/Linux파일시스템에서매우긴파일이름을참조하거나, 다른디렉토리경로로연결하여쉽게접근할필요가있을때사용
일반형식
ln[ -fns ] source_file [ target ]
ln[ -fns] source_file …target
주요옵션
-f : 접근할수없는사용권한을가졌을때도링크가가능
-s: 심볼릭링크생성
▣사용예
[cprog2@seps5 cprog2]$ ln -s catTest.txt Test.txt
[cprog2@seps5 cprog2]$ ls -l
합계8
-rw-rw-r--1 cprog2 cprog20 9월6 21:55 Test.c
lrwxrwxrwx1 cprog2 cprog211 9월6 22:25 Test.txt-> catTest.txt
-rw-rw-r--1 cprog2 cprog20 9월6 21:54 Test1.c
drwxrwxr-x2 cprog2 cprog24096 9월6 21:55 Test2
-rw-rw-r--1 cprog2 cprog226 9월6 21:55 catTest.txt
14. df 명령어
▣디스크용량확인(df)
일반형식
df[ -aikT] [ -t fstype]
주요옵션
-a : 디렉토리로생략된블록크기의파일시스템출력
-i : inode로디스크정보를보여준다
-k : 파일의크기를kb(킬로바이트) 단위로보여준다
-T : 파일시스템의정보와디스크정보를보여준다
-t : fstype값을가진파일시스템에대한디스크정보를보여줌
▣사용예
[cprog2@seps5 cprog2]$ df
Filesystem K-blocks Used Available Use% Mounted on
/dev/sdb1 33973700 8099384 24148536 26% /
/dev/sda1 101089 16290 79580 17% /boot
none 256620 0 256620 0% /dev/shm
[cprog2@seps5 cprog2]$ df -a
Filesystem K-blocks Used Available Use% Mounted on
/dev/sdb1 33973700 8099384 24148536 26% /
none 0 0 0 - /proc
usbdevfs 0 0 0 - /proc/bus/usb
/dev/sda1 101089 16290 79580 17% /boot
none 0 0 0 - /dev/pts
none 256620 0 256620 0% /dev/shm
15. du 명렁어
▣디스크사용공간확인(du)
일반형식
du[ -abckx] filename…
주요옵션
-a : 모든파일들의정보를보여준다
-b : 바이트단위로보여준다
-c : 파일의사용정보를보여주고난뒤총합계를보여준다
-k : 킬로바이트단위로보여준다
-x : 심볼릭링크이면그원본크기를보여준다
▣사용예
[cprog2@seps5 cprog2]$ du test
4 test/Test2
12 test
[cprog2@seps5 cpropg2]$
16. ps 명령어
▣프로세스상태확인(ps)
일반형식
ps[-] [ options ]
주요옵션
l : 긴형식으로출력
u : 실행유저와실행시간표시
j : 작업제어(job control) 형식으로출력
s : 시그널형식으로출력
m : 메모리정보를보여준다
a : 다른사용자의프로세스현황을보여준다
x : 터미널제어없이프로세스현황표시
▣사용예
[cprog2@seps5 Test]$ ps ax
PID TTY STAT TIME COMMAND
1 ? S 0:07 init
2 ? SW 0:00 [migration/0]
…………
[cprog2@seps5 Test]$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 1228 464 ? S Feb04 0:07 init
root 2 0.0 0.0 0 0 ? SW Feb04 0:00 [migration/0]
17. kill 명령어
▣프로세스종료시키기(kill)
일반형식
kill [-s signal ] process_id
주요옵션
-s 또는-number : 프로세스에시그널번호를보낸다
-9 를사용할경우프로세스를강제로종료시킨다
▣사용예
[cprog2@seps5 cprog2]$ sleep 1000 &
[1] 22001
[cprog2@seps5 cprog2]$ kill –9 22001
[cprog2@seps5 cprog2]$
[1]+ 죽었음 sleep 1000
[cprog2@seps5 cprog2]$
이상으로 17가지에 명령에 대해서 간략하게 적어 봤습니다.
실제 Vmware 나 실제 리눅스 OS 를 설치하고 간단하게 TEST 만 해보면 아주 쉽게 이해할 수 있을 것 같습니다.
화이팅..!!
'IT > 리눅스마스터1급' 카테고리의 다른 글
yum과 rpm (0) | 2018.01.16 |
---|---|
nslookup / host / dig 명령어 차이 (0) | 2018.01.16 |
anacron 이란 (0) | 2018.01.14 |
at이란 (0) | 2018.01.14 |
Crontab이란 (0) | 2018.01.14 |