Ubuntu Terminal CLI정보
Ubunt CLI 관련정보
인스턴스 한번에 설치
sudo apt update && sudo apt install -y nodejs && sudo apt install -y git-all && wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash && source ~/.profile && nvm install 20.10.0 && sudo apt install -y apache2
1. Terminal CLI
1) deb설치파일 install하기
- 해당폴더에 있는 deb파일을 설치합니다
$ sudo dpkg -i [deb 파일 이름].deb
2) deb설치파일 uninstall하기
- 해당폴더에 있는 deb파일을 uninstall합니다
$ sudo apt-get remove [deb 파일 이름].deb
3) Terminal유저를 super유저로 변경
- 모든 작업이 허용되는 super유저로 변경. (사용시 주의 필요)
$ sudo su
4) 폴더를 복사하기
- 폴더를 다른 디렉토리로 복사
$ cp -R [source_folder] [destination_folder]
4-1) 현재 터미널의 폴더를 GUI폴더로 열기
- 터미널에 위치한 폴더를 Ubuntu GUI폴더로 열기. "path"에 경로가 있으면 해당 경로의 폴더를 열고 '.'이면 현재 경로를 연다
$ xdg-open [path]
5) 터미널의 경로주소길이를 짧게 만들어주기(일시적)
- 전체경로가 아닌 상위단 폴더의 경로만 나오로독 터미널 주소경로를 변경하기
$ PS1='\u:\W\$'
1-1 Terminal Window Tabs(click)
1) Shift + Ctrl + T : 새 터미널 탭을 생성합니다.
2) Shift + Ctrl + W : 현재 터미널 탭을 닫습니다.
3) Ctrl + Page Up : 이전 탭으로 이동합니다
4) Ctrl + Page Down : 다음 탭으로 이동합니다
5) Shift + Ctrl + Page Up : 현재 탭을 왼쪽으로 이동합니다.
6) Shift + Ctrl + Page Down : 현재 탭을 오른쪽으로 이동합니다.
7) Alt + 1~9, 0 : 탭 1~9번까지 전환됩니다. 0은 10번째 탭으로 전환 됩니다.
6) 경로와 이름으로 파일 찾기(find)
- 경로를 지정하고 해당 파일을 이름(-name)으로 찾기
$ find [file path('/': root directory, '.' : current directory)] -type [f : file] -name [file name with extension]
example) find /path/to/directory -type f -name filename.ext
7) Ubuntu를 종료 또는 재시작 하기
- 1분후에 Ubuntu가 종료 된다
$ sudo shutdown
8) Ubuntu 시간셋팅
- 우분투의 타임존을 셋팅한다.
$ sudo timedatectl set-timezone [타임존]
관련글 : Ubuntu(Linux) Check and Set TimeZone in Ubuntu 20.04
기타 종료 또는 재시작(click)
1) 지금 PC를 종료한다.
$ sudo shutdown now
2) 15:30분에 PC를 종료한다
$ sudo shutdown 15:30
3) 20분후에 PC를 종료한다
$ sudo shutdown +20
재시작(restart)한다
4) 당장 Ubuntu를 재시작한다
$ sudo shutdown -r now
5) 15:30분에 PC를 재시작 한다
$ sudo shutdown -r 15:30
6) 20분후에 PC를 재시작 한다
$ sudo shutdown -r +20
9) Ubuntu를 종료 또는 재시작 취소하기
- PC 종료나 재부팅이 취소된다
$ sudo shutdown -c
9) 터미널에 shortcut command 생성하기
- 긴 커멘드를 미리 저장해서 해당 PC에서 짧은 버전의 커멘드를 사용합니다.
링크 : Linux Ubuntu set terminal alias
10) Ubuntu의 버전을 확인한다.
- 해당 Ubuntu의 버전을 확인하는 터미널
$ lsb_release -a
11) Ubuntu OS에서 사용하는 CPU 사양을 보여준다.
- Ubuntu OS에서 사용하는 CPU를 출력
$ lscpu
1-2. ssh 서버 접속
1) ssh로 서버 접속
- ssh접속이 허용된 서버에 터미널로 접속을 합니다.
$ ssh [username]@[server name or IP address] -p [port number]
ssh접속을 위한 방법은 아래 링크를 참고해 주시기 바랍니다.
링크1 : Ubuntu 외부 ssh접속 가능하게 변경(iptime)
링크2 : Linux Ubuntu 터미널로 외부 ssh 접속 허용하기(Local Check)
2) ssh로 서버의 파일을 다운로드
- ssh접속이 허용된 서버에서 필요한 파일을 Local PC로 복사한다.
$ scp -P [port number] [username]@[server name or IP address]:[path to file on server] [path to file on local PC]
ssh로 다운로드 하는 방법에 대해서는 해당 링크를 참고해 주시기 바랍니다.
3) ssh로 서버에 파일을 업로드
- ssh접속이 허용된 서버에서 필요한 파일을 Local PC에서 업로드 한다.
$ scp -P [port number] [path to file on local PC] [username]@[server name or IP address]:[path to file on remote PC]
4) ssh 비밀번호 자동 입력(sshpass)
- ssh 접속시 비밀번호를 입력할 필요(sh파일)가 없다. 단 1회 ssh및 비밀번호로 입력
- sh파일은 "sshpass -p [호스트 비밀번호] ssh [계정]@[도메일 or IP]"로 작성후 "mchod +" 설정
$ sudo apt install sshpass
9) Terminal로 압축 또는 압축풀기
Ubuntu에서 압축을 하거나 풀기 위해서는 zip, unzip프로그램을 설치해야합니다.
- zip, unzip프로그램 설치
$ sudo apt-get install zip unzip
* 압축(zip)관련 커멘드 (click)
1) 디렉토리 압축
$ zip -r [압축파일 이름].zip [압축할 파일 or 디렉토리]
2) 현재 폴더에서 디렉토리 압축
$ zip -r [압축파일 이름].zip ./*
* 풀기(unzip)관련 커멘드 (click)
1) 디렉토리 풀기
$ unzip [압축파일 이름].zip -d [압축 푸는 위치]
2) 현재 폴더에서 풀기
unzip [압축파일 이름].zip
1-3. 접속 유저 정보
1) 접속한 유저의 비밀번호 변경
- 해당 ubuntu에 접속한 유저의 비밀번호를 변경합니다.
$ passwd
2. NodeJS
1) Node 버전 정보 확인하기
- 현재 사용하고 있는 노드의 버전을 표시합니다.
$ node -v
2) Node 의 default버전 확인하기
- 현재 default, node, stable로 지정된 노드 버전을 표시합니다.
$ nvm list
3) Node 의 버전 변경하기
- nvm에서 변경 가능한 노드 버전을 적용한다. (설치와 동시에 적용)
$ nvm install [node version]
4) Node 의 default버전 변경하기
- nvm에서 default 변경 가능한 노드 버전을 적용한다.
$ nvm alias default [node version]
5) 원하는 Node버전 사용하기
- nvm에서 변경 가능한 노드 버전을 적용한다. (적용)
$ nvm use [node version]
.nvmrc를 이용하여 해당 프로젝트에 node버전을 쓰지않고 적용할수 있습니다.
아래링크를 참고해 주시기 바랍니다.
링크 : Node How to write and use your current Node Version in your current Project.
3. AWS관련
1) AWS의 ec2 pem파일을 이용하여 sh파일 생성(링크)
- EC2에 SSH접속을 하기 위해서 'SSH client'를 통해 접속해야 합니다. 하지만 아래 cli를 이용하여 AWS페이지에서 추가적으로 SSH을 따로 받을 필요가 없습니다.
(pem key가 public인 경우)
- sh파일 생성
$ nano server_connect.sh
해당 sh파일 안에 AWS EC2 Connect에서 'ssh -i "XXX.pem" ubuntu@ec2-XX-XX-XX-XX.ap-northeast-1.compute.amazonaws.com' 입력한다.
- sh파일 권한주기
$ chmod +x server_connect.sh
해당 sh파일을 실행하면 AWS웹사이트에 접속하지 않고도 EC2에 SSH접속을 할수 있다.
4. PostgreSQL
1) postgresql서버 실행하기
- local에 있는 postgres을 실행합니다.
$ sudo service postgresql start
2) postgresql서버 종료하기
- local에 있는 postgres을 종료합니다.
$ sudo service postgresql stop
3) postgresql서버 접속하기(Terminal)
- local에 있는 postgres에 접속합니다.
$ sudo -i -u postgres psql
4) user계정으로 postgresql서버 접속하기(Terminal)
- local에 있는 postgres에 userId 및 password로 접속합니다.
$ psql -h localhost -p [port] -d [DB Name] -U [User Name]
5. 도움될만한 설치 프로그램
1) Notepad++ install
- snapd 설치
$ sudo apt install snapd snapd-xdg-open
$ sudo snap install notepad-plus-plus
2) pm2 install
- pm2 설치(Global). 자세한 사항은 링크 참조
$ npm install pm2 -g
3) vim install
- terminal 에디터 vim 설치
$ sudo apt-get install vim
6. IP접속 관련
1) 해당 ubuntu의 외부접속IP불러오기
- 외부에서 접속할 사용자 IP를 출력합니다.
먼저 curl을 설치해야한다. (설치되 있으면 해당 단계는 무시해도 됨)
$ sudo apt install curl
아래 cli를 입력해서 외부 IP를 확인할수 있습니다.
$ curl -w "\n" -s https://api.ipify.org
$ curl https://ipinfo.io/ip
2) 해당 ubuntu의 내부접속포트 확인
- 내부 네트워크에서 해당 ubuntu에 접속을 허용할 포트
$ sudo ufw allow [Port Number]
3) 해당 ubuntu의 내부접속포트 확인
- 내부 네트워크에서 해당 ubuntu에 접속을 허용할 포트확인하기
$ sudo ufw status
4) 해당 ubuntu의 내부접속포트 끊기
- 내부 네트워크에서 해당 ubuntu에 접속을 허용됬던 포트를 다시 닫습니다.
$ sudo ufw deny [rule]
5) 해당 ubuntu의 접속 포트를 포워딩(faword)하기
- 내부 또는 외부에 설정된 포트로 접속시 다른 포트로 포워딩(변경)하기
5-1) localhost/loopback port fawording
$ sudo iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport [기존포트] -j REDIRECT --to-ports [포워딩할 포트]
5-2) external port fawording
$ sudo iptables -t nat -I PREROUTING -p tcp --dport [기존포트] -j REDIRECT --to-ports [포트포워딩할 포트]
5-3) infomation of port fawording
$ sudo iptables -t nat -L
댓글
댓글 쓰기