메뉴 건너뛰기

Dev tips

Linux Server [linux] 리눅스 기본 명령어들

taknim 2015.12.04 19:32 조회 수 : 1248 추천:238

① 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 패키지명)

 

 

[출처]

http://sir.co.kr/pg_tip/5747?page=96