상세 컨텐츠

본문 제목

리눅스(Linux) 설명과 기본 명령어

DevOps/OS

by code_down 2024. 5. 9. 08:39

본문

리눅스란?

리눅스(Linux)는 핀란드의 소프트웨어 엔지니어 리누스 토르발즈(Linus Torvalds)가 유닉스(Unix)에 기반하여 만든 운영체제(OS) 입니다.

소프트웨어는 사용자가 요구하는 동작을 수행 할 때, CPU, RAM 등의 하드웨어를 사용하는데, 이때 운영체제가 소프트웨어에 필요한 만큼의 하드웨어의 자원을 할당해 줍니다.

운영체제는 CPU, RAM과 같은 한정된 하드웨어 자원을 관리하고, 하드웨어와 소프트웨어 사이에서 이 둘을 중재해 주는 역할을 합니다

 

리눅스 디렉토리 정보

bin 기본 명령어들이 저장된 경로
boot 부팅에 필요한 파일이 저장되는 경로
dev 시스템 디바이스 관련 파일들이 저장되는 경로
dev/null 주기적으로 비워지는 경로 (휴지통 개념)
etc 시스템 설정에 관련된 파일들이 저장되는 경로
home 사용자의 홈 디렉토리가 생성되는 경로
lib 커널과 프로그램에 필요한 각종 라이브러리가 저장되는 경로
media CD, USB 같은 외부 장치를 연결되는 경로
mnt 탈부착 가능한 장치들을 임시로 연결하는 경로 (WSL의 경우 윈도우의 디렉토리와 연결)
opt 추가 패키지가 설치되는 경로
root 최고관리자(root) 계정의 홈 경로
run 실행중인 서비스와 관련된 파일들이 저장되는 경로
sbin 시스템 관리자용 명령어들이 저장되는 경로
sys 리눅스 커널 관련 정보가 있는 경로
tmp 시스템 사용중 발생하는 임시 데이터가 저장되는 경로
usr 기본 실행파일, 라이브러리, 헤더 파일등이 저장되는 경로
var 시스템 운영중 발생하는 데이터 로그가 저장되는 경로
proc 실행중인 프로세스 및 커널 정보가 저장되는 경로 (메모리에 저장됨)

 

자주 사용되는 명령어

  • ls -현재 디렉토리의 파일 목록 조회
  • cd -디렉토리 이동
  • mkdir -디렉토리 생성
  • touch - 0 byte 파일 생성 (파일의 날짜와 시간을 수정)
  • cp -파일 복사
  • mv -파일 이동
  • rm -파일 삭제
  • cat - 파일의 내용 화면에 출력 (리다이렉션 기호 ">" 를 사용하여 새로운 파일 생성)
  • redirection -화면의 출력 결과를 파일로 저장
  • alias -명령어에 별명을 정의

 

기본 명령어

history

history #사용자가 사용한 command hitory 조회

 

pwd

pwd #현재 위치한 디렉토리의 절대 경로를 표시합니다.

 

tail

tail {option} {file_name} #파일의 하단 내용을 조회한다. (default 10 line)

 

head

head {option} {file_name} #파일의 상단 내용을 조회한다. (default 10 line)

 

find

find {directory} {option} #특정 파일이나 디렉토리를 검색한다.

 

ls

ls {option} #현재 위치의 파일 및 디렉토리를 조회합니다.

option

-a 숨긴파일을 포함한 모든 항목 표시
-d 디렉토리 정보만 표시
-F 디렉토리는 /, 실행가능 파일은 *, 소켓파일은 =, 링크인 경우 @를 파일이음 뒤에 표시
-l 각 항목의 상세 정보들을 함께 표시
-m 각 항목들을 쉼표로 구분하여 표시
-r 항목들을 역순으로 표시
-R 하위 디렉토리의 내용들도 표시
-s kb 단위로 표시
-t 최종 수정시간을 기준으로 표시
-u 최종 액세스 시간 기준으로 표시

 

cd

cd {option} #디렉토리 경로 이동

option

~ 홈 디렉토리로 이동
/ 최상위 디렉토리로 이동
. 현재 디렉토리로 이동
.. 상위 디렉토리로 이동
- 이전 디렉토리로 이동

 

mkdir

mkdir {option} {directory} #디렉토리를 생성한다.

option

-p 생성할 디렉토리의 상위 디렉토리가 없을 경우 생성한다.
-m {permission} 생성할 디렉토리에 권한을 설정한다.

 

cp

cp {option} {copy directory or file} {new directory or file} #디렉토리 또는 파일을 복사한다.

option

-r 하위 디렉토리의 내용 모두 복사
-v 복사 진행 상태를 출력
-p 파일 또는 디렉토리를 복사할 때, 대상의 소유자, 그룹, 권한 정보까지 복사
-i 복사 파일이 해당 위치에 이미 있다면 덮어 쓰기 여부를 확인
-f 복사 파일이 해당 위치에 이미 있다면 파일을 지우고 새로 생성

 

mv

mv {option} {move directory or file} {new directory or file} #디렉토리 또는 파일을 이동하거나 이름을 변경한다.

option

-r 하위 디렉토리의 내용 모두 이동
-v 이동 진행 상태를 출력
-b 이동시킬 파일이 이미 있으면 백업 파일을 생성
-i 이동시킬 파일이 이미 있으면 덮어 쓰기 여부를 확인
-f 이동시킬 파일이 이미 있으면 파일을 지우고 새로 생성
-n 이동시킬 파일이 이미 있으면 덮어 쓰지않는다.

 

rm

rm {option} {directory or file} #디렉토리 또는 파일을 삭제한다.

option

-f 강제로 파일이나 디렉토리를 삭제
-r 디렉토리 내부의 모든 내용을 삭제
-d 비어있는 디렉토리들만 삭제
-i 사용자에게 삭제 여부를 확인
-l 3개 이상의 파일을 삭제하거나 디렉토리 내부가 비어있지 않을때, 삭제 여부를 확인
-v 삭제 대상의 상태를 출력

 

sudo

sudo {command} #root 권한을 사용하여 명령어를 실행합니다.

 

 

cat

cat {option} {file}

option

-n 행 번호를 출력 (비어있는 행 포함)
-b 행 번호를 출력 (비어있는 행 제외)
-e 제어 문자를 ^ 형태로 출력하며, 각 행의 끝에 $를 추가
-s 연속되는 2개 이상의 빈 행을 한 행으로 출력
-E 행의 끝에 $를 출력

 

touch

touch {option} {file} #파일을 생성한다. (파일의 날짜, 시간을 변경한다.)

option

-m 파일의 생성, 수정 시간을 서버 시간으로 변경
-t 파일의 생성, 수정 시간을 사용자가 원하는 시간으로 변경

 

alias

alias #등록된 별칭 확인
alias {alias} = '{command}' #명령어에 별칭 설정
unalias {alias} #명령어에 별칭 제거

 

clear

clear #터미널에 내용을 지웁니다.

 

 

Redirection

{command} > {file} #명령어의 결과를 파일로 저장 (덮어쓰기)
{command} >> {file} #명령어의 결과를 파일에 추가 (엎어쓰지않기) 
{command} < {file} #파일의 데이터를 명령어에 실행 (덮어쓰기)
{command} << {file} #파일의 데이터를 명령어에 실행 (덮어쓰지않기)

 

'DevOps > OS' 카테고리의 다른 글

심볼릭 링크 (Symbolic Link)  (0) 2025.02.27
Found a swap file by the name 해결 방법  (0) 2024.06.03
파일 디스크립터 (File Descriptor) 란?  (0) 2024.05.10