본문 바로가기

개발/App Developer

리눅스 쬐금


==========================================
★디렉토리 복사
==========================================
※cp -R 원본^대상
=cp /work/bb.txt /root
=cp bbb.txt /root

※현재 디렉토리에 복사한다
=cp /work/bbb.txt .

※이름변경해서 복사(aaa로 변경해서복사..)
=cp /work/bbb.txt /root/aaa.txt
===========================================
★디렉토리이동(복사와 동일)
===========================================
※mv 원본파일(디렉토리) 대상디렉토리
=mv /work/aaa.txt /root

※디렉토리이동하고 이름 변경
=mv bbb bsb =>현재폴더내에서 이동하구 이름바꿈
.
===========================================
★링크
===========================================
※ln 원본파일 대상파일
ln a.txt b.txt
cp a.txt c.txt

a.txt
b.txt
c.txt
파일크기는 같지만

a와 b는 데이터연동이되고
a와 c는 데이터연동이 안된다

a의내용을 고치며 b 도 수정되고
a를 고친다고 c가 수정되지는않는다

주로 환경설정파일을 백업할때 쓴다

===========================================
★symbalic링크 == 윈도우 바로가기아이콘
===========================================
ln -s 원본파일(폴더) 링크파일
=ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 eth0

===========================================
★vi편집기
===========================================
:
※저장
:w
:w! ==강제저장

※다른이름으로 저장후 종료
:q 파일명

※종료
:q 파일명
:q! 강제종료(저장하지않고종료)

※불러오기
:e 파일명
:e! 파일명 ->강제불러오기

※커서
h좌 j위 k아래 l오른쪽
숫자 0 ->home
$ -> end
[[ ->파일의 처음
]] ->파일의 마지막

※기타
i->입력모드
o->한줄개행

:숫자 숫자에해당하는 라인이동
set nu 라인넘버표시

※삭제
숫자x 숫자만큼삭제
숫자dd 숫자만큼줄삭제

x 한글자삭제
dd 한줄삭제

※복사 및 붙여넣기
yy  ->한행복사
숫자yy  ->숫자만큼행복사

p ->붙여넣기

v 블록지정
=y 복사
=x 잘라내기
=d 삭제

r 파일명 다른파일의 내용붙여넣기


※명령 취소
u 명령취소

※검색
:/검색단어
=대소문자 구분을해야함

n 다음찾기

※치환
:범위s/변경단어/대치단어/옵션
=옵션
g 행전체적용
c 변경유무확인
ex)
:10,15s/mbc/MBC/gc
:%s/sbc/kbs/gc

 


===================================
mkdir폴더만들기
touch 파일만들기
rmdir폴더지우기
rm -fr 상관없이 지우기
cat 파일 ==> 파일보기
cat > 파일 ==> 내용삽입
cat >> 파일 ==> 내용추가
===================================

===========================
Vi비정상종료시 복구방법
===========================
비정상종료시(편집상태에서 컨트롤+Z) .swp파일이 생성된다
복구할지 뭐할지 정하고
.swp파일을 삭제한다

※rm -rf .파일명.swp
rm -rf .abc.swp

 

===========================
리눅스기본컴파일(c언어)
===========================
gcc -o -파일명.bin -파일명.c
./파일명.bin

 

=============================
runlevel부팅
=============================

/etc/inittab 에 자세히나옴
0=halt
1=user
2=consol(network x)
3=consol(network x)
4=사용안함
5=x윈도
6=reboot


부팅시 E키 두번째선택 한칸뛰고 숫자
B누르면 선택사항 부팅

or

=init 부팅숫자

※x윈도우가기
=startx
※x윈도우종료
ctrl+alt+backspace

※비번바꾸기
passwd
==============================
용량보기
==============================
=du 폴더
=du -sh 폴더
s는 폴더 보구 h는 메가단위로 나옴

※파티션용량보기
=df -h


==============================
검색하기
==============================
ls -l /etc | grep conf
=etc폴더내에서 conf이름이 들어간것만 찾기

※폴더찾기
=grep 단어 파일명

※파일찾기
=find 검색폴더 검색옵션 검색조건 검색후명령
find /root -type f -print
type은 파일형식 f는 파일 print는 생략가능
find /root -name *txt
*txt 는 확장자


==============================
압축(여러파일을 압축하려면 파일통합후 압축해야함)
1.파일하나만 압축가능
2.파일<-->압축파일 변환
==============================

※파일통합하기
=tar cvf 통합파일.tar 대상
※파일통합풀기
=tar xvf tar파일 -C 해제폴더


※압축하기(3가지)
=conpress 파일명
=gzip 파일명
=bzip2 파일명

※압축풀기
=unconpress 파일명.Z
=gunzip 파일명.gz
=bunzip2 파일명.bz2

※압축 통합 한번에 하기
=tar cvZf 압축파일명 대상
=~.tar.Z

※압축 통합 한번에 하기
=tar cvzf 압축파일명 대상
=~.tar.gz

※압축 통합 한번에 하기
=tar cvjf 압축파일명 대상
=~.tar.bz2

 

===============================
프로그램 설치하기(usr에 설치됀다)
===============================
※설치
=rpm -ivh rpm파일(~.rpm)

※업그레이드
=rpm -Uvh rpm파일(~.rpm)

※프로그램 검색
=rpm -qa
=rpm -qa | grep 파일명

※프로그램 삭제
=rpm -e 프로그램이름(파일명x)

※의존성 문제 제거 하고 억지로 설치..
=rpm -ivh --force rpm파일
=rpm -e --nodeps rpm파일

ex)
rpm -ivh xrally-1.1-1.1586.rpm
xrally
rpm -e xrally

--------------------------------
#의존성문제에 관여되지않는다#
--------------------------------
※목록확인
=yum list

※설치
=yum install 프로그램

※업데이트
=yum update 프로그램

※삭제
=yum remove 프로그램

--------------------------------
#의존성문제에 관여되지않는다#
--------------------------------
source 파일(~c,~h)다운로드
압축파일->해제

./configure --옵션-값...
make
make install

삭제는 rm -rf로

ex)
tar -xvjf xrally-1.0.tar.bz2
cd xrally
./configure --disable-sound
make
make install
./xrally
rm -rf

 

=================================
파티션생성
=================================
fdisk 장치파일명
=fdisk /dev/sda
p = 파티션 확인
n = 파티션 생성
d = 파티션 삭제
t = 파티션 성질 변경
w = 변경 적용후 종료
q = 변경 취소후 종료
※파티션 변경후 변경적용후 종료를한다 그후 reboot!

※파티션 초기화(Format)
mkfs -t 파일시스템 장치파일이름
=mkfs -t ext3 /dev/sda7

※swap파티션 포멧
=mkswap -c 장치파일이름

※파일시스템 체크
fsck -d 파일시스템 장치파일명
=fsck -d ext3 /dev/sda7

=================================
mount(상대파일을 디렉토리에 연결)
=================================
=mount -t 파일시스템 장치파일명 연결디렉토리
※파일시스템
윈도우 = rfat nffs
리눅스 = ext3
시디롬 = iso9660
자동연결 = auto

ex)
cdrom 연결
=mount -t iso9660 /dev/cdrom /mnt/cdrom

=mkdir /backup
=mount -t ext3 /dev/sda7 /backup
=df

연결해제(둘중에 아무거나가능)
=umount /dev/sda7
=umount /backup

=================================
장치파일에 별명부여..
=================================
=e2label /dev/sda7 /backup
=mount -t ext3 LABEL=backup /backup

※usb연결
=usb-mount
=df
=usb-umount


=================================
부팅시 장치파일 자동연결
=================================
=vi /etc/fstab

장치파일명 연결디렉토리 파일시스템 연결옵션  

dump번호(0=dump사용x 1=dump사용o) chekc번호(0=fsck X 1=/fsck

2=그밖에)

/dev/sda7 /backup  ext3 defults  1 2
명령어를 추가한다!!
자동으로 backup이라는 디렉토리연결

=================================
계정 추가하기(암호변경을 꼭해주어야합니다)
=================================
useradd 옵션 값 계정명
=useradd abc
=grep abc /etc/passwd
=grep abc /etc/shadow
abc:x:500:500::/home/abc:/bin/bash

=passwd abc
=암호입력
=암호입력

계정생성시 defult값을 가진 파일
/etc/login.defs

det/default/useradd

Ctrl+Alt+F1 가상프롬프트
Ctrl+Alt+F7 X윈도우로 ㄱㄱ


=================================
계정 삭제하기
=================================
userdel 계정명

※계정및 계정의 홈디렉토리 삭제
=userdel -r 계정명

※로긴한 흔적을 볼수잇다
=lastlog


=================================
계정 옵션
=================================
usermod 옵션 값 계정

usermod명령보다 vi가 변경이 쉽다
ex)
=usermod -u 1000 abc

vi로 쓰는게 더 쉽다
=vi /etc/passwd
vi로 들어가서 한방에 편집

chage 옵션 계정명
=chage

계정보기
=chage -l abc

 

=================================
그룹 관리
=================================
※그룹
=useradd mbc  
=grep mbc /etc/passwd 
=grep mbc /etc/group  
=groups mbc   
->mbc : mbc

※그룹
=groupadd kbs  //kbs그룹추가
=useradd -g kbs kbs1 //kbs1생성후 그룹kbs에(옵션-g) 추가
=grep kbs /etc/group //kbs가 들어간거 /etc/group 에서 찾기
=groups kbs1  //kbs1이 속한 그룹보기
->kbs1 : kbs  //결과

※이동
=usermod -g kbs mbc //mbc를 kbs그룹으로이동(옵션-g)
=groups mbc  //확인하기
->mbc : kbs

※추가하기
=usermod -G root,mbc kbs1

※vi에서도 가능
=vi /etc/group

 

=====================================
원격제어
=====================================

service sshd start

chkconfig --level 5 sshd on

=vi /etc/hosts.deny
all: all 삭제하면 방화벽 제거..

 

방화벽 제거후
windows->linux 원격
프로그램써서 접속..리눅스 포트 22
Zterm
securecrt

※계정을 변경한다
=su - 계정명

※계정 아웃
=exit

※접속계정 확인
=who
=who | sort
=who am i
=w
=finger

※아이피확인
=ifconfig

※로그인 전체 계정에 메세지전달
=wall
.
.
.
메세지
.
.
Ctrl+D


※특정사용자
=write 계정
.
.
메세지 엔터
.
.
Ctrl + C


※write 제재
=mesg
=mesg y
=mesg n

※사용자 강퇴 ㅋ
ps -xa
kill -9 해당번호


=====================================
사용자 권한
=====================================
종류  파일  디렉토리
----------------------------------------
권한
----------------------------------------
r :read  파일의내용확인 읽기관련명령어사용(ls..cat..)
w :write 파일의내용변경 쓰기관련명령어사용(rm..touch..)
x :excute 파일의내용실행 접근권한(cd)
----------------------------------------
r = 4
w = 2
x = 1


전환  소유자 소요그룹
drwxr-xr-x 3  root  root
=drwxr-xr-x 3 root root
->d는 해당디렉토리
-> - 는 생략임
소유자적용 소유자그룹적용 나머지계정적용
rwx - rwx - rwx

※권한의8진수표기법
ex)
r = 4
w = 2
x = 1

rwxrwxr-x => 775
rw-r--r-- => 644

※권한의 변경
chmod 변경옵션 파일(디렉토리)
ex)
rwxr-xr-x -> rwxrwxr-x로변경하고싶으면
=chmod g+w 파일

rwxr-xr-x -> rwxr-x--로변경하고싶으면
=chomod o-rx 파일

rwxr-xr-x -> rwxrwx---로변경하고싶으면
=chmod g+w,o-rx 파일


->적용옵션
1.적용대상
2.권한부여유무
3.권한종류

u 소유자 변환 
g 소요그룹 변환
o 나머지계정 변환
a 모든계정 변경

+추가
-삭제
=변경

 

※소유자 변경
chown -R 계정 디렉토리(파일)
=chown -R lee /home/kim
※소유그룹 변경
chgrp -R 그룹 디렉토리(파일)
=chgrp -R park /home/kim


===================================
8진수 표기를 이용한 권한변경
===================================
chmod 변경권한(8진수) 파일(디렉토리)
rwxr-xr-x -> rwxrwx---
=chmod 770 파일

 

========================================
메모리
========================================
=free

=ps -xa
pid 프로세스번호
tty 실행위치(?는 내부에서실행 tty0는 가상콘솔
  pts0은 외부에서 네트워크접속)
stat 상태
->s = 대기상태
->r = 실행상태
->d = 흔적이 남은 상태(비정상상태)
->t = 중지 상태(비정상상태)
->z = 좀비 상태(비정상상태)
 
time 실행시간
command 명령

※자세히확인
=ps -aux

※계층적구조 확인(상태확인가능)
=ps -xf
=pstree

※계층적구조로 자세히봄 pid번호가없음
=ps -ef

※실시간 확인
=top
종료는 q

※특정 프로세스 종료
=kill -9 PID번호
->9는 kill을 의미..

=killall 명령


'개발 > App Developer' 카테고리의 다른 글

탭바와 피커  (0) 2010.08.30
테이블 뷰 입문  (0) 2010.08.30
tableView 의 클래스와 프로토콜 이해  (0) 2010.08.29
UITableViewDataSource 프로토콜의 주요 메서드  (0) 2010.08.29
프로퍼티의 retain 속성  (0) 2010.08.29