개발자 키우기
리눅스 우분투 기초 본문
1. 명령어
tap키 = 자동완성 ( 잘 이용하면 편리함 )
clear = CLI 화면 정리
pwd = 현제 위치
cd = cd 폴더명 or 절대경로 or ..(상위폴더로이동)
ls = 현제 위치의 파일
ls -a = 현제 위치의 파일 + 숨겨진 파일
ls -l = 현제 위치의 파일을 자세히 나열
ls -al = 현제 위치의 파일 + 숨겨진 파일을 자세히 나열
--help = 모든 명령어를 알려줌
mkdir = 폴더 만들기
touch 파일명 = 파일 만들기
rm 파일명 = 파일 삭제
rm -f 파일명 = 강제로 파일 삭제
rm -r 폴더명 = 폴더 + 하위폴더 삭제
cp 복사할파일명 원하는파일명 = 복사
mv 파일명 상대(절대)경로 = 이동
mv 파일명 상대(절대)경로/원하는파일명 = 원하는 파일명으로 이동
mv 파일명 원하는파일명 = 이름 변경
ln -s 파일명 파일명-link.확장자 = 바로가기 만들기 ( 예시 : ln -s a.txt a-link.txt )
whoami = 현제 사용자명
sudo 명령어 = 최상위 관리자의 권한을 위임받아서 실행
vi 파일명 = 작성한 파일명으로 vim 모드 진입
일반 모드 i = insert 모드 전환 ( esc = insert 모드 종료 ) / dd 커서 행 삭제 / yy 커서 행 복사 / p 붙이기
$ = 커서를 행 오른쪽 끝으로 이동 / shift + v = 커서 행 블록 지정 / y 블록 복사
명령어 모드 :w = 저장 / :q vim모드 종료 / :q! 강제로 vim모드 종료 / :wq 저장후 모드 종료
cat 파일명 = 파일 내용 보기
find / -name 파일명 = 파일 찾기 ( 끝에 *를 붙이면 관련된 파일도 다 나옴 )
tail 파일명 = 해당 파일의 끝부분을 보여줌
tail -f 파일명 = 해당 파일의 끝부분을 실시간으로 보여줌 ( 보통 모니터링할때 사용 )
tail -f 파일명1 > 파일명2 = 파일명1의 실시간 내용(표준출력)을 파일2로 변경
표준출력0 / 표준입력1 / 표준에러2 / > 표준 입출력 변경
표준출력 변경시 > 는 덮어씌우기 / 표준출력 변경시 >> 는 이어쓰기
1>/dev/null 표준출력 로그를 찍지 않음
sudo passwd root = 최상위관리자 초기 비밀번호 설정
su 유저명 = 해당 유저(권한)로 접속
apt update = apt 저장소 최신화
apt-cache search 찾는파일 = apt 저장소에 있는 파일 찾기
apt-cache search 찾는파일 | grep 찾는파일 = 파이프 라인으로 필터링해서 찾는파일을 보여줌
apt install 설치할파일 = apt 파일 다운로드
apt install -y 설치할파일 = apt 파일 다운로드시 자동동의
netstat -nlpt = 포트번호 확인
apt remove 파일명 = apt에서 해당 파일만 삭제
apt --purge remove = apt에서 해당 파일과 설정 파일까지 삭제
lsb_release -a = 리눅스 운영체제 및 버전 확인
add-apt-repository ppa:개인저장소아이디/파일이름 = ubuntu 개인 저장소에 파일 저장
/etc/apt에서 sources.list는 ubuntu 메인 저장소, sources.list.d는 개인 저장소
ppa저장소에 다운 받을때 ubuntu 버전 확인 중요!!!
add-apt-repository --remove ppa:개인저장소아이디/파일이름 = 개인 저장소 삭제
* service는 모든걸 제어할수없기 때문에 systemctl 를 사용해야함 *
service --status-all = 운영중인 서비스 목록 ( + 는 실행 중 / - 는 중단 )
service 서비스명 stop = 서비스 중지
service 서비스명 start = 서비스 시작
ctrl + c = 명령어 취소
systemctl list-unit-files = 시스템 서비스 제어 목록
systemctl status 서비스명 = 서비스 상태 확인
systemctl stop 서비스명 = 서비스 중지
systemctl start 서비스명 = 서비스 시작
ps -ef = 실행중인 프로세스 보기
ps -ef | grep 프로세스명 = 해당 프로세스 자세히 보기
ps -ef | grep 프로세스명 | grep -v grep | awk '{print $2}' = 해당 프로세스 번호보기
kill = 서비스가 종료되지 않거나 서비스등록이 되지않은 경우 kill 명령어로 프로세스 중지
kill -l = 프로세스 종료 옵션 보기
kill -9 프로세스명 = 강제 종료 ( 추천하지 않음)
kill -15 프로세스명 = kill 디폴트값 ( systemctl restart 로만 재실행 가능 )
kill 프로세스명 = 프로세스 종료 ( UID와 접속자가 동일해야 삭제되지만 sudo를 사용하자 )
systemctl restart 프로세스명 = active(exited) 상태의 서비스를 동작시킴
kill `ps -ef | grep 프로세스명 | grep -v grep | awk '{print $2}'` = 프로세스 종료 ( 프로세스 번호를 외우지 않아도됨 )
2. 속성
숨겨진 파일/폴더 = 파일 명이 .으로 시작함
lrwxrwxrwx = 링크 파일 ( 윈도우에서 바로가기 )
ls -l 명렁어 작성시 파일이 연한 하늘색으로 표시되며 원본 파일을 위치도 나타냄
drwx = 폴더
-rw-rw-r-- = 파일 / 실행 파일일 경우 녹색으로 표시
systemctl status의 상태 = active(running) 동작중 / active(exited) 일시중지 / inactive(dead) 중지
3. 권한 해석 ( r : 4 읽기 / w : 2 쓰기 / x :1 실행 )
- rw- r-- r-- 1 root root = - 파일(d 폴더) / rw- root는 rw가능(x는 불가능) / r-- 그룹은 r가능 / r-- 누구나 r가능
(6) (4) (4) root 소유자 / root 그룹
chmod 777 파일명 = 모두(관리자/그룹/누구나) 읽기/쓰기/실행 권한을 부여
chmod u+x,g+wx,o+wx 파일명 = 이와 같이 권한을 추가
chmod u=x,g=wx,o=wx 파일명 = 이와 같이 권한을 덮어 쓰기
chown 소유자명:그룹명 파일명 = 파일의 그룹 변경
4. 환경 변수 설정
4-1 터미널 종료까지 사용 방법 = export 환경변수명="내용"
4-2 항상 사용 = home/ubuntu 에서 .bashrc bash 셸에 접속할때마다 즉 터미널에 접속할때마다 실행되는 셸의
초기화 파일로 환경변수 설정이나 프로그램 또는 서비스를 자동으로 시작하거나 초기화 할수있음
vi ./bashrc으로 들어가서 환경변수 설정을 한뒤 터미널을 재시작하거나
source ./.bashrc를 해주면 환경변수를 계속 사용가능함
4-3 두개의 스크립트를 만들어 하나의 스크립트를 실행하는 동안에만 환경 변수 사용
A스크립트에 환경 변수 설정하고 B스크립트에 source ./A스크립트명 코드를 넣어 B스크립트를 사용하는 동안
A스크립트의 환경변수를 사용
5. 디렉토리
/etc/init.d = 시스템 부팅과 종료시에 실행되는 서비스 및 데몬 스크립트 디렉토리
- ./실행파일명 stop(start) = /etc/init.d 디렉토리에 있는 실행 파일을 중지하고 실행시킬수 있음
6. tar 압축
-c tar로 압축할때 / -v 압축을 하거나 풀때 출력을 화면에 보여줄지 말지
-f 파일이름을 지정 / -x tar로 압축을 풀때
tar -cvf 지정할이름 압축할파일 압축할파일 = -cvf를 활용한 파일 압축
tar -xvf 압출풀파일 = -cvf를 활용한 파일 압축 풀기
- 참고자료 유튜브 메타코딩
'Back-end > AWS' 카테고리의 다른 글
aws ec2 우분투에서 내 컴퓨터로 파일 전송 (0) | 2023.05.26 |
---|---|
배포 스크립트 작성 (0) | 2023.05.25 |
리눅스 우분투 시간 변경하기 (0) | 2023.05.22 |
리눅스 우분투 netstat -nlpt 안될 경우 (0) | 2023.05.21 |
aws 배포 ec-2 (0) | 2023.05.21 |