Linux 터미널 입력 기본
- 명령어 입력 후 무조건 띄어쓰기 필수!
- 디렉터리명이나 파일명을 입력할 때 tab 키를 사용하면 자동완성이 되어 편리
Linux 터미널 단축키
- ctrl + alt + t = 터미널 실행
- ctrl + shift + t = 터미널내에서 새로운 탭으로 터미널 실행
- ctrl + shift + n = 터미널내에서 새로운 창으로 터미널 실행
- ctrl + shift + q = 터미널 종료
- ctrl + shift + f = 터미널내에서 문자열 검색
- ctrl + shift + c = 복사
- ctrl + shift + v = 붙여넣기
- ctrl + insert = 복사하기
- shift + insert = 붙여넣기
- ctrl + l(소문자 L) = 화면 clear
- ctrl + a = 커서 제일 앞으로
- ctrl + e = 커서 제일 뒤로
- ctrl + b = 커서 한 칸 뒤로
- ctrl + f = 커서 한 칸 앞으로
- alt + b = 커서 한 단어 뒤로
- alt + f = 커서 한 단어 앞으로
cd(change directory)
- 디렉터리 이동 명령어
- cd .. = 바로 위 디렉터리로 이동
- cd ~ = 홈 디렉터리로 이동
- cd - = 이전 위치로 이동
ls(list)
- 현재 폴더에 있는 파일 목록 출력
- ls -a = 현재 폴더에 있는 파일 목록 출력 (숨김 파일까지)
- ls -l = 현재 폴더에 있는 파일 목록 + 각 파일별 상세 정보 출력
※ drwxr-xr-x = d는 디렉터리 형식임을 표시, rwx는 권한 표시 r(read, 읽기), w(write, 변경), x(excute, 실행)
관리자,그룹,그외 사람들의 권한에 대한 내용을 보여주는 것 (-는 해당 권한이 없다는 것)
해당 값은 관리자는 rwx, 그룹과 이외사람들은 r-x -> 읽기, 실행 권한이 있지만 변경 권한이 없다는 것을 의미
- ls -F = 파일 목록 및 각 파일의 종류 출력
(/ = 디렉터리, @ = 심볼릭 링크(윈도우의 바로가기 같은 역할), * = 실행 파일, 공백 = 일반 파일)
- pwd(print working directory) = 현재 디렉터리의 전체 경로 출력
- passwd = 사용자 계정 비밀변호 변경
- date = 현재 시간과 날짜 출력
- clear = 화면 깔끔하게 공백 처리
- file = 해당 파일 형식 출력
- echo = 입력한 텍스트 출력 (파이썬의 print과 비슷)
- .파일명 = 숨김 파일
- touch = 크기가 0인 새 파일 생성, 이미 있는 파일이면 파일의 최종 수정 시간 변경
- gedit = 메모장 프로그램 실행 (특정 메모장 파일 지정하여 실행 가능)
mkdir(makedirectory)
- mkdir 디렉터리명 = 해당 디렉터리명으로 새로운 디렉터리 생성
- mkdir ./디렉터리명 = 현재 위치에서 아래에 새로운 디렉터리 생성
- mkdir ../디렉터리명 = 현재 위치에서 위에 새로운 디텍터리 생성
rm(remove)
- 해당 파일 삭제 (-r 추가시 파일이 들어있는 디렉터리도 삭제 가능)
- rmdir = 해당 디렉터리 삭제 (디렉터리 안에 파일이 없어야 삭제 가능)
cp(copy)
- 해당 파일 복사
- cp 원본파일경로 복사파일명 -> ex) cp /etc/hosts test.txt (/etc에 있는 hosts 파일을 현재 위치에 test.txt로 복사)
- cp 원본파일경로 디렉터리명 -> ex) cp /etc/hosts home (/etc에 있는 hosts 파일을 home 디렉터리에 hosts로 복사)
ln(link)
- 파일 링크 생성
- 복사 = inode(파일의 고유번호) 다름 (deepcopy와 비슷)
- 하드링크 = inode 같음 (shallow copy와 비슷) 하드링크를 진행할 수록 원본의 하드링크 번호가 증가, 하드링크 삭제시 번호가 1씩 감소 (원본을 삭제한다고 하드링크가 같이 삭제되지 않음)
ex) ln test test.ln -> test 파일의 하드링크로 test.ln 생성
- 심볼릭 링크 = inode 다름 (윈도우의 바로가기 같은 역할)
ex) ln -s test test.sl -> test 파일의 심볼릭 링크로 test.sl 생성
- mv(move) = 파일이나 디렉터리 이름 변경 혹은 다른 디렉터리로 옮길 때 사용
ex) mv hosts test.txt -> hosts를 test.txt로 파일명 변경
- grep = 지정된 패턴이 포함된 행을 찾음 (-i 추가시 대*소문자 모두 검색, -n 추가시 행 번호 같이 출력)
ex) grep TCP data -> data라는 파일에서 TCP라는 텍스트가 포함된 행을 찾아 출력
- find = 지정한 위치에서 검색 조건에 맞는 파일을 찾음
ex) find -name data -> data라는 이름의 파일들의 위치 출력※ find 검색조건- name = 파일명, -type = 파일 종류, -user = 지정한 사용자가 소유한 모든 파일 검색
파일 내용 열람 함수
- cat = 해당 파일 내용 출력
- less = 파일 내용을 페이지 단위로 출력 (q로 나올 수 있음)
- more = 파일 내용을 페이지 단위로 출력 (q로 나올 수 있음)
- man 명령어 = 해당 명령어에 대한 상세 설명 출력 (q로 나올 수 있음, 파이썬의 dir과 같은 역할)
※ 스페이스바, ctrl+f = 화면 뒤로 넘김, ctrl+b = 화면 앞으로 넘김
j = 한행씩 화면 뒤로 스크롤, k = 한행씩 화면 앞으로 스크롤,
/특정언어 입력시 파일에서 지정한 언어를 찾아줌(window의 찾기 기능과 같음, n으로 다음으로 넘어감)
※ DNS(Domain Name System) = 도메인 이름(호스트명)과 IP 주소를 서로 변환하는 역할
- whereis = 지정한 명령을 고정된 특정 경로에서 검색
- which = 앨리어스나 PATH 환경 변수로 지정된 경로에서 파일을 찾음
- nohup = 로그아웃한 다음에도 작업이 완료될 때까지 백그라운드 작업을 계속 실행
파일 접근 권한 변경
- chmod = 파일 접근 권한 변경 명령어
- 사용자 카테고리 문자 = u(사용자), g(그룹), o(기타 사용자), a(모두)
- 연산자 기호 = +(권한 부여), -(권한 제거)
- 접근 권한 문자 = r(읽기), w(쓰기), x(실행)
이 세가지 종류를 조합하여 파일 접근 권한 변경 가능
- 이 방법을 이진법으로 변환하여 입력가능 = 읽기,쓰기,실행 순 (요즘은 숫자로 사용하는 추세)
7 = 읽기+쓰기+실행, 6 = 읽기+쓰기, 5 = 읽기+실행, 4 = 읽기, 3 = 쓰기+실행, 2 = 쓰기, 1 = 실행, 0 = 아무 권한 X
이 숫자들을 사용자,그룹,기타 순으로 입력하여 권한 변경 가능
ex) chmod 740 text.txt -> text.txt 파일에 대하여 사용자는 모든 권한, 그룹은 읽기만, 기타는 아무 권한 X
- ps = 실행중인 프로세스 목록 출력
(a 추가 입력시 터미널에서 실행시킨 프로세스 정보 출력, -f 추가 입력시 더 상세하게)
- pgrep = 특정 프로세스 정보 검색
ex) pgrep -l bash = bash 프로세스의 PID와 이름 출력
- kill PID = 해당 PID 프로세스 강제 종료
※ PID = 각 프로세스가 가지고 있는 고유한 번호, TTY : 현재 터미널 번호
- top = 현재 실행 중인 프로세스에 대한 정보를 주기적으로(실시간) 출력 프로세스의 자세한 요약 정보를 상단에 출력하고 각 프로세스의 정보를 하단에 출력
- ifconfig = IP주소 확인 (window의 ipconfig와 같은 기능)
※ 만약 ifconfig가 실행이 안되면 sudo apt-get update 실행 -> sudo apt install net-tools 실행 -> ifconfig 재실행
(apt-get, apt 둘 다 설치할 때 사용되는 같은 기능의 명령어라 아무거나 입력해도 상관 X)
SCP(Secure Copy Protocol)
- 파일을 복사하여 다른 서버로 전송할 때 사용
- scp [명령어] [리눅스에서 전송할 파일 경로] [리눅스ip]:[리눅스로 보낼 파일 경로]
※ 명령어 종류
-P = 포트 번호 지정, -r = 디렉터리 내의 모든 파일 복사, -c = 압축해서 복사, -p = 원본 권한 속성 유지후 복사
- 명령어로 -P 입력시 scp -P [포트번호] [리눅스에서 전송할 파일 경로] [리눅스id]@[리눅스ip]:[리눅스로 보낼 파일 경로]
'빅데이터 부트캠프 > Linux' 카테고리의 다른 글
빅데이터 부트캠프 32일차 (0) | 2022.08.18 |
---|---|
빅데이터 부트캠프 30일차 (0) | 2022.08.16 |
댓글