Unix
1970년대 개발된 운영체제의 종류 중 하나이다.
유닉스의 특징으로는
- 여러 유저가 동시에 사용 가능하다.
- 여러 개의 프로그램이 동시에 수행되며 각각의 프로그램이 자신의 작업을 수행할 수 있다.
- 표준화된 인터페이스로 다른 유닉스 시스템에서도 동일한 커맨드와 인터페이스를 사용할 수 있다.
여러 운영체제들이 Unix를 기반으로 하여 탄생하였으며 macOS 와 Ubuntu 등 역시 Unix 에서 파생되었다.
GNU/Linux
GNU 역시 Unix를 기반으로 한 운영체제이다.
추후에 Linux 라는 커널이 완성되었고, GNU가 이 Linux를 사용하게 되면서 하나의 온전한 운영체제가 완성되었다.
이에 운영체제의 이름도 GNU/Linux로 변경되었다.
기본 개념들
Command
운영체제를 다루기 위한 명령어
Graphical User Interface (GUI)
마우스와 클릭을 사용하여 상호작용하는 환경
Command Line Interface (CLI)
커맨드를 입력하여 컴퓨터와 상호작용하는 환경
터미널
인풋을 입력받고 아웃풋을 출력하는 프로그램
디렉토리와 파일
디렉토리
우리가 잘 알고 있는 폴더 라고 생각하면 된다.
최상위 디렉토리는 루트 디렉토리 라고 부르며 그 아래로 여러 하위 디렉토리들로 이루어진 구조이다.
하위 디렉토리 중 홈 디렉토리 는 각종 문서, 다운로드 파일, 바탕화면 파일 등 사용자와 관련된 문서들을 저장하고 있다.
이외에 컴퓨터에 일반적으로 필요한 문서들은 홈 디렉토리 외부에 존재하고 있다.
절대 경로와 상대 경로
절대 경로
루트 디렉토리를 기준으로 설정한 경로이다.
상대 경로
현재 위치하고 있는 working directory를 기준으로 한 경로이다.
이대 현재 디렉토리는 . 으로 표기하고, 상위 디렉토리는 ... 으로 표기한다.
자주 쓰는 커맨드 정리
argument (인자)
어느 대상에 대해 커맨드를 실행할지 정해줌
option (옵션)
커맨드의 실행 방식을 설정
- 뒤에 원하는 옵션에 해당하는 알파벳을 붙여 사용하며, 여러 옵션을 사용하고 싶다면 알파벳을 연달아 붙여 사용하면 된다.
man
커맨드에 대한 메뉴얼을 확인할 수 있다.
argument 로 확인하고 싶은 커맨드를 작성한다.
- NAME : 커맨드의 이름과 역할
- SYNOPSIS : 커맨드 문법, 옵션, 아규먼트 정리
- DESCRIPTION : 일반적인 설명과 각 옵션에 대한 설명들 정리
pwd
현재 디렉토리의 위치를 출력
cd
경로 이동 커맨드
cd 뒤에 이동하고 싶은 경로를 작성한다.
cd #루트로 이동
cd .. #상위 디렉토리로 이동
cd ~ #홈 디렉토리로 이동
cd - #이전 디렉토리로 이동
cd ../../.... #원하는 경로를 설정하여 이동
ls
디렉토리에 포함된 문서들을 보여준다.
ls -a #숨겨진 파일을 포함하여 모든 파일들을 보여준다
ls -l #파일들의 정보를 보여준다
mkdir
디렉토리를 만드는 커맨드
mkdir <디렉토리명>
한 번에 여러개를 만들고 싶다면 argument로 여러 값을 작성해주면 된다.
touch
파일을 만드는 커맨드
mkdir과 동일하게 사용한다.
cat
파일 내용을 확인한다
less
파일 내용들을 페이지로 나누어 보여준다
head
파일의 첫 부분을 보여준다
tail
파일의 마지막 부분을 보여준다
#n 옵션과 사용할 수 있으며
#보여줄 줄의 개수를 설정할 수 있다.
tail -n 10 file.txt
head -n 15 file2.txt
mv
디렉토리와 파일을 이동하고, 이름을 변경할 수 있는 커맨드다.
mv <작업 대상 경로> <이동 목적지 혹은 변경할 이름>
mv <작업 대상 경로> . #현재 위치로 옮기고 싶은 경우
만약 같은 이름의 파일, 디렉토리가 존재할 경우 그냥 덮어씌워 버린다.
이를 방지하기 위해 i 옵션을 사용할 수 있다.
mv -i <작업 대상 경로> <이동 목적지 혹은 변경할 이름>
cp
복사를 할 수 있는 커맨드다.
cp <복사 대상 경로> <복사할 위치>
cp -r <복사 대상 경로> <복사할 위치> #디렉토리 복사의 경우
디렉토리의 경우 r 옵션을 사용해야 한다. 이는 폴더 내부 모든 하위 폴더 및 파일들까지 복사해주는 역할을 해준다.
만약 복사할 위치가 존재하지 않을 경우 새롭게 경로가 생성된다.
rm
삭제 커맨드다.
rm <path> <path1> …
rm -r <디렉토리명> #디렉토리의 경우 r 옵션 사용
rm -i <path> #i 옵션 통해 강제 삭제 방 지
rm -f <path> #f 옵션 통해 어떤 경우에도 무조건 삭제
'웹' 카테고리의 다른 글
[Web]웹 페이지의 렌더링 방식(SSR, CSR / MPA, SPA) (0) | 2024.08.09 |
---|---|
[HTML/CSS/JS] fetch를 활용한 API 연결 (0) | 2024.07.03 |
[JavaScript]간단한 달력 만들기 1 (0) | 2023.05.03 |