728x90
반응형
절대경로와 상대경로
- 절대경로(Absolute Path)
- 파일이나 디렉토리가 루트 디렉토리(/)부터 시작하여 특정 위치까지의 전체 경로
- 상대경로(Relative Path)
- 상대 경로는 현재 작업 디렉토리(현재 위치)를 기준으로 파일이나 디렉토리의 위치를 나타낸 경로
- 현재 작업 디렉토리가 /home/user라고 가정
- 절대 경로: /home/user/Documents/example.txt
- 상대 경로: Documents/example.txt
- 현재 작업 디렉토리가 /var/log라고 가정
- 절대 경로: /var/log/syslog
- 상대 경로: syslog
- 현재 작업 디렉토리가 /usr/bin이라고 가정
- 절대 경로: /usr/bin/python
- 상대 경로: python
루트 디렉토리 구조와 각 디렉토리의 특징
- / (Root Directory):
- 시스템의 최상위 디렉토리입니다.
- 모든 다른 디렉토리 및 파일은 이 디렉토리의 하위에 있습니다.
- 운영 체제의 모든 파일 및 디렉토리가 이 디렉토리 아래에 있습니다.
- /bin (Binary Binaries):
- 바이너리 실행 파일들이 있는 디렉토리입니다.
- 주요 리눅스 명령어들이 이 디렉토리에 위치합니다.
- 예를 들어, ls, cp, mv 등의 명령어들이 여기에 있습니다.
- /boot (Boot Loader Files):
- 부팅 로더 파일과 커널 이미지가 있는 디렉토리입니다.
- 부팅 프로세스에 필요한 파일들이 여기에 위치합니다.
- /dev (Device Files):
- 장치 파일들이 있는 디렉토리입니다.
- 시스템의 하드웨어 장치와 상호 작용하기 위한 특수 파일들이 여기에 있습니다.
- /etc (Etcetera):
- 시스템의 설정 파일들이 있는 디렉토리입니다.
- 대부분의 시스템 구성 파일들이 여기에 위치합니다. 예를 들어, 네트워크 구성, 사용자 계정 및 패스워드, 서비스 설정 등이 여기에 있습니다.
- /home (Home Directories):
- 사용자의 홈 디렉토리들이 있는 디렉토리입니다.
- 각 사용자에 대한 홈 디렉토리들이 여기에 있습니다.
- /lib (Library Files):
- 공유 라이브러리 파일들이 있는 디렉토리입니다.
- 프로그램이 실행될 때 필요한 라이브러리들이 여기에 위치합니다.
- /media (Removable Media):
- 이동식 미디어(USB 드라이브, CD-ROM 등)가 마운트되는 디렉토리입니다.
- 이동식 미디어를 마운트하여 사용할 때 여기에 접근할 수 있습니다.
- /mnt (Mount Point):
- 일시적으로 파일 시스템을 마운트하는 디렉토리입니다.
- 일반적으로 시스템 유지 보수 작업 또는 임시 파일 시스템을 마운트할 때 사용됩니다.
- 마운트(mount): 파일 시스템을 특정한 디렉토리에 연결하는 것을 말합니다. 즉, 다른 저장 장치(하드 디스크, USB 드라이브, 네트워크 드라이브 등)에 저장된 파일들에 접근하기 위해 해당 장치를 시스템의 파일 트리에 연결하는 과정
- /opt (Optional Packages):
- 추가적인 소프트웨어 패키지들이 설치되는 디렉토리입니다.
- 주로 상용 소프트웨어나 사용자 지정 소프트웨어 패키지들이 여기에 설치됩니다.
- /sbin (System Binaries):
- 시스템 관리용 바이너리 실행 파일들이 있는 디렉토리입니다.
- 주로 시스템 관리자들이 시스템 구성을 위해 사용하는 명령어들이 여기에 위치합니다.
- /tmp (Temporary Files):
- 일시적인 파일들이 있는 디렉토리입니다.
- 시스템 및 사용자 프로세스들이 일시적으로 파일을 생성하고 사용할 때 여기에 위치합니다.
- /usr (Unix System Resources):
- 시스템 리소스들이 있는 디렉토리입니다.
- 시스템이 아닌 사용자가 사용하는 프로그램들이 저장되는 곳입니다.
- 주로 시스템 소프트웨어 및 데이터가 여기에 위치합니다. 예를 들어, 사용자 프로그램, 라이브러리, 문서, 공유 데이터 등이 여기에 있습니다.
- /var (Variable):
- 시스템이 실행되는 동안 변하는 파일들이 있는 디렉토리입니다.
- 로그 파일, 캐시, 임시 파일 등이 여기에 위치합니다.
- /lost+found
- 파일 시스템 오류가 발생했을 때, fsck(File System Consistency Check) 유틸리티가 손상된 파일이나 디렉토리를 복구할 때 사용하는 디렉토리입니다.
- 일반적으로 사용자가 직접 파일을 저장하거나 관리하지 않습니다. 파일 시스템 관리 도구에 의해 자동으로 생성됩니다
- /proc
- 프로세스 정보를 포함하는 가상 파일 시스템
- 시스템에서 실행 중인 모든 프로세스에 대항 정보를 제공합니다. 예를 들어, 프로세스 ID, 메모리 사용량, 네트워크 상태 등의 정보를 제공합니다.
- 일반적으로 시스템 관리 작언 및 모니터링 도구에서 사용됩니다.
- /root
- 사용자의 홈 디렉토리를 나타내기 위해 사용
- root는 시스템 관리자의 역할을 나타내는 것이고, /는 파일 시스템의 최상위 디렉토리를 가리키는 것
- /run
- 시스템 부팅 중 생성되는 런타임 데이터와 PID 파일(Process Identifier, 데몬 프로세스의 실행 상태를 관리하고 추적하기 위해 사용되는 파일로, 해당 프로세스의 프로세스 ID를 저장)을 포함하는 디렉토리
- 시스템이 부팅될 때 생성되며, 임시 파일 및 프로세스 관련 데이터를 저장하는 데 사용됩니다.
- 데몬 프로세스(Daemon process): 백그라운드(background)에서 실행되는 컴퓨터 프로그램이며, 사용자와의 상호작용 없이 시스템이나 다른 프로세스를 지원하거나 관리하는 역할을 수행
- /snap
- Snap 패키지 관리 시스템에 의해 설치된 스냅 패키지들을 포함하는 디렉토리
- Snap 패키지는 응용 프로그램과 그 종송석을 캡슐화하여 시스템에 설치하고 실행하는 데 사용됩니다.
- /srv
- 서비스 관련 데이터를 저장하는 디렉토리
- 네트워크 서비스(ex. HTTP, FTP 등)의 데이터 파일들을 보관하는데 사용될 수 있습니다.
- /sys
- 커널과 관련된 정보를 포함하는 가상 파일 시스템
- 시스템의 하드웨어 및 커널 매개변수와 같은 시스템 정보에 대한 접근을 제공합니다.
- 일반적으로 /proc과 함께 시스템 정보를 관리하고 모니터링하는 데 사용됩니다.
etc directory
- etc/passwd:
- 사용자 계정에 대한 정보를 포함하는 파일입니다. 각 행은 하나의 사용자를 나타내며, 사용자 이름, 홈 디렉토리 경로, 사용자 ID 등의 정보를 포함합니다.
- /etc/group:
- 그룹 정보를 포함하는 파일입니다. 각 행은 하나의 그룹을 나타내며, 그룹 이름, 그룹 ID, 해당 그룹에 속한 사용자 목록 등의 정보를 포함합니다.
- /etc/shadow:
- 사용자 계정의 보안 관련 정보(예: 암호화된 비밀번호)를 포함하는 파일입니다. 이 파일은 보안상의 이유로 일반 사용자가 읽을 수 없습니다.
- /etc/hosts:
- 호스트 이름과 IP 주소를 매핑하는 파일입니다. 일반적으로 시스템이 로컬 네트워크에서 사용하는 호스트 이름을 관리하는 데 사용됩니다.
- /etc/hostname:
- 시스템의 호스트 이름을 저장하는 파일입니다. 이 파일은 시스템의 호스트 이름을 지정하고 변경하는 데 사용됩니다.
- /etc/network/interfaces (또는 /etc/netplan/):
- 네트워크 인터페이스의 설정을 관리하는 파일이거나 디렉토리입니다. 네트워크 설정을 수정하고 관리하는 데 사용됩니다.
- /etc/fstab:
- 파일 시스템 테이블 파일로, 시스템 부팅 시에 마운트할 파일 시스템을 지정하는 데 사용됩니다. 각 파일 시스템의 마운트 지점과 옵션을 설정합니다.
- /etc/apt/sources.list (또는 /etc/apt/sources.list.d/):
- APT(Advanced Packaging Tool) 패키지 관리 시스템의 소프트웨어 저장소 정보를 포함하는 파일 또는 디렉토리입니다. 시스템 패키지 관리 및 업데이트를 위해 사용됩니다.
- /etc/apt/apt.conf (또는 /etc/apt/apt.conf.d/):
- APT 패키지 관리 도구의 전반적인 동작을 설정하는 파일이거나 디렉토리입니다. APT의 동작을 수정하고 사용자 정의 설정을 추가하는 데 사용됩니다.
- /etc/ssh/sshd_config:
- SSH 서버의 설정 파일입니다. SSH 서버의 동작을 제어하는 데 사용됩니다. 예를 들어, 인증 방법, 포트 번호, 사용자 접속 권한 등을 설정할 수 있습니다.
- /etc/crontab (또는 /etc/cron.d/):
- cron 시스템의 전반적인 설정 파일이거나 디렉토리입니다. cron은 예약된 작업(job)을 실행하는 시스템 서비스로, 정기적인 작업 스케줄을 설정하는 데 사용됩니다.
- /etc/sudoers (또는 /etc/sudoers.d/):
- sudo 명령의 권한 설정 파일이거나 디렉토리입니다. 사용자 또는 그룹에게 특정 명령을 루트 권한으로 실행할 수 있는 권한을 부여하는 데 사용됩니다.
- /etc/environment:
- 시스템 환경 변수를 설정하는 파일입니다. 시스템 전체적으로 사용할 환경 변수를 설정하는 데 사용됩니다.
- /etc/sysctl.conf (또는 /etc/sysctl.d/):
- 시스템 커널 설정을 수정하는 데 사용되는 파일이거나 디렉토리입니다. 시스템의 네트워크, 메모리, 파일 시스템 등의 커널 파라미터를 설정하는 데 사용됩니다.
- /etc/nginx/nginx.conf (또는 /etc/nginx/sites-available/):
- Nginx 웹 서버의 주요 설정 파일이거나 가상 호스트 설정 파일들이 있는 디렉토리입니다. Nginx 웹 서버의 동작을 설정하고 가상 호스트를 관리하는 데 사용됩니다.
- Nginx(엔진엑스): 높은 성능과 안정성을 가진 오픈 소스 웹 서버 및 리버스 프록시 소프트웨어로 정적 파일 서빙, 동적 콘텐츠 처리, 로드 밸런싱, SSL 종료, 웹 애플리케이션 프록시 등 다양한 용도로 사용. 주로 높은 트래픽을 처리해야 하는 웹 사이트나 웹 애플리케이션에 적합
find / -name *.txt 1>> /dev/null
# 루트 디렉토리(/)에서 확장자가 .txt인 모든 파일을 찾고, 해당 결과를 표준 출력(stdout)으로 보냅니다.
# 1>> /dev/null은 표준 출력을 /dev/null로 리다이렉트하는 것으로, 결과를 무시하고 버립니다.
# 즉, .txt 파일을 찾는 작업의 결과를 화면에 출력하지 않고 버립니다.
find / -name *.txt 2>> /dev/null
# 표준 에러(stderr)로 발생한 오류 메시지를 /dev/null로 리다이렉트하여 오류를 무시합니다.
# 따라서 오류 메시지도 화면에 출력하지 않고 버립니다.
/bin/bash
# /bin/bash를 실행하여 새로운 bash 셸을 시작합니다.
# bash가 bin에 들어있다는 것을 명확히 표시!
/bin/ls
# /bin/ls를 실행하여 현재 디렉토리의 파일 목록을 출력합니다.
# ls가 bin에 들어있다는 것을 명확히 표시!
head /var/log/apt/history.log
# /var/log/apt/history.log 파일의 상위 몇 줄을 출력합니다.
# 이 파일은 APT 패키지 관리 도구의 사용 기록을 포함하고 있습니다.
ls -al > /dev/null
# ls -al 을 입력했을 때 아무런 출력이 없도록 하기
# 현재 실행한 ls에 대해서만 아무런 출력이 없도록 하는 것임
hihi 2>/dev/null
# hihi 라는 명령어(존재하지 않는 명령어)를 입력해도 아무런 오류 메시지가 없도록 하기(이 명령어 실행할 때만)
# 설정이 유지되는 것이 아니라 지금 친 hihi에 대한 오류 메세지가 안뜨는 것임
sudo cat /etc/shadow
# 모든 사용자의 암호화된 비밀번호를 출력하기
/dev/null
- 리눅스 및 유닉스 계열 운영 체제에서 사용되는 특수한 파일
- 일반 파일이 아니며, 데이터를 버리는 용도로 사용
- /dev/null은 빈 파일이며, 모든 데이터가 폐기
- 입력 데이터를 수신하면 아무것도 수행하지 않고 그대로 폐기
- 즉, /dev/null로 데이터를 보내면 데이터는 완전히 삭제되고, 어디에도 저장되지 않습니다.
728x90
반응형
'Linux' 카테고리의 다른 글
Permission of Linux (0) | 2024.02.23 |
---|---|
Ubuntu 운영체제의 패키지 (0) | 2024.02.22 |
"chmod: changing permissions of 'file': Operation not permitted" 오류 (0) | 2024.02.22 |
Redirect (0) | 2024.02.22 |
Ubuntu 운영체제 명령어 (0) | 2024.02.21 |