👾 파일 시스템 구조
리눅스 파일 시스템에서 다음 디렉토리의 역할에 대한 설명을 하시오.
/ (루트 디렉터리)
- 파일 시스템의 최상위 디렉토리
- 모든 파일과 디렉토리는 이 루트 디렉토리를 기준으로 계층 구조를 형성
- 모든 디렉토리와 파일의 시작 지점
- 모든 절대 경로는 / 에서 시작하며, / 밑에 여러 시스템 디렉토리들이 존재
그. 러. 나.!
여기서 한 번 정리하자면
cd란?
"Change Directory"의 약자로, 현재 작업 중인 디렉토리를 변경하는 데 사용되며 터미널이나 쉘에서 사용자가 특정 디렉토리로 이동할 수 있도록 해주는 기본 명령어
🚌🚕🚢🚃✈️ = cd
cd /디렉토리경로
🐈⬛활용하기
🐾디렉토리 경로로 들어가기
cd /home/ditto
🐾 홈 경로로 들어가기
cd
cd ~
Shell Script(쉘 스크립트)란?
- 쉘(Shell)*에서 실행되는 명령어들을 모아 작성한 스크립트 파일
- 리눅스나 유닉스와 같은 운영 체제에서 명령어들을 자동으로 실행하여 반복적인 작업을 자동화하거나 시스템 관리 작업을 효율적으로 수행하는 데 사용
Shell(쉘)이란? : 운영 체제와 사용자 간의 인터페이스로, 사용자가 입력한 명령어를 해석하고 실행
- 종류 : Bash (Bourne Again Shell), Zsh, Ksh
- 목적 : 반복적인 작업(예: 파일 백업, 로그 관리, 서버 모니터링 등)을 자동화
- 기본 구조 : 일반적으로 .sh 확장자를 가지며, 파일의 첫 번째 줄에 해당 스크립트가 어떤 쉘을 사용할 것인지를 명시
- 사용 방법 ( vi, vim, nano )
1. vi / vim (Vi Improved)
vi 는 대부분의 유닉스 시스템에서 기본으로 제공되는 텍스트 편집기
vim 은 vi의 확장 버전으로, 더 많은 기능과 개선된 사용자 인터페이스를 제공.
2. nano
사용하기 쉽고 간단한 터미널 기반 편집기. 기본적으로 대부분의 리눅스 배포판에 설치 되어 있음.
3. emacs
매우 강력한 텍스트 편집기로, 다양한 프로그래밍 언어를 지원하고 많은 커스터마이징 기능을 제공.
(초보자에게는 다소 복잡할 수 있지만, 고급 사용자나 개발자들이 선호)
4. gedit
GNOME 데스크탑 환경에서 기본으로 제공되는 GUI 텍스트 편집기. 직관적인 그래픽 인터페이스를 제공하며, 일반적인 텍스트 편집 기능 외에도 플러그인을 통해 기능을 확장.
Ditto is an adoralbe, cuddly cat and I’m very proud of him.
💡혹시나 하는 마음에
i : 편집 키
esc : 편집 그만하고 싶을 때 누르는 키
:wq 저장하고 나가기
:x 저장하고 나가기(wq와 동일)
:wq! 강제 저장 키
:q 저장 안하고 나갈 때 키
:q! 강제로 나갈 때 키
👁️🗨️ 쉘 스크립트 편집기 중 vi를 종료 할 때 shift 누르고 세미클론을 누른 뒤 :wq
~ (틸드)란?
- 사용자의 홈 디렉터리
- = /home/user [ 현재 내가 사용하고 있는 username은 ditto 이므로 =/home/ditto ]
- 다른 계정의 홈 디렉터리 이동
- 홈 디렉토리의 하위 디렉토리를 간단히 지정
🐾 상위 디렉토리로 이동하기
cd ..
🐾 이전 디렉토리로 이동하기
cd -
그렇지만 사실 풀어야하는 문제는 반도 가지 못했는데!
🌱 / 아래에 있는 하위 디렉토리
/boot(부트 디렉토리)
- 부팅 과정에 필요한 파일들을 저장하는 중요한 디렉터리(운영 체제를 시작하는 데 필수적인 커널 이미지, 초기 램 디스크 이미지(initrd 또는 initramfs), 그리고 부트 로더와 관련된 설정 파일들이 포함)
- 커널 이미지 저장(vmlinuz(vm리눅스)로 시작하는 리눅스 커널 이미지 파일)이 /boot 디렉터리에 저장
커널 : 운영 체제의 핵심 부분, 하드웨어와 소프트웨어 간의 상호 작용을 관리하고 시스템을 제어하는 역할
- 초기 램 디스크 이미지 (initrd또는 initramfs)
initrd (initial RAM disk) / initramfs (initial RAM filesystem)
: 시스템 부팅 시 커널이 초기화되고 실제 루트 파일 시스템을 마운트하기 전에 필요한 파일들을 임시로 담고 있는 초기화 디스크 이미지. 시스템이 부팅될 때 하드웨어 드라이버를 로드하거나 필요한 파일 시스템을 마운트하는 등의 작업을 수행합니다.
- boot loader(부트 로더) 파일
boot loader
: 시스템이 시작될 때 운영 체제를 로드하고 실행하는 프로그램.
🐈⬛리눅스에서 가장 흔한 부트 로더는 GRUB (GRand Unified Bootloader)
🐾 /boot 디렉터리에는 부트 로더의 실행 파일과 구성 파일(예:grub.cfg)이 포함. 👉 운영 체제를 선택하고 부팅 프로세스를 제어.
- 시스템 부팅 설정 파일
다양한 설정 파일들이 /boot 디렉터리에 저장
예를 들어, 부팅 시 로드할 커널의 버전, 부팅 명령어, 부팅 옵션 등을 정의하는 GRUB 구성 파일(grub.cfg)이 있음.
/boot 디렉터리는 리눅스 시스템이 부팅할 때 필요한 커널 이미지, 초기 램 디스크 이미지, 부트 로더 관련 파일 등을 저장하는 중요한 디렉터리. 시스템의 부팅과 관련된 필수적인 요소들을 관리하기 때문에, 시스템의 안정성과 가용성을 위해 매우 중요한 역할을 합니다.
💬 = 🫀
/bin 디렉토리
- 리눅스 및 유닉스 계열 운영 체제에서 필수 실행 파일(바이너리)이 저장된 디렉터리
- 이 디렉터리에 있는 프로그램들은 시스템 부팅, 유지 관리, 복구 등을 위해 항상 사용 가능해야 하며, 모든 사용자가 기본적으로 접근
- 필수 시스템 명령어 저장
1. 운영 체제를 정상적으로 동작시키기 위해 필요한 기본적인 명령어와 유틸리티가 포함.
2. 이 명령어들은 대부분의 리눅스 시스템에서 공통적으로 사용되며, 시스템 부팅 과정에서도 필요.
⭐️ VMware에서 "바이너리"란 일반적으로 가상 머신(VM)이나 관련된 소프트웨어의 실행 파일 또는 데이터 파일을 의미
- 단일 사용자 모드 지원
1. 단일 사용자 모드 로 부팅될 때도 /bin 디렉터리에 있는 명령어는 사용 가능.
2. 시스템 문제 해결 및 복구 작업을 수행할 때 사용되며, 이 모드에서는 필수적인 도구들만 사용 가능.
- 모든 사용자에게 접근 가능
시스템의 모든 사용자에게 접근이 가능.
즉, 일반 사용자와 관리자가 공통적으로 사용하는 명령어들이 포함.
- 시스템 유지보수와 복구
/bin에 포함된 명령어들은 시스템 복구나 문제 해결 작업 시 매우 중요.
- 부팅 시점에서의 필수 명령어
시스템이 부팅되거나 최소 모드로 실행될 때 필요한 기본 명령어들 저장.
- 모든 사용자 접근 가능
:기본 명령어들을 모든 사용자에게 제공하여 시스템의 일관된 동작을 보장.
/bin 디렉터리는 리눅스 파일 시스템에서 필수적인 실행 파일을 저장. 시스템의 부팅 과정에서 필요하거나 모든 사용자에게 필수적인 기본 명령어들이 포함되어 있어, 시스템의 정상적인 운영과 복구를 보장하는 역할을 합니다.
💬 = 🧠(기본설정)
/bin 디렉터리와 /usr/bin 디렉터리의 차이 | |
/bin | /usr/bin |
기본적으로 사용하는 필수적인 실행 파일이 저장. | 사용되는 일반 사용자 명령어와 응용 프로그램들이 포함. |
루트 파일 시스템의 일부로, 최소한의 시스템 구성 요소에 포함. | 추가적인 유틸리티나 응용 프로그램을 저장하며, 반드시 시스템 부팅 시에만 필요한 파일들은 아님. |
⭐️Utility(유틸리티) : 컴퓨터 시스템에서 특정 작업을 수행하거나 시스템을 관리하기 위해 제공되는 작고 유용한 프로그램을 말합니다.
/etc 디렉토리
- 리눅스 및 유닉스 계열 운영 체제에서 시스템의 주요 설정 파일을 저장하는 디렉터리
- 시스템 전체의 동작과 구성에 필요한 다양한 설정 파일들이 이곳에 위치하며, 시스템 관리자가 시스템을 설정하고 구성하는 데 사용하는 중요한 파일들이 들어 있음.
- 시스템 설정 파일 저장
시스템의 글로벌 설정 파일들 저장 (운영 체제 자체와 각종 서비스, 네트워크, 사용자 계정, 보안 정책, 디바이스 설정 등에 대한 정보를 포함)
예를 들어, 네트워크 설정 파일, 호스트 파일, 사용자 계정 정보 파일 등이 이 디렉터리에 위치
- 서비스와 데몬 설정
다양한 서비스(예: 웹 서버, 데이터베이스 서버)와 데몬(백그라운드 프로세스)의 설정 파일이 /etc디렉터리에 저장.
이 설정 파일들은 각 서비스가 어떻게 작동해야 하는지를 정의.
- 응용 프로그램 설정
시스템 전역적으로 설치된 응용 프로그램의 설정 파일들도 /etc 디렉터리에 저장.
예를 들어, SSH 서버 설정 파일(sshd_config)이나 데이터베이스 서버 설정 파일이 여기에 포함될 수 있음.
- 시스템 초기화 스크립트 저장
부팅 시 시스템 초기화를 위해 사용되는 스크립트 및 설정 파일들이 /etc에 저장.
예를 들어, 시스템이 시작될 때 자동으로 실행되는 서비스나 스크립트를 정의하는 파일들이 여기에 포함.
- 시스템 동작 제어
/etc 디렉터리의 파일들은 시스템의 거의 모든 측면을 제어.
- 관리자 접근 허용
일반 사용자에게는 읽기 전용으로 설정되어 있고, 시스템 관리자(root 사용자)만이 이 디렉터리의 파일을 수정할 수 있음.
- 백업의 중요성
시스템의 설정 파일들이 저장되어 있으므로, /etc 디렉터리의 손상이나 삭제는 시스템 작동에 치명적인 영향을 미칠 수 있음.
따라서 정기적인 백업이 중요.
일단..요약하자 정우야..
/etc 디렉터리는 리눅스 시스템의 중앙 설정 저장소로, 시스템 전체에 영향을 미치는 각종 설정 파일과 초기화 스크립트가 저장된 곳입니다. 시스템의 올바른 작동과 보안을 유지하기 위해 중요한 디렉터리로, 관리자는 필요한 설정 변경 시 이 디렉터리의 파일을 수정하거나 참조합니다.
💬 = 📚(변경가능한설정)
그래서 /bin이랑 /etc랑 차이점이 뭔데요?
/bin | /etc | |
목적 | 시스템의 기본 실행 파일(명령어) 저장 | 시스템의 구성 및 설정 파일 저장 |
저장 파일 | 모든 사용자에게 공통적으로 제공되는 필수 명령어와 실행 파일 | 시스템 전반의 설정 파일, 서비스 및 데몬 설정, 네트워크 설정 파일 |
/var 디렉토리
- 리눅스 및 유닉스 계열 운영 체제에서 가변 데이터(변하는 데이터)를 저장하는 데 사용되는 디렉터리
- 시스템이 동작하면서 발생하는 로그 파일, 캐시 데이터, 메일 스풀, 프린트 큐, 임시 파일 등 시간에 따라 크기나 내용이 변경되는 파일들을 저장하기 위한 곳.
- 가변적인 데이터 저장소
시스템 운영 중에 계속 변경되는 데이터를 저장.( 로그 파일, 스풀 파일(메일, 프린터 큐 등), 캐시, 임시 파일 등이 포함)
🐈⬛가변 데이터(Variable Data): 시간에 따라 변경될 수 있는 데이터를 의미
Log File(로그 파일) : 로그 파일은 시스템 상태를 모니터링하고, 문제를 진단하거나, 보안을 유지하며, 성능을 분석하기 위해 사용.
🐾컴퓨터 시스템, 애플리케이션, 서버, 네트워크 장치 등이 작동 중에 발생하는 다양한 이벤트, 오류, 사용자 활동 및 기타 중요한 정보를 기록
Spool File(스풀 파일) : 컴퓨터 시스템에서 특정 작업이 처리되기 전까지 데이터를 일시적으로 저장하는 파일
🐾스풀(Spool) : "Simultaneous Peripheral Operations On-Line"의 약자로, 주변 장치(프린터, 디스크 등)와의 작업을 병렬로 처리하기 위해 데이터를 임시로 저장하는 기술을 의미.
Cache File(캐시 파일) : 컴퓨터 시스템이나 애플리케이션에서 자주 사용되는 데이터나 계산 결과를 임시로 저장하여, 더 빠른 접근 속도와 성능 향상을 위해 사용하는 파일.
- 시스템의 일관성 및 성능 유지
/var 디렉터리에 데이터가 저장됨으로써, 시스템의 다른 부분(예:/etc, /usr디렉터리)이 불필요하게 수정되는 것을 방지하고, 데이터의 저장 및 관리가 명확.
- 백업 및 복구에 도움
/var에 저장된 파일들은 주로 시스템 운영에 필요한 가변 데이터이기 때문에, 해당 디렉터리를 정기적으로 백업하면 시스템 복구 시 유용.
- 동적 데이터의 저장소
운영 중에 지속적으로 변경되는 데이터를 저장하여 시스템의 일관성과 안정성을 유지
- 성능 최적화
로그 파일과 캐시 데이터를 저장함으로써 시스템 및 애플리케이션의 성능을 최적화하고, 불필요한 디스크 쓰기를 줄임.
- 문제 해결에 도움
시스템 로그 파일들이 /var/log에 저장되므로, 시스템 관리자나 개발자가 문제를 진단하고 해결하는 데 유용한 정보를 제공
https://youtu.be/5yYgbkWni2Y?si=kov63lGjnPMkMYcQ
자꾸 /var 볼 때마다 이 노래 생각 남..지금도 듣고 있음..
/var 디렉터리는 리눅스 파일 시스템에서 가변 데이터를 저장하는 중요한 위치. 시스템 운영 중에 지속적으로 변경되는 데이터(로그, 캐시, 스풀 파일 등)를 저장하여, 시스템의 일관성을 유지하고 성능을 최적화하며, 문제 해결을 지원하는 데 중요한 역할을 합니다.
💬 = 🐣(데이터연습생)
/home 디렉토리
- 리눅스 및 유닉스 계열 운영 체제에서 사용자 계정의 개인 파일과 설정을 저장하는 디렉토리
- 각 사용자는 /home 디렉토리 하위에 자신만의 Home Directory(홈 디렉토리)를 가지고 있으며, 이 홈 디렉토리는 해당 사용자의 개인 파일, 설정, 데이터 등을 저장하는 공간으로 사용.
- 개인 데이터 저장소
각 사용자의 홈 디렉토리는 개인 문서, 다운로드 파일, 사진, 음악 등 다양한 데이터를 저장할 수 있는 개인 데이터 저장소 역할.
- 개인 설정 파일 저장소
사용자별 환경 설정 파일(예: .bashrc, .vimrc, .profile 등)이나 애플리케이션 설정 파일(예: .mozilla나 .config 폴더)은 홈 디렉토리에 저장.( 각 사용자는 자신만의 설정과 환경을 유지할 수 있음.)
환경 설정 파일 : 운영 체제나 애플리케이션의 동작 방식을 정의하고 조정하는 설정 정보를 저장하는 파일.
환경 설정 파일의 종류
[ 리눅스/유닉스 셸 설정 파일 ]
~/.bashrc : Bash 셸의 초기화 파일로, 사용자가 터미널을 열 때 실행될 명령어와 셸 환경을 설정
예: alias 설정, 프롬프트 모양 정의, 환경 변수 설정 (export PATH) 등.
~/.bash_profile, ~/.profile : 로그인 셸에서 실행될 설정 파일로, 사용자의 로그인 환경을 설정.
~/.zshrc : Zsh 셸의 초기화 파일로, Bash와 유사한 역할을 하며, Zsh 셸의 환경을 정의.
[ 애플리케이션 설정 파일(Application Configuration File) ] : 특정 애플리케이션의 동작 방식, 사용자 환경, 기본 설정을 정의 하는 파일.
~/.vimrc : Vim 편집기의 설정 파일로, 텍스트 편집기의 동작 방식을 사용자 맞춤형으로 정의 (예: 줄 번호 표시, 탭 간격 설정)
~/.gitconfig : Git 버전 관리 시스템의 사용자 환경 설정 파일로, 사용자명, 이메일, 색상, alias 등을 설정.
~/.ssh/config : SSH 클라이언트의 설정 파일로, SSH 접속 시 사용할 기본값(포트, 사용자 이름, 키 파일 경로 등)을 지정.
[ 시스템 전역 설정 파일 ]
/etc/profile : 시스템 전반에 걸친 셸 환경 설정을 정의하며, 모든 사용자에게 적용되는 환경 변수를 설정.
/etc/ssh/sshd_config : SSH 서버의 동작을 제어하는 설정 파일로, 포트 번호, 인증 방식, 로그인 제한 등을 설정.
/etc/fstab : 파일 시스템의 마운트 정보를 설정하는 파일로, 부팅 시 자동으로 마운트할 디스크 파티션을 지정.
[ 데스크탑 환경 설정 파일 ]
~/.config 디렉토리 : Xfce, GNOME, KDE 등의 데스크탑 환경에서는 사용자별 애플리케이션 설정 파일을 이 디렉토리에 저장.
- 예: **~/.config/gtk-3.0/settings.ini**는 GTK+ 애플리케이션의 테마와 폰트 등을 설정하는 파일.
- 보안 및 접근 제어
디렉토리 하위의 각 사용자 홈 디렉토리는 기본적으로 해당 사용자만이 접근할 수 있도록 권한이 설정. 사용자 간의 데이터 보호와 프라이버시가 보장.
- 사용자 분리 및 관리 용이성
각 사용자에게 독립된 홈 디렉토리를 제공함으로써, 여러 사용자가 한 시스템을 공유하더라도 개인 데이터와 설정을 분리
- 백업 및 복원의 용이성
1. 사용자 데이터를 백업하거나 복원할 때 유용.
2. 시스템 문제나 재설치 시 /home 디렉토리만 따로 백업하면 사용자 데이터가 안전하게 보존
- 확장성과 이식성
독립적인 파티션으로 설정할 수 있어, 시스템을 업그레이드하거나 이동할 때 사용자 데이터가 손실되지 않도록 할 수 있음.
- 보안 관리
각 사용자 홈 디렉토리는 기본적으로 해당 사용자에게만 읽기/쓰기 권한이 설정되어 있어, 데이터의 보안과 개인 정보 보호이 됨.
- 디스크 용량 관리
사용자 파일이 저장되기 때문에 디스크 사용량이 빠르게 늘어날 수 있음. 시스템 관리자는 디스크 용량을 모니터링하고, 필요 시 오래된 데이터나 불필요한 파일을 정리해야함.
- 백업
중요한 개인 파일과 설정이 저장되므로, 주기적인 백업이 필요
- 권한 설정
보안을 위해 각 사용자 홈 디렉토리의 권한을 적절하게 설정하여, 다른 사용자가 함부로 접근할 수 없도록 해야 함.
/home 디렉토리는 리눅스 시스템에서 사용자의 개인 데이터와 설정을 관리하는 핵심적인 디렉토리. 각 사용자에게 독립적인 공간을 제공하고, 데이터 보안과 관리의 효율성을 높이는 역할을 하며, 시스템 관리자가 이 디렉토리를 적절히 관리하고 백업하는 것이 중요합니다.
💬 = 🐈⬛
/tmp 디렉토리
- 리눅스 및 유닉스 계열 운영 체제에서 임시 파일을 저장하는 디렉토리.
- 일시적인 데이터를 저장하고, 프로그램이나 시스템이 실행되는 동안 필요한 임시 작업 파일을 관리하는 데 사용됨.
- 임시 파일 저장
애플리케이션이나 시스템 프로세스가 실행되는 동안 생성된 임시 파일을 저장. 이러한 파일은 일반적으로 프로그램이 실행되는 동안만 필요하며, 프로그램이 종료되면 삭제될 수 있음.
- 프로세스 간 데이터 교환
여러 프로세스가 데이터를 일시적으로 교환하는 데 사용되는 파일을 저장. 예를 들어, IPC(Inter-Process Communication) 메커니즘의 일환으로 사용될 수 있음.
🐈⬛IPC(Inter-Process Communication) : 프로세스 간 통신을 의미하며, 여러 개의 프로세스가 서로 데이터를 교환하거나 협력할 수 있도록 하는 메커니즘. IPC는 운영 체제의 핵심 기능 중 하나로, 다중 프로세스 환경에서 프로세스들이 서로 협력하여 작업을 수행할 수 있게 함.
🐾메커니즘 : 특정 목표를 달성하거나 문제를 해결하기 위해 설계된 방법, 과정, 기구 또는 시스템을 의미
- 시스템 작업 지원
시스템 운영 중 발생하는 일시적인 작업(예: 소프트웨어 설치, 데이터 처리)을 지원하는 파일을 저장.
- 자동 삭제
/tmp 디렉토리의 파일은 일반적으로 일정 기간이 지나면 자동으로 삭제되거나 시스템 재부팅 시 제거
- 쓰기 권한
대부분의 사용자 및 애플리케이션이 쓰기 권한을 가지며, 이를 통해 프로그램이 임시 파일을 생성.
- 보안 및 접근 제어
보안상의 이유로 적절한 권한이 설정. 임시 파일이 다른 사용자나 프로세스에 의해 읽히거나 변경될 수 있기 때문에, 파일 접근 권한이 적절히 관리되어야 함.
- 파일 시스템의 크기
/tmp 디렉토리는 대개 시스템의 루트 파일 시스템에 위치하지만, 독립된 파티션으로 설정될 수도 있음. (임시 파일이 생성 시 공간 확보)
- 자동 정리
자동으로 정리되도록 설정할 수 있으며, 시스템에 따라 주기적으로 정리하거나 재부팅 시 삭제
- 디스크 공간 모니터링
디스크 사용량을 모니터링하고 필요 시 정리 작업을 수행
- 보안 조치
/tmp 디렉토리에 저장되는 파일이 보안 취약점을 초래할 수 있으므로, 적절한 접근 권한 설정과 보안 조치를 취하는 것이 중요.
👾/tmp 사용 예시
- 소프트웨어 설치
- 소프트웨어 설치 과정에서 패키지 파일을 추출하거나 설치 파일을 임시로 저장하는 데 사용됩니다.
- 문서 편집 및 임시 작업
- 문서나 파일을 편집할 때 생성되는 임시 파일이나 버퍼를 저장하는 데 사용됩니다.
- 시스템 로그 및 데이터 처리
- 시스템 작업 중 생성되는 임시 로그 파일이나 데이터 처리 중간 결과를 저장하는 데 사용됩니다.
- 웹 브라우저 캐시
- 웹 브라우저는 다운로드한 웹 페이지와 리소스를 /tmp에 임시로 저장할 수 있습니다.
/tmp 디렉토리는 리눅스 및 유닉스 시스템에서 임시 파일을 저장하고 관리하는 중요한 디렉토리. 애플리케이션이나 시스템 프로세스의 일시적인 작업을 지원하고, 디스크 공간을 효율적으로 사용할 수 있도록 돕습니다. 자동 정리 기능과 적절한 보안 조치를 통해 관리해야 하며, 디스크 공간과 보안에 대한 신경을 써야 합니다.
💬 = 🐚 창업한 임차인
/usr 디렉토리
- 유닉스 계열 운영 체제(Linux, Unix 등)에서 사용자(User) 관련 시스템 파일을 저장하는 디렉토리.
- 일반 사용자의 개인 데이터가 아닌 애플리케이션, 사용자 명령어, 라이브러리, 헤더 파일, 공통 데이터 등 시스템 운영에 필요한 파일들이 저장.
- 시스템 프로그램과 파일의 저장
사용자와 관련된 프로그램, 명령어, 애플리케이션 등을 저장.
usr 디렉토리에는 시스템 운영에 필요한 다양한 유틸리티, 도구, 라이브러리, 매뉴얼 등이 포함.
- 공유 가능한 데이터의 저장소
여러 사용자나 애플리케이션이 공통으로 사용할 수 있는 데이터나 파일을 저장하는 장소로 사용.
(시스템에서 제공하는 기본 텍스트 편집기, 컴파일러, 이미지 뷰어)
- 애플리케이션과 시스템 파일의 계층화
시스템 파일 구조를 더 잘 조직화하여 애플리케이션 및 파일을 그룹화하고, 시스템 유지 관리를 용이
- 읽기 전용
1. 대부분의 시스템에서는 /usr 디렉토리가 읽기 전용으로 마운트됨.
2. 시스템 안정성을 높이고, 사용자나 애플리케이션이 중요한 시스템 파일을 임의로 변경하지 않도록 하기 위함.
- 대용량 데이터
리눅스 시스템에서 가장 큰 디렉토리 중 하나가 될 수 있으며, 대부분의 애플리케이션과 프로그램 파일들이 이곳에 저장.
- 네트워크 공유 가능
여러 시스템 간에 네트워크를 통해 공유될 수 있음.
예를 들어, 클라이언트-서버 환경에서 /usr를 공유하여 프로그램과 유틸리티를 일관되게 사용할 수 있습니다
🐜/usr 디렉토리의 주요 하위 디렉토리
/usr/bin
- 표준 사용자 명령어 바이너리가 위치하는 디렉토리.
- 대부분의 사용자용 명령어와 실행 가능한 파일이 저장.
-
- 예: ls, cp, find, grep, vim 같은 명령어가 위치.
/usr/sbin
- 시스템 관리자용 명령어가 위치하는 디렉토리.
- 주로 시스템 관리와 관련된 유틸리티가 포함.
-
- 예: ifconfig, fdisk, shutdown 같은 시스템 관리 명령어들이 위치.
/usr/lib
/usr/bin
/usr/sbin
- 프로그램이 사용할 수 있는 라이브러리 파일이 저장되는 디렉토리
- 특히 /usr/bin, /usr/sbin의 실행 파일들이 사용하는 라이브러리가 포함.
- 아키텍처에 따라 특정한 하위 디렉토리가 추가
/usr/local
- 로컬 시스템에 설치된 프로그램과 파일을 저장하는 디렉토리.
- 사용자나 관리자가 직접 설치한 소프트웨어는 주로 이 위치에 저장.
- 예: 직접 컴파일한 프로그램, 별도의 패키지 매니저를 통해 설치한 소프트웨어 등이 위치.
/usr/share
- 플랫폼에 독립적인, 즉 아키텍처에 무관한 공용 파일이 저장되는 디렉토리
- 애플리케이션의 매뉴얼, 아이콘, 설정 파일 등이 포함
- 예: 지역화 파일(다국어 지원), 매뉴얼 페이지, 특정 애플리케이션의 문서 파일 등이 있음.
/usr/include
- C/C++와 같은 프로그래밍 언어의 헤더 파일이 저장되는 디렉토리.
- 일반적으로 시스템 라이브러리와 관련된 헤더 파일들이 위치.
- 예: stdio.h, stdlib.h와 같은 C 표준 라이브러리 헤더 파일이 포함
/usr/src
- 커널 소스 코드나 다양한 패키지의 소스 코드가 저장되는 디렉토리
- 예: 리눅스 커널 소스 코드를 다운로드하여 컴파일할 때 이 디렉토리를 사용.
/usr/share/man
- 시스템 매뉴얼 페이지가 저장되는 디렉토리
- 각 명령어와 프로그램의 도움말 파일이 포함.
- 예: man ls 명령어를 실행할 때 사용하는 매뉴얼 파일이 /usr/share/man/man1/ls.1.gz에 위치합니다
/usr 디렉토리는 리눅스 및 유닉스 시스템에서 사용자 애플리케이션, 유틸리티, 라이브러리, 공유 데이터 등을 저장하는 곳으로, 시스템 운영에 필수적인 역할. 다양한 하위 디렉토리를 통해 명령어, 라이브러리, 문서, 설정 파일 등이 구조화되어 있으며, 대부분의 사용자용 애플리케이션과 시스템 유틸리티가 여기에 위치합니다.
💬 = 🏢회사
드디어 문제 1 clear🥕
'🐾Server🍏 > 🍏LINUX' 카테고리의 다른 글
[MAC] SELinux Redhat 9 버전 활성화/비활성화 (0) | 2024.08.22 |
---|---|
[MAC] 찐 최종 서버 만들기2 (8) | 2024.08.22 |
[MAC] 찐 최종 서버 만들기 / SELinux 해제 방법 (0) | 2024.08.22 |
[MAC] Server 1 만들기 (0) | 2024.08.20 |