Contents

System/OS
2003.04.23 10:25

[linux] 기본 명령어 (내공쌓기)

조회 수 14333 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
1. 일반적인 명령어

생성, 복사, 삭제, 이동:
$ mkdir -p                        # 여러단계의 디렉토리 만들기
$ mkdir -m 755                        # 디렉토리 만들면서 퍼미션 주기
$ cp  -a                        # 하위디렉토리+링크된것+속성 까지 포함하여 복사(-dpR와 같음)  
$ rm -rf                        # 하위 디렉토리 까지 질문없이 지운다
$ ln  -s  'filename'  'linkfilename'        # 링크 만들기 


리스트(히스토리 사용법):                        
$ history  10                        # 이전 명령어 10개 보기
$ !639                                # 이전 명령어에서 639번째 명령어 실행
$ !ifco                                # 이전 명령어에서 ifco로 시작하는 명령어 실행
$ !!                                # 바로 직전 명령어 실행
$ cd !$                                # 이전 명령의 뒷부분 !$


편집:
$ ctrl-a        # 처음으로 이동
$ ctrl-e        # 끝으로 이동                
$ ctrl-w        # 왼쪽편 한단어 지우기
$ ctrl-u        # 왼쪽편 모두 지우기
$ ctrl-k        # 오른쪽편 모두 지우기
$ ctrl-l        # 화면 전체 지우기


보기.찾기:
$ ls -F --show-control-chars --color=auto        # 한글 파일명을 볼수 있게 해준다. 
                                                # /etc/bashrc파일에 환경설정 alias ls='ls -F --show-control-chars --color=auto'
$ which  'execfilename'                                # 실행 파일 찾기
$ find . -name 'filename' -print | more                # 서브디렉토리에서 특정 파일 찾기
$ find . -type f | xargs grep 'word'                # 서브 디렉토리의 모든 파일에서 특정 단어 찾기
$ find . -name 'word' -exec grep recursive {} ; -print        # 서브디렉토리에서 grep 하기
$ find . -depth -print | cpio -pmdvl '/home/copy'        # 파일시스템 모두 복사하기
$ grep 'word' *                                        # 현재 디렉토리의 모든 파일에서 특정 단어 찾기
$ ls -p | grep /                                # 현재 디렉토리에서 디렉토리만 찾기
                                                # alias ld='ls $LS_OPTIONS -p | grep /'
$ ls -l | grep '^d'                                # 현재 디렉토리에서 디렉토리만 찾기
$ diff file1 file2                                # 두개의 파일 비교 해서 다른 것 찾기
$ cmp -l file1 file2                                # 두개의 파일 비교 


압축:

# 하나의 파일만 압축 한다.
(압축)$ gzip test.txt                -> test.txt.gz
(풀기)$ gunzip test.txt.gz        -> test.txt

# 여러개 파일을 묶기만 한다.(파일/디렉토리 모두)
(압축)$ tar cvf test.tar Test/        -> test.tar
(풀기)& tar xvf test.tar

# 여러개 파일을 묶고 압축까지 한다.(파일/디렉토리 모두)
(압축)$ tar cvzf test.tar.gz Test/        -> test.tar.gz
(풀기)$ tar xvzf test.tar.gz
$ compress  'filename'                        # 파일 압축 filename.Z
$ uncompree  *.Z                        # 소스 파일을 지우면서 압축해제                        
$ jar xvf *.jar                                # 자바 압축파일 풀기

# bzip2 다운로드:http://www.digistar.com/bzip2/index.html 
# 문서:http://kldp.org/HOWTO/mini/html/Bzip2/Bzip2.html
$ bzcat *.tar.bz2 | tar xvf - 
$ bzip2 -dc *.tar.bz2 | tar xvf - 
$ tar xvjf *.tar.bz2        # .bz2 압축파일 풀기.
$ tar xvfI *.tar.bz2


권한변경:
$ chown -R root:root 'dirname'                        # 서브 디렉토리의 소유자 변경
$ chmod  u,g,o,a+-r,w,x  'filename'                # user, group, owner, all, +add, -del, read, write, exec
$ chmod 705 `find . -name ".cgi" -print`        # 하위디렉까지 찾아서 특정파일의 chmod 바꾸기
$ find . -name *.cgi -exec chmod 705 {} ;        # 하위디렉까지 찾아서 특정파일의 chmod 바꾸기



2. 네트워크 명령어  

$ lsmod                                                # 로드 된 모듈 보기
$ cat  /proc/interrupts, ioports, meminfo        # IRQ 밑 포트 보기
$ ifdown eth0, eth1; ifup eth0, eth1                # 랜카드 살리고 죽이고
$ ifconfig eth0, eth1        # 랜카드 정보 보기
$ route                        # 라우트 정보 보기
$ netstat -nr                # 네트워크 정보 보기
$ dmesg                        # 네트워크 정보 보기(종합)
$ nslookup www.yahoo.com        # 네임 서버 추적
$ traceroute  www.yahoo.com        # 인터넷 경로 보기
$ smbclient \639pub        # 특정 컴퓨터와 삼바 공유 하기
                                # smbclient  '639pub'
$ smbclient  -L  192.168.1.1        # 특정 주소의 공유 된 것 보기



3. 시스템 명령어

파워:
$ reboot                # 재부팅
$ shutdown -h,r now        # -h halt 종료, -r reboot 재부팅
$ ctrl+alt+del                # 종료

하드웨어 정보:
$ df                        # 하드디스크 상태 보기
$ free                        # 메모리와 스왑 크기 보기
$ hwdiag                # 부착된 하드웨어 장치를 보여주는 유틸리티
$ du 'dirname'                # 특정 디렉토리 크기 보기
$ size 'filename'        # 특정 파일 크기 보기

프로세스:
$ top                        # 종합 모니터링
$ ps, ps -e, ps -ef        # 프로세스 보기
$ ps -e a                # 프로세스 자세히 보기
$ kill  -9  proccessid        # 프로세스 확실히 죽이기
$ killall -HUP(-1) process        # 관계된 프로세스 다 죽이기
                                # 해당데몬의 모든 프로세스 한번에 kill 시키기. 10-15는 해당 프로세스 ID 필드 
$ ps -ef|grep 'proccess name' | cut -c '10-15' | xargs kill -9        

마운트(하드디스크 연결):
$ fdisk -l                # 파티션 정보 보기
$ mount                        # 현재 마운트 된 것들을 보여준다
$ umount /mnt/cdrom        # 마운트 해제
$ mount  /dev/hdb5  /mnt/disk                        # 특정 파티션의 마운트
$ mount  -t  msdos  /dev/hdb5 /mnt/disk                # 도스 파티션 마운트
$ mount  -t  msdos  /dev/fd0  /mnt/floppy        # 플로피 마운트
$ mount  -t  iso9660  /dev/cdrom  /mnt/cdrom        # 시디롬 마운트
$ mount  -t  vfat  /dev/hda1  /mnt/win98        # fat32 체제 마운트
$ mount  -t  ntfs  -o  ro  /dev/nt  /mnt/nt        # NT 체제 마운트

시간 맞추기:
$ vi /etc/rc.d/rc.local
rdate -s time.kriss.re.kr        # 한국표준원 타임서버와 동기화 된다.
$ date 070317302000                # date 월일시분년



4. 기타

$ bas[tab]        # 몇글자 치고 탭키를 누르면 그에 맞는 단어를 자동으로 찾아준다
$ bas*                # 몇글자 치고 스타키를 누르면 실제 있는 그에 맞는 파일과 같다
$ cd -                # 바로 이전에 작업 했던 디렉토리로 바로 이동한다
$ env                                # path 환경 설정 보기
$ time -v sh -c 'java hello'        # 특정 프로그램이 시작되고 끝나는데 걸리는 시간 보기
$ import -window root root.jpg        # Xwindow screenshot 그림 덤프
$ mc                                # 도스 커맨더와 같은 모양의 파일 관리기
----------------------------------------------------------------------------

*. ls 명령
-a : 도트파일(hidden file)을 포함한 모든 파일을 보여준다. 
-C : 다중 칼럼으로 결과를 보여준다. 
-F : 파일의 종류를 보여준다. / : 디렉토리, * : 실행파일, @ : 심볼릭 링크 
-l : long의 약자로 그 파일의 모든 속성(만든 날짜. 크기 등)을 보여준다. 
-m : 컴마(,)로 파일들을 분리해서 보여준다. 
-s : 파일의 크기를 보여준다. 
-1 : 한 열(칼럼)로 파일을 보여준다. 
-d : 디렉토리 자체의 정보를 보여준다. 
-t : 파일의 정렬을 최근에 사용한 순서대로 보여준다. 
-x : 파일을 가로로 정렬해서 보여준다. 기존의 정렬은 위에서 아래로 다시 왼쪽에서 오른쪽
     으로 정렬되었지만, 이 플래그를 쓰면 왼쪽에서 오른쪽으로 다시 위에서 아래로 정렬하여 보여준다.

*. chmod 명령
허가                 2진수         10진수 
rwx                 111                 7 
rw-                 110                 6 
r-x                 101                 5 
r--                 100                 4 
-wx                 011                 3 
-w-                 010                 2 
--x                 001                 1 
---                 000                 0

drwxrwxrwx 1 hmekjw student 24 3월 17일 11:34 bbs 
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ 
① 파일의 종류와 허가권을 표시 
② 링크수 
③ 파일의 소유권. 즉, 파일을 만든 사용자 
④ 사용자가 속한 그룹 
⑤ 파일의 크기 
⑥ 파일을 마지막으로 저장한 날자 
⑦ 파일을 마지막으로 저장한 시간 
⑧ 파일 이름 

허가 상태(허가 스트링) d rwx rwx rwx 
① ② ③ ④ 
① 파일 구분 : 파일의 종류가 무엇인가를 나타낸다. 
② 소유자 : 파일의 소유자(만든 이)에 대한 허가권 
③ 그룹 : 소유자가 속한 그룹에 대한 허가권 
④ 그 밖의 사람들 : 소유자와 그룹 이외의 사용자에 대한 허가권

파일의 종류 
- : 일반적인 파일 
d : 디렉토리 
l : 심볼릭 링크 
b : 블록형 특수 파일 
c : 문자형 특수 파일 

소유자의 허가 상태 
r(read) : 읽기 허가 
w(write) : 쓰기 허가 
x(execute) : 실행하기 허가 
- : 허가를 불허한다

예제)
-rwxr-xr-x 
소유자는 읽기, 쓰기, 실행의 기능이 모두 주어져 있으며 
그룹과 다른 이들은 읽기와 실행의 기능만이 주어져 있다. 그러므로 소유자를 제외한 모든 이들은 
이 파일을 읽을 수 있고 실행할 수도 있지만 쓰거나 지울 수는 없다는 것이다. 

-r-x------ 
소유자는 읽기, 실행 허가가 주어져 있으며, 다른 이들에게는 어떠한 허가도 주어져 있지 않다. 
즉, 다른 사용자는 그 파일이 어떠한 파일인가 내용을 볼 수조차 없는 것이다. 
이렇게 위와 같은 허가 상태를 준다면 그 파일에 대한 보안은 좋을 것이다.


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
81 Develop 논문에 들어갈 툴바 테스트 해볼 것.. secret hooni 2013.04.23 8013
80 Develop 다양한 방법으로 아주 큰 수(Big Number) 계산.. ㅋㅋ hooni 2013.04.23 8377
79 Develop 다운 받아서 테스트 해볼것.. hooni 2013.04.23 9141
78 Develop 도메인 관련 솔루션 분석할 거.. ㅋㄷ file hooni 2013.04.23 6981
77 Algorithm 디피헬만(Diffie-Hellman) 초간단 개념.. hooni 2013.04.23 81022
76 System/OS 라우팅 경로 결정 영향 요소 ㅋㅋ file hooni 2013.04.23 15850
75 Develop 라이브러리에 대한 설명 (static & dynamic library) hooni 2013.04.23 6946
74 Algorithm 러시아 페인트공 알고리즘에 대해.. hooni 2013.04.23 22897
73 Develop 레고 NXT 마인드스톰 밸런싱 로봇 ㅎㅎ file hooni 2013.04.23 57714
72 Develop 레고 마인드스톰 NXT 수도쿠, 큐브 소스코드.. 20 file hooni 2013.04.23 81423
71 Develop 리팩토링 계획안 file hooni 2017.05.15 751
70 Develop 링크들 보고 지울 내용 secret hooni 2019.11.21 0
Board Pagination Prev 1 ... 87 88 89 90 91 92 93 94 95 96 ... 98 Next
/ 98