용어
unix
- 1970년대 개발된 운영체제.
- 소프트웨어를 개발하고 실행할 수 있는 편리한 플랫폼.
- 쉽게 수정해서 다른 컴퓨터에 적용할 수 있었음.
- 유닉스를 기반으로 하는 다양한 운영체제들이 탄생.
- windows를 제외하고 모든 운영체제들이 unix를 기반으로 한다.
shell
- 커맨드를 해석해주는 프로그램.
- 터미널에서 입력한 커맨드는 shell이 컴퓨터가 이해할 수 있도록 번역 후 컴퓨터에게 전달하고, 받아온 값 또한 번역해서 출력해준다.
- 커맨드를 입력하는 검은 화면을 shell이라고 부르는 경우도 많다.
bash
- shell의 종류중 하나로, Bourne agin shell.
- 가장 보편적이고, 많은 유닉스 운영체제에서 shell을 기본으로 사용한다.
- ubuntu의 기본 shell이기도 하다. (mac은 bash -> zsh로 변경)
터미널
- 인풋을 받고, 아웃풋을 출력해주는 프로그램.
rooy directory
- 최상위 디렉토리.
- '/' 로 표기된다.
working directory
- 현재 위치하고 있는 디렉토리
home directory
- 사용자의 홈 폴더
- 홈디렉토리는 각종 문서, 바탕화면 파일, 다운로드 파일 등이 들어있다.
- 보통 "root/home/[사용자이름]" 경로가 홈디렉토리이다.
- '~'로 표기된다.
터미널 실행하기
터미널의 앞부분 의미 알기
- "localkang@HeyonJiui-MacBookPro~$" 부분을 프롬프트라고 부른다.
- 사용자 localKang 이 현재 HeyonJiui-MacBookPro 에 로그인 되어 있으며 ~에 위치해 있다.(여기서 ~ 은 홈폴더를 의미함)
- '$' 또는 '%' 는 프롬프트의 끝을 알리는 기호이다.
argument와 option
- argument : 어떤 대상에 대해 커맨드를 실행할지 알려주는 것. (대상을 알려준다.)
- option : 커맨드를 실행하는 방식을 바꿀 수 있는 것.(방식을 알려준다.)
ex)
cal -j 09 2023
- -j 옵션은 1월 1일기준으로 몇번째 날인지 달력으로 보여준다.
- 여기서 "-j" 는 옵션, "09 2023" 는 argument.
조작하기(단축키)
- 방향키 : 위아래로 움직일 수 있음.
- space + f : 페이지단위로 움직일 수 있음.
- q : 나가기
- ctrl + c : 작업 중지
커맨드라인에서 단축키
- 방향키 : 과거 사용했던 커맨드를 골라 입력할 수 있음.
- ctrl + a : 커서 맨 앞으로 이동.
- ctrl + e : 커서 맨 뒤로 이동.
- ctrl + c : 작성되어있는 커맨드 지움.
- tab : 작성중인 커맨드 또는 argument 자동완성.
커맨드 리스트
clear
화면 정리.
man [커맨드]
커맨드의 매뉴얼을 보여준다.
pwd
print working directory.
워킹디렉토리 경로 보기.
cd [경로]
change directory.
다른 디렉토리로 이동.
경로를 주지 않으면 홈디렉토리로 이동한다.
경로대신 '-' 를 입력하면 이전 디렉토리로 이동한다.
ls [경로]
경로의 내용물을 리스트로 보여준다.
경로를 입력하지 않으면 현재 디렉토리의 리스트를 보여준다.
- -a : 숨겨진 파일까지 모두 조회.
- -l : (소문자 엘) long format. 이름외에 더 많은 정보를 보여준다.
- 가장 앞부분이 d(directory, 폴더), -(일반 파일) 을 의미함.
- 나머지는 권한관련된 부분.
- 두번째 컬럼은 이 파일과 관련된 링크의 개수.
- 세번째 컬럼은 소유자
- 네번째 컬럼은 소유자의 그룹
- 다섯번재 컬럼은 크기(byte) - 디렉토리의 경우 폴더의 바이트가 아니라 유닉스 파일시스템과 관련된 숫자를 보여준다.
- -al : 숨김된 파일까지 모두 + 모든 정보 조회.
디렉토리와 파일 관련
mkdir [경로]
디렉토리 생성.
경로를 argument로 줘야한다.
경로를 공백을 구분자로 여러개주면 여러 디렉토리가 생성된다.
touch [경로]
빈 파일 생성.
경로를 공백을 구분자로 여러개주면 여러 파일이 생성된다.
경로가 이미 존재하는 파일일 경우, 마지막 접근시간을 업데이트한다.
mv [경로1] [경로2]
파일과 디렉토리 옮기기 & 이름 변경하기
경로1 : 작업할 대상의 경로
경로2 : 이동할 목적지 또는 변경할 이름.
만약 경로2가 존재하는 디렉토리라면, 경로2의 자식으로 들어간다.
같은 이름의 파일이 있을 경우, 덮어쓴다.
-i 옵션 : 같은 이름의 파일이 있다면 덮어쓸것인지 작업을 취소할것인지 확인해준다. (i는 interactive 앞글자)
옵션 사용 방법 : mv -i test1.txt test2.txt
mv [경로1] .
'.' 이 워킹디렉토리를 지칭하기때문에, 경로1을 현재폴더로 이동시킨다.
cp [경로1] [경로2]
경로1을 경로2로 복사.
경로2가 디렉토리일 경우, 그 디렉토리의 자식으로 들어간다.
같은 이름의 파일이 있으면 덮어쓴다.
mv와 마찬가지로 -i 옵션을 줄 수 있다.
디렉토리를 복사할 때에는 -r옵션을 꼭 줘야한다.(r은 recursive)
rm [경로]
remove.
경로를 삭제한다.
경로를 여러개 줄 수도 있다.
디렉토리를 삭제할 경우, -r옵션을 줘야한다.
휴지통으로 보내는것이 아니라 완전히 삭제시킨다.
-i옵션 : 정말 삭제할 것인지 한 번 더 확인해준다.
-f 옵션 : 어떤 상황에서도 확인하지 않고 삭제시킨다.
파일 조회 관련
cat [경로]
concatenate 약자.
경로의 파일내용을 보여준다.
경로를 여러개 줘도 되는데, 2개이상일 경우 파일들이 이어져서 조회된다.
less
파일을 페이지단위로 나누어서 볼 수 있다.
G : 마지막페이지로 이동.
g : 처음 페이지로 이동.
q : 종료.
head, tail
파일의 맨 처음 혹은 마지막 10줄만 조회한다.
보고싶은 줄 수는 -n옵션으로 설정가능하다.
ex) head -n 5 test.txt
vim 관련
vim [경로]
경로의 파일을 vim으로 연다.
경로가 없는경우 파일을 새로 만든다.
* vim의 4가지 사용 모드 : 가능한 작업 (전환 키)
- 일반모드 : 커서 이동, 텍스트 붙여넣기, 작업 취소 (esc)
- 입력모드 : 텍스트 입력 (i)
- 비주얼모드 : 텍스트 블록지정, 텍스트 복사(v, V)
- 명령모드 : 내용저장, vim 종료(:)
일반모드를 제외한 나머지 모드들로 변경할 때에는 꼭 일반모드를 거쳐야한다.
* 복사방법
방법 ①
- 일반모드에서 복사를 원하는 줄로 방향키를 이용해 이동
- v(한글자씩 복사를 원할경우) 또는 V(한 줄씩 복사를 원할경우)로 비쥬얼모드로 이동
- 방향키로 복사범위 설정
- y로 복사.
- p로 붙여넣기.
- d로 잘라내기.
방법 ②
- 한 줄씩 복사 또는 잘라내기를 할 경우, 비쥬얼모드에 가지 않고, yy 또는 dd를 누르면 된다.
* 파일 저장 및 종료 방법
- :w 파일 저장
- :q vim종료
- :wq 파일 저장 후 vim 종료
- :q! 변경된 내용을 저장하지 않고 vim종료
매뉴얼 보기
예시 : man cal
synopsis 부분
- 대괄호로 감싸진 것들은 optional 하다는 의미.
- '-'가 붙은 것들은 option, 붙지 않은 것들은 argument.
- [-A number] 는 -A는 숫자형태의 argument를 받는 옵션이라는 의미.
- [[month], year] 와 같이 대괄호가 두번 쓰인 것의 의미는 만약 argument를 하나만 넘길 경우, year로 판단하겠다는 뜻이다.
description 부분
- 간단한 설명과 옵션에 대한 설명을 볼 수 있다.
'Etc' 카테고리의 다른 글
HTML - 시맨틱 태그(Semantics) (0) | 2023.09.11 |
---|