반응형

리눅스 기초 언어

# command [‐단일문자옵션] [‐‐다중 문자 옵션]
단일 문자로 구성된 옵션은 동시에 여러 개를 지정할 수 있다.
ex) ls –a  –l  이런 표현은 다음과 같이 표현 가능하다.


디렉토리란 파일을 담고 있는 일종의 방이다.
디렉토리 및 파일의 표현 방법
절대 경로 표현방법 : / 디렉토리를 기준으로 표현하는 방법
상대 경로 표현방법 : 현재 위치(./)를 기준으로 표현하는 방법

디렉토리의 표현
/   : 최상위 root 디렉토리 (절대경로 표현의 기준)
./  : 현재 디렉토리 (상대경로 표현의 기준 : 생략가능)
../ : 현디렉토리의 상위 디렉토리
~/  : 각 사용자의 홈디렉토리
디렉토리는 파일의 일종이다. (윈도우의 C:\를 생각하면 쉽다.)
이름 : 최대 255자이고 대소문자 구별과 확장자가 없다.



cd : 디렉토리를 이동하는 명령어, 보통 옵션이 없이 사용한다.
# cd  [이동할 디렉토리명]
pwd
현재 위치한 디렉토리를 절대경로 표현법으로 출력한다.

rmdir
지정한 디렉토리를 삭제한다.
디렉토리가 비워져 있는 경우만 삭제 가능하다.


mkdir :지정한 디렉토리를 생성한다.
생성된 디렉토리는 생성한 유저의 소유가 된다.
‐p, ‐‐parents : 필요하다면 생성하고자 하는 상위의 디렉토리까지 생성한다.
‐‐version : 버전 정보를 보여준다.

명령어 cd, pwd, mkdir, rmdir


tree : 디렉토리 구조를 출력한다.
‐d : 디렉토리만 출력한다.
 *(미 설치시 : yum install ‐y tree 입력)

명령어 tree


ls : 현재 디렉토리의 목록을 출력한다.
‐a, ‐‐all  : 숨겨진 파일의 목록까지 출력
‐l         : 파일에 대한 정보를 자세히 출력
‐R         : 하위 디렉토리의 내용까지 출력
‐h         : 사람이 이해하기 쉽도록 파일의 크기를 출력
‐k         : kb단위로 파일의 크기출력
‐i : 파일의 inode 번호를 같이 출력 (고유번호)

리다이렉트
표준 입출력 지시자
>   : 표준 출력 지시자
# command  >  파일 : 명령 결과를 파일로 저장
>>  : 추가 표준 출력 지시자
# command  >>  파일 : 명령 결과를 파일에 추가
<   : 표준 입력 지시자
# command  <  파일 : 파일의 내용을 명령의 입력 값으로 사용

cat
# cat  [옵션]  [출력 대상 파일]
옵션
‐n : 행 단위 번호
‐b : 공백 라인을 제외하고 행 단위 번호

cat : 파일의 입출력 제어
# cat [< 입력파일 > 출력파일]
기본 입력 파일 : 키보드
기본 출력 파일 : CRT
입력 파일의 경우 < 기호 생략 가능
>> : 출력파일이 존재하는 경우 내용추가
# cat  a.txt
# cat < a.txt > b.txt  

echo : 환경 변수나 입력내용을 출력
# echo [환경변수 | 문자열]
리다이렉트를 이용하면 파일을 생성할 수도 있다.
ex>
# echo $HOME
# echo '$HOME'

명령어 echo, cat


env : 모든 환경 변수를 출력한다.

cp : 파일이나 디렉토리를 복사한다.
# cp [옵션]  원본파일 복사파일명
옵션
‐a  :  원본의 속성유지
‐r  : 하위 디렉토리나 파일모두 복사
‐f  : 강제 실행
‐p :  파일의 소유와 권한등을 보존한채 복사
‐u  : 새파일 덮어쓰기 금지

mv : 파일이나 디렉토리를 이동한다.
# mv [옵션]  원본파일 이동파일명
옵션
‐f  : 강제 실행
‐b : 파일이 덮어 쓰여질 경우 백업파일 생성
‐d : 디렉토리 삭제
‐i : 삭제 전 삭제여부 확인
‐v : 백업 파일 생성

rm : 파일이나 디렉토리를 삭제한다.
# rm [옵션]  대상파일
옵션
‐f  : 강제 실행
‐r : 대상 중에 디렉토리가 있는 경우 디렉토리도 삭제

명령어 cp, mv, rm

반응형
반응형

ICMP 통신이 되는지 확인해는 용도로 사용

명령어 ping , tarceroute(tracert) (유닉스에서만 사용)

ping : 도메인사용하지 않는다,
->내가 도메인으로 ping을 보내면 컴퓨터는 DNS에게 해당 사이트의 ip주소를 물어보고 그 주소로 패킷을 주고받음

tracert : 어디까지 갈때 라우터를 얼마나 거치는지 확인할때 씀

ARP : mac주소를 모를때 사용, 상대방의 Ip 주소는 알지만 mac주소를 모를때 받는 MAC주소를 FF:FF:FF:FF:FF:FF로 받게 보낸다음
ARP 요청으로 받은 dns가 MAC주소를 ARP보냄으로
ARP는 상대방의 IP주소는 알고 있지만 MAC주소를 모를때 보내는 패킷에 MAC주소를 FF:FF:FF:FF:FF:FF로 모두가 수신할 수 있게 보내고
수신한 호스트는 IP주소와 MAC주소를 ARP응답으로 메세지를 전송한다.

특징 : IP에 의해 자동으로 호출된다, 보안기능 없어 스푸핑 공격에 취약
질의 : broadcast 다보냄
응답 : unicast

하나의 물리적인 인터페이스를 여러 개의 논리적인 인터페이스로 구현 ip를 여러 개 설정하는 방법
ifconfig 명령을 이용한다
ifconfig ens32
ifconfig ens32 [ip] netmask [NETMASK] 파일 수정이 아니여서 바로 적용됨
리부팅하면 사라짐
다운시키는 방법 ifconfig ens32:0 down
부팅시 자동으로 실행하는 방법 - rc.loacl 에 넣는다.

반응형
반응형

Network  Interface Card
유닉스 시스템들은 각 시스템마다 NIC를 지칭하는 디바이스 파일명이 고유하다.
리눅스의 경우 ens32, ens34(eth0, eth1)… 등의 이름으로 명명한다.
네트워크 관련 명령어 : net‐tools 패키지에 포함된
- CentOS7 Minimal 설치에 포함되어 있지 않음
# yum install –y net‐tools
 디바이스 파일
 /lib/modules/3.10.0‐693.el7.x86_64 /kernel/drivers/net
경로에 리눅스에서 지원하는 모든 네트워크 디바이스 파일이 존재한다.


ifconfig
네트워크 인터페이스 상태를 확인 하거나 설정을 변경한다.
 변경 내용은 영구적이지 않다.   
# ifconfig
# ifconfig [NIC명]
# ifconfig [NIC명]  [IP]  netmask [mask명] [up|down]

loopback 메모리내에 있음
예전에 마더보드에 랜카드가 없을때 운영체제에서 가상으로 랜카드를 만들어줌


네트워크 설정 파일
/etc/sysconfig/network‐scripts/ifcfg‐NIC명
‐> 네트워크 설정 : IP, subnetmask, gateway …
/etc/resolv.conf
‐> DNS Server
/etc/hostname
‐> 호스트명

추가 설정 파일
/etc/sysconfig/network
‐> 호스트명,  gateway, NOZEROCONF=yes


/etc/sysconfig/network‐scripts/ifcfg‐ens32

TYPE=Ethernet
BOOTPROTO=[static/dhcp/bootp/none]
DEVICE=nic명
UUID=UUID명
ONBOOT=[yes/no]
IPADDR=IP
PREFIX=Subnet Mask
GATEWAY=gateway 주소
DNS1=dns 서버 주소

/etc/resolv.conf
search [default 도메인명]
nameserver [DNS 서버 IP]
ifcfg‐ens32 파일과 다른 설정인 경우 재 부팅하면 ifcfg‐ens32 파일의 내용을 기준
으로 재구성된다.
named 서버 test시에 임시 설정은 이 파일을 이용한다.
 /etc/sysconfig/network
NOZEROCONF=yes
Zero Configuration Networking을 위하여 예약된 subnet 설정을 제거한다.
반드시 필요한 옵션은 아니다.

네트워크 재시작
# systemctl [stop | start | restart]  network
파일을 수정한 이후에는 반드시 네트워크를 재 시작 해야 한다.
NM(Network Manager)가 활성화 되어 있는 경우 설정은 반드시 NM을 이용한다.
CentOS6 이전 버전
# service network [stop | start | restart]

ping : 특정 호스트까지의 연결과 대상 시스템의 작동여부를 확인한다.
ping ip

netstat : 네트워크의 이름과 시스템의 연결상태, 포트, 인터페이스등의 상태와 통계정보를 확인해서 네트워
크 상태 진단하는 프로그램
# netstat [옵션]
옵션
‐i : 인터페이스 상태 확인
‐s : IP, ICMP, TCP, UDP 에 대한 패킷 통계정보
‐nr :  라우팅테이블 확인

NetworkManagerrk 실행 중일때 nmtui를 이용해서 네트워크 설정이 가능하다.
설정 전에 NetworkManager 서비스를 시작한다.
# systemctl start NetworkManager.service
[프로그램] – [시스템 도구] – [설정] – [네트워크] 메뉴에서 설정한다.
이전 버전에서는 system‐config‐network을 통해서 설정 가능했다.
변경 내용이 즉시 적용된다.
NM이 활성화된 경우 파일 편집이나 ifconfig 명령에 의한 설정 변경이 불가한 경우가
있다.

ntsysv : 부팅시에 서비스 실행을 켜고 끌 수 있다.

라우터
netstat
시스템의 연결상태, 포트, 인터페이스등의 상태와 통계정보를 확인해서 네트워
크 상태 진단하는 프로그램
# netstat [옵션]
옵션
‐i : 인터페이스 상태 확인
‐s : IP, ICMP, TCP, UDP 에 대한 패킷 통계정보
‐nr :  라우팅테이블 확인


Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.10.1    0.0.0.0         UG        0 0          0 ens32
= 모든 ip는 gateway에 보내라
192.168.10.0    0.0.0.0         255.255.255.0   U         0 0          0 ens32
= 같은 네트워상에 있는 컴퓨터는 ens32로 보내라

반응형
반응형

명령어

# ifconfig 를 사용하여 이더넷의 이름이 ens32이고 어떤 ip주소를 사용하고 있는지 확인한다.

명령어

# systemctl start NetworkManager.service

# nmtui 를 사용하여 NetworkManager를 실행한다.

실행된 NetworkManager에서 연결 편집 ->  이더넷 ens32를 편집을 눌러 준다.

 

이더넷 IPv4 설정에서 ip 주소를 192.168.10.81 에서 192.168.10.85로 변경해주고 OK를 눌러준다.

 

 

NetwoerkManager 를 종료해주고 명령어

# systemctl restart network 입력해주고 종료한다.

 

 

 

PuTTY를 실행하여 변경한 ip주소를 적어주고 실행한다.

 

명령어

#ifconfig 로  ens32의 inet ip주소 끝자리가 81에서 85로 변경된 것을 확인 할 수있다.

반응형
반응형

리눅스 명령어

ln : link 파일 생성 (soft , hard)
# ln [옵션] 원본파일 링크파일
옵션 -s : 소프트 링크 생성 (디렉토리의 경우 soft link만 가능)
      -f : 대상이 존재하는 경우 지우고 link파일 생성
ex) # ln -s a.txt b.txt
소프트링크 파일의 경우 원본파일이 지워지면 사용할 수 없는 파일이 된다.
하드파일의 경우 원본파일이 지워져도 사용이 가능하다.

명령어 ln

원본파일을 삭제하여 링크파일의 경우 빨갛게 표시가 된다.

more(less) : 화면 출력을 화면 단위로 제어, 출력되는 내용이 많아서 화면을 넘어가는 경우 사용
# more 파일
| : 앞 명령의 결과를 뒤 명령의 입력 값으로 이용
# ls -al | more
grep : 필터링, 출력 문자열중에 원하는 단어나 글자가 들어있는 라인만 출력하고자 할때 이용
command | grep
ex) ls -al | grep conf

명령어 grep


head, tail : 파일의 일부분을 출력, 각각 앞 뒤에서 10 라인씩 출력
옵션 -n ## : 지정한 라인만큼 출력
      -c ## : 지정한 byte 만큼 출력
      -f      : tail에서만 사용, 실시간 추가되는 내용도 출력 주로 log 정보 확인 시 사용 함

명령어 head, tail



find : 파일 시스템에서 조건에 만족하는 파일을 검색한다.
#finb 검색경로 검색조건1 검색조건2...
-name : 파일명으로 검색(와일드카드문자 사용)
-perm : 특정 퍼미션을 가진 파일 검색
-empty : 크기가 0인 파일 검색
find 명령 에러
find: paths must precede expression:.....
-name 옵션 사용시 문자열을 인식하지 못하는 에러이다. 이런 경우 문자열에 ' '를 추가한다.
find / -name *.txt -------> find / -name '*.txt'

명령어 find와 검색조건


vi 에디터

vi 실행
vi 에디터는 반드시 파일명을 추가해서 실행한다.
# vi 파일명
 vi의 모드
Windows용 에디터와는 달리 에디팅하는 모드와 이를 편집하는 모드가 다르다.
‐ 명령모드 : 입력이 외의 편집작업
‐ 입력 모드 : 데이터 입력 및 수정
‐ 실행 모드 : 파일 저장, 종료

명령 모드에서 삽입 모드로 변경
i : 커서 위치부터 입력
a : 커서 다음 칸에 입력
o : 커서 아래 새로운 라인을 삽입하고 입력

I : 커서가 위치한 라인 맨 앞에 입력
A : 커서가 위치한 라인 맨 뒤에 입력

명령 모드에서 실행 모드로 변경
 :
삽입, 실행 모드에서 명령모드로 변경
[ESC]
삽입 모드에서 실행 모드로 직접 변경은 불가능하다.

이동
h, j, k, l (왼쪽,아래,위,오른쪽)
gg, G (문서 맨 처음이나 아래로)
nG (n 라인으로 이동)
^f, ^b, ^d, ^u  (화면단위 이동)
삭제
x (글자 삭제)
dd (라인 삭제)
dw (단어삭제)
D (커서뒷부분 삭제)

검색
/문자열
n (검색상태에서 순방향으로 재 검색, /와 동일)
N
환경 설정
:set  [환경변수]  [값]
환경변수
nu (라인번호 표시)
sm (반대 괄호 표시)

:wq (저장 후 종료 )
:q! (저장하지 않고 종료 )
:w [파일명]  (저장 또는 지정한 파일명으로 내용저장)
‐ 새 이름으로 저장하는 방법은 Windows와 다름으로 주의한다.
익숙하지 않은 사용자의 경우 가능한 사용하지 않는 것이 좋다.

vi 쉽게 표현한 그림

 

 

반응형
반응형

 VMware를 설치를 하고 윈도우 네트워크 어댑터 설정 변경으로 들어가 보면 VMware Network Adapter VMnet1,VMware Network Adapter VMnet8이 생성되었는데 여기서 VMware Network Adapter VMnet1은 사용 안 함으로 바꿔준다. VMware를 관리자 권한으로 실행하고 좌측 상단에 Edit - Virtual Network Editor를 클릭하여

해당 사진 처럼 설정해 주었고, 네트워크 설정이 끝난 다음 Edit - Preferences를 들어가 용량이 많이 남은 드라이브에 VM폴더를 만들어주고 앞으로 만들 가상 머신이 이 폴더에 저장되게 설정해 준다.

 

5. PuTTY설치 - 터미널로도 불리며 내가 만든 리눅스로 접속 가능하고 다른 사람의 가상머신 리눅스로도 접속이 가능하게 해 준다.

 

6. VMware가상머신에 리눅스 설치

Typical로 체크하고 Next를 누른다.

나중에 OS를 선택해 준다고 하고 Next를 누른다.

Linux로 체크해주고 가지고 있는 Linux의 버전을 맞게 찾아준다.

이름을 알아보기 쉽게 설정해 준다.

기본적으로 20GB로 설정이 되어 있는데 보통 30GB를 사용한다고 한다.

마지막으로 내가 설정한 내용들이 나온다.

빨간 네모를 눌러서 디바이스의 내용을 수정해 줘야한다.

CD/DVD 를 클릭하여 Use ISO image file로 체크한 다음 Browse...를 눌러 OS파일을 선택해준다

Network Adapter를 눌러 Bridged로 체크해 준다음 불필요한 USB, Sound, Printer는 Remove로 삭제해주고 OK를 눌러준다.

이 설정을 마치면 해당 사진처럼 설정이 바뀐 것을 확인 할 수 있다.

초로색 네모의 Power on this virtual machine을 눌러 실행해준다.

언어를 설정해준다.

GNOME 데스크탑으로 체크해 주고 완료를 누른다.

파티션을 설정합니다에 체크 한다음 완료를 누른다.

표준 파티션으로 바꿔주고 + 버튼을 눌러준다.

/boot 은 500MB로, swap은 가상머신의 메모리와 같게 해주고 완료를 누른다.

변경 사항 적용을 눌러준다.

KDUMP는 비활성화 시켜 준다.

초록색 네모의 네트워크 및 호스트명을 눌러준다.

IPv4설정을 눌러서 가상머신에서 쓸 ip와 넷마스크, 게이트웨이, DNS를 작성해준다. 여기서 넷마스크 가 24인 이유는 255.255.255.0을 2진법으로 변환하면 11111111.11111111.11111111.00000000인데 1이 8개 씩 3개 라서 24로 표현가능하여 24로 썼다. 

이더넷이 정상적으로 연결된걸 확인할 수 있다.

설정이 다 끝났으면 설치를 해주고 ROOT계정의 암호와 사용자 생성을 해주고 암호도 설정해준다.

설치가 다 끝나면 재부팅을 눌러 재부팅을 해주고 라이센스를 동의를 해주면 설치가 끝난다.

PuTTY를 실행하여 해당 가상머신의 리눅스 ip를 적고 임의의 이름으로 세션을 만들어 저장해주고 Open을 눌러 실행해준다.

Accpet해준다.

로그인 하라고 나오면 root라는 명령어를 입력해주고 아까 설정해준 root계정의 비밀번호를 입력해준다.

반응형

+ Recent posts