시작&종료
#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:그룹에 속한 사용자명
'우분투 공부중 > Command' 카테고리의 다른 글
Oracle java7 설치 (0) | 2013.10.23 |
---|---|
우분투에서 자신의 공인아이피 보는법 (0) | 2013.10.14 |
apt-get remove 사용 (0) | 2013.10.12 |
ssh서버 설치 (0) | 2013.09.27 |
vim 설치 & 설정 (0) | 2013.09.27 |