TIL - 리눅스 & 터미널 명령어

rain98·2021년 5월 22일
0

TIL

목록 보기
21/32
post-thumbnail

리눅스란?

리누스 토발즈(Linus Benedict Torvalds)가 개발한 Unix 기반 운영체제

컴퓨터 OS 커널의 일종인 리눅스 커널, 또는 리눅스 커널을 사용하는 운영체제를 가리키는 말이기도 하다. 소스 코드가 공개되어 있는 대표적인 오픈 소스 소프트웨어다. 컴퓨터 역사상 가장 많은 참여자가 관여하고 있는 오픈 소스 프로젝트다. 모바일 운영체제로 유명한 안드로이드 역시 리눅스 커널을 가져다 쓰고 있다.

터미널을 사용하는 이유?

처음 무엇을 배울때 그게 무엇에 사용되며 왜 필요한지를 배우는게 중요하다고 생각한다.

높은 보안성, 안정된 구조, 유지보수의 용이성, 어떤 하드웨어에서도 동작하는 이식성, 무료,
오픈소스, 쉬운 조작법, 커스터마이징, 교육, 지원
등 많은 이유가 있지만

개발을 처음 입문하는 분들에게 많이들 추천하는 것중 하나가 명령어 인터페이스(CLI, Command Line Interface)에 익숙해지라는 것이다. 그 이유는 대부분의 시스템과 서버는 리눅스 기반으로 운영되기 때문이다.
그럼으로 리눅스 서버에 접속해서 작업을 할때 텍스트 터미널을 통해 작업을 하는 경우가 대부분이다. 예를 들어, 백앤드 시스템에 오류가 났을때 서버에 접속해 로그를 보면서 오류를 해결해야 하는 경우 모든 작업이 다 터미널 상에서 이루어지기 때문에 만일 명령어 인터페이스와 터미널 환경에 익숙하지 않다면 많은 어려움을 겪게 될것이다. 그래서 개발할때는 UI나 여러 편리한 툴(tool)에 의존하는것을 최소화 하고 최대한 터미널을 통해서 개발하는것을 습관화 하는것을 권장한다고한다.

FHS (파일시스템 계층구조 표준)

FHS에서는 비록 그것이 다른 물리적 장치에 저장되어 있다 하더라도 모든 디렉토리가 루트 디렉토리 "/"의 하위 디렉토리다.

각 디렉토리 별로 용도를 정하고 용도에 맞춰 사용한다. 중요한 표준 디렉터리는 다음과 같다.

디렉터리설명
/파일 시스템 최상위 디렉터리
/bin사용자 명령인 ls, cat, cp 등의 실행 파일
/sbin부팅 과정에서 필요한 명령이나 관리자용 명령어인 fsck, shutdown 등의 실행 파일
/boot리눅스가 부팅될때 필요한 파일
부트 로더 설정 파일, 커널 이미지 등
/dev디바이스 드라이버들과 관련된 파일들을 저장하는 디바이스 디렉터리
모든 하드웨어는 이 디렉터리에 있는 파일을 통해 접근 가능
/etc리눅스 시스템에서 가장 중요한 디렉터리
시스템 중요 환경 설정 파일, 서버 프로그램 설정 파일, 시스템 초기화 스크립트 등
/home사용자 계정 홈 디렉터리
/lib/bin, /sbin에 있는 프로그램들이 의존하는 라이브러리 파일들
/mediaUSB 메모리나 CD/DVD-ROM같은 탈부착이 가능한 저장 장치가 자동으로 마운트될 때 마운트 지점을 제공
/proc커널이 사용하는 가상의 파일 시스템
메모리, CPU같은 시스템 자원 관련 정보, 실행 중인 프로세스 관련 정보, 커널 관련 정보 등
/root루트 계정 디렉터리
/usr리눅스 핵심 명령 외 대부분의 사용자 명령, 게임, X 윈도우 시스템, 온라인 매뉴얼 등
(ex : /usr/bin : 압축, 네트워크 관련 실행 파일 등)
/var시스템 운영 중에 필요한 가변 자료들
주로 시스템 운영 로그, 스풀 디렉터리, 임시 파일 등

전부 외우려기보단 기본적인 파일 시스템 구조가 존재하고, 주로 내가 쓰게 될 기능과 공간이 어디에 있는지를 익혀두면 좋다고 한다.


리눅스 명령어

상대경로와 절대경로

명령어를 알기전에 상대경로와 절대경로를 알아보자

1. 절대경로

절대경로란 최상위 디렉토리 (/)부터 시작해서 목표 디렉토리까지 가는 경로를 전부 기술하는 방식이다.
절대경로로 경로를 기술할 때에는 항상 맨 앞에 최상위 디렉토리 (/)가 붙는다는 것을 명심하자.

2. 상대경로

상대경로는 '현재 자신이 있는 위치를 기준으로' 이동을 하는 것이다.
그리고 '현재 자신이 있는 위치'는 . 으로 표기한다.


예시

예시를 들어보자

현재 위치가 home 폴더라면 home → dasima → 바탕화면 순서로 가려고 한다.

절대경로를 사용해보자
참고로 cd는 이동하는 명령어이다.

절대경로 : cd /home/dasima/바탕화면

그다음 상대경로를 사용해보면

상대경로 : cd ./dasima/바탕화면

이렇게 이동이 가능하다 이경우에는 상대경로를 사용해서 이동하는게 더 간편하니 이방법으로 움직이는게 좋겠다.


많이쓰는 명령어

명령어설명활용
cdchange directory폴더 이동cd (경로) → . .. /usr
lslist segments현재 경로 내 파일 목록 출력ls -al
pwdprint working directory현재 경로 출력
mkdir / rmdirmake directory디렉토리 생성 / 제거
rmremove파일 / 디렉토리 제거rm -rf
cpcopy파일 / 디렉토리 복사
mvmove파일 / 디렉토리 이동
catconcatenate터미널에 파일 내용 출력
touch파일 생성 및 날짜정보 변경touch readme.md
chmodchange mode파일 / 디렉토리 권한 설정chmod u+x readme.md
profile
헷갈리거나 기억에 남기고 싶은것을 기록합니다.

0개의 댓글