리눅스
ls(list-해당 폴더의 내용을 보여달라)
cd(change directory-디렉토리 이동)
pwd(현재 디렉토리 위치)
*네트워크 셋팅
ifconfig -->ip정보확인
newconfig-->리눅스 시스템 ip설정 셋팅
네트워크데몬을 재시작
현재 /etc/init.d
./network restart
./network start
./network stop
./network status
ifconfig : IP.SM.MAC
cat /etc/resolv.conf --> 파일 : 찾을 DNS
vi /etc/resolv.conf
i --> 수정 --> shift + : --> wq (저장하고 나가겠다)
q!(저장안하고 나가겠다)
cat /etc/resolv.conf
*영문이 깨질때 export LANG=en_US
cat /etc/sysconfig/network-scripts/ifcfg-eth0 --> default정보
cat ifcfg-eth0
-----------------------------------------------------------------------
*내가 누구로 로그인했지?
whoami
who
who am i
*패스워드 변경
passwd
패스워드
exit
-------------------------------------------------------------------------
일반계정 만들기
useradd babo
passwd babo
패스워드
root --> 자기방 : /root
일반계정 --> 자기방 : /home/계정명
cat /etc/passwd
--------------------------------------------------------------------------
Telnet(윈도우의 터미널서버) 가능하게 셋팅
1.구성
2.데몬재시작
cd /etc/xinetd.d <-- 자주요청이 되지 않는 데몬들만 모여있다(수퍼데몬)
ls
vi telnet -->disable = yes를 no로 변경후 저장하고 나감
telnet localhost
일반계정으로 로그인
su - (root로 승격)
-------------------------------------------------------------------------
기본명령어
*리눅스/유닉스 확장자에 대한 개념이 없다
윈도우:~.txt,~.hwp,~.dll.....-->편하다
ls(list-해당폴더의 어떤 것들이 있나를 나열)
ls
ls -a(숨긴파일(.파일명)표시)
ls -l(자세하게 표시)
ls -al(숨긴파일까지 자세하게 표시)
ls -s(정렬하여 표시)
ls -als(숨긴파일까지 자세하게 정렬하여 표시)
절대경로 VS 상대경로
최상위(/)부터 지금현재 디렉토리 기준
ls -al / -->절대경로
ls -al /etc -->절대경로
ls -al ../etc -->상대경로
*파일만들기
touch aaa.txt
touch bbb.txt
ls *.txt
ls *a*
ls /etc/pass* -als
ls -als /etc/pass*
ls -als ../etc/pass*
------------------------------------------------------------------------
로그인 하고 처음 만나는게 쉘(리눅스-bash,유닉스-sh)
좋은기능 3가지
1.tab키 기능 -->개체명을 다 안써도 된다.
2.alias 기능 -->명령어를 만들어 쓸수있다.
3.history기능 -->내가쳤던 명령어들을 조사가능
ls -als --> l
alias l='ls -als'
*쉘의 기능
키보드로 명령어를 받고 그 해당 명령어를 찾아(?)서 명령어를
실행하되(옵션,인자값) 실행한 뒤에 기본적으로 모니터로 출력.
1.명령어를 어떨게 찾나?
echo $PATH = (Response.Write(PATH))
cat 1.txt = cat < 1.txt
cat > 2.txt (파일만드는 방법중하나)
pwd(print woring directory)
echo $PWD
*경로 보여주기 셋팅
vi /etc/bashrc 에서 46번째 라인에 $PWD추가한후 저장하고 나간다.
로그인을 다시하면 적용된다
-------------------------------------------------------------------------
리눅스 상에서 간단한 FTP 클라이언트 사용법
FTPserver : window server
Linux : cliente
*명령어
ftp IP,FQDN
너 누구냐?(만약 익명연결 허용이라면
계정명 : anonymous
패스워드: email
모드 2가지
1.binary 모드(2진화모드) - 안정적
2.ascii모드(아스키모드) - 실행파일,압축파일은 불안정
다운받을때 자꾸 물어본다
prompt
서버에 있는 자원을 볼때
ls --> 서버에 있는 자원
!ls -->클라이언트 현재 디렉토리에 있는자원
다운받을때
get 파일명
mget aa* -> aa로 시작하는 파일을 다받아라
업로드할때
put 파일명
mput aa* -->aa로 시작하는것은 다올려라
삭제할때
delete 파일명
mdelete aa* --> aa로시작하는 파일은 다 지워라
FTP상에서 도움말
? --> 모든명령어를 볼수 있다
빠져나갈때
bye
-------------------------------------------------------------------------
디렉토리 이동
cd(절대경로 VS 상대경로)
cd 엔터 --> 자신의 홈디렉토리로 가라
cd ~ -->자신의 홈디렉토리로 가라
cd . -->아무의미 없다
cd .. -->상위 디렉토리로 가라
cd / -->최상위 디렉토리도 가라
--------------------------------------------------------------------------
디렉토리 만들기
mkdir(make directory),rmdir(디렉토리 삭제)
mkdir aaadir -->현재 디렉토리에 만들어짐
mkdir bbbdir ccdir -->둘다 만들어짐
mkdir /root/eeedir -->경로지정한 곳에 만들어짐
mkdir /root/adir bdir cdir -->경로 지정한곳에 멀티로 만든다
rmdir bbbdir cccdir
주의)비어있지 않으면 못지운다.
---------------------------------------------------------------------------
옵션중 반드시 알아야 할 3가지..
-i (상호대화 옵션)
-f (강제 옵션)
-r (내 하위모든것 지정옵션)
파일만드는것?
touch aaa.txt
cat > bbb.txt
vi aaa.txt
파일지우기
rm 파일명
*rm -rf 디렉토리명(디렉토리안에 모든것까지 묻지않고 다지운다)
cp(copy)복사
cp(어디에/어떤거를)(어디에/어떤거로)
cp aaa.txt bbb.txt
cp aaa.txt bbb.txt aaadir
cp(copy)복사
cp(어디에/어떤거를) (어디에 /어떤거로)
cp aaa.txt bbb.txt
cp aaa.txt bbb.txt aaadir
cp -r /boot/ ~/aaadir
cp -r /boot/* ~/bbbdir
cp aaa.txt bbb.txt 만약에 bbb.txt가 없다면
bbb.txt가 있다면
----------------------------------------------------------------------------------
mv(move) -- 파일이나 디렉토리 이동,이름바꾸기
mv (어떤걸) (어디에)
mv aaa.txt bbb.txt (aaa.txt 파일을 bbb.txt로 이름변경)
mv aaa.txt bbb.txt aaadir
mv aaa.txt bbb.txt(기존에 bbb.txt가 있다면 mv -i)
mv aaadir bbbdir(디렉토리 이동)
mv aaa.txt ~/test/bbb.txt 이동과 동시에 이름바꾸기.
/root에
aaa.txt 내용
------------------
hi~~~~~
------------------
/root/test 폴더 만들고 aaa.txt복사
/root/test 하위에 bbb.txt ccc.txt 만들기
/root/test 폴더를 /root/test2로 복사
/root/test2 폴더를 /로 복사
/test2 지우기
/root/test 폴더를 /test로 이동
/test 지우기
------------------------------------------------------------------------------------
Vi 에디터
*유닉스 계열의 대표적인 필수 에디터
*서버구성 자체가 에디팅 방식
실행모드
w : 저장하기
wq : 저장하고 빠져나가기
q! : 그냥 빠져나가기
q : 수정안한 상태에서 빠져나가기
실 행 모 드 == 저장,빠져나가기,해당라인으로
↑ 번호달기(set number
shift + : set nonumber),검색어(/검색어)
↓ ↑
↓엔터 ↑
↓ ↑
↓
명 령 모 드 == 카피(yy,3yy),붙여넣기(p,3p) ([.])
↑ 잘라내기(dd,3dd),실행취소(u)
↓ ↑ yy,3yy->p,3p dd->p
↓i,o,a↑esc
↓ ↑
↓
입 력 모 드 == 내용수정
yy,3yy(라인단위 복사) --> p,2p(라인단위 붙여넣기)
dd,3dd(라인단위 잘라내기)-->
실행취소:u
검색
shift + :
:/pop3 --> 다음검색어(n),이전검색어(N)
-------------------------------------------------------------------------------
*사용자 및 환경설정 파일
/root
/home/계정명
who,whoami,who am i,w(가장많은정보를 보여줌)
사용자를 만들면 /etc/passwd파일에 등록됨.
root계정은 uid --> 0(1~499번까지는 다른 시스템들이 쓰는 계정넘버)
일반계정은 uid --> 500번이상을 부여한다.
*grep 해당열만 자르겠다
grep babo /etc/passwd --> /etc/passwd파일에 babo가 들어간 문자열만
뽑아주겠다.
rpm -qa|grep 프로그램명
ps -ef|grep 데몬명
. .bashrc --> 로그아웃하지 말고 그냥 파일 내용 적용해서 해당 사용자의 환경설정
을 메모리상에 변경해라.
-----------------------------------------------------------------------------------
사용자 환경설정 파일
.bash_logout
.bashrc
.bash_profile
3개는 사용자를 만들때 자동으로 만들어 짐 /etc/skel 안에 3개 파일이 있는데
이것을 복사해서 /home/사용자명/ 안에 카피되어진다.
*공통환경 설정파일
/etc/profile
/etc/bashrc
*환경설정 파일 인식순서
/etc/profile --> ~/.bash_profile --> ~/.bashrc
--------------------------------------------------------------------------
압축과 묶음.
프로그램 설치 --> 소스공개 --> 소스컴파일
문제점)공개 해야하는데 파일과 디렉토리가 많다
~~.tar.gz(소스) > rpm
*압축(gzip,bzip2,compress)
gzip(~~.gz) ==*gzip -1v 부터 -9까지 압축률을 조정할수있음
gunzip
bzip2(~~.bz2)
bunzip2
compress(~~.Z)
uncompress
*묶음(tar)
tar cvf my.tar . (현재 디렉토리를 묶음)
tar xvf my.tar (묶음을 풀때)
tar xvfC my.tar test(C옵션은 디렉토리 지정해서 풀수있다.)
c(묶음)
x(풀다)
v(본다)
f(파일-필수)
*묶는것과 압축을 동시에
tar cvfz my.tar.gz
*풀때
tar xvfz my.tar.gz
tar xvfzC mt.tar.gz test
3개 파일을
/test란 티렉토리를 만들고 여기에 3개의 파일을 이동
/apm하위에다 묶음을 풀기.
mkdir /test
mv -f apa* /test
mv -f php* /test
mv -f my* /test
cd/test
tar xvfzC apa탭키 /apm
tar xvfzC php탭키 /apm
tar xvfzC mys탭키 /apm
*압축된 내용을 풀지않고 미리보여주기
tar tvfz my.tar.gz
du(disk use의약자) -sh --> 디렉토리용량
----------------------------------------------------------------------
*파일시스템과 링크
유닉스 계열에서는 inode라는 독특한 파일시스템 구조를 가짐
ls -ial
inode값-------------------파일명
각 파티션마다 inode란 특별한 파일의 저장정보를 갖는 저장장소(메타데이타)를 가짐
해당 inode번호 --> 해당파일의 주인,그룹,permission,파일타입,하드링크갯수,파일사이즈
수정시간,파일의 첫번째 블락하드디스크 포인터
디렉토리(파일)
해당 inode ----------------- 파일명
*즉 해당 inode 번호만 알면 해당파일에 접근할 수 있다?
해당파일에 접근하려면 해당 inode에 반드시 접근해야한다?
-------------------------------------------------------------------------------------
링크(하드링크,소프트링크)
[1]하드링크
*그렇다면 같은 inode번호를 서로다른 파일로 지칭할 수 있겠느냐? --> 가능하다.
1.실제 내용을 가지고 있는 영역은 한개.
2.원파일이 사라지면 하드링크도 사라짐.
3.inode에 하드링크 카운트가 1이여야 삭제가 가능하다.
4.하드링크의 단점 --> 파티션 경계를 넘어갈수 없다.
[2]소프트링크(파일속성 앞에 l로 표시된다)
ls -s aaa.txt saaa.txt
1.타겟파일 자체에 대한 위치의 포인터값(해당파일의 물리적경로)
2.파티션 경계를 넘을수 있다.
3.원본파일 없어지면 소프트링크는 인식을 못한다.(리눅스가 인식)
활용예)/root/manage
안에..자주사용하는 파일
자주드나드는 디렉토리
ln -s /etc/init.d init
cd init
-------------------------------------------------------------------------------------
사용자 용량제한(디스크 쿼터걸기)
1.하드디스크를 하나 추가
2.파티션
3.포멧
4.마운트(mount ~~~)
5./etc/fstab파일설정(자동마운팅) /mydisk(vi /etc/fstab 에서/dev/hda1 /mydisk추가)
디스크 쿼터
/etc/fstab -->등록된건 자동마운팅
옵션
1.rw,ro
2.nouser(일반사용자는 마운팅 불가능.root만마운팅가능),user(일반사용자도 마운팅가능)
3.auto(부팅할때 자동마운팅),noauto(자동부팅X)
default값 -- rw,nouser,auto
*백업
0
1
*파일시스템 체크
0
1
2
-----------------------------------------------------------------------------
*디스크 쿼서 설정 순서
1./etc/fstab에 쿼터를 가져갈 파티션에 usrquota 옵션을 적어주기
2.reboot --> mount,dh -h