리눅스 명령어 모음

2009. 4. 5. 14:57

REDHAT FEDORA 리눅스서버&네트워크(뇌를 자극하는) 요약
http://book.daum.net/bookdetail/book.do?bookid=KOR9788979143416

http://fedoraproject.org/


시작&종료
#shutdown -h now, halt, init 0 : 시스템 종료
#shutdown -h +10m : 10분 후에 종료 (h : halt)
#shutdown -r 22:00 : 오후 10시에 재가동 (r : reboot)
#shutdown -c : 진행중인 shutdown 취소 (c : cancel)
#shutdown -k now : 현재 접속된 사용자에게 종료된다는 메시지만 보내고, 실제 종료하지 않음.

init  : 런레벨(Runlevel) 시스템이 가동되는 방법
0번 : 종료 모드
1번 : 단일 사용자 모드 (시스템 복구 시에 사용)
2번 : 사용 안함
3번 : 다중 사용자 모드 (텍스트 로그인)
4번 : 사용 안함
5번 : 다중 사용자 모드 (X 윈도우 로그인)
6번 : 재가동 모드 (재부팅)
컴퓨터 부팅시 런레벨 : "/etc/inittab" 파일에 정의 됨.
"id:5:initdefault:" 숫자 5는 runlevel 5번을 뜻함. 변경 가능

logout, exit : 로그아웃

root 사용자 로그인시 읽어 들이는 환경 설정 파일 순서
1. /etc/profile
2. <사용자 홈 디렉토리>/.bash_profile
3. <사용자 홈 디렉토리>/.bashrc
4. /etc/bashrc
"." 는 숨김 파일을 의미. "ls -a" 로 확인 가능

가상 콘솔 : 리눅스는 7개의 가상 콘솔 제공. 한 컴퓨터에서 모니터 7개 달려 있는 효과.
ctrl + alt + F1 ~ F7 으로 이동
"/etc/inittal"에 정의됨.
"/sbin/mingetty" 라는 프로그램이 각각의 가상 콘솔에 "login:" 프롬프트를 뜨게 하는 역할을 함
"x:5:respawn: /etc/X11/prefdm -nodaemon" : 런레벨이 5일 경우 X 윈도우로 부팅 시 로그인 창 뜨도록 설정

adduser <사용자명> : 사용자를 생성
adduser -d <홈 디렉토리> <사용자명> : 별도로 사용자의 홈 디렉토리를 지정
adduser -u <사용자 id> <사용자명> : 사용자 id를 순차 번호가 아닌 임의로 지정
adduser -g <그룹명> <사용자명> : 별도의 그룹을 지정
adduser -s <셸 파일명> <사용자명> : /bin/bash 외의 별도의 셸을 지정

passwd <사용자명> : 생성한 사용자의 비밀번호 지정
passwd : 자신의 비밀번호 변경

userdel : 사용자 삭제
userdel -r <사용자명> : 사용자가 사용하던 홈 디렉토리까지 삭제

usermod -s /bin/false : 사용자가 로그인 할 수 없게 만든다.
usermod -s /bin/bash : 다시 로그인 할 수 있게 함.
groupdel : 그룹 삭제

Kernel 관련
$finger @finger.kernel.org : 현재 커널의 최신 버전을 알아 본다.
http://www.kernel.org/kdist/finger_banner 에서 확인 가능.

관리자 권한
$su : root 사용자의 권한을 얻는다.
명령 프롬프트가 "#" 이면 root 사용자, "$"이면 일반 사용자임.
 
vi 에디터 명령어
i : 현재 커서 앞에서부터 입력
a : 현재 커서 뒤에서부터 입력
h (←), j(↓), k(↑), l(→)
ctrl + f : 다음 화면으로 이동 page down
ctrl + b : 전 화면으로 이동 page up
x : 커서가 있는 문자 삭제
X : 커서가 있는 문자의 앞문자 삭제
dd : 현재 커서의 행 삭제
숫자 + dd : 현재 커서부터 숫자만큼의 행 삭제
yy : 현재 커서가 있는 라인을 복사
숫자 + yy : 현재 커서부터 숫자만큼의 행을 복사
p : 복사한 내용을 현재 라인 이후에 붙여넣기
P : 복사한 내용을 현재 라인 이전에 붙여넣기
/텍스트 : "텍스트"의 내용을 검색
n : 다음 찾은 곳으로 커서 이동
":set number" : 행 번호 표시
비정상 종료된 파일의 스왑(Swap) 파일명 : "." + 파일명 + ".swp"

"man <명령어>" : 매뉴얼을 본다.
"man [섹션 번호] 명령어" : man 페이지는 섹션을 1~9까지 9개로 나눔. ex) man 1 ls
page down / page up 또는 Space / B
/단어 : 단어 검색, n

mount -t <파일시스템 타입> <장치 파일> <마운트 포인트> :

df -T : mount 된 장치 확인

ls : 해당 디렉토리에 있는 파일의 목록을 나열
ls -a : 현재 디렉토리의 목록 (숨김 파일 포함)
ls -l : 현재 디렉토리의 목록을 자세히 보여줌
ls *.txt : 확장자가 txt인 목록을 보여줌
ls -il : inode 번호 젤 앞에 출력
ls -l /dev | more

cd : 디렉토리 이동
cd ~root : root 사용자의 홈 디렉토리로 이동

pwd : 현재 디렉토리의 전체 경로 출력(print working directory)

rm : 파일이나 디렉토리 삭제
rm -i abc.txt : 삭제 시 확인
rm -r abc : 디렉토리 삭제
rm -rf abc : abc 디렉토리와 그 하부를 강제로 전부 삭제

cp : 파일이나 디렉토리 복사
cp -r abc cba : 디렉토리 복사

touch : 크기가 0인 새 파일을 생성하거나 이미 존재하는 파일인 경우 수정 시간을 변경
touch abc.txt : 파일이 없을 경우엔 abc.txt라는 빈 파일 생성하고, abc.txt가 있을 경우엔 파일의 수정 시간을 현재 시각으로 변경

mv : 파일과 디렉토리의 이름 변경이나 위치 이동 시 사용
mv abc.txt bcd.txt : 이름 변경

mkdir : 새로운 디렉토리 생성
mkdir -p def/fgh : 현재 디렉토리 아래에 def 디렉토리 생성하고 그 안에 fgh 디렉토리 생성

rmdir : 디렉토리 삭제

cat : 텍스트로 작성된 파일을 화면에 출력
cat install.log

more : 텍스트로 작성된 파일을 화면에 페이지 단위로 출력
Space 키는 다음 페이지, B 는 앞 페이지
more install.log

whoami : 현재 사용자가 누구인지 본다.

chmod : 파일 허가권 변경
chmod 777 install.log : install 모든 사용자 읽기,쓰기,실행 가능
소유자(u), 그룹(g), 그외 사용자(o)
r(read)w(write)x(execute)
chmod u+x <파일명> : 소유자(u)에게 실행(eXecute) 권한 허가(+)
chmod g-rx <파일명> : 그룹(g)에게 읽기(r),실행(eXecute) 권한 제거

chown : 파일의 소유권을 바꾸는 명령어
chown <새로운 사용자명> [.<새로운 그룹명>] <파일명>
chown fedora install.log : install.log 파일의 소유자를 fedora로 바꾸라
chown fedora.fedora install.log : 파일의 그룹도 fedora 로 바꾸라.

ln <링크 대상 파일명> <링크 파일명> : 하드 링크를 생성
ln -s <링크 대상 파일명> <링크 파일명> : 소프트 링크 파일

rpm (Redhat Package Manager)
Fedora/RPMS/ 많은 rpm 존재
<패키지 이름>-<버전>-<릴리즈 번호>.<아키텍처>.rpm
rpm -Uvh <패키지 파일> 설치
-U : 기존에 패키지가 설치되지 않았다면 i와 같이 일반적인 설치, 기존에 패키지가 설치되어 있다면 업그레이드
v : 설치 과정의 확인
h : 설치 진행 과정을 #마크로 화면에 출력함.
rpm -e <패키지 파일> : 삭제. e : Erase
rpm -qa <패키지 이름> : 시스템에 패키지가 설치되었는지 확인
rpm -qf <파일의 절대 경로> : 이미 설치된 파일이 어느 패키지에 포함된 것인지 확인
rpm -ql <패키지 이름> : 특정 패키지에 어떤 파일들이 포함되었는지 확인
rpm -qi <패키지 이름> : 설치된 패키지의 상세 정보

yum (Yellowdog Update Manager)
YUM : 인터넷을 통하여 Fedora의 rpm 파일이 저장된 저장소(Repository)에서, 설치하려고 하는 RPM 파일과 해당 RPM 파일이 의존성을 가지는 다른 RPM 파일까지 모두 다운로드한 후에 자동으로 설치 해 줌.
저장소(Repository)의 URL 은 /etc/yum.repos.d/ 디렉토리 파일에 저장됨
yum install <패키지 이름>
yum -y install <패키지 이름> : 묻는 부분에서 무조건 "yes"를 입력한 것으로 간주
yum check-update : 시스템에 설치된 패키지 중에서 업데이트가 가능한 패키지의 목록을 출력
yum update <패키지 이름> : 업데이트. yum install <패키지 이름> 을 실행하면 설치된 패키지는 자동 업데이트
yum remove <패키지 이름> : 삭제
yum info <패키지 이름> : 정보 확인
yum localinstall <패키지 이름> : 현재 디렉토리에 있는 rpm 파일을 설치

gzip : 확장명 gz 으로 압축하거나 풀어줌
gzip -d "<파일명>.gz" : "<파일명>.gz" 압축 파일을 일반 파일인 "<파일명>"으로 만들어줌. d(Decompress)

gunzip : 확장명 gz의 압축을 풀어줌

bzip2 : 확장명 bz2로 압축하거나 풀어줌
bzip2 -d "파일명.bz2" : "<파일명>.bz2" 압축 파일을 일반 파일인 "파일명> 으로 만들어줌.

bunzip2 : 확장명 bz2의 압축을 풀어줌

tar : 확장명 tar로 묶음 파일을 만들어 주거나 묶음을 풀어줌
동작 : c(새로운 묶음), x(묶인 파일을 풀어줌), t(묶음을 풀기 전에 묶인 경로를 보여줌)
옵션 : f(필수, 묶음 파일명 지정), v(visual 파일이 묶이거나 풀리는 과정을 보여줌), z(tar + gzip), j(tar + bzip2)
tar cvf xinetd.tar /etc/xinetd.d/ : 생성
tar cvfz xinetd.tar.gz /etc/xinetd.d/ : 생성 + gzip 압축
tar cvfj xinetd.tar.bz2 /etc/xinetd.d/ : 생성 + bzip2 압축
tar tvf xinetd.tar : 확인
tar xvf xinetd.tar : 풀기
tar xvfz xinetd.tar.gz : gzip 압축 해제 + tar 풀기
tar xvfj xinetd.tar.bz2 : bzip2 압축 해제 + tar 풀기

find [경로][옵션][조건][action]  : 위치 검색
[옵션] -name, -user(소유자), -newer(전,후), -perm(허가권)
[action] -print (GNU는 디폴트, 유닉스는 필수 입력), -exec
find /etc -name "*.conf" : /etc 디렉토리 하위에 확장명이 ".conf" 인 파일 검색
find /home -user fedora : /home 디렉토리 하위에 소유자가 "fedora" 인 파일 검색
find ~ -perm 644 : 현재 사용자의 홈 디렉토리 하위에 허가권이 644인 파일 검색

which <실행 파일 이름> : PATH에 설정된 디렉토리만 검색. 절대 경로를 포함한 위치 검색

whereis <실행 파일 이름> : 실행 파일 및 소스, man 페이지 파일까지 검색

locate <파일 이름> : 매우 빠르고 유용. 새로 설치된 파일들이 등록되어 있지 않을 때는 찾을 수 없음.

cron : 주기적으로 반복되는 일을 자동적으로 실행될 수 있도록 설정해 놓는 것
데몬(서비스) crond, 관련 파일 : /etc/crontab
분,시,일,월,요일,권한,실행 명령 순

at : 일회성 작업을 예약. cron 은 주기적으로 반복
at 3:00am tomorrow : 내일 새벽 3시
at 11:00pm January 30 : 1월 30일 오후 11시
at now + 1 hours : 1시간 후
at>프롬프트에서 예약 명령어 입력 후 enter
완료되면 ctrl + D
확인 at -l
취소 atrm <작업번호>

ipconfig <장치이름> : 해당하는 장치의 IP 주소 설정 정보를 출력해 준다.

nslookup : DNS 서버의 작동을 테스트 하는 명령어

ping : 해당 컴퓨터가 네트워크에서 응답하는지를 테스트

파이프(pipe) : 두 프로그램을 연결해주는 연결 통로 "|"
ls -l /etc | more : 한 페이지씩 ls -l /etc 가 실행

필터(filter) : 필요한 것만 걸러주는 명령어. (ex) grep, tail, wc, sort, awk, sed 등 )
ps -ef | grep bash : "bash"라는 글자가 들어간 프로세스만 출력
rpm -qa | grep bind : 설치된 패키지 중에서 "bind"라는 글자가 들어간 패키지 출력

리다이렉션(redirection) : 표준 입출력의 방향을 바꿔줌. 표준 입력은 키보드, 표준 출력은 모니터이지만 이를 파일로 처리하고 싶을 때 사용
ls -l > aa.lst : ls -l 의 결과를 화면에 출력하지 말고, aa.lst 라는 파일에 쓰도록 한다. aa.lst 가 있으면 덮어쓴다.
ls -l >> aa.lst : 위와 동일. 그러나 aa.lst 기존 내용이 있으면 내용에 이어 씀.
sort < aa.lst : aa.lst 파일을 정렬해서 화면에 출력
sort < aa.lst > bb.lst : aa.lst 파일을 정렬해서, bb.lst 파일에 쓴다.

ps : 현재 프로세스의 상태를 확인
ps -ef | grep <프로세스 이름>

kill : 프로세스를 강제로 종료
kill -9 <프로세스 번호> : 무조건 프로세스 종료

pstree : 부모 프로세스와 자식 프로세스의 관계를 트리 형태로 보여줌.

jobs : 현재 백그라운드로 가동중인 작업 확인
fg <작업 번호> : 포그라운드 프로세스로 실행
gedit & : &는 백그라운드로 프로세스 실행

소스 컴파일 : 프로그램 소스를 gcc 컴파일러로 직접 컴파일해서 사용한다는 의미
configure : 환경 설정. 설치될 리눅스 환경이 다르고, 용도도 다르므로 자신이 원하는 다양한 설치 옵션을 지정. 결과는 Makefile 이라는 파일이 만들어 짐.
make : 실제 소스 파일을 컴파일 하는 과정. configure에서 만들어진 Makefile을 이용해서 컴파일
make install : 컴파일이 완료된 실행 파일 및 관련 파일들을 해당 디렉토리에 설치함.


데몬(daemon) : 서비스(service) 또는 서버 프로세스. 웹 서버, 네임 서버, DB 서버 등의 프로세스를 지칭하여 데몬이라 함.

Standalon 타입 데몬 : 독자적으로 프로세스가 구동되어 서비스를 제공. (웹서버 (httpd), DB서버(mysqld), 센드메일 서버(sendmail). "/etc/init.d/" 디렉토리에 실행 스크립트 파일 있다.
메모리에서 항상 구동되어야함.
service <서비스명> [실행옵션] 으로 실행 가능.
/etc/init.d/<서비스명> [실행옵션] 과 동일

inetd 타입 (xinetd 타입) 의 데몬 : 자신이 직접 서비스를 하지 않고, 외부에서 특정 서비스를 요청할 경우에 자신에게 종속된 데몬을 구동시킨 후 해당 데몬을 서비스 하도록 연결 시킴. 가끔 사용되는 데몬. "/etc/xinetd.d/" 디렉토리 안에 있음. xinetd 데몬이 서비스하는 포트는 "/etc/services" 파일에 설정.

GRUB 특징
부트 정보를 사용자가 임의로 변경하여 부팅 가능. 부트 정보가 올바르지 않더라도 수정하여 부팅 가능.
다른 여러 가지 운영체제와 멀티 부팅이 가능
대화식 설정을 제공해서 커널의 경로 및 파일명만 알고 있으면 부팅 가능
/boot/grub/grub.conf, /etc/grub.conf 는 링크 파일


/etc/passwd
사용자 이름:비밀번호:사용자 ID:사용자가 소속된 그룹 ID:전체 이름:홈 디렉토리:기본 셸

/etc/shadow : 비밀번호 저장

/etc/group
그룹명:비밀번호:그룹 id:그룹에 속한 사용자명

'배움 > O.S' 카테고리의 다른 글

Thread 장단점  (0) 2009.04.08
리눅스 명령어 모음  (0) 2009.04.05
Posted by 그로씽
BLOG main image
블로그 잠정 중단! by 그로씽

카테고리

두근두근 (110)
사색 (3)
각인 (2)
변화 (34)
감상 (9)
어휘 (16)
명언 (6)
계획 (7)
웃음 (0)
흥미 (11)
웰빙 (14)
배움 (4)
비밀 (1)
일정 (0)

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :