Contents

System/OS
2003.04.23 10:25

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

조회 수 14664 댓글 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
번호 분류 제목 글쓴이 날짜 조회 수
» System/OS [linux] 기본 명령어 (내공쌓기) hooni 2003.04.23 14664
70 System/OS [linux] 리눅스 활용 팁^^ hooni 2003.04.23 14964
69 System/OS [linux] vi 편집기 간단한 명령과 환경설정 hooni 2003.04.23 11634
68 Develop [unix] 쉘 스크립트 예제 모음 hooni 2003.04.23 15257
67 Develop [linux] 쉘 스크립트를 이용한 BBS hooni 2003.04.23 10272
66 Develop [c] pcap을 이용한 패킷 분석 ㅎㅎ hooni 2003.04.23 10448
65 Develop [js] 스크롤을 포함한 마우스 위치 찾는 코드 hooni 2003.04.23 8729
64 Develop [js] 쿠키(cookie)에 대한 설명과 예제.. hooni 2003.04.23 8568
63 Develop [php] URL/URI 관련 환경변수 hooni 2003.04.23 9446
62 Develop [js] 자바스크립트로 응용프로그램 실행 ㅎㅎ hooni 2003.04.23 10056
61 Develop [php] 쉘에서 실행할 때 인수(파라미터) 받기.. hooni 2003.04.23 11895
60 Develop [js] 자바스크립트 이벤트 핸들.. hooni 2003.04.23 8153
Board Pagination Prev 1 ... 88 89 90 91 92 93 94 95 96 97 98 Next
/ 98