>  기사  >  운영 및 유지보수  >  / 아래의 Linux 정의 및 사양에 대한 기술적 답변

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

WBOY
WBOY앞으로
2022-02-14 18:35:051624검색

이 기사에서는 Linux의 몇 가지 기본 개념을 정리했습니다. Linux 및 UNIX의 파일 시스템은 "/"를 루트로 하는 트리 파일 구조입니다. "/"는 Linux 및 UNIX의 루트 디렉터리이기도 합니다. 파일 시스템의 시작점이 모든 사람에게 도움이 되기를 바랍니다.

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

Linux와 UNIX의 파일 시스템은 루트가 /인 트리형 파일 구조입니다. /는 Linux와 UNIX의 루트 디렉터리이자 파일 시스템의 시작점이기도 합니다. 우리가 자주 듣는 /usr, /etc, /bin, /home 등을 포함한 모든 파일과 디렉터리는 / 경로 아래에 위치합니다. 초기 UNIX 시스템에서는 각 제조업체가 자체 파일 시스템의 명명 구조를 정의했는데, 이는 혼란스럽고 구별하기 어려웠습니다.

Linux 시스템에서 이러한 이름 혼동 문제를 피하기 위해 Linux 파일 시스템 계층 표준 FSSTND(FileSystem Standard)가 1994년에 출시되었습니다. 이후 UNIX 팀은 FSSTND를 발전시켜 후기 FHS(FileSystem Hierarchy Standard)가 되었습니다. .

FHS 표준을 사용하면 많은 Linux 배포판(Linux 배포판)이 통일된 파일 시스템 명명 표준을 가질 수 있습니다. 즉, FHS는 파일 시스템 명명 표준입니다. 일반적으로 Linux 배포판은 FHS에서 규정한

  • 디렉터리 구조 및 디렉터리 내용
  • 파일 유형 권한

을 따라야 합니다. 그러나 FHS는 두 가지 사양 계층만 정의합니다. 설정 파일과 같은 데이터는 /etc 아래에 배치해야 하며, 실행 파일은 /bin/sbin 아래에 배치해야 합니다. 두 번째 레이어는 /usr/var 두 디렉터리에 대한 것입니다. 예를 들어 정의하려면 /usr/share에 공유 데이터가 포함되어야 하고, /var/log에 시스템 로그인 파일이 포함되어야 합니다.

이제 /에서 Linux의 정의와 사양을 소개하겠습니다.

FHS 사양

아래에서 소개하는 사양은 FHS 문서에서 지정한 디렉토리와 파일의 일부일 뿐입니다. 전체 표준은 http://www.pathname.com/fhs/에서 온라인으로 확인할 수 있습니다.

먼저 루트 디렉터리의 중요성과 중요성을 소개하겠습니다.

루트 디렉터리는 전체 시스템에서 가장 중요한 디렉터리입니다. 더 중요한 것은, 루트 디렉터리입니다. 부팅, 복원, 시스템 복구 관련 시스템 부팅에는 특정 환경이 필요하므로 시스템에 오류가 발생하면 루트 디렉터리에도 파일 시스템을 복구할 수 있는 프로그램이 포함되어 있어야 합니다. 따라서 FHS에서는 루트 디렉터리의 파티션 크기를 너무 크게 설정하지 말라고 규정하고 있습니다. 실제로 오류율을 줄이기 위해서는 작을수록 좋습니다.

FHS는 또한 이러한 디렉터리가 루트 디렉터리 아래에 존재해야 한다고 규정합니다.

/home 디렉터리

/home 디렉터리는 시스템의 기본 사용자 홈 디렉터리입니다.

/boot 디렉토리

/boot 디렉토리에는 Linux 커널과 같은 운영 체제를 부팅하는 데 필요한 정적 파일이 포함되어 있습니다. 이러한 파일은 시스템 시작에 중요합니다. Linux Kernel 일반적으로 사용되는 파일 이름은 vmlinuz이지만 grub2 부팅 프로그램을 사용하는 경우 /boot/grub2 디렉터리도 존재합니다.

방금 리눅스를 빌드했는데, 부팅은 다음과 같습니다.

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

/boot 디렉토리를 삭제하지 마십시오. 삭제하면 시스템 시작에 실패할 수 있습니다.

/dev 디렉토리

/dev 디렉토리는 장치 노드입니다. 이러한 장치 노드는 Linux 시스템의 장치 또는 커널에서 제공하는 가상 장치입니다. 이러한 장치 노드는 시스템의 정상적인 작동에도 중요합니다. /dev 디렉토리와 하위 디렉토리에 있는 장치는 문자 장치와 블록 장치입니다. 캐릭터 장치는 마우스, 키보드, 모뎀이고 블록 장치는 하드 디스크, 플로피 드라이브입니다. /dev 디렉토리에 파일을 저장하는 것은 장치를 저장하는 것과 같습니다.

더 중요한 파일은

/dev/hda입니다. IDE/ATA 하드 드라이브의 경우 메인 채널은 첫 번째와 두 번째 드라이브가 연결되는 채널입니다. 마더보드 또는 인터페이스 카드.

/dev/hdb: 마스터 IDE 채널의 슬레이브 장치.

/dev/tty0: 최초의 가상 콘솔. VC라고도 알려진 가상 콘솔(Virtual Terminal VT)은 컴퓨터 사용자 인터페이스에 사용되는 키보드와 모니터의 개념적 조합입니다.

/dev/tty1: 두 번째 가상 콘솔.

/dev/sda: 기본 SCSI 및 SATA 채널의 첫 번째 장치입니다.

/dev/lp0: 최초의 병렬 포트.

다음은 내 Linux 아래 디렉터리입니다.

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

/etc 디렉토리

/etc 디렉토리는 컴퓨터의 로컬 구성 파일용으로 예약되어 있으며, 계정 비밀번호, 서비스 시작 및 중지와 같은 시스템의 주요 구성 파일이 이 디렉토리에 있습니다. 이 디렉토리에는 읽기 권한만 있고 루트 사용자에게만 수정 권한이 있습니다(권한 문제에 대해서는 작성자의 이전 기사를 읽고 이 Linux 권한을 읽으면 명확해집니다!)

/etc

아래에 몇 가지 중요한 파일이 있습니다. /etc/modprobe.d커널 드라이버 모듈

/etc/passwd스토리지 사용자 비밀번호

/etc/fstab스토리지 마운트 정보

/etc/issue스토리지 시스템 시작에 표시되는 내용입니다

/etc 디렉토리에 바이너리 파일을 저장하지 마십시오. 바이너리 파일은 /sbin/bin에 저장하는 것이 가장 좋습니다.

/etc 디렉토리에는 두 개의 중요한 파일이 있습니다. /etc/x11은 xorg.conf, /etc/opt와 같은 X Window 시스템 구성 파일을 저장하는 데 사용됩니다. 이는 주로 세 번째 관련 정보를 저장합니다. 파티 협업 소프트웨어/옵션 구성 파일.

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

/lib 디렉토리

시스템에는 많은 함수 라이브러리가 있으며, /lib 디렉토리는 /bin/sbin에 바이너리 파일을 실행하는 데 필요한 라이브러리를 저장하는 데 사용됩니다. 공유 라이브러리 이미지는 시스템 부팅 및 루트 파일 시스템에서의 명령 실행에 특히 중요합니다.

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

/media 디렉터리

media는 미디어를 뜻하는 영어입니다. 즉, /media는 이동식 미디어(예: USB, DVD, CD-ROM 및 Zip 디스크)에 대한 탑재 지점과 하위 디렉터리를 저장할 수 있습니다.

/mnt 디렉터리

일부 추가 장치를 임시로 마운트하고 싶다면 /mnt 디렉터리에 넣으면 됩니다. 사실 처음에는 /mnt의 목적은 /media와 같았지만 나중에는 /media가 추가되었습니다. 이 디렉토리는 임시 마운트에 사용됩니다.

/opt 디렉터리

/opt/ 디렉터리는 대부분의 응용 프로그램 패키지에 대한 저장 공간을 제공합니다. /opt/ 디렉터리에 파일을 배치하는 패키지는 패키지와 동일한 이름의 디렉터리를 생성합니다. 결과적으로 이 디렉토리에는 파일 시스템 전체에 분산되어 있는 파일이 보관되어 시스템 관리자가 특정 패키지에서 각 파일의 역할을 쉽게 결정할 수 있습니다.

예를 들어, 샘플이 /opt/ 디렉터리에 있는 특정 패키지의 이름인 경우 모든 파일은 /opt/sample/ 디렉터리의 디렉터리에 배치됩니다. 예를 들어 /opt/sample/bin/은 바이너리 파일을 의미하고 / opt/sample/man/은 매뉴얼 페이지용입니다.

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

/proc 디렉토리

/proc 디렉토리 자체는 가상 파일 시스템(가상 파일 시스템)입니다. 시스템 핵심 정보, 일정 정보, 주변 장치 및 네트워크와 같은 데이터는 메모리에 있습니다. 상태 대기. 이 디렉터리의 데이터는 메모리에 있으므로 디스크 공간을 차지하지 않습니다.

이 디렉토리에서 더 중요한 파일은 /proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/net/입니다.

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

/sbin 디렉터리

/sbin 디렉터리에는 루트 사용자가 사용하는 실행 파일이 저장됩니다. /sbin의 실행 파일은 시작 시 시스템 관리 및 시스템 복구 작업을 수행하는 데 사용됩니다. /bin의 바이너리 외에도 /sbin에는 시스템 시작, 복구 및 복구에 필요한 바이너리도 포함되어 있습니다.

/sbin 디렉토리에는 arp, clock, Halt, init, grub, ifconfig, Route, shutdown 등이 포함되어 있습니다.

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

/tmp 디렉토리

이 디렉토리에는 일부 임시 파일이 저장되며 시스템이 다시 시작되면 지워집니다.

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

/sys 디렉터리

이 디렉터리는 실제로 /proc와 매우 유사하며, 주로 코어 및 시스템 하드웨어 관련 정보를 기록하는 가상 파일 시스템이기도 합니다. 이 디렉토리는 디스크 공간도 차지하지 않습니다.

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

/usr 디렉토리

/usr 디렉토리는 논의가 필요한 디렉토리입니다. 많은 독자들이 /usr이 user의 약어라고 잘못 생각하고 있습니다. 실제로 usr은 Unix Software Resource의 약어입니다. 소프트웨어 개발을 권장합니다. 작성자는 데이터를 이 디렉토리의 하위 디렉토리에 합리적으로 배치해야 하며 소프트웨어에 대해 별도의 디렉토리를 만들지 마십시오.

모든 시스템 기본 소프트웨어는 /usr 아래에 위치하므로 이 디렉터리는 C:Windows + C:Program files와 다소 유사합니다. Windows에서 이 두 디렉터리의 조합은 일반적으로 시스템을 설치한 후입니다. 디렉토리 디스크 용량을 더 많이 차지하게 됩니다. /usr의 하위 디렉토리에는 다음과 같은 내용이 있는 것이 좋습니다

*/usr/bin/*CentOS 7부터는 /usr 일반 사용자가 사용할 수 있는 명령이 이 디렉토리에 배치됩니다. /bin 명령 /bin 디렉토리의 명령과 완전히 동일합니다.

*/usr/lib/* 기본적으로 /lib와 동일한 기능을 갖고 있으므로 /lib가 이 디렉터리에 연결됩니다.

/usr/local 쉬운 관리를 위해 시스템 관리자가 로컬 컴퓨터에 다운로드한 소프트웨어를 이 디렉터리에 설치하는 것이 좋습니다.

/usr/sbin 시스템의 정상적인 작동에 필요하지 않은 시스템 명령입니다. 가장 일반적인 것은 일부 네트워크 서버 소프트웨어의 서비스 명령입니다. 그러나 기본 기능은 /sbin과 유사하므로 현재는 / sbin은 이 디렉토리에 연결되어 있습니다.

/usr/share 공유 파일 저장 영역. 이 디렉토리에는 /usr/share/man, /usr/share/doc, /usr/share/zoneinfo

/usr/games 및 게임 하위 디렉토리도 있습니다. 관련 데이터 배치 위치

/usr/include C/C++ 등 프로그래밍 언어의 헤더 및 포함 배치 위치도 직접 연결됩니다.

/usr/src 여기에 일반 소스 코드를 넣는 것이 좋습니다. src는 소스를 의미합니다. 핵심 소스 코드는 /usr/src/linux 디렉터리에 넣는 것이 좋습니다.

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

/run 디렉터리

초기 FHS에서는 시스템 시작 후 생성되는 다양한 정보를 /var/run 디렉터리에 저장하도록 규정했지만, 새 버전의 FHS는 /run 아래에 관리됩니다.

/var 디렉토리

/usr이 설치 중에 많은 디스크 용량을 차지하게 되는 디렉토리라면, /var는 시스템이 실행된 후 점진적으로 디스크 용량을 차지하게 되는 디렉토리입니다. /var에는 주로 MySQL 데이터베이스 파일 등과 같은 프로그램 파일을 포함하여 특정 소프트웨어를 실행하여 생성된 캐시, 로그인 파일 및 디렉터리가 포함됩니다. 일반적인 디렉터리는

/var/cache 응용 프로그램 캐시 디렉터리

/var/crash입니다. 시스템 오류 메시지

/var/log 로깅

/var/run 프로세스 식별 데이터

/var/tmp 임시 파일 디렉터리

/var/lock 파일 잠금 기록

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

/srv 디렉터리

srv는 service의 약자로 볼 수 있습니다. WWW, FTP 등 일부 네트워크 서비스가 시작된 후 이러한 서비스가 액세스해야 하는 데이터 디렉터리입니다.

CentOS 7은 이전 버전과 디렉토리 배열이 다릅니다. 위에서 대략적으로 설명했습니다. 가장 큰 차이점은 루트 디렉토리에 있어야 할 많은 디렉토리가 /usr로 이동되었다는 것입니다. 그런 다음

  • /bin -> /usr/bin
  • /sbin -> /usr/sbin
  • /lib64 -> usr/lib64
  • /var/lock -> /run/lock
  • /var/run -> /run
  • 이 디렉토리의 기능을 모든 사람이 더 쉽게 볼 수 있도록 그림을 그렸습니다. 그림의 디렉터리 간의 관계는 트리와 매우 유사하므로 이 디렉터리를 디렉터리 트리라고도 합니다.

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변이 디렉토리 트리는 이미 매우 명확하므로 더 이상 말할 것이 없습니다.

절대 경로와 상대 경로

다른 시스템과 마찬가지로 Linux의 경로도 절대 경로(절대)와 상대 경로(상대)로 구분됩니다. 두 가지 작성 방법은 다음을 기반으로 합니다. 루트 디렉터리 위 그림의 디렉터리 트리에서는 /boot, /usr/local 등 모두 절대 경로입니다

현재 파일 경로에 상대적인 쓰기 방식은.../var 등의 상대 경로입니다. /log 디렉토리

  • 여기서 주의할 점은 상대 경로는 현재 경로의 상대 위치
  • 에 따라 이동됩니다. 예를 들어 현재 /boot 디렉토리에 있고 /usr로 이동하려는 경우입니다. /src 디렉토리
절대 경로 표기법: /usr/src

상대 경로 표기법: .../usr/src

여기서 주목해야 할 두 개의 특수 디렉토리가 있습니다:

.: 현재 디렉토리를 나타냅니다. , ./를 사용하여

…을 나타낼 수도 있습니다.: 상위 디렉터리를 나타낼 수도 있습니다. 또한.../를 사용하여

    을 나타낼 수도 있습니다. 절대 경로와 상대 경로 간의 균형에 관해: 파일 경로가 매우 긴 경우 , 절대 경로처럼 모든 경로를 작성할 필요는 없고 직접 사용하기 때문에 상대 경로를 사용하는 것이 좋습니다. .../
  • 그러나 파일 경로의 정확성 측면에서는 절대 경로입니다. 경로는 상대 경로보다 낫습니다.
  • 시스템 관리용 프로그램을 작성하는 경우 절대 경로를 사용해야 합니다. 절대 경로는 파일 경로가 어디에 있든 지정된 파일을 찾는 반면, 상대 경로를 사용하면 파일이 이동될 수 있습니다. 찾을 수 없는 상황입니다.

디렉토리 관련 명령

디렉토리 관련 명령에 대해 이야기해 보겠습니다.

cd

cd는 Change Directory의 약어입니다. 이 명령은 현재 작업 디렉터리를 전환하는 방법이 다음과 같이 4가지가 있습니다

cd /路径名 # 表示切换到指定的工作目录cd ./ 		
# 表示切换到当前工作目录(无任何切换)cd .. 		
# 表示切换到当前工作目录的上一层目录cd ~ 			
# 表示返回到当前用户目录

이 네 가지 CD 전환 방법의 작동

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

보시다시피, 우리는 cd /usr/local을 사용하여 명령 디렉터리로 전환했습니다. cd ./는 디렉터리를 전환하지 않았습니다(낭비됨). 2초). .. 현재 작업 디렉토리의 상위 레벨로 전환하려면 cd ~를 사용하여 현재 로그인된 사용자의 기본 작업 디렉토리로 전환하십시오.

여기서 주목해야 할 것은 cd~입니다. cd를 직접 사용하면 전환 효과는 cd~, 즉 "cd~== cd"와 같습니다.

pwd

위에 pwd라는 또 다른 명령어가 있습니다. 이 명령어는 가장 일반적으로 사용되는 명령어입니다. cd 명령어 뒤에 pwd 명령어가 오는 경우가 많기 때문에 사용 빈도는 cd와 거의 같습니다. pwd 명령에는 얼마나 중요한 것이 있습니다.

pwd는 Print Working Directory의 약어로, 현재 디렉토리를 인쇄하라는 명령어입니다.

그러나 pwd는 반드시 현재 작업 경로를 표시하는 데만 사용되는 것은 아니며 지정된 작업 디렉터리의 파일 경로를 표시하는 데에도 사용할 수 있습니다.

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

그러나 이 명령은 쓸모없어 보입니다. 작업 디렉토리, 인쇄해서 무엇을 하시겠습니까?

mkdir

mkdir은 새 디렉터리를 만드는 데 사용됩니다. make 디렉터리의 약자입니다. 일반적으로 이 뒤에는 두 개의 매개변수가 옵니다.

  • -m : 기본 파일 생성 권한을 고려하지 않고 파일 권한을 직접 설정
  • -p : 재귀적으로 디렉터리 생성

다음은 mkdir을 사용하여 파일 디렉터리를 생성하는 동작

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

As 위 그림과 같이 /tmp 파일 디렉터리에 test1이라는 빈 디렉터리를 생성하고 현재 작업 디렉터리를 인쇄했습니다.

다른 사용자가 접근하지 못하도록 하고 싶은 디렉토리를 생성하고 싶다면 위 그림의

mkdir -m 711 test2

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

ls -ld 명령어를 사용하면 해당 파일 디렉토리의 상세 정보를 확인할 수 있습니다. 자세한 내용은 파일 권한 앞에 나와 있습니다.

디렉토리를 하나씩 생성하는 것은 너무 번거롭습니다. 이제 이러한 디렉터리를 빠르게 생성하고 싶습니다. 예를 들어 /test1/test2/test3/test4 디렉터리 형식을 생성하려면 다음 코드를 사용합니다

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

Linux는 이 생성 방법을 사용할 수 없다고 제안합니다.

이때 -p 매개변수가 필요합니다. 이 매개변수를 사용하면 아래와 같이 재귀적으로 디렉터리를 생성할 수 있습니다.

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

그러나 -p를 사용하면 오타가 발생하기 쉽기 때문에 권장하지 않습니다. . .

rmdir

rmdir은 mkdir과 ​​매우 유사합니다. mkdir -p는 반복적으로 디렉터리를 만드는 데 사용됩니다. 아래 그림과 같이

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

여기서 rmdir은 빈 디렉터리만 삭제한다는 점에 유의해야 합니다. 이는 디렉터리에 내용이 있으면 삭제할 수 없다는 의미이기도 합니다. rm -r을 직접 사용하여 삭제할 수 있습니다.

mv

mv를 사용하여 디렉토리 이름을 수정했습니다. 예를 들어, 나중에 이 디렉토리가 소유자를 반영할 수 없다고 느꼈습니다. mv 명령을 사용하여 수정할 수 있습니다.

/ 아래의 Linux 정의 및 사양에 대한 기술적 답변

기본 디렉터리 작업을 이해한 후, 콘텐츠를 표시하기 위해 다양한 디렉터리에서 ls 명령을 실행할 수 있는 이유에 대해 생각해 보겠습니다. 저장 경로에서만 사용할 수 있어서는 안되는 이유가 무엇입니까?

먼저 모든 사람이 PATH의 개념을 이해해야 합니다. PATH는 환경 변수입니다. 명령을 실행할 때 시스템은 먼저 PATH 설정에 따라 각 PATH에서 ls라는 실행 파일을 검색합니다. .파일, 실행 파일이 여러 개인 경우 검색된 파일이 먼저 실행됩니다.

원본 링크: 저는 오랫동안 Linux를 사용해 본 후에야 이러한 개념을 알고 있습니다. . .

관련 추천: "Linux 비디오 튜토리얼"

위 내용은 / 아래의 Linux 정의 및 사양에 대한 기술적 답변의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제