프로그래밍(Programming)

리눅스 디렉토리 및 파일 관련 명령어

Sherlockhomes 2011. 1. 5. 09:54
728x90

1. 디렉토리 및 파일 관련명령어

(1) 위치확인명령어

① pwd : 현재 작업 디렉토리 위치보기

② cd: 작업 디렉토리 이동하기

cd~ 또는 cd[return] : 자신의 홈디렉토리로 이동

cd / : 루트 디렉토리로 이동

cd My documents : 공백이 있는 디렉토리로 이동할 때, “” 사용

③ tty : 현재 로그인되어 있는 터미널의 장치 이름 보기

 

(2) 매뉴얼출력

① man : 주어진 명령이나 유틸리티의 매뉴얼 출력

man [옵션] 명령/유틸리티명

-a : 모든 manual page 출력

-d : 디버깅 정보 출력

-f : whatis와 같음

-h : 도움말 출력

-k : apropos와 같음

-t : groff(troff)를 사용하여 프린트를 위한 형식으로 출력

 

(3) ls 명령어사용법

① ls [옵션] [파일명]

-a : dot(.)으로 시작하는 파일을 포함한 모든 파일 출력

-c : 변경 시간 순서로 표시

-C : 다중 column으로 표시

-d : 디렉토리 이름만 표시

-F : 이름 끝에 파일 형식 표시

-l : long format으로 표시 (파일의 소유권자, 소유자, 속한 그룹, 생성/수정 일자등)

-r : 역순으로 표시

-1 : 라인당 한 파일씩 출력

-t : 수정 시간을 기준으로

-s : KB 단위로 파일의 크기를 표시

 

(4) 파일내용출력하거나텍스트파일생성하는명령어

① cat

cat [옵션] 파일

 

리다이렉션

> (n)n은 파일이나 하드웨어 장치로 여기에 명령의 결과 출력

(n) <n이라는 파일이나 하드웨어 장치 안으로부터 명령의 입력받기

>> (n)출력방향이 파일일 때 출력된 결과 내용이 파일의 뒷부분에 추가됨

cat n name | more : 행 번호를 추가하여 한 화면씩 끊어 출력

cat A > B : A에서 출력된 내용을 B로 전달

cat A >> B : A에서 출력된 내용을 B에 추가

cat A < B: B를 A의 인자로 입력받아 전달

cat A << B: 입력의 끝을 지정

파이프: 두개 이상의 명령을 조합하여 사용할 경우

기호를 중심으로 왼쪽 명령의 결과가 오른쪽 명령어 입력 값이 된다.

cat n name | more : 행 번호를 추가하여 한 화면씩 끊어 출력

cat /etc/lilo.conf | grep linux : linux 문자가 포함된 줄만 출력

cat /etc/lilo.conf | grep v linux : linux 문자가 포함되지 않은 줄만 출력

 

(5) 파일생성및복사·삭제관련명령어

① touch 새로운 파일 생성. 액세스 시간/갱신 시간 수정

touch new_file

touch 01010836 file_name : 액세스 시간을 1월 1일 8시 36분으로 변경

 

② mkdir 디렉토리 생성

mkdir directory_name

-p : 경로에 따라 상위 디렉토리까지 생성

 

③ cp 하나 또는 그 이상의 파일이나 디렉토리 복사

cp [옵션 ] source destination

-a : 소스파일의 구성과 속성도 함께 복사

-d : 심볼릭 링크 파일을 그대로 복사

-f : 강제로 복사

-I : 존재하는 파일을 덮어쓰기 전에 물어보는 옵션

-p : 소스 파일의 소유자, 그룹, 퍼미션 등을 유지

-r : 하위 디렉토리와 파일까지 복사하는 옵션

-s : 심볼릭 링크를 만듬

-u : 목적지에 있는 파일의 타임 스템프가 같거나 새로운 경우 복사하지 않음.

-v : 복사하기 전에 그 파일 명을 보여줌

-x : 다른 파일 시스템의 서브 디렉토리는 복사하지 않음.

 

④ mv 파일 이동, 파일명 변경

mv [옵션] source destination

-f (force): 기존에 동일한 이름의 파일이 있을 경우 사용자에게 알려주지 않고 강제적으로 파일을 이동

-I (interactive): 기존 파일을 덮어쓰지를 질문한다

-b (backup): 기존 파일이 이미 있어 지워지는 것을 대비해 백업파일을 만듬

-v (verbose): 이동하기 전에 파일명을 보여줌

 

⑤ rm 파일 삭제

rm [옵션] file_name

-f (force): 사용자에게 확인하는 메시지 없이 지정한 파일을 모두 삭제

-i (interactive): 삭제하기 전에 사용자의 확인을 요구

-r,-R (recursive): 하위 디렉토리와 그 안의 파일까지 모두 삭제

-v (verbose): 각각의 파일을 지우는 정보를 자세히 보여줌

 

⑥ rmdir 비어있는 디렉토리를 삭제하는 명령어

rmdir [옵션] 경로

-p : 지정된 경로 모두를 삭제 (단 디렉토리가 비어있을 경우에만 가능)

 

⑦ file 특정 파일의 종류를 알고 싶을 때 사용

 

(6) 파일 내용 출력에 관한 명령어

① more 주어진 파일의 내용을 화면 단위로 출력

h

도움말

b/^B

이전 페이지

space/Z

다음 페이지

/pattern

검색

return/l

라인 스크롤

=

현재 라인 출력

d/^D

반 페이지 스크롤

!

명령어 실행

q/Q

종료

^L

화면 다시 출력

f

다음 페이지

f:(?)

파일명과 라인 출력

② less more와 비슷한 명령어로 한 페이지씩 문서로 보여줌, 문서의 앞으로도 이동이 가능함.

?: 도움말

a: 마지막 라인이 화면에 출력되고 나면 검색을 시작

c: 필요할 때 전체 화면은 다시 갱신

C: c옵션과 같지만 화면 전체를 지우고 시작

e: 두 번째로 파일의 끝에 도달하면 자동적으로 종료

i: 대소문자를 구분하여 검색

n: 행번호를 추가

q: 특정 에러가 발생하지 않으면 소리없이 동작한다.

Q: 결코 아무 소리도 내지 않는다.

s: 연속되는 공백 라인은 하나의 행으로 처리

x(숫자): 수치를 정해서 탭 간격을 조정. 기본값은 8

 

③ pg more, less 보다 좀 더 방대한 양의 파일 내용을 볼 때 유용하다

 

④ head 파일의 처음 부분을 출력

head [-행수] [파일이름]

-행수 : 출력될 행 수를 수치로 지정, default는 10

 

⑤ tail 파일의 끝부분을 출력

tail [-행수] [파일이름]

 

(7) 특정파일찾기

① find

find [경로] [옵션] 파일명

-name filename: 찾고자 하는 파일 이름 지정

-perm mod: 파일 권한이 일치되는 것 찾기

-type ?: 형태가 같은 파일 찾기

?부분에 디렉토리는 d, 파이프는 p, 심볼릭 링크는 l, 소켓은 s, 블록 파일은 b, 일반 파일은 f

-links ?: 특정 개수의 링크를 가진 파일을 찾기. ?부분에 링크의 숫자

-size n: 파일의 크기가 일치하는 것을 탐색

파일의 크기는 블록단위로 지정한 블록은 512byte로 내정되어 있지만 블록숫자 뒤에 단위로

k를 붓이면 KB크기의 블록숫자로

-user name: 파일 사용자의 id에 대해서 검색

-group name: 그룹이 소유한 파일 찾기

-atime n: n일 전에 액세스한 파일을 찾기

-mtime n: n일 전에 마지막으로 수정된 파일 찾기

-exec: 원하는 검색 조건에 맞는 파일을 찾으면 명시된 명령을 실행 명령의 끝에 \; 을 사용

find가 검색해낸 파일의 이름을 인수로 사용하고 싶다면, { } 사용

-newer: 어떤 파일보다 최근에 갱신된 모든 파일을 검색

예)

find . mtime +5 print : 5일 이상 전에 수정된 파일

find . type f atime 20 print : 20일 이하, 액세스된 파일 찾기

find . name [a-z]*.jpg : 앞 글자가 영어 소문자로 된 jpg파일 찾기

 

(8) 파일비교명령어

① cmp

유사한 두 파일을 비교하여 처음으로 틀린 문자가 나타나는 위치만을 출력 바이트 단위 파일 비교

예) cmp file_name1 file_name2

② comm.

행단위 파일 비교하는 명령어

예) comp file1 file2

파일1에만 있는 내용 | 파일2에만 있는 내용 | 공통으로 존재하는 행

③ diff

차이를 표시

표본이 되는 문서는 두 번째 파일

예) diff [옵션] file1 file2

a (append): 파일2에서 1으로 첨가되어야 할 것

c (change): 파일의 내용이 바뀌어야 하는 내용 표시

d (delete): 파일1에서 제거되어야 하는 내용 표시

 

(9) 파일정보추출하는명령어

① cut

파일에서 특정필드를 추출해서 가공해야 하는 경우 사용하는 명령어

-c (문자위치): 잘라낼 곳의 글자 위치를 지정

콤마를 사용하거나 하이픈을 사용하여 범위를 지정

-f (필드): 잘라낼 필드를 지정

-d (필드구분자): 필드를 구분하는 문자를 지정. 기본값은 탭문자

-s: 필드 구분자를 포함할 수 없다면 그 행은 하지 않는다.

 

② wc(word counter)

파일의 정보를 추출하는 명령어

파일 내의 단어 수, 라인 수 등의 정보를 제공

라인 수 | 단어 수 | 문자 수

 

 

 

 

 

 

 

(10) 파일정렬/분할명령어

① sort

주어진 필드나 문자의 위치를 기준으로 파일의 행 단위로 정렬시켜준다

예) sort [옵션] 파일명

-d: 알파벳 순으로 정렬

-f: 대소문자 구분하지 않음

-c?: 숫자 순으로 정렬

-o file: 결과를 파일로 출력

-r: 내림차순으로 정렬

-c?: 이미 정렬되어 있다면 새로 정렬하지 않음

② split

하나의 파일을 여러 개의 작은 파일로 분리

옵션없이 이용하면 기본 설정으로 1000행 단위로 파일을 분리

분리된 파일의 이름은 xaa, xab, xac 등으로 나타남

예) split [옵션] 파일이름

-b size: 파일을 byte단위로 분리

-l line: 파일을 주어진 line 수 단위로 분리

-C size: 파일을 한 줄에 최대 size 바이트 만큼씩 분리

 

(11) 특정파일내용검색명령어

① grep

특정 단어, 문자열, 문장을 포함하는 파일 탐색

예) grep [옵션] pattern files

-c: 파일의 내용 대신 일치하는 줄 수를 출력

-e: pattern 에서 찾을 문자열 명시

-i: 대소문자 구분하지 않음

-l: pattern 을 포함하는 파일의 이름만 출력

-n: 줄 번호와 함께 출력

-r: 서브 디렉토리의 파일까지 모두 출력

-w: pattern 이 전체 단어와 일치하는 줄만 출력

-x: pattern 이 전체 줄과 일치하는 줄만 출력

예) pattern의 형식

[abc]: a, b or c

[0-9]: 0, 1, or 9

[^1-3]: 1, 2, 3을 제외한 모든 문자

^pattern: 패턴이 줄의 처음에 있을 때에만 일치

pattern $: 패턴이 줄의 마지막이 있을 때에만 일치

r<pattern: 단어가 패턴으로 시작할 때에만 일치

patternr>: 단어가 패턴으로 끝날 때에만 일치

 

(12) 날짜와달력명령어

예) date : 시스템의 현재 날짜와 시간을 보여줌

cal : 해당 달의 달력을 출력

 

 

 

(13) 리다이렉션명령어 / 파이프명령어

예) 명령어> file: 명령의 출력을 file에 보냄

명령어< file: file에서 명령에 입력

명령어>> file: 명령의 출력을 file에 덧붙임

명령어1 | 명령어2: 명령어 1을 실행하고 출력 결과를 명령어 2로 보냄

 

(14) 특정디렉토리용량확인

① du (disk usage)

예) du [옵션] 디렉토리

-b: 공백 라인을 제외한 모든 라인에 행 보호 붙임

-n: 모든 라인에 행번호 붙임

-E: 각 라인 끝에 $ 표시

-k: 현 위치, 그 이하의 모든 디렉토리를 KB 크기로 나열

-s: 총량에만 관심이 있을 경우에 사용

 

(15) 하드디스크의용량확인

① df (disk free)

예) df [옵션]

-a: default로 생략된 0블록 크기의 파일 시스템으로 보여줌

-i: 파일 크기를 inode로 디스크 정보

-k: KB로 표시

-T: 파일 시스템 종류

-t: fstype 값을 가진 파일 시스템에 대한 정보

-h: 쉬운 용량 표시 단위로 표시

 

(16) 디스크용량할당

예) quota : 디스크용량 제한

repquota : 디스크 사용 상태 검색

quotacheck : 디스크 사용 상태 스캔

quotaon/quotaoff : quota ON/OFF

 

(17) 파일압축및 Archive 관련명령어

① tar (tap archiver)

파일과 디렉토리를 하나의 파일로 묶어주는 아카이브를 생성하는 유틸리티

압축보다는 파일이나 디렉토리를 묶는 용도로 사용

여러 디렉토리를 묶을 수 있고 파일의 소유권과 액세스 퍼미션 등도 그대로 보존

NFS로 마운트된 원격 파일 시스템을 백업하는데 유용하지만 여러 개의 디스크에 연속해서 기록할 수는 없음

예) tar [옵션] 아카이브명.tar 디렉토리 및 파일

c (create): 아카이브 생성

x (extract): 아카이브로부터 파일을 추출

r (replace): 아카이브된 파일에 새로 추가

h: 심볼릭 링크의 모든 것을 아카이브

t (table): 목차 테이블 보기

v (verbose): 상세한 정보 출력

u (update): 최근의 파일을 아카이브

z: gzip으로 압축하여 백업

tar cvf test.tar test

tar xvf test.tar

tar rvf test.tar /usr/doc

tar uvf test.tar /usr/doc

tar cvfz test.tar.gz /usr/doc

② gzip

예) 파일 압축

gzip [옵션] 아카이브된 파일명

1v: 가장 빠르게 압축

6v: 기본값

9v: 최고의 압축율로 압축

gzip 9v test.tar

압축 해제

gzip d 아카이브된 파일.tar

gunzip 아카이브된 파일.tar

 

그 외에 compress, uncompress, bzip2등이 있음.

 

(18) 리모트 디렉토리의 마운트 와 언마운트

① mount

mount special_device mount_point

플로피 디스크 : mount /dev/fd0 /mnt/floppy

cd-rom : mount t iso9660 /dev/cdrom /mnt/cdrom

멀티 OS로 윈도즈가 /dev/hda1에 셋팅되어 있는 경우

mkdir /mnt/win

mount (-t vfat) /dev/hda1 /mnt/win

 

읽기 전용으로 마운트 : mount r /dev/cdrom /mnt/cdrom

mount r ext2 /dev/hdc1 /usr/local/apache

② umount

umount special_device (or mount_point)

umount /mnt/floppy(, cdrom, win)

 

(19) Mtools

리눅스에서 DOS로 통하는 유틸리티 모음

모든 명령어 앞에 m자를 붙인 뒤 dos 명령어와 같이 쓰면 된다.

Mcd, mcopy, mdel, mdir, mformat, mmd, mrd

728x90

'프로그래밍(Programming)' 카테고리의 다른 글

[오라클 ADD_MONTHS]  (0) 2015.03.24
[JAVA] request Header 정보 확인  (0) 2015.03.18
JAVA MATH 클래스 주요 메소드  (0) 2011.01.05
JAVA 형변환 정리  (0) 2011.01.05
자바 SimpleDateFormat 사용 예제  (0) 2011.01.05