리눅스 기본 명령어
기본명령어
2
도움말 man(manual) 명령어의 사용법에 대한 도움말을 제공 man < 명령어 >
리눅스
3
시작과 종료 종료 halt init 0 shutdown –h now shutdown –r 22:00 shutdown –c shutdown –k now
리눅스
4
시작과 종료 런레벨 (runlevel) 시스템을 운영하는 7 개의 방법 Windows 계열의 표준모드 , 안전모드 , 도스프
롬프트모드 등과 비슷 리눅스 부팅시 결정 /etc/rc.d/rc 파일 → /etc/rc?.d/ 디렉토리 파일 실행 ○ K* : 서비스 Kill ○ S* : 서비스 Start
/etc/inittab 파일에 정의
리눅스
5
시작과 종료 런레벨 (runlevel) 종류 0 : 시스템 종료 (# halt == # init 0) 1 : 싱글모드 , root 사용자의 패스워드 분실시 2 : 네트워크기능 없는 다중사용자 모드 3 : 일반적 형태 ( 텍스트 ). 네트워크 기능이
포함된 다중 사용자 모드 4 : 예비 레벨 5 : 일반적 형태 ( 그래픽 ). runlevel 3 과 거의 유사 . 6 : 재부팅 모드 (# reboot == # init 6)
리눅스
6
마운트 mount CD 장치나 하드디스크등의 물리적 장치를 특
정 디렉토리에 연결하는 명령어
○ mount 옵션 파일시스템타입 장치파일 마운트
포인트
자동 마운트 : /etc/fstab CDROM 사용 ○ mount -t iso9660 /dev/sdc /media/cdrom
리눅스
7
마운트 mount USB 사용 ○ 마운트 포인트 생성 : mkdir /media/usb ○ ide-scsi 모듈 로드 : modprobe ide-scsi ○ 모듈 설치 확인 : lsmod ○ 할당된 장치명 확인 : fdisk –l ○ 마운트 : mount –t vfat /dev/sda /media/usb 이미지 파일 마운트 ○ mount –o loop –t iso9660 image.iso /image
리눅스
8
사용자 관리 /etc/passwd
, /etc/shadow, /etc/group
UID : 사용자계정과 대응하는 시스템이 인식
하는 고유한 숫자 GID : 그룹명과 대응하는 시스템이 인식하는 고유한 숫자 사용자 : ID 와 Password 를 가지고 리눅스 사용권한을 가짐 그룹 : 여러 사용자에게 같은 권한을 가질 수 있도록 묶는 역할
리눅스
9
사용자 관리
root 관리자가
생성
사용자 추가
옵션 ] [ 변경값 ] useradd woo –d /home/woo : 디렉토리 지정 useradd woo –s /bin/tcsh : 쉘 지정 useradd woo –g mygroup : 그룹지정
○ useradd new-id [ ○ ○ ○
암호 설정 및 변경 ○ passwd woo
사용자 삭제 ○ userdel [ 옵션 ] user-id ○ userdel –r woo( 디렉토리까지 삭제 ) 리눅스
10
사용자 관리 root 관리자가
생성
사용자 계정 변경 ○ usermod [ 옵션 ] [ 변경값 ] user-id ○ usermod –g users woo( 그룹변경 ) ○ usermod –d /woo woo( 디렉토리 변경 ) 사용자 암호 만료 정보 변경 ○ chage [ 옵션 ] [ 변경값 ] user-id ○ chage –E 2004/02/01 woo(ID 사용 만료일지정 )
리눅스
11
사용자 관리 사용자
관련 파일
사용자 추가시 기본값
/etc/login.defs
디렉토리 /etc/skel/ 명령어 실행시 작동순서 skel
에 사용자추가 ○ /etc/group 에 그룹이름추가 ○ /home 디렉토리 밑에 계정이름과 같은 이름의 디렉토리 생성 ( 계정공간 ) ○ /etc/skel 디렉토리의 파일내용을 계정공간으로 복사 ○ 패스워드는 나중에 passwd < 계정이름 > 으로 ○ /etc/passwd
리눅스
12
사용자 관리 권한변경 root 사용자는 모든 패스워드 변경가능 일반사용자는 자기 패스워드만 변경 /etc/shadow 와 /etc/passwd 차이 ○ passwd 는 모든사용자가 읽기 가능 , ○ shadow 는 root 만 읽기 가능
사용자 계정 변경 ○ # su → root 권한 획득 ○ # su - → root 권한 획득 + root 환경설정 ○ # su 사용자명 → 사용자 권한 획득 리눅스
13
사용자 관리
/etc/passwd 파일의 구조 account:password:UID:GID:GECOS:directory:she
ll
○ account - 사용자이름 ○ password - 암호 (shadows 파일로
표시 )
대치될 경우 *
○ UID, GID - 사용자번호 , 그룹번호 ○ GECOS - 사용자정보 ( 사용자 Full Name) ○ directory - 사용자의 홈디렉토리
사용자의 기본 shell 계정앞에 “ *” 표시하면 계정잠금 첫 User 나 Group 의 UID,GID 는 500 번으로 ○ shell -
시작
리눅스
14
명령어를 이용한 사용자 관 리
/etc/shadow 파일구조 account:encryptedpassword:last:may:must:warn:expir
e:disable:reserved
○ account - 계정이름 ○ encrypted password -
암호화된 패스워드 ○ last - 최근 패스워드 변경일 (1970 년 1 월 1 일 기준의 날짜 수 ) ○ may - 패스워드 변경 후 , 재설정을 위한 대기일 수 ○ must - 패스워드 유효기간 ○ warn - 패스워드 변경 경고 시간 ○ expire - 패스워드 만료시간 이후 계정을 사용할 수 없게 되는 기간 ○ disable - 계정 사용 불가능 날짜 (1970 년 1 월 1 리눅스
15
사용자 관리 그룹생성 ○ # addgroup –g gid < 그룹이름 >
그룹삭제 ○ # delgroup < 그룹이름 >
그룹변경 ○ # groupmod –n
름>
리눅스
16
사용자 관리
/etc/group 파일구조 group_name:password:GID:user-list ○ group_name - 그룹명 ○ Password - 그룹 패스워드 ( 필요 시 사용 , 일반 적으로 사용하지 않음 ) ○ GID - 그룹 번호 ○ User-list - 그룹에 속한 User ID , 콤마 (,) 로 구분
사용자 확인 명령 ○# ○# ○# ○#
whoami who am I id groups 리눅스
17
디렉토리 구조와 파일 특성 파일 속성 “ls –l” 명령이 보여주는 파일의 속성 파일의 속성 ○ - : 일반파일 ○ b : 블록장치 ○ c : 문자장치 ○ d : 디렉토리 ○ l : 심볼릭 링크 ○ p : 파이프 ○ s : 소켓
리눅스
18
디렉토리 구조와 파일 특성 파일 속성 ( 계속 ) 숫자로 표현한 파일허가권 ○ 7 (rwx = 4+2+1) 읽기 / 쓰기 / 실행 가능 ○ 6 (rw- = 4+2+0) 읽기 / 쓰기 가능 ○ 5 (r-x = 4+0+1) 읽기 / 실행 가능 ○ 4 (r-- = 4+0+0) 읽기만 가능 ○ 3 (-wx = 0+2+1) 쓰기 / 실행 가능 ○ 2 (-w- = 0+2+0) 쓰기만 가능 ○ 1 (--x = 0+0+1) 실행만 가능 ○ 0 (--- = 0+0+0) 읽기 / 쓰기 / 실행 불가능 파일허가권 변경은 ○ 명령어 : # chmod
root
및 소유자만 가능
리눅스
19
디렉토리 구조와 파일 특성
umask 최초의 자동 퍼미션 부여 # umask 기본으로 022 세팅 ○ mkdir temp( 퍼미션 755
로 생성 ) ○ touch sample( 퍼미션
644 로
생성 )
예 ) ○ # touch test2 ○ # umask 002 ○ # touch test3
rw-r--r-rw-rw-r-리눅스
20
디렉토리 구조와 파일 특성 파일
퍼미션 변경 (Change Mode)
chmod [ 옵션 ] [ 사용자 ] [+|-|=] [ 퍼미션 ] [ 파일 /
디렉토리 ]
chmod [ 퍼미션 ] [ 파일 / 디렉토리 ] ○ 옵션 : -R 하위까지 변경 ○ 사용자 : u, g, o, a(all) ○ + | - | = : +( 새로추가 ), -( 삭제 ), =(reset)
○ 퍼미션 : r,w,x,s,u,t
예 ) ○ # chmod go-w file 그룹과 other 의 ○ # chmod a+x 모두에게 실행권한 리눅스
읽기권한 삭제 부여 21
디렉토리 구조와 파일 특성 파일의
생성 및 소유권 확인
# touch test # ls –l test
소유권
변경 (root 권한 필요 )
# chown < 변경할
사용자 id> < 변경할 파일 또는
디렉토리 > # chgrp < 변경할 그룹 id> < 변경할 파일 또는 디 렉토리 > ○ -R
옵션
:
하위디렉토리 및 파일까지 변경
사용자와 그룹 소유권 동시 변경 예 ) ○ chown mrwoo.mrwoo test = chown mrwoo test + chgrp 리눅스
22
디렉토리 구조와 파일 특성 파일과
디렉토리의 소유권 / 허가권파일
소유권 ○ 파일을 소유한 사용자와 그룹 ○ 관련명령 chown 새로운사용자명 [. 새로운그룹명 ] 파일명 사용예 : chown fedora.fedora install.log
링크 ○ ln aaa bbb ○ ln –s aaa ccc
리눅스
23
디렉토리 구조와 파일 특성 기타
허가권필드
s (set UID) ○ 파일 실행시 소유권자의 권한으로 실행 ○ 예 ) # ls –al /usr/bin/passwd g (get GID) ○ 파일 실행시 소유그룹의 권한으로 실행
t (Sticky) ○ 디렉토리 삭제시 삭제는 소유자만 가능 ○ 예 ) # ls –al /tmp
리눅스
24
리눅스 기본 명령어 #2
리눅스 명령어의 특징 엄격한 다양한 명령어 확장자 명령어
대 소문자 구분 명령어 옵션 도움말 없는 리눅스 실행 파일 자동입력 기능
리눅스
리눅스 명령어
리눅스
리눅스 명령어
리눅스
리눅스 명령어
리눅스
리눅스 명령어
리눅스
리눅스 명령어
리눅스
리눅스 명령어
리눅스
리눅스 명령어
리눅스
리눅스 명령어
리눅스
리눅스 명령어
리눅스
파일 압축과 관리 compress/uncompress 파일명 .Z 가 생성되고 원본파일은 사라짐 compress filename / compress * uncompress filename / uncompress *
리눅스
파일 압축과 관리 gzip/gunzip 파일명 .gz 가 생성되고 원본파일은 사라짐 gzip filename / gzip * ○ -f : 사용중인 파일을 강제로 압축 ○ -S : 확장자를 임의로 부여 ○ -r : 디렉토리 전체를 압축
gzip -d filename.gz / gzip -d * gunzip filename.gz / gunzip * gunzip -r filename.gz
리눅스
파일 압축과 관리 bzip2/bunzip2 파일명 .bz2 가 생성되고 원본파일은 사라짐 # bzip2 filename / bzip2 * ○ -f : 덮어쓰기
# bzip2 –d filename.bz2 / bzip2 -d * # bunzip2 filename.bz2 / bunzip2 *
리눅스
파일 압축과 관리 기타
압축 명령
# zip dest.zip filename ○ 새로운 .zip 파일이 생성 # unzip 파일명 .zip # unarj 파일명 .arj
리눅스
파일 압축과 관리
tar [ 동작 ] [ 옵션 ] [ 묶음파일명 ] [filelist or dir] 압축명령이 아니며 여러 개의 파일을 한 개의
파일로 묶어주는 명령어 동작
새로운 묶음 묶인 파일을 풀어줌 ○ t : 묶음을 풀기 전에 묶인 경로를 보여줌 옵션 : ○ f ( 필수 ) : 묶음 파일명 지정 ○c: ○x:
원래 tar 는 tape 장치 백업이 기본 ( 생략시 tape 로 )
○ v : visual ○ z : tar + gzip (GNU only) 리눅스
파일 압축과 관리
< 예 > # tar cvf[z][j][Z] httpd.tar[.gz][.bz2][.Z] ./httpd ○ 생성 ○ [z] : 생성 + gzip 압축 ○ [j] : 생성 + bzip2 압축 ○ [Z] :
생성 + compress 압축
# tar tvf httpd.tar :
확인
# tar xvf[z][j][Z] httpd.tar[.gz][.bz2][.Z] ○ 풀기 ○ [z] : gzip 압축해제 + tar 풀기 ○ [j] : bzip2 압축해제 + tar 풀기 리눅스
파일 압축과 관리 <
예 >
원본 파일 퍼미션을 유지한 채로 묶은 파일을
압축 해제 후 풀기 ○ # tar xvfpz httpd.tar.gz
일정한 용량으로 압축후 풀기 ○ # tar cvfpz - /httpd | split -b 10m - httpd.tar.gz ○ # cat httpd.tar.gz* | tar xvfpz -
리눅스
파일 위치 검색
find [ 경로 ] [ 옵션 ] [ 조건 ] [action] 옵션 ○ -name( 파일패턴 ), -user( 소유자 ), -newer( 전 , 후 ), -perm( 허가권 ), -type( 파일형식 ) action ○ -print(GNU 는
실행명령 )
○ ○ ○ ○
# find # find # find # find
디폴트 ,Unix 는 필수입력 ), -exec( 외부
/etc –name “*conf*” / -user woo ~ -perm 644 . -name “*tar*” -exec rm -f {} \;
find 의
결과가 각하면 됨 .
{} 안으로
들어감 , “\;” 는 관례적 필수로 생
○ # find / -type f \( -perm -0400 -o -perm -0200 \) -exec ls -lg {} 리눅스
파일 위치 검색 which
< 실행파일명 >
PATH 에 설정된 디렉토리만 검색 절대경로를 포함한 위치 검색
whereis
< 실행파일명 >
실행파일 및 소스 , 맨페이지 파일까지 검색
리눅스
파일 위치 검색
locate < 파일명 > 미리 생성된 모든 파일 경로에 대한 데이터베
이스를 이용하여 검색 매우 빠르고 유용 새로 설치된 파일들이 등록되어 있지 않을 때 는 찾을 수 없음 파일정보에 대한 데이터베이스 갱신이 매우 중요 ○ # update -f “nfs,smfs” -e “/tm, /var/tmp,/usr/tmp”
○ 수시로 updatedb 를 돌려 파일정보 갱신 crontab 에 등록하여 자동으로 구동시킴 리눅스
파일 위치 검색 grep
[ 옵션 ] < 패턴 > [files…] 파일내에서 지정한 패턴과 일치하는 패턴이
있는 라인 출력 옵션 ○ -n( 행번호가 같이 출력 )
-i( 대소문자 구분 안함 ) -v( 패턴이 포함되지 않는 라인 출력 ) ○ # grep -n log /etc/* /etc/ 폴더에서 log 라는 단어가 포함된 파일과 라인 출
력
리눅스
리눅스 명령어
리눅스
리눅스 명령어
리눅스
리눅스 명령어
리눅스
리눅스 명령어
리눅스
리눅스 명령어 정리 http://blog.naver.com/kth8832/100023007625
리눅스