모든 리눅스에는 root 계정이 존재한다.

 

파워셀 명령어 (?)

ssh -i 키파일

ssh id@ip주소 (호스트주소)

 

 

파워셀에서 ssh root@192.168.100.128 입력하면 원격 네트워크로 접속 가능 

 

 

CentOS

우측상단 전원버튼 - wired connected   >> NIC 설정 가능

 

ifconfig : 윈도우에서 ipconfig 의 기능

 

VMWare -  Edit

 

ip 변경 가능

 

 

파워셀에서 ssh root@192.168.100.128 입력하면 원격 네트워크로 접속 가능  ( 신기해서 두 번 적음 )

< ssh 관련 접속 추천 툴 >
Xshell

 

 

 

 

리눅스 커널 - 운영체제 본체 

셀 - 운영체제와 대화를 할 수 있게 해줌 ( 사용자 인터페이스 )

 

리눅스 명령의 구조  

형식  :  명령 [옵션] [인자]    

명령 = date , ls , man, cp, cd 등 수백 가지가 있다.

옵션 = - 나 -- 로 시작하는 경우가 많고 영문 소문자나 대문자로 구성된다.

인자 = 주로 파일명이나 디렉터리 명이 사용된다. 인자는 없을 수도 있다.

 

# 프롬프트 : root 권한을 갖고 있는 계정의 프롬프트 라는 의미.

$ 프롬프트 : 일반 사용자의 프롬프트 이다.

 

 

★  기초 명령어  

 

  man [명령] : 명령어의 사용법을 알려줌 ( 유용함 ★ )

file [인자] : 인자의 파일 정보를 알려줌

pwd : 현재 위치를 확인한다.

cd [인자] : 지정한 디렉터리로 이동한다.   명령)   cd ~centos   =   centos 계정의 홈 디렉터리로 이동  >>  /home/centos

 

ls [옵션] [인자] : 디렉터리 내용 보기 
-a 숨김 파일 포함 모든 파일을 출력  ,  -F 파일의 종류 표시 
-d 디렉터리 자체 의 정보 출력,  -l ( 엘 ) 파일의 상세 정보 표시

 

mkdir [옵션] [인자] : 디렉터리 만들기 , -p 중간 단계의 디렉터리를 자동으로 생성해줌

rmdir [옵션] [인자] : 디렉터리 지우기 , -p 중간 단계의 디렉터리를 자동으로 삭제해줌

 

cat [옵션] [인자]  : 파일의 내용을 출력한다. ,  -n 행 번호를 붙여서 출력한다.

more [옵션] [인자] : 파일의 내용을 화면 단위로 출력한다.   ,  +(행 번호)  +500 = 500번째 행 부터 출력

 

tail [옵션] [인자] : 파일의 뒷부분 몇 행을 출력한다. 기본값은 10  ,  -f  주기적으로 계속 출력한다

 

cp [옵션] [인자] [인자] ...  :   -r  디렉터리를 복사할 때 지정한다

두 인자가 모두 파일인 경우

( 앞 인자 ) 앞 파일을   ( 뒤 인자 )  해당 이름으로 현재 디렉터리에 복사한다.

 

뒤 인자가 디렉터리인 경우

( 앞 인자 ) 앞 파일을  ( 뒤 인자 ) 해당 경로 디렉터리에 복사한다.

 

인자를 여러 개 지정하는 경우

마지막에 지정한 디렉터리로 앞서 지정한 파일들이 모두 복사 됨. 

 

cp /etc/hosts /etc/services /etc/passwd .   =  hosts, services, passwd 파일 3개를   ' . ' ( 현재 디렉터리 ) 에 복사한다. 

 

 

mv [옵션] [인자] [인자] : 파일을 이동하거나 이름을 바꾼다

앞 인자의 파일을 뒤 인자의 파일로 이름을 바꾼다. or 뒤 인자의 경로로 이동한다

 

rm -rf [인자] : 물어보지 않고 강제로 파일, 디렉터리 삭제

 

 

grep [옵션] [패턴] [인자]

 

find [경로 검색] [동작]

 

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

리눅스 파일의 종류와 특징

 

리눅스에서는 디렉터리도 파일로 취급  ★

 

ELF 파일 = 리눅스 실행 파일

심벌릭 링크 = 원본 파일을 대신하여 다른 이름으로 파일명을 지정한 것 파일명 끝에 @가 붙어있음 ( 윈도우의 바로가기 같은거 )

 

주요 디렉터리

dev = 장치 파일이 담긴 디렉터리

 

home = 홈 디렉터리 ( 윈도우로 치면 사용자. (금정산1_pc) )

 

media = cd-rom 이나 usb 같은 외부 장치를 연결하는 디렉터리

 

root = root 계정의 홈 디렉터리 ( ' / ' 디렉터리와 다른 것이므로 혼동하지 않도록 한다. )

root 계정의 home 디렉터리 이기 때문에 디렉터리 이름이 root 이다.

centos 계정의 home 디렉터리 라면 centos .

 

usr

etc = 주로 설정파일이 들어있음

tmp = 자유로운 디렉토리. 단, 재시작 시 파일이 모두 삭제 됨

var = 데이터나 로그, 내용이 자주 바뀌는 파일이 저장된다.

 

 

 

 

 

 

 

절대 경로명 : 항상 ' / ' 디렉터리 부터 시작한다.

 

상대 경로명 : ' / ' 이외의 문자로 시작한다. 현재 디렉터리를 기준으로 작성한다.

예시)  cd 디렉터리명  /  cd ..  

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

리눅스의 일반적인 경우 

파일 = 파일 + inode + 실제 파일 데이터

inode : 파일의 메타 데이터 ( 소유자 , 소유 권한, 수정 날짜 파일의 위치 등등.. )

ls -i  로 inode 확인 가능.

파일 이름이 달라도 inode 번호가 같다면 같은 파일.

 

하드디스크에는 파일의 실제 데이터가 여기저기 분산 되어 저장되어있다. 

 

하드 링크 만들기 명령어 

ln [원본 파일] [링크 파일] : 파일의 링크를 생성한다.   , -s  심벌링 링크를 생성한다.

하드 링크  파일은 inode가 같은 파일이다. ( 아직 뭐가 장점인지는 잘 모르겠다. )

 

하드 링크로 1기가 파일을 100개 만들어도 하드디스크에는 1기가만 소모된다.

1기가 파일을 100개 복사 했다면  100기가를 소모한다.

 


과제 

1. 사용자 홈 디렉터리에 임의의 이름으로 파일 생성    >> touch 로 생성 했음

A.jpg A.txt A.avi A.conf
B.jpg B.txt B.avi B.conf
C.jpg C.txt C.avi C.conf
D.jpg D.txt D.avi D.conf
E.jpg E.txt E.avi E.conf

2. 확장자 별로 디렉터리를 만들고 해당 파일들을 옮겨주세요   >> mkdir 로 디렉터리 만들고 ,   mv로 이동했음  
mkdir txt
mv *.txt txt

jpg txt avi conf

3. 옮긴 파일들 중에서 A가 들어간 파일들을 복사해서 별도의 디렉터리에 모아줍니다.      (/tmp/A)
find 명령어를 활용해보는 문제??  같아서  사용해보았음.
find ./*/A.* -exec mv {} /tmp/A \;          pwd 위치 : /home ( 홈 디렉터리 )
[패턴] = 현재 디렉터리 내에 하위 디렉터리에서 A로 시작하는 파일들.
find [패턴] -exec [명령어] {} [명령어 인자] \;       {} = find 명령으로 검색한 모든 파일     \;   =  exec 옵션 내용의 마지막을 알림

find 를 사용 하는게 아니라 cp를 많이 써보라는 의도 같음 !!


4. 홈 디렉터리에 있는 jpg 디렉터리는 안의 파일만 지우고    >>  
rm -r jpg  ( jpg 디렉터리 삭제 ) >> 디렉터리 내부 파일을 지우겠냐고 물어봄 ' Y ' >> 마지막에 폴더까지 지우겠냐고 물어봄 ' N '

rm -rf jpg/*  << 이게 더 좋네요

 txt 디렉터리는 통째로 디렉터리까지 삭제하세요.
rm -rf txt


5. avi 디렉터리는 통째로 /tmp 디렉터리에 복사
cp -r avi /tmp
-r 옵션으로 디렉터리 이름을 명시


6. conf 디렉터리를 통째로 /tmp/conf 디렉터리로 이동하세요.
mv conf /tmp/conf
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

+ Recent posts