본문 바로가기
★━Server OS〃/1. Linux

리눅스 기본 명령어

by Raynee 2011. 8. 7.
반응형

리눅스의 특징

-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    510일   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  현재 커서 뒤에서 입력          +j 커서 다음 행을 현재 행에 결합

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

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

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

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

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

dd 커서 위치한 행 삭제

 

<명령모드>

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

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

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

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 <- ext2fd0으로포맷

  파일시스템이 만들어 진다 그후 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)

자신의 하드공간을 알려면
# du
특정 디렉토리의 사용량을 알려면
# du -s diretory_name

ls

파일 리스트 보기(dir)

F : 파일 유형을 나타내는 기호를 파일명 끝에 표시
    (디렉토리는 '/', 실행파일은 '*', 심볼릭 링크는 '@'가 나타남).
l  : 파일에 관한 상세 정보를 나타냅니다.
a : dot 파일(.access 등)을 포함한 모든 파일 표시.
t  : 파일이 생성된 시간별로 표시
C : 도스의 dir/w명령과 같 이 한줄에 여러개의 정보를 표시
R : 도스의 dir/s 명령과 같이 서브디렉토리 내용까지.

(예)
# ls -al  
# ls -aC
# ls -R

cd

디렉토리를 변경

# cd cgi-bin     : 하부 디렉토리인 cgi-bin으로 들어감.
# cd  ..             : 상위디렉토리로 이동
# cd 또는 cd ~  : 어느곳에서든지 자기 홈디렉토리로 바로 이동
# cd /webker     : 현재 작업중인 디렉토리의 하위나 상위 디렉토리가
                          아닌 다른 디렉토리(webker)로 이동하려면 /로
                          시작해서 경로이름을 입력하면 된다.

cp

화일 복사(copy)

# cp index.html index.old
     : index.html 화일을 index.old 란 이름으로 복사.

# cp /home/test/*.*  .
     : test 디렉토리내의 모든 화일을 현 디렉토리로 복사.

mv

파일이름(rename) / 위치(move)변경

# mv index.htm index.html
     : index.htm 화일을 index.html 로 이름 변경

$ mv file  ../main/new_file
     : 파일의 위치변경

mkdir

디렉토리 생성

# mkdir download  : download 디렉토리 생성

rm

화일삭제

# rm test.html : test.html 화일 삭제
# rm -r <디렉토리> : 디렉토리 전체를 삭제
# rm -i a.*
     : a로 시작하는 모든 파일을 일일이 삭제할 것인지 확인하면서 삭제 

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
rwx  :처음 3개 문자 = 사용자 자신의 사용 권한
r-x  :그다음 3개 문자 = 그룹 사용자의 사용 권한
r-x  :마지막 3개 문자 = 전체 사용자의 사용 권한

읽기(read)---------- 화일 읽기 권한
쓰기(write)---------- 화일 쓰기 권한
실행(execution)---------- 화일 실행 권한
없음(-)---------- 사용권한 없음

명령어 사용법
chmod [변경모드] [파일]

# chmod 666  guestbook.html
     : test.html 화일을 자신에게만 r,w,x 권한을 줌

# chmod 766  guestbook.html
     : 자신은 모든 권한을 그룹사용자와,전체사용자에게는
       읽기와 쓰기 권한만 줌

alias

" doskey alias" 와 비슷하게 이용할 수 있는 쉘 명령어 alias는 말그대로 별명입니다. 사용자는 alias를 이용하여 긴 유 닉스 명령어를 간단하게 줄여서 사용할 수도 있습니다.
이들 앨리어스는 [alias ls 'ls -al'] 같이 사용하시면 되는데, 한 번 지정한 alias를 계속해서 이용하시려면, 자신의 홈디렉토리에 있는
.cshrc(Hidden 속성)을 pico등의 에디터를 이용하여 변경시 키면 됩니다.

cat

파일의 내용을 화면에 출력하거나 파일을 만드는 명령( 도스의 TYPE명령)

# cat filename

more

cat 명령어는 실행을 시키면 한 화면을 넘기는 파일일 경우 그 내용을 모두 볼수가 없다. 하지만 more 명령어를 사용하면 한 화면 단위로 보여줄 수 있어 유용.

# more <옵션>
옵션은 다음과 같습니다.

Space bar : 다음 페이지
Return(enter) key : 다음 줄
v : vi 편집기로 전환
/str : str 문자를 찾음
b : 이전 페이지
q : more 상태를 빠져나감
h : 도움말
= : 현재 line number를 보여줌

who

현재 시스템에 login 하고 있는 사용자의 리스트를 보여줍니다.

# who

whereis

소스, 실행파일, 메뉴얼 등의 위치를 알려줍니다

# whereis perl : perl의 위치를 알려준다

vi,
touch,
cat

새로운 파일을 만드는 방법

# vi newfile :  vi 편집기 상태로 들어감
# touch newfile : 빈 파일만 생성됨
# cat > newfile  : vi 편집기 상태로 들어감, 문서 작성후 Ctrl+D로 빠져나옴

cat,
head,
tail

파일 내용만 보기

# cat filename         : 파일의 내용을 모두 보여줌
# head -n filename : n줄 만큼 위세서부터 보여줌
# tail -n filename     : n줄 만큼 아래에서부터 보여줌

 

   압축명령어 사용법

압축 명령어

사 용 법

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 중요도 : 빨강-파랑-초록-검정 (높은순으로)

 

출저:http://cafe.naver.com/sjdanworkshop/95 

반응형

댓글