Thoughts, stories and ideas.

리눅스(Linux) 기본 명령어

Alias

파이썬 버전 변경하는 과정에서 고생하며 배운 명령어.
간단하게 단축 명령어를 저장할 수 있다.

$ vi ~/.bashrc
alias python3='/usr/bin/python3.5'`
alias tx=tmuxinator
  • 등록된 alias 확인하기 alias
  • 새로운 alias 등록하기 alias cr=clear
  • 등록된 alias 제거하기 unalias cr

서버간 SCP 파일전송

실제로 서버간 파일 업/다운로드 시, 유용하게 사용할 수 있음.
scp -i /경로/파일이름.pem -r 복사할디렉토리 유저명@ip:경로
예시 scp -i ~/.ssh/hero775.pem -r (file_name) ubuntu@52.78.198.108:~

심볼릭 링크

심볼릭 링크란 어떤 파일을 가리키고 있는 파일을 뜻한다. (윈도우에서 바로가기 링크 개념)
ls -l로 확인 시, 앞에 l로 표시가 되고 옆에서 화살표로 가리키고 있다.
단지 파일 호출시 원본 파일로 연결해주는 역할만 하며, 원본이 삭제되면 무용지물이 된다. <>하드링크

  • 생성 ln -s <Target><Link_Name>
  • 삭제 rm <Link_Name>

파일 관리

[파일관리]
원본폴더를 통째로 목적지 폴더로 복사하기
`cp -r 원본폴더 목적지폴더` => "-r 옵션"
* 복사`cp` 
* 이동`mv`
* 삭제`rm` 
→ 폴더전체 삭제의 경우 Force => -rf 옵션 사용
[파일찾기]
find -name '*.txt'
find / -name '*.txt'  #루트에서부터
find / -name '.a*' -ls  #ls 명령 형식으로 출력
find / -name 'ab*' -type d  #디렉토리명 찾기

find /usr -size +20000 -print  #/usr 디렉토리에 20메가 넘는 파일 서치
ls -lR | sort +4n  #가장 크기가 큰 파일을 찾기
du -S | sort -n  #가장 크기가 큰 디렉토리?

압축하기

[tar로 압축/풀기]
tar -cvf [파일명.tar][폴더명]
tar -cvf aaa.tar abc
tar -xvf [파일명.tar]

[zip로 압축/풀기]
zip [파일명.zip][폴더명]
zip aaa.zip ./*
zip aaa.zip -r ./*  # 현재 폴더 하위 폴더들까지 모두 압축
unzip [파일명.zip]
unzip aaa.zip
unzip aaa.zip -d ./target  #특정 폴더에 압축해제 

ETC.

# Timezone 변경
sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
date
# Crontab timezone 변경
sudo dpkg-reconfigure tzdata //Asia 및 Seoul 선택
sudo service cron stop
sudo service cron start


# 예약종료 명령어 shutdown
sudo shutdown -h 20:00  #특정시간 오후 8시 
sudo shutdown -h +10  #특정시간 10분 후
sudo killall shutdown  #종료취소 
sudo shutdown -h now  #바로종료
sudo shutdown -r now  #바로 재시작

Nginx 설정하기

AWS 초기구축

sudo apt-get update # 패키지 매니저 업데이트
sudo passwd ubuntu # 계정 패스워드 설정
// Zsh 환경셋팅
sudo apt-get install nginx # Nginx 설치

// Node.js 설치
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-14-04
// Node.js Package
sudo npm install nodemon -g

// Vundle (Vim Bundle)
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

// Nginx 설정
sudo vi /etc/nginx/sites-available/default
# 80번 포트 사용중일 경우
sudo fuser -v 80/tcp
sudo kill -9 PID

파일용량 확인 명령어

# 파일 용량
du /etc
du -s /etc #선택한 디렉토리만의 용량
du -sh /etc #읽기편한 옵션
du -a /etc #디렉토리에 속한 파일의 용량도 함께 표현
du -d 2 /etc #하위디렉토리 갯수 설정
du -sh /etc* #바로 아래 디렉토리들의 용량

# 디스크 용량
df -h