취소

커뮤니티

가이드

서포트

전체

Terminal 사용되는 명령어 입니다.

시스템 종료 명령어
shutdown 시스템 종료
-h now / halt / init 0 시스템 종료
-h +10 10분 후 종료, h:halt
-r 22:00 오후 10시에 재부팅, r:reboot
-c 예약된 shutdown명령 취소
-k now 종료 메세지는 보이나 종료 안됨
-r now /reboot /init 6 재부팅
logout / exit 로그아웃
init 명령어 런레벨(Runlevel) /etc/inittab 에 지정되어 있음
init 0 종료모드
1 단일 사용자 모드(시스템 복구시 사용)
2 NFS 없는 다중 사용자 모드
3 텍스트 모드의 다중 사용자 모드
4
5 x윈도우 모드의 다중 사용자 모드
6 재부팅 모드
vi 명령모드 -> 입력모드
vi i 커서 위치에서 입력 모드 변경
a 커서 위치 우측 한 칸에서 입력 모드 변경
s 커서 문자를 지우고 입력 모드 변경
x 한 문자만 지우기
del 커서 위치 문자 삭제
dd 한 줄 잘라내기
15dd 15줄 잘라내기
yy 현재 커서 라인 복사
15yy 15줄 복사
dw 한 줄 잘라내기
15dw 15줄 잘라내기
p 현재 커서의 아랫 줄에 붙여넣기
P 현재 커서가 있는 줄에 붙여넣기
u 되돌리기
:! [command] 멀티태스킹 기능
:e [filename] 파일열기
:q 종료[변경 없음]
:q! 강제 종료[변경 무시]
:w 저장
:wq 저장 후 종료
x : == wq vi 편집기 종료
x : == w vi 편집기 종료
"Ctrl + f" 아래 화면 페이지 이동
"Ctrl + b" 위의 화면 페이지 이동
G 파일의 제일 마지막으로 이동
gg(Shift+g) 파일의 가장 처음으로 이동
80G 파일의 80번째 줄로 이동
r 한 문자만 변경
R Replace
set nu 줄 번호 보이기
set nonu 줄 안보이기
set ts = 4 Tab 키의 공백 넓이를 지정 (기본값: 8)
vi !/.exrc set ts=4 등의 환경설정 저장
new [filename] 화면 분할 기능
"Ctrl + w + w" 화면간 이동
find ./ [찾을 문자열] 현재 디렉토리에서 검색
find ./ -name "*.txt" -print | xargs grep [찾을 문자열] *.txt에서 문자열 검색
:/long 아래로 long이라는 문자열 찾기
:?long 위로 long이라는 문자열 찾기
tip) vi 에디터 비정상적 종료시 대처법
예제
vi abc.log 를 비정상적으로 종료시
1. abc.log.swp(임시 Swap File)생성 2. ls -a 로 파일 확인하고 "rm .install.log.swp"으로 삭제
man 명령어
man(manual) name 명령어의 이름과 간단한 설명
synopsis 사용법을 개괄적으로 보여줌
description 해당 명령어의 자세한 설명
option 해당 명령이 사용하는 옵션들의 설명
environment 해당 명령이 사용하는 환경 변수들에 대한 설명
examples 해당 명령을 사용하는 예제
files 명령과 관련되 명령에서 사용하는 파일들을 설명
see also 해당 명령과 관계된 다른 설명 및 관련 문서를 보여줌
warnings 해당 명령을 사용하면서
발생할 수 있는 문제점들을 설명
diagnostics 해당 명령을 사용하면서
발생하는 각종 오류 메시지들에 대한 설명
bugs 해당 명령의 알려진 버그에 대한 설명
genisoimage iso 생성
ex) genisoimage -r -J -o ㅁ.iso /boot
-r -J 8글자 이상의 파일명 및 대소문자를 구분해서 인식
-o 출력할 파일을 위한 옵션
a .is o 생성될 iso 파일명
/boot 포함될 파일 또는 디렉토리
cdrecord cd로 굽기
growisofs DVD로 굽기
ls dos의 "dir"
현재 디렉토리 목록
/usr/bin /usr/bin 의 디렉토리 목록
-a 디렉토리 목록(숨김파일 포함)
-I 디렉토리 목록 자세히
*.txt txt파일 보여줌
-l /usr/bin/a* /usr/bin/ 디렉토리에서 앞글자가 a인 목록
cd 디렉토리 이동
사용자의 홈 디렉토리로 이동
~root root 사용자의 홈 디렉토리로 이동
.. 상위 디렉토리로 이동
/usr/bin /usr/bin 디렉토리로 이동(절대경로)
../usr/bin 상대경로로 이동
pwd 현재 작업중인 디렉토리 경로 출력
rm 삭제(권한 요구)
a.txt 삭제(내부적으로 rm -i로 연결)
-i a.txt 삭제 시 확인을 물어본다
-r a a 디렉토리 삭제
-rf a a 이하 전부 강제 삭제
rf 포멧
cp 복사
a.txt b.txt a.txt를 b.txt 파일로 복사
-r a b 디렉토리 복사
touch 크기 0 파일 생성 존재시 수정 시간 변경
a.txt a.txt라는 크기 0 파일 생성
mv 파일 이름 변경 및 위치이동
a b c d a, b, c 파일을 d 디렉토리로 이동
a.txt b.txt 이름 변경
mkdir 새로운 디렉토리 생성
a 현재 디렉토리 아래 a 디렉토리 생성
-p a/b 현재 디렉토리 아래 a/b 디렉토리 생성
rmdir 디렉토리 삭제
a 현재 디렉토리 아래 a 디렉토리 삭제
cat 텍스트 작성 파일 화면에 출력
a.log a.log 텍스트 파일 화면에 출력
head 텍스트 파일 앞 10행 출력
a.log a.log파일 앞 10행 출력
fail 텍스트 파일 뒤 10행 출력
a.log a.log파일 뒤 10행 출력
more 텍스트 파일 페이지 단위 출력
"space" 다음페이지
"b" 앞 페이지
"Q" 뒷 페이지
+100 a.log a.log파일 100행 부터 출력
less more의 확장
"pagedown", "pageup" 사용가능
file 파일의 종료 표시
clear 명령창 청소
사용자 및 그룹 관련 명령어
useradd (or) adduser 실행시 /etc/passwd, /etc/shadow, /etc/group에 새로운 행 추가
newuser
-u a newuser a 라는 이름의 유저 추가
-g mygroup newuser mygroup에 포함된 newuser 생성
-d /newhome newuser 홈 디렉토리가 newhome인 newuser 생성
-s /bin/csh newuser 기본 셀 /bin/csh 지정
passwd 비밀번호 지정 및 변경
newuser newuser의 비밀번호 지정 및 변경
usermod useradd와 사용법 동일, 사용자 속성 변경
-g root newuser newuser의 그룹을 root 그룹으로 변경
userdel 사용자 삭제
newuser newuser 삭제
-r newuser
change 사용자 암호 주기적 변경
-l newuser newuser에 설정된 사항 확인
-m 2 newuser 설정암호 최소 일자(2일)
-M 30 newuser 설정암호 사용가능 일자(30일)
-E 2013/12/12 newuser 2013/12/12에 암호 만기
-W 10 newuser 만기 10일 부터 경고 메세지 출력
groups 사용자가 속한 그룹 표시
groupadd 새로운 그룹 생성
newgroup newgroup이란 이름의 새로운 그룹 생성
-g 555 newgroup 그룹 ID가 555인 newgroup생성
groupmod 그룹 속성 변경
-n newgroup mygroup newgroup 이름을 mygroup으로 변경
groupdel 그룹 삭제
newgroup newgroup 그룹을 주요 그룹으로 지정한 사용자가 없을 때 사용 가능
gpasswd 그룹의 암호를 생성하거나 관리를 수행
newgroup newgroup의 암호지정
-A newuser newgroup newuser를 newgroup의 관리자로 지정
-a user1 newgroup user1을 사용자로 추가
-d user1 newgroup user1을 사용자에서 제거
RPM
-Uvh [package file] 설치
-U 설치되어 있지 않다면 'i'와 같이 설치, 설치되어 있다면 업데이트
-v 설치 진행 상황 확인
-h 설치 진행 과정을 화면을 출력
-e [package name] 삭제
↓ 이미 설치된 패키지 질의
-qa [package] 설치되었는지 확인
-qf [파일 절대 경로] 어느 패키지에 포함 된 것인지 확인
-ql [package] 어떤 파일이 포함되었는지 확인
-qi [package] 상세정보
↓ 설치되지 않은 패키지 질의
-qlp [package] 어떤 파일이 포함되었는지 확인
-qip [package] 상세정보
YUM
install [package] 패키지 설치
-y 무조건 yes로 선택하여 설치
install [rpm file] rpm 파일 설치
check-updata [package] 업데이트 가능한 목록 보기
updata [package] 패키지 업데이트, 없다면 설치
remove [package] 패키지 제거
info [package] 패키지 정보
localinstall [package] 로컬에서 설치(iso파일에서 설치)
groupinstall [package group] yum grouplist로 확인 후 통채로 설치
list [package] 패키지 리스트 출력
list all 모든 패키지 파일 출력
list mysql* mysql이 들어간 모든 패키지 파일 출력
provides [filename] 특정 파일이 어느 패키지에 들어있는지 보기
install --nogpgcheck [rpm file] GPG키 검사 생략
패도라에서 인증되지 않은 rpm파일은 설치시 GPG키 생략하고 설치됨
파일 압축, 묶기
bzip2 bz2로 압축하거나 풀기
[filename] 파일명.bz2로 압축
-d [filename.bz2] 파일명.bz2를 일반파일로 만든다
bunzip2 bzip2 -d와 동일
gzip gz으로 압축하거나 풀기
[filename] 파일명.gz로 만든다
-d [filename.gz] 파일명.gz를 일반파일로 만든다
tar 확장자명 tar로 묶거나 풀기
c 새로운 묶음
x 묶은 파일 풀기
t 묶음을 풀기 전 경로 표시
f 묶음 파일 명 지정
생략시 tape로 백업
v 과정 표시
z tar + gzip
j tar + bzip2
사용 예제
tar cvf a.tar
tar xvfj a.tar.bz2
tar xvfz a.tar.gz
파일 위치 검색
find [경로] [옵션] [조건] [action]
옵션
-user 소유자
-newer 전, 후
-perm 허가권
-size 크기
경로
-print 디폴트
-exec 외부 명령 실행
사용 예제
/etc -name "*.conf" /etc 에 확장자 conf 파일 검색
~ -perm 644 허가권이 644인 파일 검색
/bin -size +10k -size -100k 10kb~100kb인 파일 검색
~ -size 0k -exec ls -l { } \ 사용자 홈 디렉토리 하위에 파일 크기가 0인 파일 목록 상세히 출력
/home -name "*.swp" -exec rm { } \ /home 홈 디렉토리 하위에
확장자 swp파일 삭제
which [실행파일명] PATH에 설정된 디렉토리 검색 (절대 경로 포함)
whereis [실행파일명] 실행 파일 및 소스 man 페이지 파일까지 검색
locate [filename] updatedb 명령 이후 사용 가능
파일 목록 데이터베이스 검색
wine 설치하기 >> http://kltp.kldp.net/stories.php?story=00/08/11/9653999
시스템 설정
ststem-config-xxxx
yum -y install system-config-xxxx 패키지 업데이트
boot 초기 부팅 설정
data 날짜, 시간 설정
firewall 방화벽
keyboard 키보드
language 언어
lvm lvm설정
network 네트워크
printer 프린터
rootpassword root 비밀번호
service 서비스 가동/중지
users 사용자 설정
bind 네임 서버
display x 윈도우 환경 설정
httpd 웹 서버 설정
nfs NFS 서버 설정
samba 삼바 서버 설정
vsftpd FTP 서버 설정
CRON 주기적으로 반복되는 일 설정 -etc/crontab 파일
예제
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
04 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
분 시 일 월 요일 권한 실행명령(0~6 = 일~월요일)
AT 일회성 작업 예약 한 번 실행되고 소멸
예제
at 실행 후 #at <시간>, 완료시 ctrl+D, 확인 at-l, 취소 atrm <작업번호>
네트워크 관련 명령어
system-config-network
system-config-network-tui 텍스트 기반
service network (start/stop/restart/status)
ifup [device name]
ifdown [device name]
장치 작동/중지
ifconfig [device name] 해당 장치의 ip주소 설정 정보 출력
nslookup DNS 서버 작동 테스트
ping (IP/URL) 네트워크 응답 테스트
network 설정관련 파일 system-config-network 후
/etc/sysconfig/network 네트워크의 기본적인 정보가 설정된 파일
/etc/sysconfig/network-script/ifcfg-eth0(or ifcfg-eth1) 장치에 설정된 네트워크 정보 모두
/etc/resolv.conf DNS서버의 정보 및 호스트 이름이 들어있는 파일
/etc/hosts 호스트 이름 및 FQDN이 들어있는 곳
파이프, 필터, 리다이렉션
pipe 두 개의 프로그램을 연결해주는 연결통로
| 을 이용함
예제
ls -l /etc | more /etc에 파일이 너무 많아서 한페이지씩 봄
filter grep, tail, wc, sort, grep, awk, sed 등
예제
ps -ef | grep bash ps -ef 는 모든 프로세스 번호 출력하므로
bash라는 글귀가 들어간 프로세스만 출력
rpm -qa | grep bind 설치된 패키지중 bind라는 글자가 들어간 패키지만 출력
re-direction 표준 입출력 방향을 바꿈,
표준입력은 키보드, 출력은 모니터지만 이를 파일로 처리하고 싶을 때 주로 사용
예제
ls -l > aa.lst ls -l의 결과를 aa.lst 파일에 씀(orerwrite)
ls -l >> aa.lst 위와 같지만 append
sort < aa.lst aa.lst 파일을 정렬해서 화면에 출력
sort < aa.lst > bb.lst aa.lst를 정렬해서 bb.lst에 쓴다.
프로세스 관련 명령어
ps 현재 프로세스 상태 확인
ps -ef | grep [process name]
kill 프로세스 강제 종료
"-9" 옵션을 함께 사용하면 무조건 종료
kill -9 [process number]
데몬(Daemon) ~= 서비스(Service) 눈에는 보이지 않지만
현재 시스템에서 활동중인 프로세스
(백그라운드)
데비안 패키지 명령어
apt-get 소프트웨어 패키지의 설치, 제거, 업그레이드, 전체 OS의 업그레이드에 사용하는 커맨드 라인 프로그램
update 패키지 리스트 업데이트
install [package name] 패키지 설치
단 .deb같은 인터넷에서 다운받는 패키지는 dpkg라는 명령어 이용
install [package name] --no-upgrade 설치된 패키지가 업그레이드 되는 걸 방지하면서 새 패키지 설치
install [package name] --only-upgrade 새 패키지가 설치되는 걸 방지하면서 이미 설치된 패키지 업그레이드
upgrade 설치된 패키지 업그레이드
dist-upgrade 설치된 시스템패키지 포함한 패키지를 업그레이드
clean 다운받은 패키지 설치 파일 정리
autclean 설치된 패키지중 사용되지 않는 패키지를
자동으로 선택하여 삭제
remove 패키지 삭제 dpkg를 통해 설치된 패키지 포함
autoremove [package name] 내려받은 패키지 파일(.deb) 중 이젠 못 받을정도로 쓸못없는 것들만 로컬저장소에서 삭제하여 디스크 공간 확보
autoremove 과거에 다른 패키지의 의존성 때문에
자동으로 설치했지만 지금은 필요없는 패키지 제거
purge [package] 패키지 완전 삭제
이때는 remove와 같으나 해당 패키지의 설정파일들도 삭제
--download-only source [package name] 패키지의 소스코드만 내려받기
--compile source [package name] 패키지의 소스를 내려받아 압축을 풀고 컴파일
download [package] 패키지를 현재 디렉토리에
내려받기만 하고 설치하지 않기
changelog [package] 패키지의 변경사항 확인
check 패키지 캐시를 업데이트하고의존성에 문제 없는지 확인
build-dep 해당 패키지의 소스를 컴파일 하기 위해
필요한 패키지 설치
add-apt-repository [add repo link] 데비안 레포를 추가함
apt-cache apt 소프트웨어 패키지 캐시를 검색하기 위한
커맨드 라인 도구
소프트웨어 패키지 검색, 패키지 정보 수집, 데비안 기반 시스템에 설치 할 수 있는 패키지 검색에 사용
pkgnames 사용 할 수 있는 모든 패키지 출력
search [package name] 검색어와 연관된 패키지 이름과 설명 출력
show [package name] 패키지 정보 확인
showpkg [package name] 특정 패키지 의존성 확인
stats 캐시 현황 확인