리눅스 기본명령어들 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

리눅스 기본명령어들 정보

기타 리눅스 기본명령어들

본문

① ls [옵션]-list라고 하며, 파일 및 디렉토리 목록을 본다.

-옵션: -a, -all => 디렉토리 내의 모든 파일 출력

-l, --format=long => 파일정보(파일종류, 퍼미션, 사이즈)를 표시

-s, --size => 1k 블록 단위로 파일 크기 표시

-F => 파일 이름뒤에 파일형식을 표시(/은 폴더, *은 파일)

-t, --sort=time => 최근 파일부터 출력

-c, --time => 파일 최근 변경 시간에 따라 정렬해서 출력

-color => 파일 종류에 따라 색상 표시

-R(recursive) => 현재 작업 디렉토리와 하위 디렉토리 모두 출력

--help => 도움말

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

linux.jpg

Tip. Xdefault: X-term의 환경설정

bash_history: 입력한 명령어 내용이 저장되는 파일이다. 방향키 위를 누르면 프롬프트에서 전에

입력한 명령어가 나타난다.

bash_profile: 도스의 autoexec.bat 파일과 유사한 기능을 가진 파일이다.

bashrc: 알리아스(alias) 정보를 가지고 있는 파일이다. 알리아스로 리눅스 기본 명령어를

도스 명령어로 바꾸어 쓸수 있다. (ex. alias dir='ls -aINF --color =auto' 이렇게 사용할수 있다.)

ls *은 모든 것을 의미하며, ?는 하나의 문자에 대해서 상질할 때 사용한다.

ls * 하면 바로 밑 하위디렉토리까지 나온다.

② chmod [augo][+-=][rwx] 파일명 - 사용자에 대한 파일의 접근을 제한한다.

- [augo]: a => all, u => 소유자(user), g => 그룹(group), o => 그밖(other)

[+-=]: + => 추가, - => 삭제, = => 지정

[rxw]: r => read, w => write, e => execute

- 또는 8진수모드로 할수 있다. 421로 표현된다는 것이다.

예를 들면 chmod 755 파일명 => 소유자 권한(rwx), 그룹권한(rx), 그밖(rx) 이렇게 되는 것이다.

Tip. umask: 초기 권한에서 umask로 설정한 값을 빼줌으로써, 자신의 환경에 새로운 초기권한을 적용하게 된다.

chown [소유자] 파일명 - 파일의 소유자를 다른 사용자로 변경한다.(root권한만 사용할수 있는 명령어이다.)

chgrp [그룹이름] 파일명 - 파일의 그룹을 다른 그룹으로 변경한다.

 

③ cp [옵션] 원본 파일(디렉토리) 대상 파일(디렉토리) - 파일이나 폴더를 복사한다.

- 옵션: -a => 원본 파일의 속성, 링크 정보들을 유지하면서 복사

-b => 복사할 대상을 덮어쓰거나 지울 때를 대비하여 백업 파일 만듦

-d => 심볼릭 파일 자체를 심볼릭 정보와 함께 복사할 때

-f => 복사할 파일이 존재할 때 삭제하고 복사

-i => 복사할 파일이 존재할 경우 복사할것인지 물음

-l => 디렉토리가 아닌 경우 복사 대신 하드 링크로 만듦

-p => 원본파일의 소유, 그룹, 권한, 허용 시간을 보존한 채로 복사

-r => 서브 디렉토리 내에 있는 모든 파일까지 통째로 복사

-s => 디렉토리가 아닌 경우 복사 대신 심볼릭 링크로 만듦

-u => 대상 파일보다 원본 파일이 새로운 것일 때 복사

④ rm [옵션] 파일명 - 불필요한 파일을 삭제한다.

- 옵션: -d => directory 삭제 (단, 그 디렉토리가 비어있을경우에만 사용가능)

-f => 삭제할 것인가라는 메시지 없이 그대로 강제 삭제

-i => 삭제 시 일일이 삭제할 것인지 물음

-r => 하위 디렉토리를 포함한 파일들을 모두 삭제

-v => 삭제되기 전의 파일들을 보여줌

⑤ cd 디렉토리명 - 현재 디렉토리에서 다른 디렉토리로 경로를 변경하고자 할 때 쓰인다.

Tip. 점(.) 한 개는 현재 디렉토리를 의미하고, 점(..) 두 개는 현재디렉토리에서 상위디렉토리를 의미한다.

~는 자신의 계정 디렉토리 위치를 의미한다. $HOME도 ~와 똑같은 말이다.

⑥ mkdir [옵션] 생성디렉토리명 - 새로운 디렉토리를 만든다.

- 옵션: -p => 지정한 하위 디렉토리까지 한번에 생성

(ex. mkdir -p /babo/sarang 이럼 두 개의 디렉토리가 만들어진 것이다.)

⑦ rmdir [옵션] 디렉토리명 -디렉토리를 삭제한다.

- 옵션: -p => 지정한 하위 디렉토리까지 한번에 삭제(mkdir -p 랑 똑같은 효과이다.)

⑧ mv [옵션] 원본 파일(디렉토리) 대상 파일(디렉토리) - 파일을 다른디렉토리로 옮기거나 이름을 바꿀 때 사용

- 옵션: -b => 파일이 지워지기 전에 백업 파일을 만듦

-f => 대상 파일이 있더라도 파일을 강제로 삭제

-i => 대상 파일이 있는 경우 덮어쓸 것인가 물어봄

-u => 대상 파일보다 원본 파일이 최신 것일 때 업그레이드

-v => 파일 옮기기 전의 과정을 보여 줌

⑨ df [옵션] - 하드 디스크의 용량이 얼마나 남아있는지 확인하는 명령어

- 옵션: -a => 디폴트로 생략된 0 블록 크기의 파일 시스템도 보여줌

-i => 파일 크기를 블록 대신 inode로 디스크 정보를 보여줌

-k => 파일 크기를 킬로바이트(kb)로 보여줌

-T => 파일 시스템의 종류와 함께 디스크 정보를 보여줌

-t => fstype 값을 가진 파일 시스템에 대한 디스크 정보

-h => 쉬운 용량 표시 단위로 표기(예 : 1G 250M 1K)

⑩ du [옵션] - 해당 디렉토리의 사용한 디스크 용량에 대한 정보를 본다.

- 옵션: -a => 해당 경로에 대한 사용한 디스크 용량 표시

-k => 용량 표시 단위를 킬로바이트(kb)로 표시

-m => 용량 표시를 메가 바이트(mb)로 표시

-h => 쉬운 용량 표시 단위로 표기(예 : 1G 250M 1K)

⑪ cat [옵션] 파일명- 텍스트 파일을 만들거나 파일내용을 출력해준다.

- 옵션: -e => -vE 옵션과 똑같은 효과

-b => 공백 라인을 제외한 모든 라인에 행 번호를 붙임.

-n => 출력하는 파일 내용들에 대해서 번호 매김

-t => -vT 옵션과 똑같은 효과

-v => LFD와 TAB을 제외한 컨트롤 문자 출력

-E => 각 라인 끝에 $ 표시

-T => ‘^I' 로 TAB 문자를 표시

Tip. cat > test : test의 기존 내용을 지우고 새로운 내용을 추가한다.

cat >> test: test에 기존 내용밑에 내용을 추가한다.

⑫ find [경로] [옵션] 파일명 -원하는 파일을 찾는다.

- 옵션: -amin n => n분전에 마지막으로 액세스된 파일

-atime n => n*24시간 전에 마지막으로 액세스된 파일

-cmin n => n분 전에 마지막으로 변경된 파일

-ctime n => n*24시간 전에 마지막으로 변경된 파일

-empty => 비어 있는 파일이나 디렉토리

-name <pattern> => 패턴으로 주어진 파일

-newer 파일 => “파일” 보다 최신의 파일

Tip. 내가 자주 사용하는 명령어 find .(or /) -name 파일명 -print

현재디렉토리 or 루트디렉토리에서 파일명에 해당하는것들을 보여달라는 말이다.

⑬ ps [-] [옵션] - 작동중인 프로세스 상태 체크하기

-옵션: -l => 긴 포맷으로 출력

-u => 실행한 유저와 실행 시간을 표시

-j => “job"형식으로 표시

-s => 시그널 포맷으로 표시

-m => 메모리 정보 표시

-a => 다른 유저의 프로세스 현황 표시

-x => 터미널 제어 없이 프로세스 현황 표시

Tip. 주로 ps -ax 이런식으로 많이 쓴다.

⑭ mount [-fnrvw] [-t fs 유형] [-a 옵션] 장치디렉토리

-옵션: -v => 자세한 출력 모드

-f => 실제로 마운트 하지 않고 마운트 가능한지 점검

-n => /etc/mtab 파일에 저장없이 마운트 하기

-r => 읽기만 가능하도록 마운트

-w => 읽기/쓰기 모두 가능하도록 마운트

-t vfstype => -t 뒤에 파일 시스템(cdrom:iso9660, floopy:msdos,ext2 등) 유형을 지정함.

Tip. 시스템이 부팅될 때 자동적으로 mount 되는 장치( HDD, FDD, 기타)

/etc/fstab => 시스템이 부팅될 때 자동적으로 mount될 장비 리스트 파일

/etc/mtab => 시스템에 mount 되어 있는 장치들의 정보가 들어있는 파일

⑮ mkfs [-t 형태] [fs-옵션] 장치명 [블록] - 리눅스 파일 시스템 만들기

fsck.ext3 [-t 파일시스템유형] 파일시스템 - 리눅스 파일 시스템을 점검하고 복원시킴

(리눅스는 자동으로 커널 부팅시에 파일시스템을 자동으로 체크하고, 파일시스템이 손상이 입었을 때 점검하고 복구한다. 만약 커널 부팅과정에서 자동적으로

파티션 결함을 복구하지 못한 경우엔 부팅이 완료된 후에 수동으로 fsck.ext3 명령으로 복구해야 된다. ex. fsck.ext3 /dev/hda)

who - 시스템 사용자를 확인한다.

-옵션: -i => idle time과 함게 사용자 출력함

-m => who 명령을 실행한 사용자 표시(who am I랑 똑같은 명령이다.)

-q => 사용자 이름과 사용자 수 출력

-w, -T => 각 사용자의 메시지 설정 상태 출력

kill [옵션] 프로세스ID - 실행중인 프로세스를 재활성화하거나 완전히 죽이고자 할 때 쓰인다.

-옵션: -1, -HUP => 프로세스를 재활성화

-9 => 프로세스를 강제로 죽임

man [리눅스명령어] - 리눅스 명령어 매뉴얼 보기

su [계정명] - 일시 로그인

grep - 파일내에서 특정항목을 찾는다.

more [파일명] - 한화면이 넘는 파일내용을 화면 단위로 보여준다.

| - 파이프 앞의 실행 결과가 파이프 뒤의 입력으로 작용

ex) ls -al /dev | more => dev폴더의 리스트를 페이지 단위로 보여준다.

echo <문자열> - 한줄의 문자열 출력하기

ex) echo hello! => hello! 라고 출력된다.

tar

- 확장명이 gz(타블소스)로 되어있다면, tar xvzf 파일명 이렇게 풀면된다.

압축은 tar cvzf 파일명 이렇게 하면된다.

- 확장명이 bz2로 되어있다면, tar xvjf 파일명 이렇게 풀면 된다.

압축은 tar cvjf 파일명 이렇게 하면 된다.

rpm(redhat package manager)을 이용해 설치

RPM은 쉽게 원하는 프로그램을 설치한다

RPM파일의 명칭= 패키지이름-버전-릴리즈-아키텍처.rpm(ex: perl-5.8.5-10.i386.rpm)

패키지이름: 해당프로그램의 이름, 버전: 패키지 개발에 따른 업데이트시마다 증가되는 번호,

릴리즈: 해당제품을 패키징하는 횟수(패치및 패키징등을 수행할때마다 번호가 증가)

아키텍처: 여러 종류의 아키텍처제품을 구분하는 명칭

신규패키지를 설치할 때 : (rpm -ivh 프로그램이름.rpm)

업그레이드 : (rpm -Uvh 프로그램이름.rpm)

v옵션과 h옵션을 같이 사용하여, 설치되는 모습을 자세히 보여주고, 설치되는 정도를 한눈에 파악할수있다.

제거 : (rpm -e 패키지명)

프로그램의 정보보기: (rpm -qpl RPM프로그램이름)

설치된 경로 확인하기: (rpm -ql RPM프로그램이름)

RPM 패키지 검색하기: (rpm -qa | grep 패키지명)

[이 게시물은 관리자님에 의해 2011-10-31 17:32:05 Linux에서 이동 됨]
추천
1

댓글 0개

전체 5,352
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT