1. 디렉토리

더보기

1. 윈도우 파일 탐색기

리눅스의 디렉터리 구조를 이해하기 전에, Windows와 비교하면 쉽게 파악할 수 있습니다.

 

1. Windows는 C:\ 드라이브를 최상위로 하여

2. 그 아래에 Windows, Program Files, Adobe 등의 폴더가 계층적으로 연결되어 있습니다.

3. 예를 들어, C:WProgram Files₩AdobeWAcrobat DC 와 같은 경로로 파일을 표현합니다.

4. 폴더 구분자는 백슬래시 \ 입니다.

*이와 비교해 리눅스는 /가 최상위 디렉터리(루트)이며, 폴더 구분자는 슬래시 /를 사용합니다.

 

 

2.  리눅스 디렉토리

 

2.1 tree 설치

: # 터미널 실행, tree 설치

sudo apt install tree

 

2.2 디렉터리 구조 확인

: # 리눅스에서 디렉터리 구조를 트리 형태로 최대 4단계까지 출력

tree / -L 4 | less

 

2.3 비교

tree 는 q를 입력하면 종료 할 수 있다.

 

리눅스도 Windows처럼 계층적인 디렉터리 구조를 가지고 있지만, 텍스트 기반 환경을 주로 사용하기 때문에 Windows의 파일 탐색기처럼 시각적인 탐색 도구는 자주 사용되지 않습니다.


이 때문에 초보자는 현재 작업 중인 위치나 디렉터리 구조를 파악하기 어려워하는 경우가 많습니다.

 

리눅스에서는 슬래시 /가 루트 디렉터리(최상위 디렉터리)를 의미하며, Windows의 C:\와 비슷한 개념입니다.


하지만 Windows는 C:, D:처럼 여러 드라이브가 존재할 수 있는 반면, 리눅스는 / 하나로 모든 파일 시스템이 통합됩니다.
디렉터리 경로 구분자는 슬래시 /를 사용하며, 경로 맨 앞의 /는 루트 디렉터리 자체를 가리킵니다.

 

2.1 man [명령어]

: man은 "manual"의 줄임말로, 리눅스 명령어의 설명서(도움말)를 터미널에서 볼 수 있게 해주는 명령입니다.

더보기

기본 사용법

man [명령어]

 *man 페이지는 단축키로 탐색할 수 있습니다:

  • ↓ / ↑ : 줄 단위 스크롤
  • Space : 다음 페이지
  • q : 종료

 

예시1

man ls
  • ls는 현재 디렉터리의 파일 목록을 출력하는 명령어입니다.
  • 매뉴얼을 읽다가 그만 보려면 키보드에서 q를 누릅니다.

 

예시2

man cp

 

  • 파일을 복사하는 명령어입니다.
  • 옵션들(-r, -v, -i)의 의미도 함께 확인해 보세요.

예시3

man pwd      # 현재 위치 확인 명령어
man cd       # 디렉터리 이동
man mkdir    # 디렉터리 생성
man rm       # 파일/디렉터리 삭제
man mv       # 파일/디렉터리 이동 또는 이름 변경
man touch    # 빈 파일 생성
man cat      # 파일 내용 출력
man echo     # 문자열 출력​

 

 

2.2 ls

: ls는 "list"의 줄임말로, 디렉터리(폴더)의 파일 목록을 나열해주는 명령어입니다.

더보기

기본 사용법

ls [옵션] [디렉터리]

 

 

1. 현재 디렉터리 파일 목록 보기

ls

 

2. 특정 디렉터리의 목록 보기

ls /etc/systemd
 

 

3. 숨김 파일 포함하여 보기 (-a)

ls -a
  • .로 시작하는 숨김 파일까지 표시됩니다.

 

4. 자세히 보기 (-l)

ls -l
#출력 예시
-rw-r--r--  1 root root   1780 May 28  2023 example.conf
drwxr-xr-x  2 root root   4096 Jan  5 09:12 nginx
  • 파일의 권한 / 소유자 / 크기 / 수정일 / 이름 등을 자세히 표시합니다.
  • 첫 글자: -(파일), d(디렉터리)

 

5. 한 줄에 한 개씩 보기 (-1)

ls -1
 

 

6. 특정 확장자 파일만 보기 (*.conf)

ls *.conf
  • * 기호는, ALL 전부를 의미한다.
  • 현재 디렉터리에 있는 .conf 파일만 나열

 

7. 특정 이름 패턴으로 보기 (n*)

ls -l /etc/systemd/n*
 
  • /etc/systemd 디렉터리에서 n으로 시작하는 항목을 자세히 표시

 

8. 자주 쓰는 조합

ls -al
  • 숨김 파일까지 포함해서 상세히 보기

 

2.3 cd

: cdChange Directory의 줄임말로, 디렉터리(폴더)를 이동하는 명령어입니다.

더보기

기본 사용법

cd [이동할_디렉터리_경로]

 

 1. 사용법 정리


명령어 설명
cd 홈 디렉터리로 이동 (현재 사용자의 /home/사용자명 또는 root는 /root)
cd /etc 절대 경로를 사용해 /etc 디렉터리로 이동
cd .. 상위(부모) 디렉터리로 이동
cd . 현재 디렉터리를 유지 (위치 변화 없음)
cd ~ 홈 디렉터리로 이동 (=cd)
cd - 이전 디렉터리로 이동 (바로 직전 경로로 되돌아감)

 

2. ls 명령으로 폴더 목록을 확인, cd [디렉토리] 명령어로 이동, cd .. 명령어로 상위 디렉토리로 이동

 

3. ls 명령으로 폴더 목록을 확인, cd 명령어로 이동, 이전 디렉토리로 이동

 


4. ls 명령으로 폴더 목록을 확인, 
cd 명령어로 이동,  디렉토리로 이동

 

  

5. 경로 종류

  • 절대 경로: /로 시작하는 전체 경로 → 루트부터 시작
    예) cd /var/log
  • 상대 경로: 현재 디렉터리를 기준으로 이동
    예) cd ../Documents

 

 

2.4 pwd

: pwdPrint Working Directory의 약자입니다.

더보기

 

1. 사용처

  • cd로 디렉터리를 여러 번 이동한 후, 현재 위치를 알고 싶을 때
  • 스크립트나 명령어 실행 경로를 확인할 때

 

# 예: 현재 디렉터리가 /home/ubuntu/Documents 라면
$ pwd
/home/ubuntu/Documents

 

 

2. 실습 예제

pwd                   # 현재 위치 확인
ls                    # 파일/폴더 보기
cd /etc               # /etc 디렉토 이동
pwd                   # 다시 현재 위치 확인
ls -l                 # 파일 정보 자세히 보기
cd ..                 # 상위 디렉토리 이동
pwd                   # 현재 위치 확인
cd -                  # 바로 전 위치(/etc)로 이동
pwd                   # 현재 위치 다시 확인

 

 

  • . 은 현재 디렉토리
  • ..은 상위 디렉토리
  • ~는 홈 디렉토리
  • -는 이전 디렉토리
 

 

 

2.5 자동완성, 히스토리, 

더보기

자동 완성 기능 (Tab 키)

  • 자동 완성이란 터미널에서 파일이나 디렉터리 이름의 일부만 입력하고 Tab 키를 눌러 나머지를 자동으로 완성하는 기능입니다.
  • 긴 경로나 복잡한 파일 이름을 빠르게 입력할 수 있어 매우 유용합니다

예시

cd /etc/Net<Tab>/disp<Tab>

 

결과: 자동 완성되면 아래처럼 입력됩니다:

cd /etc/NetworkManager/dispatcher.d/

 

 

 

 

명령 히스토리 (방향키 ↑ ↓)

  • **방향키 ↑(위), ↓(아래)**를 누르면 이전에 입력한 명령어를 다시 불러올 수 있는 기능입니다.
  • 자주 쓰는 명령어를 다시 입력하지 않아도 되어 효율적입니다.

 

명령 히스토리 (방향키 ↑ ↓) 사용 예시

 

1. 터미널에 다음을 입력해보세요:

cd /etc

 

2. 다음 명령을 입력하다가 중간에 Tab 키를 눌러 자동 완성해 보세요:

cd /etc/Net<Tab>/disp<Tab>

 

3. 방향키 ↑를 눌러 방금 입력한 명령을 다시 불러옵니다.

 

3. dpkg 를 사용한 .deb 프로그램 설치 개요

더보기

dpkg: debian package (Manager)

 

1. dpkg와 .deb 패키지의 개념 요약

 

초창기 리눅스에서는 프로그램 설치가 어렵고 복잡했기 때문에, 초보자에게는 큰 장벽이었습니다.

이를 개선하기 위해 데비안(Debian) 리눅스에서 .deb 확장자의 설치 파일을 만들었습니다.

  • .deb 파일은 Windows의 setup.exe처럼 설치 후 바로 사용할 수 있는 포맷입니다.
  • 이 파일을 리눅스에서는 패키지(package)라고 부릅니다.
  • .deb 패키지를 설치,관리하는 명령어가 바로 dpkg입니다.

 

2. dpkg – 프로그램 설치를 먼저 학습하는 이유

  • 우분투에서 프로그램(패키지) 설치 시 사용하는 주요 도구는 dpkg와 apt이다.
    dpkg는 우분투의 프로그램 설치 시스템의 기본이며, apt는 이를 확장한 현대적인 도구다.
  • apt는, dpkg보다 사용이 쉽고 기능이 확장된 상위 개념의 도구이며, 현재는 apt가 더 자주 사용되지만
    최신 버전 프로그램 설치가 불가능하거나, 한글 입력이 불가한 경우가 있다.

 

 3. 패키지.deb 파일명 의미

패키지이름-버전-개정번호-아키텍처.deb
패키지이름-12.3-4-amd64.deb

 


항목 설명
패키지이름 소프트웨어 이름 (examplepkg, vim, nginx 등)
버전 (Version) 해당 소프트웨어의 릴리즈 버전 (12.3)
개정번호 (Revision) 패키지를 빌드하거나 수정한 횟수를 나타냄 (-1, -2 등). 같은 버전에서의 패키징 차이
아키텍처 (Architecture) 대상 시스템의 CPU 구조예: amd64(64비트), i386(32비트), arm64(ARM 64비트)
.deb Debian 패키지임을 나타내는 확장자

 

 

4. dpkg 명령어 

더보기

1. 패키지 .deb 수동 설치

# 다운로드 받은 파일이 있는 경로에서, 터미널 실행
sudo dpkg -i 패키지이름.deb     # 파일이름 + tab 자동완성

 

 

2. dpkg를 이용한 패키지 삭제

sudo dpkg -r 패키지이름         # 패키지 제거
명령어 설명
sudo dpkg -r 패키지이름 패키지 제거 (설정 파일은 유지)
sudo dpkg -P 패키지이름 패키지 및 설정 파일 모두 완전 제거 (purge)

 

 

3. 패키지 정보 확인

dpkg -l firefox #설치민 패키지에 대한 정보
dpkg -L firefox #패키지가 설치한 파일 옥록
명령어 설명
dpkg -l [패키지명] 설치된 패키지인지 확인 + 버전 정보
dpkg -L [패키지명] 해당 패키지가 설치한 파일 경로 목록

 

 

 4. 파일 상세 정보 조회

.deb 파일 자체에 대한 정보를 확인하고 싶을 때는 dpkg-deb --info 명령을 사용합니다.

dpkg -I examplepkg_1.2.3-1_amd64.deb
명령어 설명
dpkg -I 파일.deb .deb 패키지의 정보(이름, 버전, 설명, 의존성 등)를 조회
dpkg-deb --info 파일.deb 위와 동일한 기능 (더 명확한 형태)

 

출력 예시

 new Debian package, version 2.0.
 size 15824 bytes: control archive=512 bytes.
 Package: examplepkg
 Version: 1.2.3-1
 Architecture: amd64
 Maintainer: dev@example.com
 Depends: libc6 (>= 2.14)
 Description: Example package for demo

 

 

5. dpkg 수동 설치 리스트

더보기

.deb 수동 설치 리스트

 

이외의 프로그램은 apt, snap 으로 설치한다.