최근에 맥을 사용하면서 소프트웨어로 잘사용하고 있는데 제 블로그의 노트패드 관련글에 댓글로 알려주셔서 알게 된 소프트웨어 입니다
맥(Mac)과 리눅스에서도 Notepad++를? 크로스 플랫폼 에디터 'NotepadNext' 소개 및 설치 방법
윈도우(Windows) 환경에서 개발을 하시거나 간단한 텍스트 편집을 하실 때 Notepad++는 빠르고 가벼우며 강력한 기능으로 많은 사랑을 받는 에디터입니다. 하지만 맥(Mac)이나 리눅스(Linux) 환경으로 넘어오게 되면 Notepad++가 기본적으로 지원되지 않아 아쉬움을 느끼는 분들이 많습니다.
오늘 소개해 드릴 프로젝트는 바로 이러한 아쉬움을 완벽하게 달래줄 NotepadNext 입니다!
NotepadNext는 Notepad++를 크로스 플랫폼(Windows, Linux, macOS) 환경에서 구동될 수 있도록 새롭게 구현한(reimplementation) 오픈소스 프로젝트입니다. 기존 Notepad++의 친숙한 UI와 기능들을 다른 운영체제에서도 동일하게 활용할 수 있도록 개발되었습니다.
C++와 Qt 프레임워크를 기반으로 개발되어 네이티브에 가까운 성능을 보여주며, 가벼운 텍스트 에디터가 필요한 분들에게 아주 유용한 선택지입니다.
💻 설치 방법 (OS별 가이드)
NotepadNext는 각 운영체제에 맞는 다양한 설치 방식을 지원합니다.
1. macOS (맥북)
가장 추천하는 방법은 Homebrew를 이용한 설치입니다. 터미널을 열고 아래 명령어를 입력하세요.
brew tap dail8859/notepadnext
brew install --no-quarantine notepadnext
Tip для Mac 사용자: Mac의 기본 폰트 스무딩 기능 때문에 윈도우와 글꼴이 다르게 보일 수 있습니다. 윈도우와 비슷한 느낌을 원하신다면 터미널에서 다음 명령어를 입력 후 재부팅해보세요. defaults -currentHost write -g AppleFontSmoothing -int 0
2. Linux (리눅스)
리눅스에서는 Flatpak을 이용하거나 AppImage를 다운로드하여 바로 실행할 수 있습니다.
# Flatpak을 이용한 설치
flatpak install flathub com.github.dail8859.NotepadNext
3. Windows (윈도우)
윈도우 환경에서는 일반적인 패키지 인스톨러나 무설치(Zip) 버전을 지원합니다. Winget을 사용하신다면 터미널에서 간편하게 설치할 수 있습니다.
친숙한 단축키와 UI: NotepadNext 실행해 보면 아시겠지만, 상단 탭, 화면 분할, 검색/바꾸기(정규식 지원), 구문 강조(Syntax Highlighting) 등 Notepad++의 핵심적인 매력을 그대로 가져왔습니다. 기존에 사용하던 단축키나 방식 그대로 활용하시면 됩니다.
아직은 완벽하지 않을 수 있어요: 개발자 노트에 따르면 현재 전반적으로 안정적이고 사용 가능하지만, 아직 구현 중이거나 버그가 존재할 수 있어 매우 중요하고 치명적인 작업에는 주의를 당부하고 있습니다. 가벼운 코드 편집이나 로그 텍스트 분석 등에 우선적으로 활용해 보시는 것을 추천합니다.
맥이나 리눅스 환경에서 가볍게 쓸 수 있는 텍스트 에디터를 찾고 계셨다면, 익숙함과 편리함을 모두 갖춘 NotepadNext를 한 번 설치해 보세요!
안녕하세요, 가야태자 @talkit 입니다. 최근 1주일간 (2026년 3월 초) 구글 뉴스 및 글로벌 IT 뉴스 데이터를 깊이 있게 분석하여, 여러분이 놓치지 말아야 할 IT 업계 핵심 트렌드 4가지를 정리했습니다. 이번 주는 글로벌 지정학적 갈등의 심화와 함께 끊임없이 진화하는 인공지능(AI), 그리고 그 기반이 되는 반도체(RAM) 시장 및 애플의 신제품 소식들이 복합적으로 맞물려 기술 시장의 큰 흐름을 만들어냈습니다.
1. 전쟁 및 지정학적 리스크 (글로벌 파급효과)
상세 분석 (Market Insights) 최근 미국과 이스라엘의 이란 대규모 공습으로 시작된 중동 지역의 군사적 긴장감은 단순한 지역 분쟁을 넘어 글로벌 경제 및 IT 산업 생태계 전체를 흔들고 있습니다. 전쟁과 사이버 안보의 경계가 무너지고 있으며, 일각에서는 군사 목적의 AI 활용(가상전쟁 자동화 등)에 대한 우려까지 현실화되고 있습니다. 지정학적 불안감이 극에 달하면서 글로벌 투자 심리는 위축되었으며, 통신 인프라 및 핵심 원자재 물류 차질 리스크가 하드웨어 기업들의 심각한 잠재적 위협 요소로 대두되고 있습니다. 기술 패권 경쟁이 "안보"라는 이름 아래 더욱 노골화되는 양상입니다.
상세 분석 (Market Insights) AI 기술은 이제 연구 단계를 넘어 산업 현장과 국가 안보 시스템 깊숙이 침투하고 있습니다. 삼성전자는 2030년까지 제조 현장을 'AI 자율공장'으로 전면 전환하겠다는 대담한 계획을 발표하며 스마트팩토리 혁신을 주도하고 있으며, 의료 부문에서는 예일대가 머신러닝 기반 맞춤형 암 백신 설계 모델을 오픈소스로 공개하는 등 파격적인 성과를 내고 있습니다. 한편으로는 트럼프 미 대통령이 군사적 활용을 둘러싼 갈등으로 특정 AI 서비스('앤트로픽') 사용 중단을 지시하는 등, 막강해진 AI 권력을 통제하려는 국가 차원의 견제와 윤리적 고민도 동시에 깊어지는 한 주였습니다.
상세 분석 (Market Insights) AI 수요의 급증으로 고대역폭 메모리(HBM) 및 반도체 수출은 역대급 호조를 그리고 있으나, 정작 1월 산업생산 통계에서는 반도체 생산이 4.4% 감소하는 기현상이 관찰되었습니다. 이는 최첨단 고부가가치 칩셋(HBM 등)에 생산 라인이 쏠리면서 범용 메모리(RAM) 쪽의 생산 라인이 조정되거나, 중동 리스크 여파로 팹(Fab) 운영 및 물류가 부분적인 차질을 빚고 있기 때문으로 분석됩니다. 즉, 수출 단가는 크게 올랐으나 전체적인 '물량' 측면에서의 하드웨어 공급망은 다소 삐걱거리고 있으며, 향후 로컬 제조사들의 설비투자와 안정적인 수율 확보가 하드웨어 시장의 핵심 과제가 될 것입니다.
상세 분석 (Market Insights) 애플은 정체된 하드웨어 폼팩터 시장을 자체 실리콘 파워로 돌파구 삼고 있습니다. 최신형 MacBook Pro에 탑재될 'M5 Pro' 및 'M5 Max' 칩을 전격 공개하며, 온디바이스(On-device) AI 구동 성능을 비약적으로 끌어올렸습니다. 특히 외부 클라우드 연결 없이 기기 자체에서 무거운 AI 연산을 매끄럽게 처리할 수 있는 구조적 혁신을 이뤄냈다는 평가입니다. 아울러 미니 LED 기술을 적용한 'Studio Display XDR' 발매 소식까지 겹치며, 전문가 대상의 프리미엄 하드웨어 생태계를 더욱 확고히 다졌습니다.
상세 분석 (Market Insights) 최근 지정학적 위기(비트코인 수혜론 대두)와 연준의 경제 지표 발표 기대감이 얽히며 가상자산 시장은 극심한 변동성을 겪고 있습니다. 미·이스라엘발 중동 분쟁이 격화되면서 일부 국가(이란 등)에서는 자국 통화 붕괴 우려로 암호화폐 거래량이 폭증하는 등 피난처(Safe Haven) 성격의 수요가 발생하고 있습니다. 한편 국내에서는 하나카드의 스테이블코인 국내 결제 협업 추진이나, 가상자산 '시장조성자' 도입 검토 등 코인 시장을 주류 금융권으로 편입시키기 위한 제도적, 인프라적 움직임이 매우 활발하게 전개되고 있어 블록체인의 실생활 적용 기대감을 한층 끌어올리고 있습니다.
[일주일 요약] 이번 주 IT 업계는 '극단의 하이브리드'를 경험했습니다. 첨단 산업인 AI와 고성능 반도체 수출은 폭발적으로 성장하고 있으나, 그 이면에는 전쟁이라는 물리적 파괴 행위와 지정학적 리스크가 기술 공급망을 집어삼키려는 모순된 상황이 전개되었습니다. 특히 미국 연방 정부 차원에서 특정 AI 기업을 제재하기 시작한 점, 그리고 전쟁 공포 속에서 블록체인 기반의 가상자산이 대체 자산으로 급부상하는 모습은 기존의 경제 시스템이 크게 요동치고 있음을 시사합니다.
[앞으로의 전망] 앞으로는 '기술의 안보화'와 '자산의 디지털화'가 IT 시장의 가장 큰 화두가 될 전망입니다. AI 인프라와 첨단 램(HBM), 그리고 자체 생태계를 구축한 애플처럼 위기에 흔들림 없는 기업들만이 가치를 인정받을 것입니다. 또한 글로벌 금융 불확실성이 지속됨에 따라, 제도권에 점차 편입되고 있는 스테이블코인과 가상자산 시장으로 자산이 쏠리는 '헤지(Hedge)'성 자금 이동 현상이 더욱 뚜렷해질 것으로 예상됩니다. 기기 자체적인(On-device) 성능을 끌어낸 엣지 기술과 탈중앙화 핀테크가 향후 성장을 이끌 핵심 동력으로 자리 잡을 것입니다.
We build for multiple versions of Scala. This only matters if you are using Scala and you want a version built for the same Scala version you use. Otherwise any version should work (2.13 is recommended).
Kafka 3.4.0 includes a significant number of new features and fixes. For more information, please read ourblog postand the detailedRelease Notes.
위 부분에 있는 두번째 파일을 다운로드 합니다.
cd /opt
mkidr kafka
cd kafka
wget https://archive.apache.org/dist/kafka/3.4.0/kafka_2.13-3.4.0.tgz
저는 /opt 폴더에 요즘은 설치를 하고 있스니다. 예전에는 /usr/local 에 설치를 많이 했었습니다.
ls | wc -l
12
(base) talkit@ubuntu:~$ ls
build dbeaver-ce_latest_amd64.deb Desktop Documents Downloads Music Pictures Public Templates upvu_web Videos vmwaretools
실제로 ls 를 해보면 나온 단어들이 12개 입니다.
ls -al 과 조합을 해보겠습니다.
(base) talkit@ubuntu:~$ ls -al | wc -l
36
(base) talkit@ubuntu:~$ ls -al
total 123148
drwxr-xr-x 26 talkit talkit 4096 Mar 15 05:51 .
drwxr-xr-x 3 root root 4096 Feb 25 02:42 ..
-rw------- 1 talkit talkit 565 Mar 6 06:41 .bash_history
-rw-r--r-- 1 talkit talkit 220 Feb 25 02:42 .bash_logout
-rw-r--r-- 1 talkit talkit 4257 Mar 14 07:40 .bashrc
drwxrwxr-x 2 talkit talkit 4096 Mar 6 06:40 build
drwxrwxr-x 19 talkit talkit 4096 Mar 15 05:50 .cache
drwxrwsr-x 4 talkit talkit 4096 Mar 14 06:53 .conda
drwx------ 15 talkit talkit 4096 Mar 15 05:50 .config
-rw-rw-r-- 1 talkit talkit 125960484 Feb 19 10:18 dbeaver-ce_latest_amd64.deb
drwxr-xr-x 2 talkit talkit 4096 Feb 25 02:48 Desktop
drwxr-xr-x 2 talkit talkit 4096 Feb 25 02:48 Documents
drwxr-xr-x 3 talkit talkit 4096 Mar 20 04:53 Downloads
drwxrwxr-x 3 talkit talkit 4096 Mar 5 06:24 .eclipse
drwx------ 3 talkit talkit 4096 Feb 25 02:48 .gnupg
drwxrwxr-x 5 talkit talkit 4096 Mar 14 08:51 .ipython
drwxrwxr-x 2 talkit talkit 4096 Mar 14 08:52 .jupyter
drwxr-xr-x 5 talkit talkit 4096 Mar 14 06:20 .local
drwx------ 4 talkit talkit 4096 Mar 6 06:56 .mozilla
drwxr-xr-x 2 talkit talkit 4096 Feb 25 02:48 Music
drwxrwxr-x 5 talkit talkit 4096 Mar 6 07:03 .npm
drwxr-xr-x 2 talkit talkit 4096 Feb 25 02:48 Pictures
-rw-r--r-- 1 talkit talkit 807 Feb 25 02:42 .profile
drwxr-xr-x 2 talkit talkit 4096 Feb 25 02:48 Public
drwx------ 2 talkit talkit 4096 Mar 15 05:51 .putty
-rw------- 1 talkit talkit 7 Mar 14 07:41 .python_history
-rw-r--r-- 1 talkit talkit 0 Feb 25 03:47 .sudo_as_admin_successful
drwxrwxr-x 2 talkit talkit 4096 Mar 5 06:23 .swt
drwxr-xr-x 2 talkit talkit 4096 Feb 25 02:48 Templates
drwxrwxr-x 8 talkit talkit 4096 Mar 6 07:10 upvu_web
drwxr-xr-x 2 talkit talkit 4096 Feb 25 02:48 Videos
drwxrwxr-x 3 talkit talkit 4096 Feb 25 03:47 vmwaretools
-rw-rw-r-- 1 talkit talkit 262 Mar 14 08:05 .wget-hsts
drwxrwxr-x 3 talkit talkit 4096 Mar 6 06:48 .yarn
-rw-rw-r-- 1 talkit talkit 116 Mar 6 06:47 .yarnrc
36이 나왔는데 저 줄을 세어 보시면 36줄입니다.
ls 강좌에서 -al 을 하면 숨어 있는 모든 파일들을 보여준다고 말씀 드렸는데 숨어 있는 파일들이 많습니다. ^^
저도 잘 써보지는 않는데 -c 하고 -m 이 있는데 차치를 한번 보겠습니다.
wc -l # 라인수를 세고요.
wc -c # 바이트 수를 세고요.
wc -m # 캐릭터 수를 세고요.
wc -w # 단어 수를 셉니다.
sudo apt install ./dbeaver-ce_latest_amd64.deb
[sudo] password for talkit:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'dbeaver-ce' instead of './dbeaver-ce_latest_amd64.deb'
The following NEW packages will be installed:
dbeaver-ce
0 upgraded, 1 newly installed, 0 to remove and 47 not upgraded.
Need to get 0 B/126 MB of archives.
After this operation, 158 MB of additional disk space will be used.
Get:1 /home/talkit/dbeaver-ce_latest_amd64.deb dbeaver-ce amd64 22.3.5 [126 MB]
Selecting previously unselected package dbeaver-ce.
(Reading database ... 157064 files and directories currently installed.)
Preparing to unpack .../dbeaver-ce_latest_amd64.deb ...
Unpacking dbeaver-ce (22.3.5) ...
Setting up dbeaver-ce (22.3.5) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
설치도 잘 되었습니다.
확인해 보겠습니다.
dbeaver-ce 가 설치된 프로그램입니다.
한번 클릭 해보고 오늘은 마치겠습니다.
윈도우즈 처럼 예쁘게 잘 뜨네요 ^^
처음에 들어가면 조금 다르게 데이터 베이스를 만들까요 부터 몇가지를 물어 보는데 저는 취소 했습니다.
talkit@ubuntu:~$ mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
talkit@ubuntu:~$ mysql
ERROR 1045 (28000): Access denied for user 'talkit'@'localhost' (using password: NO)
Command not found로 나오지 않고 옵션을 보여 주거나 오류를 보여 주면 ^^
제대로 설치가 되어 있는 것입니다.
mysql 은 데이터베이스를 확인하기 위해서 사용합니다.
mysql -u root -p -e "show databases;"
mysql -u root -p -e "show databases;"
Enter password:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mattermost |
| mysql |
| performance_schema |
| sys |
+--------------------+
원래 마이크로소프트의 빌게이즈 형님과 스티브 발머 형님이 계실 때는 리눅스와 사이가 많이 나빴습니다. 그런데 새로운 대표님은 리눅스하고 너무 친 합니다. ^^ 마이크로소프트 제품이 많이 리눅스로 포팅 되고 있습니다. 그 중에서 개발자용 에디터인 VisualStudioCode도 포팅 되어 있습니다.
이러한 비쥬얼 스튜디오 코드를 제 우분투에 설치 해보록 하겠습니다. 제 경험이 다른 분들께 도움이 되시기를 바라면서 한번 설치 해보겟습니다.
cd 원하는디렉토리
wget "https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64" -O visualstudiocode.deb
위와 같이 치시면 파일이 받아 집니다.
저도 해보겠습니다.
wget wget "https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64" -O visualstudiocode.deb
--2023-03-04 21:45:43-- http://wget/
Resolving wget (wget)... failed: Temporary failure in name resolution.
wget: unable to resolve host address ‘wget’
--2023-03-04 21:45:43-- https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64
Resolving code.visualstudio.com (code.visualstudio.com)... 13.107.238.49, 13.107.237.49, 2620:1ec:4e:1::49, ...
Connecting to code.visualstudio.com (code.visualstudio.com)|13.107.238.49|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://az764295.vo.msecnd.net/stable/92da9481c0904c6adfe372c12da3b7748d74bdcb/code_1.76.0-1677667493_amd64.deb [following]
--2023-03-04 21:45:44-- https://az764295.vo.msecnd.net/stable/92da9481c0904c6adfe372c12da3b7748d74bdcb/code_1.76.0-1677667493_amd64.deb
Resolving az764295.vo.msecnd.net (az764295.vo.msecnd.net)... 117.18.232.200
Connecting to az764295.vo.msecnd.net (az764295.vo.msecnd.net)|117.18.232.200|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 94825848 (90M) [application/octet-stream]
Saving to: ‘visualstudiocode.deb’
visualstudiocode.deb 36%[========================================> ] 32.68M 10.9MB/s eta 5svisualstudiocode.deb 100%[===============================================================================================================>] 90.43M 11.2MB/s in 8.2s
2023-03-04 21:45:52 (11.1 MB/s) - ‘visualstudiocode.deb’ saved [94825848/94825848]
FINISHED --2023-03-04 21:45:52--
Total wall clock time: 8.8s
Downloaded: 1 files, 90M in 8.2s (11.1 MB/s)
저는 잘 받아 졌습니다.
그러면 설치를 해보겠습니다.
ls
sudo apt install ./visualstudiocode.deb
ls를 쳐서 다운로드한 파일이 잇는지 확인 하시고 ^^
apt install을 이용해서 설치 합니다. 파일 설치할때는 ./를 무조건 넣어야 하나 봅니다.
sudo apt install ./visualstudiocode.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'code' instead of './visualstudiocode.deb'
The following NEW packages will be installed:
code
0 upgraded, 1 newly installed, 0 to remove and 27 not upgraded.
Need to get 0 B/94.8 MB of archives.
After this operation, 394 MB of additional disk space will be used.
Get:1 /home/talkit/visualstudiocode.deb code amd64 1.76.0-1677667493 [94.8 MB]
Selecting previously unselected package code.
(Reading database ... 167921 files and directories currently installed.)
Preparing to unpack .../talkit/visualstudiocode.deb ...
Unpacking code (1.76.0-1677667493) ...
Setting up code (1.76.0-1677667493) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for shared-mime-info (1.15-1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
저는 설치가 잘 되었습니다.
제 우분투에 설치 된 프로그램들을 보면 제일 밑에 보이시죠 Visual Studio Code 가 잘 설치 되었습니다.
우선 위 그림 처럼 Ubuntu 데스크톱에서 오른쪽 마우스 누르고, Open in Terminal을 클릭 하십시오.
요렇게 터미널이 뜰껍니다. 여기서
sudo apt install gftp
라고 치십시오.
sudo apt install gftp
[sudo] password for talkit:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
gftp-common gftp-gtk gftp-text
The following NEW packages will be installed:
gftp gftp-common gftp-gtk gftp-text
0 upgraded, 4 newly installed, 0 to remove and 24 not upgraded.
Need to get 648 kB of archives.
After this operation, 3,698 kB of additional disk space will be used.
Do you want to continue? [Y/n]
저기서 Y를 치십시오.
Get:1 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 gftp-common amd64 2.0.19-6 [408 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 gftp-gtk amd64 2.0.19-6 [157 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 gftp-text amd64 2.0.19-6 [81.2 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 gftp all 2.0.19-6 [1,916 B]
Fetched 648 kB in 3s (216 kB/s)
Selecting previously unselected package gftp-common.
(Reading database ... 166813 files and directories currently installed.)
Preparing to unpack .../gftp-common_2.0.19-6_amd64.deb ...
Unpacking gftp-common (2.0.19-6) ...
Selecting previously unselected package gftp-gtk.
Preparing to unpack .../gftp-gtk_2.0.19-6_amd64.deb ...
Unpacking gftp-gtk (2.0.19-6) ...
Selecting previously unselected package gftp-text.
Preparing to unpack .../gftp-text_2.0.19-6_amd64.deb ...
Unpacking gftp-text (2.0.19-6) ...
Selecting previously unselected package gftp.
Preparing to unpack .../archives/gftp_2.0.19-6_all.deb ...
Unpacking gftp (2.0.19-6) ...
Setting up gftp-common (2.0.19-6) ...
Setting up gftp-gtk (2.0.19-6) ...
Setting up gftp-text (2.0.19-6) ...
Setting up gftp (2.0.19-6) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
설치가 잘 되었습니다.
gftp
터미널에서 gftp라고 치시면 됩니다.
저는 이렇게 잘 떴습니다.
그런데 개발 환경을 구축 하면서 계속 저렇게 실행 할 수는 없어서 저 아이콘을 시작 바에 고정 해보겠습니다.
우분투 하단의 위 아이콘을 살짝 클릭 하십시오.
위에서 한번은 실행 하셨기 때문에 위와 같이 나올껍니다.
오른쪽 마우스 클릭 하시면 위와 같이 나옵니다.
저기서 Add to Favorites를 클릭하십시오.
왼쪽에 잘 설치가 되어 있습니다.
이 왕하는 짐에 저는 Terminal도 즐겨 찾기 해두겠습니다.
이제 실제로 로컬에 접속해서 사용해 보겠습니다.
윈도우즈용 ftp와 비슷하게 되어 있습니다. ^^
솔직히 저는 gFTP가 아니고 파일질라 리눅스용을 생각하고 있어서 ^^ 간단하게 다운로드 업로드 몇가지만 테스트 해보겠습니다.
Host에 주소를 User에 아이디를 Pass에 비밀번호를 입력하시고 접속 하시면 됩니다.
gFTP도 다양한 프로토콜을 지원 합니다. ^^
정보를 입력하신 다음에 저 컴퓨터 아이콘을 클릭하거나 엔터 치시면 접속을 진행 합니다.
리모트 쪽에 잘 접속이 되었습니다.
저희가 텍스트 ftp에서 만들었던 여러가지 디렉토리 그리고 윈도우즈에서 만들었던 디렉토리들이 잘 있습니다.
위에 인터페이스 처럼 왼쪽 오른쪽으로 나뉘어서 왼쪽은 로컬이고, 오른쪽은 리모트 입니다.
디렉토리 이동을 lcd 와 cd로 구분하지 않고 아예 GUI로 하니 편합니다. ^^
로컬에서 디렉토리를 만드려면 저기 New Folder...을 클릭하십시오.
제가 방금 test7을 생성했습니다.
잘 만들어 졌습니다.
더블 클릭해서 이동 하십시오.
늘 써먹고 있는 ^^ 이 파일들을 받아 보겠습니다.
gftp에서 Shift로 선택을 하시고 저기 까만 동그라미 안에 있는 화살표를 누르시면 됩니다.
로컬 디렉토리에 잘 다운로드가 되었습니다.
리모트 디렉토리에 다시 test9를 만들어 이아이들을 올려 보겟씁니다.
리모트에서도 동일하게 New Folder을 클릭하시면 새 폴더가 만들어 집니다.
예쁘게 만들어졌구요 저기로 이동 합니다. 로컬과 마찬가지로 더블클릭하시면 됩니다.
이번에는 반대쪽 화살표를 누르시면 ^^
업로드 됩니다.
요렇게 잘 업로드 됩니다. ^^
리눅스를 깔면 기본적으로 접하게 되는 또는 간단하게 설치해서 사용할 수 있는 gFTP에 대해서 알아 봤습니다.
이글에서 저는 제 우분투에 FTP 서버를 설치 해 두었습니다. 그래서 저기 접속을 해보겠습니다.
ftp localhost 21
저렇게 치시면 되는데 21은 표준 FTP 포트여서 생략 가능 합니다.
localhost는 안넣으시면, ftp 프로그램이 먼저 켜지고, 명령어를 이용해서 접속하실 수 있습니다.
일단 실행 해보겠습니다.
ftp localhost 21
Connected to localhost.
220 (vsFTPd 3.0.3)
Name (localhost:talkit):
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
위와 같이 실행을 했구요 잘 실행 되었습니다.
Name에 다른 아이디로 접속하시려면, 다른 아이디를 입력하시면 됩니다. talkit 계정으로 접속하시려면 그냥 엔터 치시면 됩니다.
그리고 Password 에는 정확한 패스워드를 입력하시면 됩니다.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x 2 1000 1000 4096 Dec 25 00:21 Desktop
drwxr-xr-x 2 1000 1000 4096 Dec 25 00:21 Documents
drwxr-xr-x 2 1000 1000 4096 Dec 25 00:21 Downloads
drwxr-xr-x 2 1000 1000 4096 Dec 25 00:21 Music
drwxr-xr-x 2 1000 1000 4096 Dec 25 00:21 Pictures
drwxr-xr-x 2 1000 1000 4096 Dec 25 00:21 Public
drwxr-xr-x 2 1000 1000 4096 Dec 25 00:21 Templates
drwxr-xr-x 2 1000 1000 4096 Dec 25 00:21 Videos
drwxrwxr-x 2 1000 1000 4096 Jan 10 16:00 climates
drwxrwxr-x 2 1000 1000 4096 Jan 03 03:37 emmptydir2
drwxrwxr-x 2 1000 1000 4096 Jan 03 03:37 emmptydir3
drwxrwxr-x 2 1000 1000 4096 Jan 03 03:37 emmptydir4
drwxrwxr-x 2 1000 1000 4096 Jan 03 03:38 emmptydir5
drwxrwxr-x 2 1000 1000 4096 Jan 03 03:28 emptydir
-rw-r--r-- 1 1000 1000 35 Dec 30 00:27 ftpclient.txt
-rw-rw-r-- 1 1000 1000 35 Dec 30 00:27 ftpserver.txt
-rw-rw-r-- 1 1000 1000 35 Jan 03 03:33 ftpserver11.txt
-rw-rw-r-- 1 1000 1000 35 Jan 03 03:33 ftpserver12.txt
-rw-rw-r-- 1 1000 1000 35 Jan 03 03:33 ftpserver13.txt
-rw-rw-r-- 1 1000 1000 35 Jan 03 03:33 ftpserver14.txt
-rw-rw-r-- 1 1000 1000 35 Jan 03 03:33 ftpserver15.txt
-rw-rw-r-- 1 1000 1000 35 Jan 03 03:27 ftpserver3.txt
-rw-rw-r-- 1 1000 1000 35 Jan 03 03:33 ftpserver31.txt
-rw-rw-r-- 1 1000 1000 35 Jan 03 03:33 ftpserver32.txt
-rw-rw-r-- 1 1000 1000 35 Jan 03 03:33 ftpserver33.txt
-rw-rw-r-- 1 1000 1000 35 Jan 03 03:33 ftpserver34.txt
-rw-rw-r-- 1 1000 1000 35 Jan 03 03:33 ftpserver35.txt
-rw-rw-r-- 1 1000 1000 35 Jan 03 03:27 ftpserver4.txt
-rw-rw-r-- 1 1000 1000 35 Jan 03 03:27 ftpserver5.txt
-rw-rw-r-- 1 1000 1000 338882654 Dec 21 05:26 mattermost-7.5.2-linux- amd64.tar.gz
-rw-rw-r-- 1 1000 1000 38937942 Jan 03 02:01 minio.deb
-rw-rw-r-- 1 1000 1000 243162 Nov 09 02:30 naverlogo.png
drwx------ 3 1000 1000 4096 Jan 06 06:21 snap
-rw-rw-r-- 1 1000 1000 243162 Nov 09 02:30 sp_main_947f65.png
drwxr-xr-x 2 1000 1000 4096 Jan 07 03:22 study
drwxrwxr-x 2 1000 1000 4096 Dec 30 00:37 temp
-rw-rw-r-- 1 1000 1000 270 Jan 03 06:17 testtext.txt
drwxrwxr-x 2 1000 1000 4096 Jan 08 06:10 wgettest
226 Directory send OK.
파일 리스트를 확인 하는 명령어인 ls 치시면, 파일 목록을 보실 수 있습니다.
cd : FTP 서버의 디렉토리 이동
lcd : 로컬 컴퓨터의 디렉토리 이동
윈도우즈에서 로컬의 디렉토리를 이동할때는 GUI로 이동 했는데 얘는 GUI가 없으니 명령어로 이동 해야 합니다.
그 명령어가 lcd 입니다.
cd 명령어는 접속 해 있는 서버방의 디렉토리가 이동 됩니다.
디렉토리를 하나 만들어 보겠습니다.
mkdir test
ftp> mkdir test
257 "/home/talkit/test" created
위와 같이 잘 만들어 졌습니다.
cd test
250 Directory successfully changed.
cd test 명령어로 잘 이동을 했구요.
lcd 로컬의 디렉토리를 이동 해보겠습니다.
lcd test
아직 이동한 적이 없기 때문에 로컬에서 test로 이동 했을 겁니다.
ftp> lcd test
Local directory now /home/talkit/test
다시
cd ..
250 Directory successfully changed.
위 디렉토리로 이동 하겠습니다.
이제 다운로드를 한번 받아 보겠습니다.
get 파일명
위 명령어를 이용하시면 로컬에 다운로드 할 수 있습니다.
get ftpclient.txt
local: ftpclient.txt remote: ftpclient.txt
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for ftpclient.txt (35 bytes).
226 Transfer complete.
35 bytes received in 0.01 secs (2.8677 kB/s)
잘 다운로드 되었습니다.
! ls
! 명령어를 이용하면 로컬에 있는 명령어를 수행 할 수 있습니다. 저는 주로 로컬 작업을 미리 해두고 들어가서 몰랐는데 ^^
가능하네요 ^^
ftp> !ls
ftpclient.txt
잘 다운로드 받아져 있습니다.
mkdir test3
cd test3
위 명령어로 원격 디렉토리를 이동하고, 파일을 올려 보겟습니다.
ftp> mkdir test3
257 "/home/talkit/test3" created
ftp> cd test3
250 Directory successfully changed.
위와 같이 잘 만들어 지고 이동 되었으면
put 파일명
위 명령어로 파일을 전송 할 수 있습니다.
put ftpclient.txt
put ftpclient.txt
local: ftpclient.txt remote: ftpclient.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
35 bytes sent in 0.00 secs (510.1446 kB/s)
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r-- 1 1000 1000 35 Feb 19 02:33 ftpclient.txt
226 Directory send OK.
실행하면 위와 같이 잘 됩니다. ^^
cd ..
! mkdir test5
lcd test5
로컬에 test5 폴더를 만들고 저기다가 ftp로 시작하는 파일들을 받아 보겠습니다.
그런데 많은 파일을 받아야 해서 명령어가 다릅니다.
mget 파일명일부*
mget ftp*
mget ftpclient.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for ftpclient.txt (35 bytes).
226 Transfer complete.
35 bytes received in 0.00 secs (255.0723 kB/s)
mget ftpserver.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for ftpserver.txt (35 bytes).
226 Transfer complete.
35 bytes received in 0.00 secs (160.4680 kB/s)
mget ftpserver11.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for ftpserver11.txt (35 bytes).
226 Transfer complete.
35 bytes received in 0.00 secs (244.1406 kB/s)
mget ftpserver12.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for ftpserver12.txt (35 bytes).
226 Transfer complete.
35 bytes received in 0.00 secs (249.4868 kB/s)
mget ftpserver13.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for ftpserver13.txt (35 bytes).
226 Transfer complete.
35 bytes received in 0.00 secs (234.1074 kB/s)
mget ftpserver14.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for ftpserver14.txt (35 bytes).
226 Transfer complete.
35 bytes received in 0.00 secs (220.5141 kB/s)
mget ftpserver15.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for ftpserver15.txt (35 bytes).
226 Transfer complete.
35 bytes received in 0.00 secs (109.9025 kB/s)
mget ftpserver3.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for ftpserver3.txt (35 bytes).
226 Transfer complete.
35 bytes received in 0.00 secs (205.9017 kB/s)
mget ftpserver31.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for ftpserver31.txt (35 bytes).
226 Transfer complete.
35 bytes received in 0.00 secs (240.7020 kB/s)
mget ftpserver32.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for ftpserver32.txt (35 bytes).
226 Transfer complete.
35 bytes received in 0.00 secs (213.6230 kB/s)
mget ftpserver33.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for ftpserver33.txt (35 bytes).
226 Transfer complete.
35 bytes received in 0.00 secs (217.7050 kB/s)
mget ftpserver34.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for ftpserver34.txt (35 bytes).
226 Transfer complete.
35 bytes received in 0.00 secs (189.8871 kB/s)
mget ftpserver35.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for ftpserver35.txt (35 bytes).
226 Transfer complete.
35 bytes received in 0.00 secs (271.2674 kB/s)
mget ftpserver4.txt?
실제로 위와 같이 명령을 내리면 되는데 y를 계속 눌러 주셔야 합니다.
mput 파일명일부*
명령어는 반대로 여러개의 파일을 한꺼번에 올릴때 사용합니다.
하지만, 간단하게 CLI 밖에 안될때는 저렇게 해도 개발의 특성상 많은 파일을 주고 받아야 해서
ftp는 잠깐 쓰는 것 왜에는 권장하지 않습니다. ^^
참 아까 말씀 드린거를 하나 더 말씀 드리고 마치겠습니다.
ftp
치시고 엔터 치시면
ftp 프롬프트로 이동하는데 ^^ 이때 open 명령어를 이용하시면 접속 하실 수 있습니다.
오늘은 파이썬 2일차로 또 개발 환경을 설치 합니다. 지난 번에는 미니콘다(Miniconda)를 설치 했습니다. 오늘은 아나콘다를 설치 하겠습니다. 파이썬 기초도 배우고 인공지능 관련된 수업도 따로 듣고 있는데 인공지능 관련 수업에서는 Anaconda를 설치 하라네요 ^^
저기 보시면 Visual Studio Code(HTTPS) 를 누르시거나, Clone with HTTPS를 누르시면 됩니다. 오늘은 쉬운 방법으로 해보겠습니다.
Visual Studio Code(HTTPS) 를 이용해서 해보도록 하겠습니다.
클릭 하십시오.
요렇게 나올텐데 당연히 Open 하십시오.
비주얼 스튜디오 코드/Visual Studio Code 작업
이제 vscode가 뜨면서 위와 같이 물어 볼껍니다. Open 을 클릭하십시오.
그러면 git 저장소를 고르라고 아래와 같이 뜰껍니다.
뜨면 적당한 폴더를 고르십시오.
저는 C:\dev\study\git 이라는 폴더를 하나 만들었습니다.
그리고 Select as Repository Destination 버튼을 선택 하십시오.
2023-01-14 20:06:29.788 [info] Log level: Info
2023-01-14 20:06:29.926 [info] Validating found git in: "C:\Program Files\Git\cmd\git.exe"
2023-01-14 20:06:29.927 [info] Using git "2.29.2.windows.3" from "C:\Program Files\Git\cmd\git.exe"
2023-01-14 20:06:29.942 [info] > git rev-parse --show-toplevel [153ms]
2023-01-14 20:06:29.942 [info] fatal: not a git repository (or any of the parent directories): .git
2023-01-14 20:06:30.114 [info] > git rev-parse --show-toplevel [159ms]
2023-01-14 20:06:30.114 [info] fatal: not a git repository (or any of the parent directories): .git
2023-01-14 20:06:30.188 [info] > git rev-parse --show-toplevel [62ms]
2023-01-14 20:06:30.188 [info] fatal: not a git repository (or any of the parent directories): .git
2023-01-14 20:06:30.572 [info] > git rev-parse --show-toplevel [50ms]
2023-01-14 20:06:30.572 [info] fatal: not a git repository (or any of the parent directories): .git
2023-01-14 22:20:22.285 [info] GitProtocolHandler.handleUri(vscode://vscode.git/clone?url%3Dhttps%3A%2F%2Fgitlab.com%2F~~~~~~~~~~%2Fmy-first-project.git)
2023-01-14 22:20:22.303 [info] Executing git.clone for https://gitlab.com/~~~~~~~~/my-first-project.git
2023-01-14 22:36:43.713 [info] > git clone https://gitlab.com/~~~~~~~/my-first-project.git c:\dev\study\git\my-first-project --progress [2474ms]
2023-01-14 22:36:43.713 [info] Cloning into 'c:\dev\study\git\my-first-project'...
remote: The project you were looking for could not be found or you don't have permission to view it.
fatal: repository 'https://gitlab.com/~~~~~~~~~~~~/my-first-project.git/' not found
2023-01-14 22:37:02.491 [info] > git rev-parse --show-toplevel [70ms]
2023-01-14 22:37:02.491 [info] fatal: not a git repository (or any of the parent directories): .git
위와 같이 오류가 나네요 T.T
이게 잘 되신 분은 그냥 새창으로 열꺼냐고 아마 물을 껀데 여시구요.
안되신 분은 또 저 따라 하시면 됩니다.
다시 위 지점으로 돌아가서 저기 보이는 Clone with HTTPS의 복사 버튼을 눌러서 복사 하십시오.
그리고 열려 있는 비쥬얼 스튜디오에서 File >> New Windows를 선택 하십시오.
다음으로, 왼쪽의 Git 아이콘을 클릭하십시오.
그리고 저기 보이는 Clone Repository 를 클릭하십시오.
아까 복사하신 것을 붙여 넣기 하십시오.
붙여 넣고 엔터 치시면 됩니다.
그리고 아까 처럼 로컬 저장소를 선택하십시오.
또 이화면이 나올껍니다. ^^
고르시고, Select as Repository Destination 버튼을 클릭하십시오.