VNC 란
1.VNC 알아보기(왜 쓰는지)
우리는 거의 개인 컴퓨터를 사용한다. 따라서 라즈베리파이 따로 개인 컴퓨터 따로 하다 보니 모니터가 부족하게 되는데 이를 편하게 하기 위해 사용하는것이 VNC 이다. VNC는 Virtual Network Computing(가상 네트워크 컴퓨팅) 의 약자인데 우리가 사용하는 컴퓨터에서 원격으로 다른 컴퓨터를 제어하는 그래픽 데스크톱 공유 시스템이다. 이것을 이용해서 우리가 사용하는 컴퓨터에서 라즈베리파이를 접속 할수 있다. 우선 설치해야할 프로그램은 https://www.realvnc.com/en/connect/download/viewer/     이곳에서 다운로드를 할 수 가 있다. 윈도우를 쓰고 있다면 윈도우 VNC Viewer를 다운로드를 받아주면 되고 라즈베리파이를 쓰고 있다면 라즈베리파이 VNC Viewer 를 다운로드 해주면 된다

 

설치를 하고 실행하게 되면 아래 사진처럼 뜨는데 File를 눌러 New connection....ctrl + N 를 눌러 준다.

하게 되면 아이피 주소 와 이름만 적어주면 되는데 라즈베리파이의 주소를 알게 하는 방법은 라즈베리파이의 콘솔창을 열어서

$ ip addr

 

를 치면 된다. 쳐서 아이피를 알게되었다면 아래의 사진 ip address or hostname 에다가 적어주면 된다. 그리고 Name 은 아무거나 써도 된다 그리고 아래의 OK를 눌러준다

 

그러면 라즈베리파이가 부팅을 해놓고 VNC에서 들어가게 되면 성공 하게 된다.

성공하게 된다면 이제 개인 컴퓨터에서도 라즈베리파이에 접속이 가능케 된것이다.

 

 

 

 

 

 

 

 

우선 한글을 설치하기전에 라즈베리파이 공식 사이트에 들어가서 전에 포스팅한 라즈베리파이 설치 법에서 새로 이것을 다운받아준다. Raspbian Stretch with desktop and recommended software

여기서 다운을 받고 처음 설치할때에 잘 세팅을 해주어야 한다. 우선 들어가서 Raspberry Pi Configuration 에 들어간다. 그리고 Localisation 에 들어가서 Set Locale

을 누르면 ko (korean) 으로 설정 을 해야되는데 여기서 되어있어도 다른나라로 바꾸었다가 다시 ko (korean) 바꾸어준다. 그리고 그밑에 Character Set 을 무조건 UTF-8로 바꾸주고 OK 를 누른다

set Timezone은 관계가 없지만 설정해주도록 하자

Area: Asia

Location: Seoul

그리고 Ok 를 누른다.

키보드는 이렇게 설정을 해준다

Model: Generic 105-key (Intl) PC

Layout: Korean

Variant: korean (101/104 key compatible)

그다음 ok 를 누른다

와이파이는 한글설정하는데 큰 비중을 차지하지않기때문에 패스한다.

여기까지는 흔히 블로그나 Youtube에서 자주 볼 수 있다.

하지만 나는 계속 따라 해봐도 잘 안됬기에 아예 처음부터 계속 반복을 해서 할 수 있게 되었는데 여지껏 ibus 로 한글을 어떻게든 해보려고 악을 쓰고했지만 잘안돼서 Fcitx 로 하기로 했다. 지금 라즈베리파이 사이트에서 새로나온 것을 다운 받고 한것을 토대로 한것이다.

이걸 설치하면 된다.

이제 이어서 하겠다.

그 다음에 해주어야 하는것은 Fcitx 를 설치를 해주어야하는데 나는 설치가 되어있어서 그냥 재부팅을 했다.

하지만 Fcitx 가 없다면 우선 위에부터 순서대로 쳐준다(터미널에서)

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install fcitx-hangul
$ reboot -n

이렇게 위 명령어를 치고 재부팅(reboot -n) 을 했다면 우측 상단에 키보드 같이 생긴것이 있을것이다.

만약 뜨지 않는다면 이미 설치가 되어있는 것이니 시스템 도구에서 Fcitx 를 누르면 아래 사진처럼 생기게 된다.

키보드처럼 생김

이아이콘을 우클릭을 한다.

현재 입력기 설정을 누른다.

여기서 이 사진처럼

Hangul이 있다면 성공했다. 이제 한글이 한/영키를 눌러도 잘 작동을 할것이다. 하지만 Hangul이 없다면 만들어 주어야 한다. 만들기 위해선 밑에 + 라는게 있는데 눌러서 만들고그 설정에서 한/영키로 쓰고싶다면 컨트롤+스페이스바 옆에 있는 것을 누르고 한/영키를 눌러주면 Hangul 이라고 설정 될것이다.

 

그리고 재부팅을 해주면 된다. 그러면 앞으로 라즈베리파이를 킬때마다 따로 키지 않아도 언제든지 라즈베리파이를 키자마자 한글을 사용할 수 있게 된다.

내 생각에는 이번에 업데이트 가 되면서 잘되는것 같다.

ibus 한글 입력기로 어떻게든 해보려 했지만 잘 안된 관계로 Fcitx 를 사용하게 되었다.

++사진 첨부 완료

참조한 사이트: https://fishpoint.tistory.com/2230

시작하기에 앞서

apt-get 업데이트로 미러사이트 최신 버전을 가져온다.

$sudo apt-get update $sudo apt-get upgrade

이제 순서에 맞게 설치를 해야한다.

1. Apache

2. MySQL

3. PHP

4. phpMyAdmin

이 순으로 하면 된다.

1. 아파치(Apache2) 설치

$sudo apt-get install apache2

디스크를 사용하겠냐고 물어보는데 Y를 누르고 설치를 진행한다.

pi 유저로 작업하기위해 /var/www 에 소유 권한을 가지게 한다.

$sudo chown pi -R /var/www/html

다음으로는 아파치2를 pi를 부팅할때 자동적으로 실행이 되도록 설정한다.

$sudo update-rc.d apache2 defaults

이제 리붓을 한번 해준다.

$reboot -n

그러면 크롬 브라우저에서 pi의 localhost 주소를 입력을 해주게 되면 다음과 같은 화면이 나올것이다. 이렇게 된다면 정상적으로 설치가 완료되었다.

2. MySQL 설치

아래의 명령어는 MySQL을 설치하는 명령어이다 하지만 오래되었기 때문에 다른 명령어를 치라고 나올수 있다. 만약 나오지 않았다면 아래의 명령어를 쳐서 MySQL을 설치하자.

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

만약 이 명령어가 실행이 안될경우 뜨는 메세지에 나오는 명령어를 아래의 명령어에 있는 mysql 자리에 그 명령어를 적어주면 된다.

$sudo apt search mysql

이후 그 명령어가 있다면 install 하면된다.

3. PHP 설치

먼저 자신이 다운로드 받을 수 있는 PHP 버전을 찾아야 한다.

$sudo apt search php

php7.1 버전과 php7.2 버전이 있었는데 여기서 7.1버전을 택하였다.

$sudo apt-get install php7.1

이제 php가 정상적으로 잘 작동이 되는지 확인을 해야한다.

아래와 같이 해보자.

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

무조건 nano 로 할 필요는 없다. 자신이 편한 에디터로 하면 된다.

여기에서 <?php phpinfo();?> 를 작성하고 CTRL+X -----> y 를 하고 저장하고 나와주면 된다.

그리고 주소창에 자신의 아이피를 입력하고 뒤에 phpinfo.php 를 입력을 하게 되면 아래와 같이 나오면 성공이다.

ex) 127.0.0.1/phpinfo.php 또는 localhost/phpinfo.php 를 친다.

4. phpMyAdmin

$sudo apt-get install phpmyadmin

phpmyadmin 설치는 위와 같이 하면 설치가 됩니다. 접속이 원활하게 되는지 확인을 할때에는

자신의아이피/phpmyadmin 과 같이 해주시면 됩니다.

ex) 127.0.0.1/phpmyadmin 또는 localhost/phpmyadmin

위와 같이 안나왔을 경우 (오류가 있을 경우)

아래와 같이 진행해주시면 바로 됩니다.

먼저 phpx.x 중 자신이 다운로드 받은 버전을 적어주면 됩니다.

$sudo apt-get install php7.1-mysqlnd

또한 mbstring 가 뜰 경우에는 아래와 같이 해줍니다.

$sudo apt-get install libapache2-mod-php7.1
$sudo apt-get install php7.1-mbstring

위와 같이 했을때 아래와 같이 나온다면 아래의 명령어를 입력해주면 해결이 된다.

phpMyAdmin - 오류

mysqli 확장기능이 설치되지 않았습니다. PHP의 설정을 확인하십시오. See our documentation for more information.

$sudo apt-get install php7.1-mysqlnd

오타 및 오류 발생시 질문 환영입니다.

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 가 있는데 즉 맨 앞 줄 몇 라인만 보여주는 명령어도 있다.
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

+ Recent posts