●리눅스의 특징
-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:\>f 정보 disk /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 5월10일 9: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 현재 커서 뒤에서 입력
A 현재 커서 행의 뒤에서 입력 u 한단어씩복구 U 변경한전체내용을복구
x 현재 문자 삭제(delete) ~ 대문자소문자변환 ( 처음
X 한문자 삭제(backspace) yy 현재행을복사 ) 끝
dw 오른쪽 단어 삭제 nyy 현재커서아래로n행복사 { 문단의처음
db 왼쪽 단어 삭제 p 현재커서아래로붙여넣기 } 문단의끝
dd 커서 위치한 행 삭제
<명령모드>
h 왼쪽으로 한문자 이동 ^ 현재행처음으로이동
j 위로 한 행이동 $ 현재행끝으로이동
k 아래로 한 행 이동
l 오른쪽으로 한문자 이동 dG 현위치에서전부삭제 d1G 현재커서의앞부분삭제
G 파일의 마지막행으로 이동 w 다음단어처음으로이동
1G 1행으로이동 b 이전단어처음으로이동
nG n행으로이동 e 다음단어끝으로이동
%s/window/linux/g 단어치환
g/bash/s/ba/c/g 일부단어치환
: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개줄단위로파일이만들어짐
퍼미션(권한)이란?
Owner |
Group |
Other |
Owner와 Group은 파일소유자자신과 자신이 속한그룹. Other은 제3자, 웹사이트 방문객은 제3자로 nobody로 취급. | ||||||
r |
w |
x |
r |
w |
x |
r |
w |
x |
r은 파일 읽기(4), w는 파일 쓰기(2), x는 파일 실행(1) |
7 |
5 |
5 |
파일소유자는 그것을 읽고 쓰고 실행시킬 수 있지만, 제3자는 읽고 실행만 시킬 수 있다. | ||||||
7 |
7 |
7 |
제3자도 쓰기 권한이 주어진다. |
*.html *.cgi, *.pl *.txt등의 파일은 업로드시 반드시 ascii로하고 나머지 그림(*.gif *.jpg)이나 자바 애플릿(*.class), 실행파일(*.exe *.zip *.rar)등은 binary mode로 업로드 할 것.
리눅스 기본명령어
명령어 |
사 용 법 |
login |
사용자 인증과정 리눅스 시스템은 기본적으로 multi-user 개념에서 시작하였기 때문에 시스템을 이용하기 위해서는 반드시 로그인을 하여야 합니 다. 로그인은 PC 통신에서도 많이 사용되어져 왔기 때문에 그 개 념 설정에 그다지 어려움이 없을 것입니다. 흔히 말하는 ID를 입력하는 과정입니다. |
passwd |
패스워드 변경 리눅스, 특히 인터넷의 세계에서는 일반 컴퓨팅 상황에 비하여 훨씬 해킹에 대한 위험이 높습니다. 패스워드는 완성된 단어 보다는 단어 중간에 숫자나 키보드의 ^, #, ' 등과 같은 쉽게 연상 할 수 없는 기호를 삽입하여 만들어 주는 것이 좋습니다 |
du |
하드사용량 체크(chkdsk) 자신의 하드공간을 알려면 |
ls |
파일 리스트 보기(dir) F : 파일 유형을 나타내는 기호를 파일명 끝에 표시 (예) |
cd |
디렉토리를 변경 # cd cgi-bin : 하부 디렉토리인 cgi-bin으로 들어감. |
cp |
화일 복사(copy) # cp index.html index.old |
mv |
파일이름(rename) / 위치(move)변경 # mv index.htm index.html $ mv file ../main/new_file |
mkdir |
디렉토리 생성 # mkdir download : download 디렉토리 생성 |
rm |
화일삭제 # rm test.html : test.html 화일 삭제 |
rmdir |
디렉토리 삭제 # rmdir cgi-bin : cgi-bin 디렉토리 삭제 |
pwd |
현재의 디렉토리 경로를 보여주기 |
pico |
리눅스용 에디터 |
put |
ftp 상태에서 화일 업로드 > put guestbook.tar.gz |
get |
ftp 상태에서 화일 다운로드 > get guestbook.tar.gz |
mput 또는 mget |
여러개의 화일을 올리고 내릴때 (put,get과 사용법동일) |
chmod |
화일 permission 변경 리눅스에서는 각 화일과 디렉토리에 사용권한을 부여. 예) -rwxr-xr-x guestbookt.html 읽기(read)---------- 화일 읽기 권한 명령어 사용법 # chmod 666 guestbook.html # chmod 766 guestbook.html |
alias |
" doskey alias" 와 비슷하게 이용할 수 있는 쉘 명령어 alias는 말그대로 별명입니다. 사용자는 alias를 이용하여 긴 유 닉스 명령어를 간단하게 줄여서 사용할 수도 있습니다. |
cat |
파일의 내용을 화면에 출력하거나 파일을 만드는 명령( 도스의 TYPE명령) |
more |
cat 명령어는 실행을 시키면 한 화면을 넘기는 파일일 경우 그 내용을 모두 볼수가 없다. 하지만 more 명령어를 사용하면 한 화면 단위로 보여줄 수 있어 유용. # more <옵션> |
who |
현재 시스템에 login 하고 있는 사용자의 리스트를 보여줍니다. # who |
whereis |
소스, 실행파일, 메뉴얼 등의 위치를 알려줍니다 # whereis perl : perl의 위치를 알려준다 |
vi, |
새로운 파일을 만드는 방법 # vi newfile : vi 편집기 상태로 들어감 |
cat, |
파일 내용만 보기 # cat filename : 파일의 내용을 모두 보여줌 |
압축명령어 사용법
압축 명령어 |
사 용 법 |
tar | .tar, _tar로 된 파일을 묶거나 풀때 사용하는 명령어 (압축파일이 아님) # tar cvf [파일명(.tar, _tar)] 압축할 파일(또는 디렉토리): 묶을때 # tar xvf [파일명(.tar, _tar)] : 풀 때 (cf) cvfp/xvfp 로 하면 퍼미션 부동 |
compress | 확장자.Z형태의 압축파일 생성 # compress [파일명] : 압축시 # uncompress [파일명] : 해제시 |
gzip | 확장자 .gz, .z형태의 압축파일 생성 # gzip [파일명] : 압축시 # gzip -d [파일명] : 해제시 |
기타 | .tar.Z 이것은 tar로 묶은 후에 compress를 사용하여 압축한 것으로 uncompress를 사용해서 압축을 푼 다음, 다시 tar를 사용해서 원래의 파일들을 만들어내면 됩니다. 아니면 다음과 같이 한 번에 풀 수도 있다. # zcat [파일명].tar.Z : 해제시 .tar.gz또는 .tar.z # gzip -cd [파일명] : 해제시 .tar.gz 또는 .tar.z .tgz gzip을 사용해서 푼 다음 다시 tar를 사용해서 원래 파일을 만들어 낼 수 있으나, 하지만 다음과 같이 하면 한 번에 처리를 할 수 있다. # gzip -cd 파일.tar.gz | tar xvf - 또는 # tar xvzf 파일.tar.gz # tar xvzf 파일.tgz |
리눅스 필수명령어 (개중요함)
Linux/Unix 명령어 |
설 명 |
MS-DOS 비교 |
./x |
x 프로그램 실행 |
x |
↑/↓ |
이전에(↑) / 다음에(↓) 입력했던 명령어 |
doskey |
cd x (또는 cd /x) |
디렉토리 X로 가기 |
cd |
cd .. (또는cd ../ 또는 cd /..) |
한 디렉토리 위로 가기 |
cd.. |
x 다음[tab] [tab] |
x 로 시작하는 모든 명령어 보기 |
- |
adduser |
시스템에 사용자 추가 |
/ |
ls (또는dir) |
디렉토리 내부 보여주기 |
dir |
cat |
터미널 상의 텍스트 파일 보기 |
type |
mv x y |
파일 x를 파일 y로 바꾸거나 옮기기 |
move |
cp x y |
파일 x를 파일 y로 복사하기 |
copy |
rm x |
파일 지우기 |
del |
mkdir x |
디렉토리 만들기 |
md |
rmdir x |
디렉토리 지우기 |
rd |
rm -r x |
디렉토리 x를 지우고 하위도 다 지우기 |
deltree |
rm p |
패키지 지우기 |
- |
df (또는df x) |
장치 x의 남은 공간 보여주기 |
chkdsk ? |
top |
메모리 상태 보여주기(q는 종료) |
mem |
man x |
명령어 x에 관한 매뉴얼 페이지 얻기 |
/ |
less x |
텍스트 파일 x 보기 |
type x | more |
echo |
어떤 것을 echo 화면에 인쇄한다. |
echo |
mc |
UNIX를 위한 노턴 커맨더 |
nc |
mount |
장치 연결(예: CD-ROM, 연결을 해제하려면 umount) |
- |
halt |
시스템 종료 |
- |
reboot ([ctrl] + [alt] +[del]) |
시스템 다시 시작하기 |
[ctrl] + [del] + [del] |
고급명령어
고급 명령어 |
|
chmod <권한> <파일> |
파일 권한(permissions) 변경 |
ls -l x |
파일 x의 자세한 상황을 보여줌 |
ln -s x y |
x에서 y로 심볼릭 링크를 만들어 줌 |
find x -name y -print |
디렉토리 x안에서 파일 y를 찾아서 화면에 그 결과를 보여줌 |
ps |
지금 작동중인 모든 프로세스들을 보여줌 |
kill x |
프로세스 x를 종료 (x는 ps 명령으로 알 게 된 PID) |
[alt] + F1 - F7 |
터미널 1-7까지 바꾸기 (텍스트 터미널에서; F7은 X-윈도우(시작될때)) |
lilo |
부트 디스크를 만듦 |
용어 |
|
symlink |
다른 파일이나 디렉토리로 심볼릭 링크. 윈도유98의 바로가기 같은 것 |
shell script |
여러 명령어들을 차례로 수행하게 한 것. MS-DOS의 배치 파일 같은 것 |
팁!!
- 웹에서 생성한 노바디파일 삭제 하는방법..
기본적으로 웹서버는 nobody 권한으로 동작이 되게 됩니다.
고객님께서 FTP 로 접속하여 전송한 파일이 아니라 웹상에서 사용자들이 파일을 업로드 한 경우나 웹상에서 생성된 파일의 경우 삭제가 되지 않는 경우가 있을 수 있습니다.
웹서버의 동작 권한은 nobody 이고 웹상에서 생성된 파일이므로 해당 파일이 nobody 소유권으로 시스템에 생성이 되게 됩니다.
아래와 같이 웹상에서 실행시키면 됩니다.
1. 메모장을 열어 아래 소스를 붙여넣기 하신후..
//폴더/파일 삭제시
$cmd = `rm -rf 노버디로된파일혹은폴더명`;
echo "$cmd";
echo "폴더가 삭제 되었습니다.";
?>
-- 위에까지..
-- **위에서 수정할 사항은 "노버디로된파일혹은폴더명"을 삭제하시고자 하는 파일명으로 바꿔주세요..
2. 파일 -> 다른이름으로저장 -> 아래 탭에서 파일형식을 "모든파일"로 선택후
-> "원하는파일명.php" 로 저장 (ex: del.php)
3. ftp를 통해 고객계정에 파일업로드를 하시고 웹에서 파일을 불러주시면 됩니다
ex: html폴더안에/temp 안에 삭제하고자하는 파일이 있을경우 / html폴더/temp안에 del.php를 업로드하고..
브라우저에서 http://고객도메인/temp/del.php 를 하면 됩니다
4. 실행하시면 삭제되고 nobody 권한의 폴더만 남습니다.(폴더안의화일들만 지워짐)
그후 ftp 접속후 폴더를 삭제하시면 됩니다.
ex)
퍼미션 변경시
$cmd = `chmod -R 777 노버디로된파일혹은폴더명`;
echo "$cmd";
echo "퍼미션 변경되었습니다.";?>
보시느라고 수고하셨습니다 명령어를 다 외울필요는 없고 빨간색으로 되어있는것만 외우셔도 됩니다
P.s 중요도 : 빨강-파랑-초록-검정 (높은순으로)
'★━Server OS〃 > 1. Linux' 카테고리의 다른 글
자주 사용되는 리눅스 명령어 (0) | 2011.08.14 |
---|---|
리눅스 기본 언어설정(한글,영어) (/etc/sysconfig/i18n) (0) | 2011.08.14 |
리눅스에서 Intel Link Wifi 5300 설치 (0) | 2011.08.13 |
rpm 삭제 (0) | 2011.08.07 |
rpm 설치 및 삭제 (0) | 2011.08.07 |
댓글