(1) ls [옵션]-list라고 하며, 파일 및 디렉토리 목록을 본다.
-옵션: -a, -all => 디렉토리 내의 모든 파일 출력
-l, --format=long => 파일정보(파일종류, 퍼미션, 사이즈)를 표시
-s, --size => 1k 블록 단위로 파일 크기 표시
-F => 파일 이름뒤에 파일형식을 표시(/은 폴더, *은 파일)
-t, --sort=time => 최근 파일부터 출력
-c, --time => 파일 최근 변경 시간에 따라 정렬해서 출력
-color => 파일 종류에 따라 색상 표시
-R(recursive) => 현재 작업 디렉토리와 하위 디렉토리 모두 출력
--help => 도움말
Tip. Xdefault: X-term의 환경설정
bash_history: 입력한 명령어 내용이 저장되는 파일이다. 방향키 위를 누르면 프롬프트에서 전에
입력한 명령어가 나타난다.
bash_profile: 도스의 autoexec.bat 파일과 유사한 기능을 가진 파일이다.
bashrc: 알리아스(alias) 정보를 가지고 있는 파일이다. 알리아스로 리눅스 기본 명령어를
도스 명령어로 바꾸어 쓸수 있다. (ex. alias dir='ls -aINF --color =auto' 이렇게 사용할수 있다.)
ls *은 모든 것을 의미하며, ?는 하나의 문자에 대해서 상질할 때 사용한다.
ls * 하면 바로 밑 하위디렉토리까지 나온다.
(2) 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 [그룹이름] 파일명 - 파일의 그룹을 다른 그룹으로 변경한다.
(3) cp [옵션] 원본 파일(디렉토리) 대상 파일(디렉토리) - 파일이나 폴더를 복사한다.
- 옵션: -a => 원본 파일의 속성, 링크 정보들을 유지하면서 복사
-b => 복사할 대상을 덮어쓰거나 지울 때를 대비하여 백업 파일 만듦
-d => 심볼릭 파일 자체를 심볼릭 정보와 함께 복사할 때
-f => 복사할 파일이 존재할 때 삭제하고 복사
-i => 복사할 파일이 존재할 경우 복사할것인지 물음
-l => 디렉토리가 아닌 경우 복사 대신 하드 링크로 만듦
-p => 원본파일의 소유, 그룹, 권한, 허용 시간을 보존한 채로 복사
-r => 서브 디렉토리 내에 있는 모든 파일까지 통째로 복사
-s => 디렉토리가 아닌 경우 복사 대신 심볼릭 링크로 만듦
-u => 대상 파일보다 원본 파일이 새로운 것일 때 복사
* 하위폴더까지 모두 복사하면서 덮어쓰기
=> cp -rf 원본경로 대상경로
* 원래 -f 옵션을 주면 무조건 덮어쓰기를 해야 하는데, 이것이 되지 않을 경우가 있다.
보통 cp의 alias로 'cp -i'를 주었을 경우인데, 이것을 해제하기 위해서는 다음과 같이
cp 명령 앞에 \를 붙여주면 된다.
=> \cp -rf 원본경로 대상경로
(4) rm [옵션] 파일명 - 불필요한 파일을 삭제한다.
- 옵션: -d => directory 삭제 (단, 그 디렉토리가 비어있을경우에만 사용가능)
-f => 삭제할 것인가라는 메시지 없이 그대로 강제 삭제
-i => 삭제 시 일일이 삭제할 것인지 물음
-r => 하위 디렉토리를 포함한 파일들을 모두 삭제
-v => 삭제되기 전의 파일들을 보여줌
(5) cd 디렉토리명 - 현재 디렉토리에서 다른 디렉토리로 경로를 변경하고자 할 때 쓰인다.
Tip. 점(.) 한 개는 현재 디렉토리를 의미, 점(..) 두 개는 현재디렉토리에서 상위디렉토리를 의미한다.
~는 자신의 계정 디렉토리 위치를 의미한다. $HOME도 ~와 똑같은 말이다.
(6) mkdir [옵션] 생성디렉토리명 - 새로운 디렉토리를 만든다.
- 옵션: -p => 지정한 하위 디렉토리까지 한번에 생성
(ex. mkdir -p /babo/sarang 이럼 두 개의 디렉토리가 만들어진 것이다.)
(7) rmdir [옵션] 디렉토리명 -디렉토리를 삭제한다.
- 옵션: -p => 지정한 하위 디렉토리까지 한번에 삭제(mkdir -p 랑 똑같은 효과이다.)
(8) mv [옵션] 원본 파일(디렉토리) 대상 파일(디렉토리)
- 파일을 다른디렉토리로 옮기거나 이름을 바꿀 때 사용
- 옵션: -b => 파일이 지워지기 전에 백업 파일을 만듦
-f => 대상 파일이 있더라도 파일을 강제로 삭제
-i => 대상 파일이 있는 경우 덮어쓸 것인가 물어봄
-u => 대상 파일보다 원본 파일이 최신 것일 때 업그레이드
-v => 파일 옮기기 전의 과정을 보여 줌
(9) df [옵션] - 하드 디스크의 용량이 얼마나 남아있는지 확인하는 명령어
- 옵션: -a => 디폴트로 생략된 0 블록 크기의 파일 시스템도 보여줌
-i => 파일 크기를 블록 대신 inode로 디스크 정보를 보여줌
-k => 파일 크기를 킬로바이트(kb)로 보여줌
-T => 파일 시스템의 종류와 함께 디스크 정보를 보여줌
-t => fstype 값을 가진 파일 시스템에 대한 디스크 정보
-h => 쉬운 용량 표시 단위로 표기(예 : 1G 250M 1K)
ex) df -h
ex) df -h .
(10) du [옵션] - 해당 디렉토리의 사용한 디스크 용량에 대한 정보를 본다.
- 옵션: -a => 해당 경로에 대한 사용한 디스크 용량 표시
-k => 용량 표시 단위를 킬로바이트(kb)로 표시
-m => 용량 표시를 메가 바이트(mb)로 표시
-h => 쉬운 용량 표시 단위로 표기(예 : 1G 250M 1K)
ex) du -sh 폴더명
ex) du -sh *
(11) cat [옵션] 파일명- 텍스트 파일을 만들거나 파일내용을 출력해준다.
- 옵션: -e => -vE 옵션과 똑같은 효과
-b => 공백 라인을 제외한 모든 라인에 행 번호를 붙임.
-n => 출력하는 파일 내용들에 대해서 번호 매김
-t => -vT 옵션과 똑같은 효과
-v => LFD와 TAB을 제외한 컨트롤 문자 출력
-E => 각 라인 끝에 $ 표시
-T => ‘^I' 로 TAB 문자를 표시
Tip. cat > test : test의 기존 내용을 지우고 새로운 내용을 추가한다.
cat >> test: test에 기존 내용밑에 내용을 추가한다.
(12) 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 루트디렉토리에서 파일명에 해당하는것들을 보여달라는 말이다.
ex) 하위 디렉토리 파일 갯수 조회 : find . -type f | wc -l
=> alias로 만들기 : alias cnt='_(){ find $1 -type f | wc -l; }; _'
ex) 여러 개의 파일에서 특정 문자열 검색 : find . -name "debug.log" | xargs grep -n "NullPointer" | wc -l
(13) ps [-] [옵션] - 작동중인 프로세스 상태 체크하기
-옵션: -l => 긴 포맷으로 출력
-u => 실행한 유저와 실행 시간을 표시
-j => “job"형식으로 표시
-s => 시그널 포맷으로 표시
-m => 메모리 정보 표시
-a => 다른 유저의 프로세스 현황 표시
-x => 터미널 제어 없이 프로세스 현황 표시
Tip. 주로 ps -ax 이런식으로 많이 쓴다.
(14) 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 되어 있는 장치들의 정보가 들어있는 파일
(15) mkfs [-t 형태] [fs-옵션] 장치명 [블록] - 리눅스 파일 시스템 만들기
//이부분은 잘 모르겠음
fsck.ext3 [-t 파일시스템유형] 파일시스템 - 리눅스 파일 시스템을 점검하고 복원시킴
(리눅스는 자동으로 커널 부팅시에 파일시스템을 자동으로 체크하고, 파일시스템이 손상이 입었을 때 점검하고 복구한다. 만약 커널 부팅과정에서 자동적으로 파티션 결함을 복구하지 못한 경우엔 부팅이 완료된 후에 수동으로 fsck.ext3 명령으로 복구해야 된다. ex. fsck.ext3 /dev/hda)
//
(16) who - 시스템 사용자를 확인한다.
-옵션: -i => idle time과 함게 사용자 출력함
-m => who 명령을 실행한 사용자 표시(who am I랑 똑같은 명령이다.)
-q => 사용자 이름과 사용자 수 출력
-w, -T => 각 사용자의 메시지 설정 상태 출력
(17) kill [옵션] 프로세스ID - 실행중인 프로세스를 재활성화하거나 완전히 죽이고자 할 때 쓴다
-옵션: -1, -HUP => 프로세스를 재활성화
-9 => 프로세스를 강제로 죽임
(18) man [리눅스명령어] - 리눅스 명령어 매뉴얼 보기
(19) su [계정명] - 일시 로그인
su ~ [계정명] - (권한까지 포함한) 로그인
(20) grep - 파일내에서 특정항목을 찾는다.
(21) more [파일명] - 한화면이 넘는 파일내용을 화면 단위로 보여준다.
| - 파이프 앞의 실행 결과가 파이프 뒤의 입력으로 작용
ex) ls -al /dev | more => dev폴더의 리스트를 페이지 단위로 보여준다.
(22) echo <문자열> - 한줄의 문자열 출력하기
ex) echo hello! => hello! 라고 출력된다.
(23) tar
- 확장명이 gz(타블소스)로 되어있다면, tar xvzf 파일명 이렇게 풀면된다.
압축은 tar cvzf 파일명 이렇게 하면된다.
- 확장명이 bz2로 되어있다면, tar xvjf 파일명 이렇게 풀면 된다.
압축은 tar cvjf 파일명 이렇게 하면 된다.
(24) source [파일명] - 환경설정 파일 (ex:.bash_profile) 등을 수정한 후 적용하기
ex) source .bash_profile
(26) 시스템 종료, 재부팅 명령
- 시스템 종료 : halt, shutdown -h now, init 0
- 재부팅 : reboot, shutdown -r now, init 6
* init 명령에 사용하는 runlevel
0 : 시스템 중지
1 : 단일 사용자,single mode,network 사용불가
2 : 사용되지 않음
3 : 다중사용자,multiuser,기본적인 실행레벨
4 : 사용되지 않음
5 : X 윈도우 시스템
6 : 시스템 재시작,reboot 기능
(27) less - 페이징이 있는 cat 이라고 보면 된다.
보통 'less -FX 파일명' 형식으로 사용한다.
line number를 보고 싶으면 N 옵션을 추가한다.
출처: http://blog.naver.com/puhahaha02?Redirect=Log&logNo=150030159777
[출처] 리눅스 기본 명령어들|작성자 sncherry