🌏CS

[Linux] 💻내가 보려고 정리하는 리눅스 명령어들

디카페인라떼 2022. 10. 20. 13:56

2018_Unix_command_vi.pdf
0.47MB

 

 

서버배포를 하다보니 리눅스 명령어를 몰라서 하나하나 찾아보면서 했었다 .. 다음에 까먹더라도 쉽게 찾아볼수 있게 정리해두기!

 

필수 명령어  
  • ls : 현재 위치의 파일 목록 조회
ls -la // 숨김파일 전체 표시

ls -l : 파일의 상세정보
ls -a : 숨김 파일 표시
ls -t : 파일들을 생성시간순(제일 최신 것부터)으로 표시
ls -rt : 파일들을 생성시간순(제일 오래된 것부터)으로 표시
ls -f : 파일 표시 시 마지막 유형에 나타내는 파일명을 끝에 표시
  • cd : 디렉토리 이동
cd [디렉터리 경로] : 이동하려는 디렉터리로 이동 (경로 입력 시 '[', ']'부분은 빼고 입력!)
cd ~ : 홈 디렉터리로 이동
cd / : 최상위 디렉터리로 이동
cd . : 현재 디렉터리 
cd .. : 상위 디렉터리로 이동
cd - : 이전 경로로 이동
  • mkdir :디렉토리 생성
mkdir dirname : dirname이라는 디렉터리 생성
mkdir dir1 dir2: 한 번에 여러 개의 디렉터리 생성
mkdir -p dirname/sub_dirname : dirname이라는 디렉터리 생성, sub_dirname이라는 하위 디렉터리도 생성
mkdir -m 700 dirname : 특정 퍼미션(권한)을 갖는 디렉터리 생성
  • cp : 파일복사
cp file1 file2 : file1을 file2라는 이름으로 복사
cp -f file1 file2 : 강제 복사(file2라는 파일이 이미 있을 경우 강제로 기존 file2를 지우고 복사 진행)
cp -r dir1 dir2 : 디렉터리 복사. 폴더 안의 모든 하위 경로와 파일들을 복사
  • mv : 파일 이동
mv file1 file2 : file1 파일을 file2 파일로 변경
mv file1 /dir : file1 파일을 dir 디렉터리로 이동
mv file1 file2 /dir : 여러 개의 파일을 dir 디렉터리로 이동
mv /dir1 /dir2 : dir1 디렉터리를 dir2 디렉터리로 이름 변경
  • rm : 파일 삭제
rm file1 : file1을 삭제
rm -f file1 : file1을 강제 삭제
rm -r dir : dir 디렉터리 삭제 (디렉터리는 -r 옵션 없이 삭제 불가)
  • cat : 파일의 내용을 화면에 출력
cat file1 : file1의 내용을 출력
cat file1 file2 : file1과 file2의 내용을 출력
cat file1 file2 | more : file1과 file2의 내용을 페이지별로 출력
cat file1 file2 | head : file1과 file2의 내용을 처음부터 10번째 줄까지만 출력
cat file1 file2 | tail : file1과 file2의 내용을 끝에서부터 10번째 줄까지만 출력
  • alias : 자주 사용하는 명령어 단축키 설정
alias 별명 = '명령어 정의'

ex) alias lsa = 'ls -a' : lsa를 실행하면 -a 옵션을 갖는 ls를 실행합니다.
unalias lsa : lsa라는 alias를 해제

vi와 vim의 차이 
  • vi
    • 파일의 내용 + 파일 내용 편집가능
  • vim
    • vi의 업그레이드 버전 ! 설정파일의 특정 위치에 있는 단어나, 의미있는 특별한 단어를 색을 다르게 표시해서 보여줌
  • 명령어 정리

배포 시 
  • ssh Ubuntu 서버 접속 
ssh -i 키페어파일 ubuntu@아이피
  • jdk 설치
sudo apt-get update
sudo apt-get install openjdk-17-jdk (버전에 맞는 걸로)
java -version //맞게 설치 되었는지 확인
  • jar 파일 옮기고 실행하기
java -jar Xxxx.jar
nohup java -jar Xxxx.jar & //nohup설정
  • 실행된거 확인 후 나가기
Ctrl + c
  • 포트포워딩
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
  • nohup 끌 때 
ps -ef | grep java // 하면 PID나오고
kill -9 {PID}

로그 확인할 때
cd ~/logs
ls -la //파일 확인
tail -f log.log // 최근 로그 확인
Ctrl+c // 탈출
  • 예전 로그 확인
less log.log 
Shift+g // 맨 마지막
Shift + n //앞으로
n // 뒤로
ESC -> shift + i -> : -> / -> 원하는 단어 검색
ESC -> shift + i -> q //종료

  • root 사용자로 나가기
sudo su
  • 쉘스크립트 실행하기 (둘 중 하나)
sh XXX.sh
bash XXX.sh
  • 메모리 확인하기
free
  • 현재 사용중인 메모리 확인
top
  • JAVA 메모리 확인
java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
  • JVM 메모리 설정
java -Xms20M -Xmn10M -Xmx50M ~~

👉 -Xms (start) : JVM이 시작할때 20M의 heap 메모리를 할당함 => 시작할때 total memory = 20M , free memory = 20-used  

👉 -Xmn (nersery) : 새롭게 생성된 객체들이 처음에 자리를 잡는 영역

👉 -Xmx (max) : 최대 메모리, 객체의 사용이 많아져서  여분의 heap memory가 필요해지면 Xmx 옵션에 의해 50M메모리를 추가 확보 


nginx 관련
  • nginx 설정 파일 문법 확인
nginx -t
  • nginx 상태 확인
sudo service nginx status
  • nginx 실행
sudo service nginx start
sudo service nginx stop // 중지
sudo service nginx restart // 재시작
sudo servcie nginx reload //수정된 파일 적용하여 연결을 끊지 않고 재실행
  • 자동시작
sudo service enable nginx //자동 시작 활성화
sudo service disable nginx //자동 시작 비활성화

Ubuntu 시간대 변경하기 (1)
  • 현재 시간대 확인하기 
timedatectl
  • 시간대 변경 명령어
sudo dpkg-reconfigure tzdata

👉 원하는 지역 (Asia / Seoul) 찾은 뒤 Enter  (설정 완료)

 

Ubuntu 시간대 변경하기 (2)
  • 원하는 시간대 검색 
 timedatectl list-timezones // 전체 시간대가 나옴..엄청 많음 Ctl+C로 탈출

 timedatectl list-timezones | grep Seoul

Asia/Seoul //출력값
  • 시간대 변경
sudo timedatectl set-timezone Asia/Seoul