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
번호 분류 제목 글쓴이 날짜 조회 수
1173 System/OS 해커스랩 깨기.. 후후.. ㅋㅋ file hooni 2013.04.23 18413
1172 Etc 플라스터(Plaster) 수업 내용 secret hooni 2016.05.24 0
1171 Develop 프로그램 문서 관리 (Doxygen) hooni 2013.04.23 16385
1170 Develop 프로그래밍에서 foo, bar 함수의 유래 file hooni 2013.06.25 21247
1169 Develop 프로그래밍 소스 관련 사이트.. hooni 2013.04.23 16485
1168 Develop 페이팔에서 돈 찾기 (Paypal withdraw) file hooni 2014.02.20 11369
1167 Etc 티스토리 테이블 html,css 구문 hooni 2013.11.03 15946
1166 System/OS 콘솔에서 패스워드 걸린 zip 압축하는 명령 hooni 2018.03.02 931
1165 System/OS 컴파일러 수업 자료(교재 : 컴파일러 입문) file hooni 2003.04.23 21966
1164 Develop 캘리포니아 운전면허 족보 file hooni 2017.06.12 728
1163 Etc 캘리포니아 운전면허 문제 file hooni 2017.07.22 970
1162 Develop 최근 논문 자료 (2011/01/03, 만현형한테 보낸거..) secret hooni 2013.04.23 10366
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 98 Next
/ 98