Twitt for @BokSmile

hacking.egloos.com

포토로그 마이가든



리눅스 기본 명령어

리눅스의 특징

-Server System으로 운영적합

-ID와 PASSWD가 필요

-Root User (super user ): default user 계정및 시스템관리

-각 사용자별 home directory 존재

-각 사용자별 환경설정파일 존재( .bashrc .bash_profile .bash_logout )

-다양한 network protocol 지원

-신속한 개발, 자유로운 변형가능 : Open Source

-multi-user & multi-job system

부트 디스크 생성 방법

①#mount -t iso9660 /dev/cdrom /mnt/cdrom

②#cd /mnt/cdrom

③#cd images

④#dd if=booting of=/dev/fd0 rbs=1440k


●IP 설정하기

①#ifconfig

②#netconfig

③#/etc/init.d/network restart

리눅스 제거하기

①리눅스 환경: fdisk 명령어를 이용하여 리눅스 설치 파티션 삭제

이후 LILO 정보 제거

#/sbin/lilo -u

②윈도우 환경: fdisk 실행하여 non-DOS 파티션 제거

이후 LILO 정보 제거

c:>fdisk /mbr ( Window98 CD를 이용해서 마스터부트레코드 삭제 )


리눅스 종료하기

shutdown -h now == halt == init0

shutdown -r now == reboot == init6

shutdown -c == shutdown 취소

shutdown -r 20 ==20분후 shutdown


●원격지 접속할 때

①[root@linux0 /root]#ssh se37@210.102.185.234<--ssh를 이용

②[root@linux0 /root]#telnet 210.102.185.145 <--telnet을 이용

<실행결과>

login:se39

passwd:linux123


●디렉토리 분류

/ : 루트디렉토리

/bin : 기본명령어

/dev : 장치를 쓸때 필요한 특수 파일 위치

/etc : 환경 설정 파일 위치

/home : 일반 사용자의 홈 디렉토리

/lib : 공유 라이브러리와 커널 모듈이 위치

/lost+found : 부팅할 때 파일시스템에 이상이 있는지 진단, fsck 명령어에 의해 사용

파일 시스템 복구후 복구된 파일이 저장됨

/mnt : cd-rom 과 플로피 장치에 대한 마운트 포인트를 제공

/opt : 크기가 큰 리눅스 패키지 설치함

/root : 시스템 관리자 홈디렉토리

/sbin : 시스템 운영에 필요한 명령어 위치

/tmp : 임시 파일을 저장하는 위치

/usr : 패키지 설치시 이 디렉토리에 설치됨

/var : 가변 자료가 저장, 메일,로그 등등

/usr/bin : 응용프로그램 설치시 일반 사용자 명령어가 추가됨

/usr/sbhin : 응용프로그램 설치시 관리자 명령어가 추가됨

/var/log : 시스템 로그 파일

/var/spool/mail : 서버의 메일 임시보관 장소


●파일에 따른 속성

[root@linux0 /root]#ls -al

<실행화면>

drwxr-xr-x 5 Root Root 4096 5109:15 ..

허가권 링크수 사용자 그룹 파일크기 생성날짜 생성시간 파일명

d(디렉토리) -(일반파일) l(심볼릭 링크 파일) s(소켓파일) b(블록디바이스용특수파일) c(문자파일)

[root@linux0 /root]#chmod 644 aaa <---aaa 파일을 permission을 바꿈

[root@linux0 /root]#chmod go+x aaa <---aaa 파일에 실행권한 추가

r=읽기(4) w=쓰기(2) x=실행(1)

디렉토리 생성시 기본 permission은 = 755

파일 생성시 기본 permission은 = 644

이유? umask 022 이기 때문..

[root@linux0 /root]#umask 022 <--umask명령으로 permisson값 바꿀 수 있음.

umask022 <--기본설정

umask002 이면 디렉토리는=775 파일은=664


●etc/passwd 파일구조
(사용자 관리 파일)

userID : password : UID : GID : full-name : home directory : shell

root : x : 0 : 0 : 생략가능 : /root : /bash


●etc/grorp (그룹 관리 파일)

●etc/shadow (비밀번호 관리 파일)

●기본 명령들

[root@linux0 /root]#man ls (메뉴얼 확인, 빠져나올땐 q 입력 , 비슷한것:whatis ,apropos)

[root@linux0 /root]#info ls(메뉴얼 자세히 확인)

[root@linux0 /root]#ls (디렉토리 내의 파일 목록을 보는 명령어)

[root@linux0 /root]#ls -a (모든 파일 보기,숨기파일표시)

[root@linux0 /root]#ls -l (자세하게 보기)

[root@linux0 /root]#ls -d (디렉토리만 보기)

[root@linux0 /root]#ls -R (하위디렉토리의 파일까지 보기)

[root@linux0 /root]#cd (디렉토리 변경)

[root@linux0 /root]#cd /home/oversky/www (절대경로로 디렉토리 변경)

[root@linux0 /root]#cd ..(상대경로로 디렉토리 변경)

[root@linux0 /root]#cd / (루트 디렉토리로 이동)

[root@linux0 /root]#cd . (현재디렉토리)

[root@linux0 /root]#cd .. (상위디렉토리)

[root@linux0 /root]#cd ~ (계정의 홈 디렉토리)

[root@linux0 /root]#pwd (현재 디렉토리 표시)

[root@linux0 /root]#id (현재 사용자 정보를 자세히 확인)

[root@linux0 /root]#whoami (현재 사용자 확인)

[root@linux0 /root]#finger (현재 텔넷 서비스 접속 사용자를 확인)

[root@linux0 /root]#w (현재 텔넷 서비스 접속 사용자를 확인)

[root@linux0 /root]#whom (현재 텔넷 서비스 접속 사용자를 확인)

[root@linux0 /root]#users (현재 텔넷 서비스 접속 사용자를 확인)

[root@linux0 /root]#groups (현재 소속되어 있는 그룹확인)

[root@linux0 /root]#mkdir (디렉토리 생성)

[root@linux0 /root]#mkdir -p (하위디렉토리까지 생성)

[root@linux0 /root]#rmdir (디렉토리 삭제..주의 디렉토리가 비어있어야함)

[root@linux0 /root]#rmdir -p (하위디렉토리까지 삭제)

[root@linux0 /root]#cp 원파일명 새파일명 (복사)

[root@linux0 /root]#cp -i (복사여부 물어봄 자동지정됨)

[root@linux0 /root]#cp -r (디렉토리 또는 디렉토리내의 파일까지 복사)

[root@linux0 /root]#cp -a (소유권을 유지하면서 복사)

[root@linux0 /root]#rm (파일 삭제)

[root@linux0 /root]#rm -rf aaa (디렉토리및 파일 강제 삭제)

[root@linux0 /root]#cat test(파일 내용 화면출력)

[root@linux0 /root]#cat > test (파일을 만듦, ctrl+z 로 빠져나옴)

[root@linux0 /root]#cat >> test (파일 내용 뒷 부분에 추가)

[root@linux0 /root]#touch bbb (bbb라는 파일 생성,기존 파일의 수정날짜 변경 가능)

[root@linux0 /root]#more test (파일 내용을 페이지 단위로 출력,페이지이동 space 바)

[root@linux0 /root]#less test (파일 내용을 페이지 단위로 출력, 빠져나오기 q 사용)

[root@linux0 /root]#wc -l test (파일의 워드 카운드, 라인수를 출력해줌)

[root@linux0 /root]#ls -al | more (파이프로 인해 왼쪽명령어가 오른쪽 입력값으로 사용)

[root@linux0 /root]#grep aaa aaa.txt (aaa.txt 파일에서 aaa 단어만 선택하여 출력)

[root@linux0 /root]#grep a* (a로시작하는 모든 문자 출력,?는 한문자)

[root@linux0 /root]#ps (프로세스 상태 확인)

[root@linux0 /root]#ps -a (전체 사용자의 모든 프로세스 출력)

[root@linux0 /root]#ps -x (터미널에 종속되지 않은 프로세스출력)

[root@linux0 /root]#ps -u (사용자이름과 프로세스 시작 시간을 출력)

[root@linux0 /root]#ps -aux

<실행결과>

USER PID %CPU %MEM VSZ PSS TTY STAT START TIME COMMAND

사용자 프로세서ID cpu점유율 메로리점유율 터미널번호 상태 시작시간 명령어위치

[root@linux0 /root]#kill -9 1234 (프로세스 종료)

[root@linux0 /root]#jobs (현재 작업 목록을 출력함.bg백그라운드설정(&) fg포그라운드설정 ctrl+z )

[root@linux0 /root]#history (명령어 목록 보기. -w 파일명 :저장한 파일에 history 목록을 저장

-a :현재 접속시 사용한 목록을 .bash_history 파일에 저장)

[root@linux0 /root]#alias ls='ls -al'(명령어를 간단하게 축약하여 사용할 때 쓰임, .bashrc에정의)


●멀티 부팅 만들기

[root@linux0 /root]#vi /etc/lilo.conf

<실행화면>

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=120

message=/boot/message

lba32

default=windows <----디폴트 설정

image=/boot/vmlinuz-2.2.17-8wl2

label=linux

read-only

root=/dev/hda2

other=/dev/hda1

label=windows <----디폴트 설정

table=/dev/hda

lilo 리눅스 로더 - lilo.conf 리로 설정파일, Grub 최신 <- 부트로더

[root@linux0 /root]# lilo (lilo 설정 확인 명령어)

added linux

added windows * <---디폴드 설정됨


●ftp

[root@linux0 /root]#ftp 210.102.185.145 (접속방법)

[root@linux0 /root]#ftp ftp.bora.net(접속방법)

<실행화면>

Name : anonymous <---ID 계정이 없을 경우, 익명 계정으로 접속

Passwd : <---사용자의 이 메일 주소 입력

ftp>get 060411a (파일 하나만 다운로드 할때 get 사용)

ftp>mget 06* (파일 여러개를 다운로드 할때 mget 사용)

ftp>hash (다운 과정을 “###” 표시해주는 명령어)

ftp>ascii (text파일 다운로드할 때 설정)

ftp>binary (동영상등 실행파일 다운로드 때 설정)

ftp>bye (빠져나옴)

[root@linux0 /root]#mc <---mc를 이용한 ftp 접속

파일 다운로드는 F5 키를 이용함


●vi 에디터 사용법

<입력모드>

i 현재 커서위치에서 입력 o 현재 커서 아래 행에서 입력

I 현재 커서 행의 앞에서 입력 O 현재 커서 행에서 입력

a 현재 커서 뒤에서 입력 <shift>+j 커서 다음 행을 현재 행에 결합

A 현재 커서 행의 뒤에서 입력 u 단어씩 복구 U 변경한 전체 내용을 복구

x 현재 문자 삭제(delete) ~ 대문자 소문자 변환 ( 처음

X 한문자 삭제(backspace) yy 현재 행을 복사 )

dw 오른쪽 단어 삭제 nyy 현재 커서 아래로 n 복사 { 문단의 처음

db 왼쪽 단어 삭제 p 현재 커서 아래로 붙여넣기 } 문단의

dd 커서 위치한 행 삭제

<명령모드>

h 왼쪽으로 한문자 이동 ^ 현재 처음으로 이동 <ctrl>+f 다음 페이지 이동

j 위로 한 행이동 $ 현재 끝으로 이동 <ctrl>+b 이전 페이지 이동

k 아래로 한 행 이동 <Enter> 다음 행의 처음으로 이동 d$ 현재부터 끝까지 삭제

l 오른쪽으로 한문자 이동 dG 현위치에서 전부삭제 d1G 현재커서의 앞부분삭제

G 파일의 마지막행으로 이동 w 다음 단어 처음으로 이동

1G 1행으로 이동 b 이전 단어 처음으로 이동

nG n행으로 이동 e 다음 단어 끝으로 이동

%s/window/linux/g 단어치환

g/bash/s/ba/c/g 일부단어치환

<ex모드>

:q 종료 :q! 강제종료 :w 저장 :w! 강제저장 :wq 저장하고 종료 :wq! 강제저장후 종료

:w 파일명 (다른파일명으로 저장) :1,20 w 파일명(1~20행까지만 저장)

:set number(행번호표시) :set nonu (행번호표시 지우기)


●시스템 관련 명령어

[root@linux0 /root]#fsck / (파일시스템을 점검한다)

[root@linux0 /root]#sync (주기억장치와 HDD간의 동기를 맞춰준다.)

[root@linux0 /root]#wall (현재 모든 텔넷 접속자에게 broadcast메시지를 보낸다)

[root@linux0 /root]#wall reboot 3 minute (텔넷 접속자 모두에게 메시지 전달)

[root@linux0 /root]# last | more ( 라부팅 흔적 보여줌 )

[root@linux0 /root]#useradd 옵션 (사용자 추가)

userid : x: UID : GID : full : 디렉토리 :

-u -g(-G) -c -d -s <- (-G) - 세컨드 그룹

-m:홈디렉토리생성 X-p:password 지정

[root@linux0 /root]#useradd -u 5000 -g 5000 -c "Test User" -d /home/testuser -s /bin/csh -m testuser

[root@linux0 /root]# cat /etc/passwd <- 방금 만든 파일 확인

[root@linux0 /root]#groupadd -g 2000 student <- 그룹 2000 생성, 2000은 그룹번호

[root@linux0 /root]#cat /etc/group - 그룹 확인

[root@linux0 /root]# groupadd -u 3000 student

groupadd: invalid option -- u <- u라는 옵션은 존재하지 않음

usage : groupadd [-g gid [-o]] [-r] [-f] group <- groupadd 에서 사용할 수 있는 옵션 표시

[root@linux0 /root]# whereis csh (c쉘의 저장파일 위치 찾기)

1.6. passwd 옵션

* passwd 다음에 아무 옵션도 치지 않으면 자기 자신의 root 패스워드를 바꾸게 된다.

[root@linux0 /root]# passwd test

Changing password for user test

New UNIX password : 123

BAD PASSWORD : it's WAY too short <- 패스워드가 짧다.

Retype new UNIX password : 123 <- 변경할 패스워드 재입력

passwd: all authentication tokens updated successfully

* MD5 : 패스워드가 255 까지 늘어남

* shadow password : 패스워드를 shadow 복사해서 사용

[root@linux0 /root]# passwd -d test <- 다음에 사용자가 접속시 패스워드 직접 지정

Changing password for user test

Removing password for user test

passwd : Success

[root@linux0 /root]# passwd -l test (시스템에 접속하지 못하도록함) (해제 -u 옵션)

Changing password for

* halt:*13221:0:99999:7::: <- 쉐도우로 passwd 파일을 열었을 때

passwd

[root@linux0 /root]# passwd -u test <- 패스워드를 푼다.

[root@linux0 /root]# su -test <- 사용자의 지정셀 확인, 사용자의 아이디로 새롭게 로그인

[root@linux0 /root]# su test <- root 유저 상태에서 사용자 잠시 바꿈

[root@linux0 /root]# whoami <- 자신이 누구인지 확인

[root@linux0 /root]# su -s /bin/bash test <- 내가 지정한 쉘로 사용, 사용자의 아이디로 접속

1.7.userdel 옵션

[root@linux0 /root]# userdel -r test <- 홈디렉토리까지 삭제

[root@linux0 /root]# groupdel student <- student 그룹 삭제

[root@linux0 /root]# groupadd -g 5000 test

[root@linux0 /root]# groupmod -g 6000 test <- test 5000번 그룹의 G아이디값을 6000으로 변경

[root@linux0 /root]# cat /etc/group | grep test

test:x:6000:

[root@linux0 /root]# groupmod -n testgroup test <- test그룹의 이름을 testgroup으로 변경

[root@linux0 /root]# cat /etc/group | grep test <---!c :c 시작했던 명령 다시 실행

testgroup:x:6000:

[root@linux0 /root]# groupdel testgroup

*init.d init=초기화 .d=daemon=서비스를위해 대기하는 상주 프로그램

*daemon : 시스템과 클라이언트를 연결 또는 호환하는 프로그램

[root@linux0 /root]# cd /etc/init.d <- 시작 스트립트 (init) <- 시작

[root@linux0 /root]# ls <- 데몬을 보여줌

[root@linux0 /root]#/etc/init.d/mysqld start <- mysqld 데몬 시작

Starting MySQL:

[root@linux0 /root]#/etc/init.d/mysqld restart <- mysqld 데몬 다시 시작

Stopping MySQL:

Starting MySQL:

[root@linux0 /root]# ps -aux|grep mysql <- mysqld 데몬이 실행되고 있는지 확인

[root@linux0 /root]# kill -l <- 죽일수 잇는 프로세서를 보여준다.

[root@linux0 /root]# kill -9 3129 <- 3129 프로세서를 죽일때 사용 (-9)가 가장 강한 옵션

[root@linux0 /root]# ps -ax|grep mysql <- 실행되고 있는 mysqld 데몬 프로세서 확인

[root@linux0 /root]# kill -9 3206 <- 3206 프로세서를 죽일때 사용

*[root@linux0 /root]# !p <- 전에 사용했던 명령어중에 p 로 시작되는 명령 실행

*[root@linux0 /root]# !! <- 바로전에 사용했던 명령어 재실행

[root@linux0 /root]# killall mysqld <- mysqld 데몬을 다 삭제

*[root@linux0 /root]# killall <- 만 사용하면 여러가지 사용가능한 옵션 출력

[root@linux0 /root]# killall -l <- killall에서 사용할 수 있는 옵션 출력

1.13. mkfs의 옵션

[root@linux0 /root]# mkfs -t ext2 /dev/fd0 <- ext2 fd0으로 포맷

파일시스템이 만들어 진다 그후 mount 해야함.

1.14. fsck 의 옵션

[root@linux0 /root]# fsck -y / <- (-y) 뭔가 물어볼때 자동으로 yes 대답하게

1.15. mount의 옵션

[root@linux0 /root]# cd /floppy

[root@linux0 /root]# ls

[root@linux0 /root]# mount /dev/fd0 /mnt/floppy <- mount 설정

[root@linux0 /root]# cd /mnt/floppy <- lost*found floppy

[root@linux0 /root]# more /etc/fstab <- 현재 시스템에 자동으로 기록되어 있는 것들

1.16 umount의 옵션

[root@linux0 /root]# umount /mnt/floppy <- mount 해제

[root@linux0 /root]# mount /dev/cdrom <- cdrom 마운트함, cdrom 있어야 한다.

[root@linux0 /root]# mount <- fstab 들어있음,

[root@linux0 /root]# mount /dev/fd0 <-

1.18 gzip의 옵션

[root@linux0 /root]#tar -cvf data.tar 0* <---파일을 묶음.

[root@linux0 /root]#tar -tvf data.tar <---묶어진 파일을 보여줌.

[root@linux0 /root]#tar -xvf data.tar <---묶어진 파일을 풀때.

[root@linux0 /root]#tar -cvzf data.tar.gz 0* <---파일을 묶고 압축함.

[root@linux0 /root]#tar -tvzf data.tar.gz <---묶어지고 압축된 파일을 보여줌.

[root@linux0 /root]#tar -xvzf data.tar.gz <---묶어지고 압축된 파일을 풀때.

*파일타입을 알아보는 명령어:[root@linux0 /root]#file data.tar.gz

[root@linux0 /root]# gzip -v data.tar <--- 파일을 압축한다.

실행결과:data.tar: 89.6%--replaced with data.tar.gz

[root@linux0 /root]# gzip -dv data.tar.gz <--- 파일을 압축을 푼다.(gunzip 파일압축해제)

[root@linux0 /root]#gunzip data.tar.gz

*[root@linux0 /root]# compress -v data.tar <--- compress로 압축한다.

실행결과:data.tar: --replaced with data.tar.Z Compression: 88.68%

*[root@linux0 /root]# uncompress -v data.tar.Z <--- 압축을 푼다.

*[root@linux0 /root]# rm -rf 0* <- 0으로 시작하는 파일 다 삭제

*[root@linux0 /root]# rm -rf *gz <- gz로 끝나는 파일 다 삭제

1.20. rpm(redhat package maneger)의 옵션

i-설치모드

U-업그레이드 모드

e-삭제모드 -e --nodeps (의존성문제 무시 삭제)

q-질의모드 (설치목록을 조회함)

[root@linux0 /root]# rpm -qa |grep mysql <- mysql패키지를 다 보여줌

[root@linux0 /root]# rpm -qR mysql-3.23.38-2wm ?? <- 모르겠다아

[root@linux0 /root]# rpm -qi mc <- mc 패키지에 대한 정보

[root@linux0 /root]# rpm -ql mc <- mc 패키지에 포함된 모든 파일명 출력

[root@linux0 /root]# rpm -Va <- 검증 옵션, 한참 걸림

1.21. df의 옵션 :파티션정보와 사용량을 백분율로 표기한다.

[root@linux0 /root]# df -T <- 파일시스템 유형 출력

[root@linux0 /root]# df -k <- k옵션을 쓰지 않으면 block단위로 나타내서 알아보기 힘듦.

그 외의 시스템 관련 명령어

[root@linux0 /root]#pstree

[root@linux0 /root]#uname -a :시스템의 이름 커널버전 등등

[root@linux0 /root]#ifconfig -a :ip주소확인

[root@linux0 /root]#ping ip주소:원격지 네트워크 확인명령어

[root@linux0 /root]#netstat :네트워크 상태 명령어

[root@linux0 /root]#netstat -r :게이트웨이 확인 명령어

[root@linux0 /root]#router :netstat -r명령과 같음.게이트 확인 명령

[root@linux0 /root]#echo $HOME :계정명 바꿔줌

[root@linux0 /root]#set

[root@linux0 /root]#export TEST=1000

[root@linux0 /root]#echo $TEST

[root@linux0 /root]#date 04161900 :MMDDHHmm

[root@linux0 /root]# rdate -s time.bora.net :자동으로 시간을 맞춰줌

[root@linux0 /root]# dmesg | less :부팅과정 보여주는 명령어

[root@linux0 /root]# write :채팅

[root@linux0 /root]# egrep "rootlftp" /etc/passwd 여러개의 단어를 찾을수있다

[root@linux0 /root]#split -b:byte당잘라서파일을생성 -c:글자단위 -l:숫자단위

[root@linux0 /root]#split -100 /etc/passwd

실행화면:xab xaa xac :100 줄단위로 파일이 만들어짐


Do SMART님 블로그 퍼옴

Android FTP 사용법

펌:   http://blog.navyism.com/40107435016[출처] 안드로이드 폰에 USB 케이블 연결하지 않고 FTP로 파일 전송하기 (안드로이드폰과의 무선 파일 전송)|작성자 navyism휴대폰으로 사진을 찍는다...USB 케이블을 연결한다...전용 프로그램을 실행한다...한참동안의 연결 과정을 거친 후 복잡한... » 내용보기

BAT 파일을 EXE 파일로 변환 프로그램

Portable Quick Batch File Compiler  - BAT파일을 EXE파일로 변환하는 프로그램주의) 여러 백신으로 탐지 되는지 테스트 필요Quick_Batch_File_Compiler_v3.2.2.0.exe » 내용보기

추천 트위터 서비스

추천 트위터 서비스트위터 모임(모꼬지) http://twtmt.com following의 프로필사진으로 트위터 배경이미지 만들기 http://twilk.com/ 트위터 실시간 중계방송 twitcam.com 트위터카운터 - 서울 http://twittercounter.com/pages/country%26time_zone=Seoul 트위터 투표시스템 twt... » 내용보기

간단 서브넷 분활

No.ShortFullMaximumComment10/8/255.0.0.016,777,215Used to be called an `A-class'20/16/255.255.0.065,535Used to be called an `B-class'30/17/255.255.128.032,767 40/18/255.255.192.016,383 50/19/255.255... » 내용보기



너에게 희망이 되어줄께