кодесурса
«Linux

Linux - файловое дерево

script1adsense2code
script1adsense3code

На этом занятии мы рассмотрели наиболее распространенные каталоги в дереве файлов Linux. Это также показывает, что в Unix все является файлом.

стандарт иерархии файловой системы

Многие дистрибутивы Linux частично соответствуют стандарту иерархии файловых систем. FHS (Стандарт Иерархии Файловых Систем) может помочь в будущем улучшить соответствие деревьев файловой системы Unix / Linux. Из FHS известно, что стандарт иерархии файловых систем был разработан для использования разработчиками дистрибутивов Unix, разработчиками пакетов и разработчиками систем. Тем не менее, он в первую очередь предназначен для справки и не является руководством по управлению файловой системой Unix или иерархией каталогов.

человек выше

Есть некоторые различия в файловых системах между дистрибутивами Linux. Чтобы получить справку о вашем компьютере, введите man hier, чтобы найти информацию об иерархии файловой системы. Это руководство объяснит структуру каталогов на вашем компьютере.

корневой каталог /

Все системы Linux имеют структуру каталогов, которая начинается в корневом каталоге (домашний каталог корневого каталога). Корневой каталог представлен косой чертой, например: /. Все, что существует в вашей системе Linux, можно найти под этим корневым каталогом. Давайте кратко рассмотрим содержимое корневого каталога.

[email protected]:~$ ls /
bin   cdrom  etc   initrd.img  lost+found  mnt  proc  run   srv  tmp  var
boot  dev    home  lib         media       opt  root  sbin  sys  usr  vmlinuz

двоичные каталоги

Двоичные файлы - это файлы, которые содержат скомпилированный исходный код (или машинный код). Двоичные файлы могут быть выполнены на компьютере. Иногда двоичные файлы называются исполняемыми файлами.

/ бен

Каталог / bin содержит стандартные системные утилиты. Согласно FHS каталог / bin должен содержать / bin / cat и / bin / date (среди прочих).
Следующая информация показывает общие команды Unix / Linux, такие как cat, cp, cpio, date, dd, echo, grep и так далее.

[email protected]:~$ ls /bin
bash                  fgconsole   nc                       sed
bunzip2               fgrep       nc.openbsd               setfacl
busybox               findmnt     netcat                   setfont
bzcat                 fuser       netstat                  setupcon
bzcmp                 fusermount  nisdomainname            sh
bzdiff                getfacl     ntfs-3g                  sh.distrib
bzegrep               grep        ntfs-3g.probe            sleep
bzexe                 gunzip      ntfs-3g.secaudit         ss
bzfgrep               gzexe       ntfs-3g.usermap          static-sh
bzgrep                gzip        ntfscat                  stty
bzip2                 hostname    ntfsck                   su
bzip2recover          ip          ntfscluster              sync
bzless                kbd_mode    ntfscmp                  tailf
bzmore                kill        ntfsdump_logfile         tar
cat                   kmod        ntfsfix                  tempfile
chacl                 less        ntfsinfo                 touch
...

другие каталоги / bin

Вы можете найти подкаталог / bin во многих других каталогах. Пользователь с именем serena может поместить свои собственные программы в / home / serena / bin.
Некоторые приложения, часто при установке непосредственно из исходного кода, помещают себя в / opt. При установке сервера samba можно использовать / opt / samba / bin для хранения своих двоичных файлов.

/ SBIN

T / sbin содержит двоичные файлы для настройки операционной системы. Многие из двоичных файлов системы требуют привилегий root для выполнения определенных задач.
Ниже снимок экрана, содержащий системные двоичные файлы для изменения IP-адреса, разбиения диска и создания файловой системы ext4.

[email protected]:~$ ls -l /sbin/ifconfig /sbin/fdisk /sbin/mkfs.ext4
-rwxr-xr-x 1 root root 105444 Apr 16 21:37 /sbin/fdisk
-rwxr-xr-x 1 root root  69484 Dec  8  2013 /sbin/ifconfig
lrwxrwxrwx 1 root root      6 Jun 20 11:30 /sbin/mkfs.ext4 -> mke2fs

/ Lib

Двоичные файлы из / bin и / sbin часто используют общие библиотеки, расположенные в / lib. Ниже приведен скриншот с частичным содержимым / lib.

[email protected]:/$ cd lib
[email protected]:/lib$ ls
apparmor                              libip4tc.so.0         modules
brltty                                libip4tc.so.0.1.0     modules-load.d
cpp                                   libip6tc.so.0         plymouth
crda                                  libip6tc.so.0.1.0     recovery-mode
firmware                              libiptc.so.0          resolvconf
hdparm                                libiptc.so.0.0.0      systemd
i386-linux-gnu                        libxtables.so.10      terminfo
ifupdown                              libxtables.so.10.0.0  udev
init                                  linux-sound-base      ufw
klibc-SDKhWJaiUdo4OxxZ-mvprY1CZus.so  lsb                   xtables
ld-linux.so.2                                               modprobe.d
                        

/ Библиотека / модули

Обычно ядро Linux загружает модули ядра из / lib / modules / $ kernel-version /. Этот каталог подробно обсуждается в главе о ядре Linux.

/ lib32 и / lib64

В настоящее время мы находимся в переходе между 32-битными и 64-битными системами. Следовательно, вы можете встретить каталоги с именами / lib32 и / lib64, которые уточняют размер регистра, используемого во время компиляции библиотек. 64-разрядный компьютер может иметь 32-разрядные двоичные файлы и библиотеки для совместимости с устаревшими приложениями. Этот снимок экрана использует файловую утилиту, чтобы продемонстрировать разницу.

ELF (Исполняемый и Linkable Format) используется практически во всех Unix-подобных операционных системах начиная с System V.

/ неавтоматического

Цель / opt - хранить дополнительное программное обеспечение. Во многих случаях это программное обеспечение из-за пределов дистрибутива. Вы можете найти пустой каталог / opt во многих системах.

Большой пакет может установить все свои файлы в подкаталогах / bin, / lib, / etc в / opt / $ packagename /. Например, если пакет называется wp, он устанавливается в / opt / wp, помещая двоичные файлы в / opt / wp / bin, а manpages - в / opt / wp / man.

каталоги конфигурации

/ загрузки

Каталог / boot содержит все файлы, необходимые для загрузки компьютера. Эти файлы меняются не очень часто. В системах Linux вы обычно найдете каталог / boot / grub здесь. / boot / grub содержит /boot/grub/grub.cfg (в старых системах может быть файл /boot/grub/grub.conf), который определяет меню загрузки, которое отображается до запуска ядра.

/так далее

Все административные файлы и файлы конфигурации должны находиться в / etc. Много раз имя файлов конфигурации совпадает с именем приложения, демона или протокола с добавлением .conf в качестве расширения.

[email protected]:/$ ls /etc/*.conf
/etc/adduser.conf          /etc/insserv.conf     /etc/pnm2ppa.conf
/etc/apg.conf              /etc/kernel-img.conf  /etc/popularity-contest.conf
/etc/blkid.conf            /etc/kerneloops.conf  /etc/resolv.conf
/etc/brltty.conf           /etc/ld.so.conf       /etc/rsyslog.conf
/etc/ca-certificates.conf  /etc/libaudit.conf    /etc/sensors3.conf
/etc/colord.conf           /etc/logrotate.conf   /etc/signond.conf
/etc/debconf.conf          /etc/ltrace.conf      /etc/sysctl.conf
/etc/deluser.conf          /etc/mke2fs.conf      /etc/ts.conf
/etc/fuse.conf             /etc/mtools.conf      /etc/ucf.conf
/etc/gai.conf              /etc/netscsid.conf    /etc/updatedb.conf
/etc/hdparm.conf           /etc/nsswitch.conf    /etc/usb_modeswitch.conf
/etc/host.conf             /etc/pam.conf         /etc/wodim.conf
[email protected]:/$

В / etc можно найти гораздо больше.

/etc/init.d/

Многие дистрибутивы Unix / Linux имеют каталог /etc/init.d, который содержит сценарии для запуска и остановки демонов. Этот каталог может исчезнуть при переходе Linux на системы, которые заменяют старый способ инициализации запуска всех демонов.

/ и т.д. / X11 /

Графический дисплей (он же X Window System или просто X) управляется программным обеспечением из фонда X.org. Файл конфигурации для вашего графического отображения - /etc/X11/xorg.conf.

/ и т.д. / Skel /

Каталог скелета / etc / skel копируется в домашний каталог вновь созданного пользователя. Обычно он содержит скрытые файлы, такие как скрипт .bashrc.

/ и т.д. / sysconfig /

Этот каталог, который не упомянут в FHS, содержит множество файлов конфигурации Red Hat Enterprise Linux. Мы обсудим некоторые из них более подробно. На приведенном ниже снимке экрана показан каталог / etc / sysconfig из RHELv4u4 со всем установленным.

[email protected]:/etc$ ls /etc | more
acpi
adduser.conf
alternatives
anacrontab
apg.conf
apm
apparmor
apparmor.d
apport
apt
aptdaemon
at-spi2
avahi
bash.bashrc
bash_completion
bash_completion.d
bindresvport.blacklist
blkid.conf
blkid.tab
bluetooth
brlapi.key
brltty
brltty.conf
--More--

Файл / etc / sysconfig / firstboot указывает агенту установки Red Hat не запускаться во время загрузки. Если вы хотите запустить агент установки Red Hat при следующей перезагрузке, просто удалите этот файл и запустите chkconfig --level 5 firstboot on. Агент установки Red Hat позволяет устанавливать последние обновления, создавать учетную запись пользователя, подключаться к сети Red Hat Network и многое другое. Затем он снова создаст файл / etc / sysconfig / firstboot.

Файл / etc / sysconfig / harddisks содержит некоторые параметры для настройки жестких дисков. Файл объясняет сам себя.

Вы можете увидеть аппаратное обеспечение, обнаруженное kudzu в / etc / sysconfig / hwconf. Kudzu - это программное обеспечение от Red Hat для автоматического обнаружения и настройки оборудования.

Тип клавиатуры и таблица раскладок задаются в файле / etc / sysconfig / keyboard. Для получения дополнительной информации о клавиатуре консоли обратитесь к страницам справочника раскладок клавиш (5), dumpkeys (1), loadkeys (1) и каталога / lib / kbd / keymaps /.

Мы обсудим сетевые файлы в этом каталоге в главе, посвященной сети.

каталоги данных

/Главная

Здесь хранятся домашние каталоги пользователей, пользователи могут хранить личные данные или данные проекта в / home. Распространенной (но не обязательной для fhs) практикой является указание имени домашнего каталога пользователей после имени пользователя в формате / home / $ USERNAME. Например:

[email protected]:/$ ls /home
datasoft

Помимо предоставления каждому пользователю (или каждому проекту или группе) места для хранения личных файлов, домашний каталог пользователя также служит местом для хранения профиля пользователя. Типичный профиль пользователя Unix содержит много скрытых файлов (файлов, имя файла которых начинается с точки). Скрытые файлы пользовательских профилей Unix содержат настройки, специфичные для этого пользователя.

/ корень

Во многих системах / root является местоположением по умолчанию для личных данных и профиля пользователя root. Если он не существует по умолчанию, его создают некоторые администраторы.

/ SRV

Вы можете использовать / srv для данных, которые обслуживаются вашей системой. FHS позволяет найти данные cvs, rsync, ftp и www в этом месте. FHS также утверждает административное именование в / srv, например / srv / project55 / ftp и / srv / sales / www.

На Sun Solaris (или Oracle Solaris) / экспорт используется для этой цели.

/средства массовой информации

Каталог / media служит точкой монтирования для съемных носителей, таких как CDROM, цифровые камеры и различные USB-устройства. Поскольку / media является довольно новым в мире Unix, вы вполне можете столкнуться с системами, работающими без этого каталога. У Solaris 9 его нет, у Solaris 10 он есть. Большинство дистрибутивов Linux сегодня монтируют все съемные носители в / media.

[email protected]:/$ ls /home
datasoft

/ мнт

Каталог / mnt должен быть пустым и использоваться только для временных точек монтирования (в соответствии с FHS).

Администраторы Unix и Linux использовали здесь для создания многих каталогов, например / mnt / кое-что /. Скорее всего, вы столкнетесь со многими системами с несколькими каталогами, созданными и / или смонтированными внутри / mnt для использования в различных локальных и удаленных файловых системах.

/ TMP

Приложения и пользователи должны использовать / tmp для хранения временных данных, когда это необходимо. Данные, хранящиеся в / tmp, могут использовать либо дисковое пространство, либо RAM. Оба из которых управляются операционной системой. Никогда не используйте / tmp для хранения важных данных, которые вы хотите заархивировать.

в каталогах памяти

/ DEV

Файлы устройств в / dev выглядят как обычные файлы, но на самом деле они не находятся на жестком диске. Каталог / dev заполняется файлами, поскольку ядро распознает оборудование.

общие физические устройства

Обычное оборудование, такое как устройства на жестком диске, представлено файлами устройств в / dev. Ниже приведен снимок экрана файлов устройств SATA на ноутбуке и затем подключенных дисков IDE на рабочем столе. (Подробное значение этих устройств будет обсуждаться позже.)

[email protected]:/$ ls /dev/sd*
/dev/sda   /dev/sda10  /dev/sda5  /dev/sda7  /dev/sda9
/dev/sda1  /dev/sda2   /dev/sda6  /dev/sda8

Помимо представления физического оборудования, некоторые файлы устройств являются специальными. Эти специальные устройства могут быть очень полезны.

/ dev / tty и / dev / pts

Например, / dev / tty1 представляет терминал или консоль, подключенную к системе. (Не ломайте голову над точной терминологией «терминал» или «консоль», мы имеем в виду интерфейс командной строки.) Когда вы вводите команды в терминале, который является частью графического интерфейса, такого как Gnome или KDE, тогда ваш терминал будет представлен как / dev / pts / 1 (1 может быть другим числом).

/ DEV / нуль

В Linux вы найдете другие специальные устройства, такие как / dev / null, которые можно считать черной дырой; у него неограниченное хранилище, но из него ничего не достанется. Технически говоря, все, что записано в / dev / null, будет отброшено. / dev / null может быть полезен для удаления нежелательных выводов команд. / dev / null не подходит для хранения ваших резервных копий ;-).

/ proc разговор с ядром

/ proc - это еще один специальный каталог, который выглядит как обычные файлы, но не занимает места на диске. На самом деле это представление о ядре, или, что лучше, о том, чем управляет ядро, и средство непосредственного взаимодействия с ним. / proc - это файловая система proc.

[email protected]:/$ mount -t proc
proc on /proc type proc (rw,noexec,nosuid,nodev)

При выводе каталога / proc вы увидите много чисел (на любом Unix) и некоторые интересные файлы (на Linux)

[email protected]:/$ ls /proc
1     1632  19    2195  34   751        cpuinfo        mounts
10    1635  1901  22    346  754        crypto         mtrr
1014  1643  1904  2201  35   761        devices        net
1063  1647  1909  2202  36   78         diskstats      pagetypeinfo
11    1656  1927  2261  37   79         dma            partitions
1107  1660  1931  2272  417  8          driver         sched_debug
1130  1664  1935  23    481  80         execdomains    schedstat
12    1667  1949  2302  49   802        fb             scsi
13    1686  1954  2308  495  846        filesystems    self
1323  1695  1958  2315  5    885        fs             slabinfo
136   17    1962  2324  50   888        interrupts     softirqs
137   1709  1977  24    52   889        iomem          stat
1498  1710  2     2481  53   896        ioports        swaps
15    1712  20    25    54   9          ipmi           sys
1500  1714  2012  2503  55   949        irq            sysrq-trigger
1563  1723  2057  2551  565  954        kallsyms       sysvipc
1571  1724  2067  26    577  957        kcore          timer_list
1580  1725  2082  27    592  975        key-users      timer_stats
1586  1730  2090  2726  596  984        kmsg           tty
1598  1744  21    276   597  986        kpagecount     uptime
16    1760  2105  28    618  995        kpageflags     version
1614  1772  2110  282   638  acpi       latency_stats  version_signature
1618  1794  2117  29    671  asound     loadavg        vmallocinfo
1622  18    2129  3     679  buddyinfo  locks          vmstat
1623  1804  2143  31    7    bus        mdstat         zoneinfo
1625  1813  2152  319   740  cgroups    meminfo
1626  1818  2159  32    744  cmdline    misc
1631  1898  2182  33    750  consoles   modules

Давайте исследуем свойства файла внутри / proc. Просмотр даты и времени покажет текущую дату и время, показывая, что файлы постоянно обновляются (взгляд на ядро).

[email protected]:/$ date
Wed Jul 30 16:13:52 IST 2014
[email protected]:/$ ls -al /proc/cpuinfo
-r--r--r-- 1 root root 0 Jul 30 16:14 /proc/cpuinfo
[email protected]:/$ 
[email protected]:~$ date
Wed Jul 30 17:28:27 IST 2014
[email protected]:~$ ls -al /proc/cpuinfo
-r--r--r-- 1 root root 0 Jul 30 17:28 /proc/cpuinfo

Большинство файлов в / proc имеют размер 0 байт, но они содержат данные - иногда много данных. Вы можете убедиться в этом, выполнив команду cat для таких файлов, как / proc / cpuinfo, в которой содержится информация о процессоре.

[email protected]:~$ file /proc/cpuinfo
/proc/cpuinfo: empty 
[email protected]:~$ cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 42
model name	: Intel(R) Pentium(R) CPU G620 @ 2.60GHz
stepping	: 7
microcode	: 0x25
cpu MHz		: 1600.000
cache size	: 3072 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fdiv_bug	: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips	: 5188.25
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:
processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 42
model name	: Intel(R) Pentium(R) CPU G620 @ 2.60GHz
stepping	: 7
microcode	: 0x25
cpu MHz		: 1600.000
cache size	: 3072 KB
physical id	: 0
siblings	: 2
core id		: 1
cpu cores	: 2
apicid		: 2
initial apicid	: 2
fdiv_bug	: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips	: 5188.25
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:
[email protected]:~$

Просто для удовольствия, вот / proc / cpuinfo о Sunblade Sun ...

[email protected]:~$ cat /proc/cpuinfo | more
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 42
model name	: Intel(R) Pentium(R) CPU G620 @ 2.60GHz
stepping	: 7
microcode	: 0x25
cpu MHz		: 1600.000
cache size	: 3072 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fdiv_bug	: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
--More--

Большинство файлов в / proc доступны только для чтения, некоторые требуют прав суперпользователя, некоторые файлы доступны для записи, а многие файлы в / proc / sys доступны для записи. Давайте обсудим некоторые файлы в / proc.

/ Proc / Прерывание

В архитектуре x86 / proc / interrupts отображает прерывания.

[email protected]:~$ cat /proc/interrupts
           CPU0       CPU1       
  0:         16          0   IO-APIC-edge      timer
  1:          2          0   IO-APIC-edge      i8042
  7:          0          0   IO-APIC-edge      parport0
  8:          1          0   IO-APIC-edge      rtc0
  9:          3          0   IO-APIC-fasteoi   acpi
 12:          4          0   IO-APIC-edge      i8042
 16:         29          0   IO-APIC-fasteoi   ehci_hcd:usb1
 19:      17283      26337   IO-APIC-fasteoi   ata_piix, ata_piix
 23:      55734      64589   IO-APIC-fasteoi   ehci_hcd:usb2
 40:         13          0   PCI-MSI-edge      mei_me
 41:     500032          0   PCI-MSI-edge      i915
 42:        470          0   PCI-MSI-edge      snd_hda_intel
 43:      43010          0   PCI-MSI-edge      eth0
NMI:         24         26   Non-maskable interrupts
LOC:     359598     369234   Local timer interrupts
SPU:          0          0   Spurious interrupts
PMI:         24         26   Performance monitoring interrupts
IWI:       9565      11827   IRQ work interrupts
RTR:          0          0   APIC ICR read retries
RES:     101165      71652   Rescheduling interrupts
CAL:        202        596   Function call interrupts
TLB:       3370       6154   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
MCE:          0          0   Machine check exceptions
MCP:         42         42   Machine check polls
ERR:          0
MIS:          0

На машине с двумя процессорами файл выглядит следующим образом.

[email protected]:~$ cat /proc/interrupts
           CPU0       CPU1       
  0:         16          0   IO-APIC-edge      timer
  1:          2          0   IO-APIC-edge      i8042
  7:          0          0   IO-APIC-edge      parport0
  8:          1          0   IO-APIC-edge      rtc0
  9:          3          0   IO-APIC-fasteoi   acpi
 12:          4          0   IO-APIC-edge      i8042
 16:         29          0   IO-APIC-fasteoi   ehci_hcd:usb1
 19:      17283      26337   IO-APIC-fasteoi   ata_piix, ata_piix
 23:      55734      64589   IO-APIC-fasteoi   ehci_hcd:usb2
 40:         13          0   PCI-MSI-edge      mei_me
 41:     500032          0   PCI-MSI-edge      i915
 42:        470          0   PCI-MSI-edge      snd_hda_intel
 43:      43010          0   PCI-MSI-edge      eth0
NMI:         24         26   Non-maskable interrupts
LOC:     359598     369234   Local timer interrupts
SPU:          0          0   Spurious interrupts
PMI:         24         26   Performance monitoring interrupts
IWI:       9565      11827   IRQ work interrupts
RTR:          0          0   APIC ICR read retries
RES:     101165      71652   Rescheduling interrupts
CAL:        202        596   Function call interrupts
TLB:       3370       6154   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
MCE:          0          0   Machine check exceptions
MCP:         42         42   Machine check polls
ERR:          0

/ Proc / kcore

Физическая память представлена в / proc / kcore. Не пытайтесь отследить этот файл, вместо этого используйте отладчик. Размер / proc / kcore такой же, как у вашей физической памяти, плюс четыре байта.

[email protected]:~$ ls -lh /proc/kcore
-r-------- 1 root root 1020M Jul 30 17:41 /proc/kcore
[email protected]:~$ 

/ sys Linux 2.6 горячее подключение

Каталог / sys был создан для ядра Linux 2.6. Начиная с версии 2.6 Linux использует sysfs для поддержки устройств с горячей заменой USB и IEEE 1394 (FireWire). См. Справочные страницы udev (8) (преемник devfs) и hotplug (8) для получения дополнительной информации (или посетите http: // linuxhotplug. Sourceforge.net/).

В основном, каталог / sys содержит информацию об оборудовании для ядра.

/ usr Системные ресурсы Unix

Хотя / usr произносится как пользователь, помните, что он обозначает системные ресурсы Unix. Иерархия / usr должна содержать разделяемые данные только для чтения. Некоторые люди предпочитают монтировать / usr только для чтения. Это можно сделать из собственного раздела или из общего ресурса NFS только для чтения.

/ USR / бен

Каталог / usr / bin содержит много команд.

[email protected]:~$ ls /usr/bin | wc -l
1421

/ USR / включать в себя

Каталог / usr / include содержит включаемые файлы общего назначения для C.

[email protected]:~$ ls /usr/include/
aio.h          fcntl.h         math.h           pwd.h          sysexits.h
aliases.h      features.h      mcheck.h         python2.7      syslog.h
alloca.h       fenv.h          memory.h         rdma           tar.h
argp.h         fmtmsg.h        mntent.h         re_comp.h      termio.h
argz.h         fnmatch.h       monetary.h       regex.h        termios.h
ar.h           fstab.h         mqueue.h         regexp.h       tgmath.h
arpa           fts.h           mtd              resolv.h       thread_db.h
asm-generic    ftw.h           nautilus-sendto  rpc            time.h
assert.h       _G_config.h     net              rpcsvc         ttyent.h
...

/ USR / Lib

Каталог / usr / lib содержит библиотеки, которые не выполняются напрямую пользователями или сценариями.

[email protected]:~$ ls /usr/lib | head -7
2013.com.canonical.certification:checkbox
2013.com.canonical.certification:plainbox-resources
accountsservice
aisleriot
apg
apt
aspell

/ USR / местные

Каталог / usr / local может использоваться администратором для локальной установки программного обеспечения.

[email protected]:~$ ls /usr/local/
bin  etc  games  include  lib  man  sbin  share  src
[email protected]:~$ du -sh /usr/local
11M	/usr/local

/ USR / доли

Каталог / usr / share содержит независимые от архитектуры данные. Как видите, это довольно большой каталог.

[email protected]:~$ ls /usr/share/ | wc -l
283
[email protected]:~$ du -sh /usr/share/
1.1G	/usr/share/

Этот каталог обычно содержит / usr / share / man для справочных страниц.

[email protected]:~$ ls /usr/share/man
ar   [email protected]  en_GB  fr            hr  ko    man5  nb  pt_BR  sq  uk
ast  cs           eo     fr.ISO8859-1  hu  ku    man6  nl  ro     sr  uz
be   cy           es     fr.UTF-8      id  lt    man7  nn  ru     sv  vi
bg   da           et     fy            io  lv    man8  oc  se     ta  zh_CN
bn   de           eu     gd            it  man1  mhr   pa  shn    te  zh_HK
bo   el           fa     gl            ja  man2  ml    pl  si     th  zh_TW
bs   en_AU        fi     he            kk  man3  ms    ps  sk     tr
ca   en_CA        fo     hi            km  man4  my    pt  sl     ug

И он содержит / usr / share / games для всех статических игровых данных (так что никаких рекордов и игровых журналов).

[email protected]:~$ ls /usr/share/games/
ls: cannot access /usr/share/games/: No such file or directory

/ USR / SRC

Каталог / usr / src является рекомендуемым местом для исходных файлов ядра.

[email protected]:~$ ls -l /usr/src/
total 8
drwxr-xr-x 24 root root 4096 Apr 17 06:54 linux-headers-3.13.0-24
drwxr-xr-x  7 root root 4096 Apr 17 06:55 linux-headers-3.13.0-24-generic

/ var переменные данные

Файлы непредсказуемого размера, такие как файлы журналов, кэша и спула, должны находиться в / var.

/ вар / журнал

Каталог / var / log служит центральной точкой для хранения всех файлов журнала.

[email protected]:~$ ls /var/log
alternatives.log  dist-upgrade    fsck               syslog
apport.log        dmesg           gpu-manager.log    syslog.1
apport.log.1      dmesg.0         hp                 syslog.2.gz
apport.log.2.gz   dmesg.1.gz      installer          udev
apt               dmesg.2.gz      kern.log           unattended-upgrades
auth.log          dmesg.3.gz      lastlog            upstart
boot.log          dmesg.4.gz      lightdm            wtmp
bootstrap.log     dpkg.log        pm-powersave.log   Xorg.0.log
btmp              faillog         samba              Xorg.0.log.old
cups              fontconfig.log  speech-dispatcher

/ вар / Журнал / сообщения

Типичным первым файлом, который нужно проверить при устранении неполадок в Red Hat (и его производных), является файл / var / log / messages. По умолчанию этот файл будет содержать информацию о том, что только что произошло с системой. Файл называется / var / log / syslog в Debian и Ubuntu.

/ вар / кэш

Каталог / var / cache может содержать данные кеша для нескольких приложений.

[email protected]:/$ ls /var/cache/
apparmor          cups                   fontconfig  pm-utils
apt               debconf                ldconfig    pppconfig
apt-xapian-index  dictionaries-common    lightdm     samba
cracklib          flashplugin-installer  man         software-center

/ вар / золотник

Каталог / var / spool обычно содержит каталоги спула для mail и cron, но также служит родительским каталогом для других файлов спула (например, файлов печати спула).

/ вар / Библиотека

Каталог / var / lib содержит информацию о состоянии приложения.

Например, Red Hat Enterprise Linux хранит файлы, относящиеся к rpm, в / var / lib / rpm /.

/ вар / ...

/ var также содержит файлы идентификаторов процессов в / var / run (скоро будут заменены на / run) и временные файлы, которые переживают перезагрузку в / var / tmp, и информацию о блокировках файлов в / var / lock. В этом уроке будет больше примеров использования / var.

Упражнение, практика и решение:

1. Существует ли файл / bin / cat? Как насчет / bin / dd и / bin / echo. Какой тип этих файлов?

Код:

ls /bin/cat ; file /bin/cat
ls /bin/dd ; file /bin/dd
ls /bin/echo ; file /bin/echo

2. Каков размер файла (ов) ядра Linux (vmlinu *) в / boot?

Код:

ls -lh /boot/vm*

3. Создайте каталог ~ / test. Затем выполните следующие команды:

CD ~ / тест
dd if = / dev / zero of = zeroes.txt count = 1 bs = 100
od zeroes.txt

dd будет копировать один раз (count = 1) блок размером 100 байт (bs = 100) из файла / dev / zero в ~ / test / zeroes.txt. Можете ли вы описать функциональность / dev / zero?

Код:

cd ~/test
dd if=/dev/zero of=zeroes.txt count=1 bs=100
od zeroes.txt

dd скопирует один раз (count = 1) блок размером 100 байт (bs = 100) из файла / dev / zero
в ~ / test / zeroes.txt. Можете ли вы описать функциональность / dev / zero?
/ dev / zero - это специальное устройство Linux. Это можно считать источником нулей. Вы не можете отправить
что-то в / dev / zero, но вы можете прочитать нули из него.

4. Теперь введите следующую команду:

dd if = / dev / random of = random.txt count = 1 bs = 100; od random.txt

dd будет копировать один раз (количество = 1) блок размером 100 байт (bs = 100) из файла / dev / random в ~ / test / random.txt. Можете ли вы описать функциональность / dev / random?

Код:

dd if=/dev/random of=random.txt count=1 bs=100 ; od random.txt

dd скопирует один раз (count = 1) блок размером 100 байт (bs = 100) из файла / dev /
случайно до ~ / test / random.txt. Можете ли вы описать функциональность / dev / random?
/ dev / random действует как генератор случайных чисел на вашем компьютере с Linux.

5. Введите следующие две команды и посмотрите на первый символ каждой строки вывода.

ls -l / dev / sd * / dev / hd *
ls -l / dev / tty * / dev / input / mou *

Первый ls покажет устройства (b), второй ls покажет символы (c) устройств. Можете ли вы определить разницу между блочными и символьными устройствами?

Код:

ls -l /dev/sd* /dev/hd*
ls -l /dev/tty* /dev/input/mou*

Первый ls покажет устройства (b), второй ls покажет символы (c) устройств. Ты можешь
скажите разницу между блочными и символьными устройствами?
Блочные устройства всегда записываются (или читаются) в блоки. Для жестких дисков, блоки 512
байты являются общими. Символьные устройства действуют как поток символов (или байтов). Мышь и
клавиатура - типичные символьные устройства.

6. Используйте cat для отображения / etc / hosts и /etc/resolv.conf. Что вы думаете о назначении этих файлов?

Код:

/etc/hosts contains hostnames with their ip address
/etc/resolv.conf should contain the ip address of a DNS name server.

7. Есть ли файлы в / etc / skel /? Проверьте также наличие скрытых файлов.

Код:

Issue "ls -al /etc/skel/". Yes, there should be hidden files there.

8. Показать / proc / cpuinfo. На какой архитектуре работает ваш Linux?

Код:

The file should contain at least one line with Intel or other cpu.

9. Показать / proc / interrupts. Каков размер этого файла? Где хранится этот файл?

Код:

The size is zero, yet the file contains data. It is not stored anywhere because /proc is a
virtual file system that allows you to talk with the kernel. (If you answered "stored in RAMmemory,
that is also correct...).

10. Можете ли вы войти в каталог / root? Есть (скрытые) файлы?

Код:

Try "cd /root". Yes there are (hidden) files there.

11. Есть ли в / sbin ifconfig, fdisk, parted, shutdown и grub-install? Почему эти двоичные файлы находятся в / sbin, а не в / bin?

Код:

 Because those files are only meant for system administrators.

12. Является ли / var / log файлом или каталогом? А как насчет / var / spool?

Код:

Both are directories.

13. Откройте две командные строки (Ctrl-Shift-T в gnome-терминал) или терминалы (Ctrl-Alt-F1, Ctrl-Alt-F2, ...) и введите «Кто я» в обоих. Затем попробуйте передать слово из одного терминала в другой.

Код:

tty-terminal: echo Hello > /dev/tty1
pts-terminal: echo Hello > /dev/pts/1

14. Прочтите man-страницу random и объясните разницу между / dev / random и / dev / urandom.

Код:

man 4 random

Предыдущая: Linux - Работа с содержимым файлов
Далее: Linux команды и аргументы

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code