이 글은 주로 리눅스 파일 디렉터리 구조(리틀 화이트 버전)를 소개하고 있습니다. 편집자는 꽤 좋다고 생각해서 지금 공유하고 참고용으로 올려드리겠습니다. 편집자를 따라가서 살펴보자
앞서 말한 내용: 백엔드 지식이 전혀 없는 순수 초보자에게만 적합합니다. 리눅스 파일 시스템의 디렉토리 구조를 먼저 이해한 후, 리눅스 명령줄을 익히는 것이 추천되는 학습 방법이다.
AWS를 1년 동안 무료로 활성화해서 방치할 수가 없어서 이번 기회에 백엔드 지식을 좀 배워보고 싶었습니다. 당시 winSCP를 이용해 리눅스 시스템 디렉터리를 열었을 때 헷갈렸는데, PuTTY를 이용해 명령줄 모드를 열면 기본적으로 홈 디렉터리에 있던데 우여곡절 끝에 드디어 서버를 열었습니다. 도메인 이름을 바인딩했지만 AWS 튜토리얼의 강력함만 설명할 수 있었습니다. 아래에는 내가 배운 내용을 간략하게 기록하고 나와 같은 초보자와 공유하겠습니다.
Linux 파일 디렉터리 빠른 개요
├── bin //常用的命令 ├── boot //放置一些启动用的临时文件 ├── cdrom // ├── dev //设备文件 ├── etc //系统所有配置文件都放在它下面 ├── home //用户目录,对应权限用户只能查看到自己的目录 │ ├── ec2-user //aws登录名ec2-user权限的目录 ├── lib //用于存取程序的动态库和模块文件 ├── lost+found //用于存放系统异常时丢失的文件 ├── media //用于挂在本地磁盘或者其他储存设备 ├── mnt //用于挂在其他临时系统文件 ├── opt // ├── proc //包含进程等信息,不是内存映射,不是真实目录 ├── root //root用户的目录 ├── run // ├── sbin //里面很多是root用户才能执行的命令,系统的更新备份还原和开关机用的 ├── selinux // ├── srv //service的缩写,是一些网路服务启动后,这些服务所需取用资料目录 ├── sys //系统信息 ├── tmp //存放各种临时文件 ├── usr //我们主要的操作空间 └── var //变量文件--在运行中内容不断变化的文件。
공식 웹사이트 튜토리얼에 따라 Apache 실행 프로그램을 엽니다.
트리 디렉터리 다이어그램
자세한 디렉터리 설명
/ bin: code>시스템에는 실행 파일을 저장하기 위한 많은 디렉터리가 있지만 /bin은 특별합니다. /bin은 싱글 플레이어 유지 관리 모드에서 작동할 수 있는 명령을 배치하기 때문입니다. /bin 아래의 명령은 루트 및 일반 계정에서 사용할 수 있습니다. 여기에는 주로 cat, chmod(권한 수정), chown, date, mv, mkdir, cp, bash 및 기타 일반적으로 사용되는 명령이 포함됩니다. /bin:
系统有很多放置执行档的目录,但/bin比较特殊。因为/bin放置的是在单人维护模式下还能够被操作的指令。在/bin底下的指令可以被root与一般帐号所使用,主要有:cat,chmod(修改权限), chown, date, mv, mkdir, cp, bash等等常用的指令。
/boot:
主要放置开机会使用到的档案,包括Linux核心档案以及开机选单与开机所需设定档等等。Linux kernel常用的档名为:vmlinuz ,如果使用的是grub这个开机管理程式,则还会存在/boot/grub/这个目录。
/dev:
在Linux系统上,任何装置与周边设备都是以档案的型态存在于这个目录当中。 只要通过存取这个目录下的某个档案,就等于存取某个装置。比要重要的档案有/dev/null, /dev/zero, /dev/tty , /dev/lp, / dev/hd, /dev/sd*等等
/etc:
系统主要的设定档几乎都放置在这个目录内,例如人员的帐号密码档、各种服务的启始档等等。 一般来说,这个目录下的各档案属性是可以让一般使用者查阅的,但是只有root有权力修改。 FHS建议不要放置可执行档(binary)在这个目录中。 比较重要的档案有:/etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/等等。 另外,其下重要的目录有:/etc/init.d/ :所有服务的预设启动script都是放在这里的,例如要启动或者关闭iptables的话: /etc/init.d/iptables start、/etc/init.d/ iptables stop
/home:
这是系统预设的使用者家目录(home directory)。 在你新增一个一般使用者帐号时,预设的使用者家目录都会规范到这里来。比较重要的是,家目录有两种代号:
~ :代表当前使用者的家目录,
~guest:则代表用户名为guest的家目录。
/lib:
系统的函式库非常的多,而/lib放置的则是在开机时会用到的函式库,以及在/bin或/sbin底下的指令会呼叫的函式库而已 。 什么是函式库呢?妳可以将他想成是外挂,某些指令必须要有这些外挂才能够顺利完成程式的执行之意。 尤其重要的是/lib/modules/这个目录,因为该目录会放置核心相关的模组(驱动程式)。
/media:
media是媒体的英文,顾名思义,这个/media底下放置的就是可移除的装置。 包括软碟、光碟、DVD等等装置都暂时挂载于此。 常见的档名有:/media/floppy, /media/cdrom等等。
/mnt:
如果妳想要暂时挂载某些额外的装置,一般建议妳可以放置到这个目录中。在古早时候,这个目录的用途与/media相同啦。 只是有了/media之后,这个目录就用来暂时挂载用了。
/opt:
这个是给第三方协力软体放置的目录 。 什么是第三方协力软体啊?举例来说,KDE这个桌面管理系统是一个独立的计画,不过他可以安装到Linux系统中,因此KDE的软体就建议放置到此目录下了。 另外,如果妳想要自行安装额外的软体(非原本的distribution提供的),那么也能够将你的软体安装到这里来。 不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录下。
/root:
/boot:
Linux 코어 파일, 부팅 메뉴, 부팅에 필요한 구성 파일 등 부팅에 사용되는 파일을 주로 저장합니다. 일반적으로 사용되는 Linux 커널의 파일 이름은 vmlinuz입니다. 부팅 관리 프로그램인 grub을 사용하는 경우 /boot/grub/ 디렉터리도 존재합니다. 🎜🎜/dev:
Linux 시스템에서는 모든 장치와 주변 장치가 이 디렉터리에 파일 형식으로 존재합니다. 단순히 이 디렉터리의 파일에 액세스하는 것은 장치에 액세스하는 것과 같습니다. 더 중요한 파일에는 /dev/null, /dev/zero, /dev/tty, /dev/lp, /dev/hd, /dev/sd* 등이 있습니다.🎜🎜/etc:
개인 계정 및 비밀번호 파일, 다양한 서비스의 시작 파일 등과 같은 시스템의 거의 모든 주요 구성 파일이 이 디렉토리에 있습니다. 일반적으로 이 디렉토리에 있는 각 파일의 속성은 일반 사용자가 볼 수 있지만 루트만이 이를 수정할 수 있는 권한을 가지고 있습니다. FHS는 이 디렉터리에 실행 파일(바이너리)을 배치하지 않을 것을 권장합니다. 더 중요한 파일은 /etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/ 등입니다. 또한 그 아래의 중요한 디렉터리는 다음과 같습니다: /etc/init.d/: 모든 서비스의 기본 시작 스크립트가 여기에 배치됩니다. 예를 들어 iptables를 시작하거나 종료하려는 경우: /etc/init.d/iptables. start, /etc/init.d/ iptables stop🎜🎜🎜/home:
시스템의 기본 사용자 홈 디렉터리입니다. 일반 사용자 계정을 추가하면 기본 사용자 홈 디렉터리가 여기에서 표준화됩니다. 더 중요한 것은 홈 디렉터리에 두 개의 코드명이 있다는 점입니다. 🎜🎜~: 현재 사용자의 홈 디렉터리를 나타내고, 🎜~guest: guest라는 사용자의 홈 디렉터리를 나타냅니다. 🎜🎜/lib:
시스템에는 많은 함수 라이브러리가 있으며 /lib는 부팅할 때 사용할 함수 라이브러리를 배치하고 /bin 또는 /sbin 아래의 명령은 단지 함수 라이브러리일 뿐입니다. 라고 불리는. 함수 라이브러리란 무엇입니까? 이를 플러그인이라고 생각하면 됩니다. 특정 명령에서는 프로그램을 성공적으로 실행하려면 이러한 플러그인이 필요합니다. 특히 중요한 것은 /lib/modules/ 디렉토리입니다. 이 디렉토리에는 핵심 관련 모듈(드라이버)이 포함되어 있기 때문입니다. 🎜🎜/media:
media는 미디어를 뜻하는 영어 단어입니다. 이름에서 알 수 있듯이 이동식 장치는 /media 아래에 배치됩니다. 플로피 디스크, 컴팩트 디스크, DVD 등을 포함한 장치가 여기에 임시로 마운트됩니다. 일반적인 파일 이름에는 /media/floppy, /media/cdrom 등이 포함됩니다. 🎜🎜/mnt:
일부 추가 장치를 임시로 마운트하려는 경우 일반적으로 이 디렉터리에 배치하는 것이 좋습니다. 고대에는 이 디렉토리의 목적이 /media와 동일했습니다. /media가 생성된 후에만 이 디렉터리가 임시 마운트에 사용됩니다. 🎜🎜/opt:
이는 타사 협업 소프트웨어가 배치되는 디렉토리입니다. 타사 공동 작업 소프트웨어란 무엇입니까? 예를 들어, KDE 데스크탑 관리 시스템은 독립적인 프로젝트이지만 Linux 시스템에 설치할 수 있으므로 KDE 소프트웨어를 이 디렉토리에 배치하는 것이 좋습니다. 또한, 추가 소프트웨어(원본 배포판에서 제공되지 않음)를 직접 설치하려는 경우 여기에서 소프트웨어를 설치할 수도 있습니다. 그러나 이전 Linux 시스템에서는 여전히 /usr/local 디렉터리에 배치하는 데 익숙했습니다. 🎜🎜/root:
시스템 관리자(루트)의 홈 디렉터리입니다. 여기에 배치한 이유는 싱글 플레이어 유지 관리 모드에 들어가서 루트 디렉터리만 마운트하면 해당 디렉터리에 루트의 홈 디렉터리가 있을 수 있으므로 루트의 홈 디렉터리와 루트 디렉터리를 같은 파티션에 두기를 원하기 때문입니다. . 🎜/sbin:
Linux에는 시스템 환경을 설정하는 데 사용되는 명령이 많이 있습니다. 루트만 이러한 명령을 사용하여 시스템을 설정할 수 있고, 다른 사용자는 쿼리에만 사용할 수 있습니다. /sbin 아래에 있는 항목은 시스템 부팅, 복구 및 복원에 필요한 지침을 포함하여 부팅 프로세스 중에 필요합니다. 일부 서버 소프트웨어 프로그램의 경우 일반적으로 /usr/sbin/에 위치합니다. 로컬 머신에 설치된 소프트웨어에 의해 생성된 시스템 바이너리는 /usr/local/sbin/에 위치합니다. 일반적인 지침에는 fdisk, fsck, ifconfig, init, mkfs 등이 포함됩니다. /sbin:
Linux有非常多指令是用来设定系统环境的,这些指令只有root才能够利用来设定系统,其他使用者最多只能用来查询而已。放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。至于某些伺服器软体程式,一般则放置到/usr/sbin/当中。至于本机自行安装的软体所产生的系统执行档(system binary),则放置到/usr/local/sbin/当中了。常见的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。
/srv:
srv可以视为service的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。 常见的服务例如WWW, FTP等等。 举例来说,WWW伺服器需要的网页资料就可以放置在/srv/www/里面。呵呵,看来平时我们编写的代码应该放到这里了。
/tmp:
这是让一般使用者或者是正在执行的程序暂时放置档案的地方。这个目录是任何人都能够存取的,所以你需要定期的清理一下。当然,重要资料不可放置在此目录啊。 因为FHS甚至建议在开机时,应该要将/tmp下的资料都删除。
usr目录的内容
/usr/X11R6/:
为X Window System重要数据所放置的目录,之所以取名为X11R6是因为最后的X版本为第11版,且该版的第6次释出之意。
/usr/bin/:
绝大部分的用户可使用指令都放在这里。请注意到他与/bin的不同之处。(是否与开机过程有关)
/usr/include/:
c/c++等程序语言的档头(header)与包含档(include)放置处,当我们以tarball方式 (*.tar.gz 的方式安装软件)安装某些数据时,会使用到里头的许多包含档。
/usr/lib/:
包含各应用软件的函式库、目标文件(object file),以及不被一般使用者惯用的执行档或脚本(script)。 某些软件会提供一些特殊的指令来进行服务器的设定,这些指令也不会经常被系统管理员操作, 那就会被摆放到这个目录下啦。要注意的是,如果你使用的是X86_64的Linux系统, 那可能会有/usr/lib64/目录产生
/usr/local/:
统管理员在本机自行安装自己下载的软件(非distribution默认提供者),建议安装到此目录, 这样会比较便于管理。举例来说,你的distribution提供的软件较旧,你想安装较新的软件但又不想移除旧版, 此时你可以将新版软件安装于/usr/local/目录下,可与原先的旧版软件有分别啦。 你可以自行到/usr/local去看看,该目录下也是具有bin, etc, include, lib…的次目录
/usr/sbin/:
非系统正常运作所需要的系统指令。最常见的就是某些网络服务器软件的服务指令(daemon)
/usr/share/:
放置共享文件的地方,在这个目录下放置的数据几乎是不分硬件架构均可读取的数据, 因为几乎都是文本文件嘛。在此目录下常见的还有这些次目录:/usr/share/man:联机帮助文件
/usr/share/doc:
软件杂项的文件说明
/usr/share/zoneinfo:
与时区有关的时区文件
/usr/src/:
/srv:
srv는 service의 약자라고 볼 수 있습니다. 일부 네트워크 서비스가 시작된 후 이러한 서비스가 액세스해야 하는 데이터 디렉터리입니다. WWW, FTP 등 공통 서비스 예를 들어, WWW 서버에 필요한 웹 페이지 데이터는 /srv/www/에 위치할 수 있습니다. ㅎㅎ 우리가 평소에 작성하는 코드는 여기에 넣어야 할 것 같습니다. 🎜🎜/tmp:
일반 사용자나 실행 중인 프로그램이 임시로 파일을 보관할 수 있는 곳입니다. 이 디렉토리는 누구나 액세스할 수 있으므로 정기적으로 정리해야 합니다. 물론 중요한 정보는 이 디렉토리에 둘 수 없습니다. FHS에서는 부팅 시 /tmp 아래의 모든 데이터를 삭제해야 한다고 권장하기까지 합니다. 🎜🎜usr 디렉터리 내용🎜🎜/usr/X11R6/:
X Window System의 중요한 데이터가 있는 디렉터리 X11R6이라는 이름이 붙은 이유는 다음과 같습니다. 끝에 X가 붙어있으니까 버전이 11번째 에디션이고, 이번 에디션이 6번째 출시라는 뜻이에요. 🎜🎜/usr/bin/:
사용자가 사용할 수 있는 대부분의 명령이 여기에 있습니다. 그것과 /bin의 차이점에 유의하세요. (부팅 프로세스와 관련된 것인지) 🎜🎜/usr/include/:
tarball 모드를 사용할 때 c/C++와 같은 프로그래밍 언어의 헤더 및 포함 파일이 배치되는 곳입니다. (* .tar.gz 방식) 특정 데이터를 설치할 때 많은 include 파일이 사용됩니다. 🎜🎜/usr/lib/:
일반 사용자가 일반적으로 사용하지 않는 함수 라이브러리, 개체 파일, 실행 파일 또는 스크립트가 포함되어 있습니다. 일부 소프트웨어는 서버 설정을 위한 몇 가지 특별한 지침을 제공합니다. 이러한 지침은 시스템 관리자가 자주 사용하지 않으므로 이 디렉터리에 배치됩니다. 이 디렉토리를 사용하는 경우 다운로드한 소프트웨어(비배포 기본 공급자)를 이 디렉토리에 설치하는 것이 좋습니다. 이렇게 하면 관리가 더 쉬워집니다. 예를 들어, 배포판에서 제공하는 소프트웨어가 이전 버전이고 최신 소프트웨어를 설치하고 싶지만 이전 버전을 제거하고 싶지 않은 경우에는 /usr/local/ 디렉터리에 새 버전의 소프트웨어를 설치할 수 있습니다. , 원래 이전 버전의 소프트웨어와 함께 사용할 수 있다는 차이점이 있습니다. /usr/local로 이동하여 살펴볼 수 있습니다. 이 디렉토리에는 bin, etc, lib와 같은 하위 디렉토리도 포함되어 있습니다. 🎜🎜/usr/sbin/:
는 일반 경우에는 필요하지 않습니다. 시스템 시스템 명령의 작동. 가장 일반적인 것은 공유 파일이 배치되는 일부 네트워크 서버 소프트웨어🎜🎜/usr/share/:
의 서비스 명령(데몬)입니다. 이 디렉토리에 있는 데이터는 하드웨어에 관계없이 거의 동일합니다. 거의 모든 것이 텍스트 파일이기 때문에 읽을 수 있는 데이터입니다. 이 디렉토리에는 일반적으로 다음 하위 디렉토리가 있습니다: /usr/share/man: 온라인 도움말 파일🎜🎜/usr/share/doc:
기타 소프트웨어 파일 설명🎜🎜/usr /share/zoneinfo :
타임존 관련 타임존 파일🎜🎜/usr/src/:
일반적으로 소스코드는 여기에 두는 것을 권장하며, src는 소스를 의미합니다. 핵심 소스 코드는 /usr/src/linux/ 디렉터리에 두는 것이 좋습니다. 🎜위 내용은 Linux의 파일 디렉터리 구조에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!