最近遇到很多使用障碍,我觉得有必要学习下Linux的目录结构,学会了centos7的目录结构,其他Linux发行版本的目录也可以参考使用,这将会带来极大的便利。
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 48G 0 part
├─centos-root 253:0 0 46G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
提示:以下是本篇文章正文内容,下面案例可供参考
首先可以进入/boot目录来查看下面究竟有那些文件和目录,然后再详细介绍
[root@localhost ~]# cd /boot
[root@localhost boot]# ll
total 157712
-rw-r--r--. 1 root root 153619 Mar 7 23:46 config-3.10.0-1160.88.1.el7.x86_64
-rw-r--r--. 1 root root 153591 Oct 20 2020 config-3.10.0-1160.el7.x86_64
drwx------ 3 root root 4096 Jan 1 1970 efi
drwxr-xr-x. 2 root root 27 Apr 1 10:17 grub
drwx------. 2 root root 21 Apr 1 11:07 grub2
-rw-------. 1 root root 62145226 Apr 1 10:21 initramfs-0-rescue-a3bac6f2531744c6a423685ee734b69c.img
-rw-------. 1 root root 21473857 Apr 1 11:10 initramfs-3.10.0-1160.88.1.el7.x86_64.img
-rw------- 1 root root 13842249 Apr 1 11:11 initramfs-3.10.0-1160.88.1.el7.x86_64kdump.img
-rw-------. 1 root root 21424373 Apr 1 11:10 initramfs-3.10.0-1160.el7.x86_64.img
-rw-------. 1 root root 13799548 Apr 1 11:08 initramfs-3.10.0-1160.el7.x86_64kdump.img
-rw-r--r--. 1 root root 320760 Mar 7 23:46 symvers-3.10.0-1160.88.1.el7.x86_64.gz
-rw-r--r--. 1 root root 320648 Oct 20 2020 symvers-3.10.0-1160.el7.x86_64.gz
-rw-------. 1 root root 3623956 Mar 7 23:46 System.map-3.10.0-1160.88.1.el7.x86_64
-rw-------. 1 root root 3616707 Oct 20 2020 System.map-3.10.0-1160.el7.x86_64
-rwxr-xr-x. 1 root root 6769256 Apr 1 10:21 vmlinuz-0-rescue-a3bac6f2531744c6a423685ee734b69c
-rwxr-xr-x. 1 root root 7051880 Mar 7 23:46 vmlinuz-3.10.0-1160.88.1.el7.x86_64
-rwxr-xr-x. 1 root root 6769256 Oct 20 2020 vmlinuz-3.10.0-1160.el7.x86_64
Linux系统在本地启动时,目录/boot/非常重要,其中的文件和目录有:
(1)系统Kernel的配置文件;
(2)启动管理程序GRUB的目录,里面存放的都是GRUB在启动时所需要的画面、配置及各阶段的文件。
在 Legacy 与 mbr 这种传统的配置中,我们甚至可以连 /boot 分区都不设定,尽管这种方式并不推荐。在 uefi 与 gpt 这种新式配置中,我们必须指定一个 /boot/efi 分区。这个分区是用来存放后缀名为 efi 文件的地方,安装多个系统时每一种系统会在这个分区中创建自己的子目录,并将引导需要使用到的文件放到自己的目录中,这让多系统的安装变得简单
UEFI启动时,首先会查找硬盘中的EFI分区。EFI分区一般为FAT32格式,被标记为ESP。EFI不需要为第一个分区。
以下是安装了centos7 linux系统之后的EFI分区内容。
root@hollowman-F117:/boot/efi/EFI# tree
.
├── BOOT
│ ├── BOOTX64.EFI
│ ├── bootx64.efi-1635292977.bak
│ ├── grub.cfg
│ ├── grub.efi
│ ├── grubx64.efi
│ └── shimx64.efi
│── centos
├── grub.cfg
├── grub.efi
├── grubx64.efi
└── shimx64.efi
UEFI 标准定义了一种可执行文件格式,所有的 UEFI 固件都能够执行以这种格式编写的代码,操作系统 bootloader 都采用这种格式编写,比如 Windows10操作系统的 bootloader 叫做 boot{架构}.efi 如 BOOTX64.efi,linux操作系统的bootloader叫做grub{架构}.efi 如 grubx64.efi。这些bootloader文件都存放在 EFI 系统分区的 Boot 文件夹下,如果一台机器上安装了多个厂商的操作系统, EFI 系统分区的 Boot 目录中就会有多个对应的bootloader。
开机后,主板固件中的程序(UEFI boot manager)会读取执行 bootloader 来启动指定的操作系统。
linux文件系统的最顶端是‘/’,也就是 Linux操作系统的文件系统。Linux的文件系统的入口就是/,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。
[root@localhost ~]$ ls /
bin dev home lib64 mnt proc run srv tmp usr
boot etc lib media opt root sbin sys var
包含二进制可执行文件。
[root@localhost ~]# cd /bin
[root@localhost bin]# ls
[ diff gsoelim mkdir openssl runcon show-installed uname
a2p diff3 gtar mkfifo openvt run-parts showkey unexpand
addr2line dir gtbl mkinitrd os-prober rvi shred unicode_start
alias dircolors gtroff mknod p11-kit rview shuf unicode_stop
apropos dirname gunzip mktemp package-cleanup rvim signver uniq
ar dmesg gzexe modutil page_owner_sort s2p size unlink
arch dnsdomainname gzip more passwd scp skill unlz4
as domainname h2ph mount paste script slabinfo unshare
aserver dracut hdsploader mountpoint pathchk scriptreplay slabtop unxz
aulast du head msgattrib pchrt scsi_logging_level sleep update-ca-trust
aulastlog dumpkeys hexdump msgcat perl scsi_mandat slogin update-mime-database
ausyscall dwp hostid msgcmp perl5.16.3 scsi_readcap snice uptime
auvirt echo hostname msgcomm perlbug scsi_ready soelim urlgrabber
awk egrep hostnamectl msgconv perldoc scsi-rescan sort users
base64 eject i386 msgen perlthanks scsi_satl sotruss usleep
basename elfedit iconv msgexec pflags scsi_start splain usx2yloader
bash env id msgfilter pgawk scsi_stop split utmpdump
bashbug envsubst idiag-socket-details msgfmt pgrep scsi_temperature sprof uuidgen
bashbug-64 eqn idn msggrep pic sdiff sqlite3 vdir
bc ex igawk msghack piconv secon ssh verifytree
bg expand info msginit pinentry sed ssh-add VGAuthService
bond2team expr infocmp msgmerge pinentry-curses seq ssh-agent vi
bootctl factor infokey msgunfmt ping setarch ssh-copy-id view
busctl fallocate infotocap msguniq ping6 setfacl ssh-keygen vim
c2ph false install mv pinky setfont ssh-keyscan vimdiff
cal fc ionice namei pk12util setkeycodes ssltap vimtutor
ca-legacy fg ipcalc ndptool pkaction setleds stat vlock
captoinfo fgconsole ipcmk needs-restarting pkcheck setmetamode stdbuf vmhgfs-fuse
cat fgrep ipcrm neqn pkexec setpriv strings vmstat
catchsegv file ipcs newaliases pkg-config setsid strip vm-support
catman find iptables-xml newaliases.postfix pkill setterm stty vmtoolsd
cd find2perl isosize newgidmap pkla-admin-identities setup-nsssysinit su vmware-checkvm
centrino-decode findmnt jobs newgrp pkla-check-authorization setup-nsssysinit.sh sudo vmware-hgfsclient
certutil find-repos-of-install join newuidmap pkttyagent setvtrgb sudoedit vmware-namespace-cmd
c++filt fipscheck journalctl nf-ct-add pl2pm sftp sudoreplay vmware-rpctool
chacl fipshmac kbdinfo nf-ct-list pldd sg sum vmware-toolbox-cmd
chage firewall-cmd kbd_mode nf-exp-add plymouth sg_compare_and_write sync vmware-vgauth-cmd
chardetect firewall-offline-cmd kbdrate nf-exp-delete pmap sg_copy_results systemctl vmware-xferlogs
chattr flock kdumpctl nf-exp-list pod2html sg_dd systemd-analyze vxloader
chcon fmt kernel-install nf-log pod2man sg_decode_sense systemd-ask-password w
chfn fold kill nf-monitor pod2text sg_emc_trespass systemd-cat wait
chgrp free kmod nf-queue pod2usage sg_format systemd-cgls wall
chmem fusermount last ngettext post-grohtml sg_get_config systemd-cgtop watch
chmod gapplication lastb nice powernow-k8-decode sg_get_lba_status systemd-coredumpctl watchgnupg
chown gawk lastlog nisdomainname pr sg_ident systemd-delta wc
chrt gdbus lchfn nl preconv sginfo systemd-detect-virt wdctl
chsh gencat lchsh nl-addr-add pre-grohtml sg_inq systemd-escape wget
chvt genl-ctrl-list ld nl-addr-delete printenv sg_logs systemd-firstboot whatis
cksum geqn ld.bfd nl-addr-list printf sg_luns systemd-hwdb whereis
clear getconf ldd nl-class-add prlimit sg_map systemd-inhibit which
cmp getent ld.gold nl-class-delete ps sg_map26 systemd-loginctl whiptail
cmsutil getfacl less nl-classid-lookup psed sgm_dd systemd-machine-id-setup who
col getkeycodes lessecho nl-class-list psfaddtable sg_modes systemd-notify whoami
colcrt getopt lesskey nl-cls-add psfgettable sg_opcodes systemd-nspawn write
colrm getopts lesspipe.sh nl-cls-delete psfstriptable sgp_dd systemd-path x86_64
column gettext lexgrog nl-cls-list psfxtable sg_persist systemd-run x86_energy_perf_policy
comm gettext.sh link nl-fib-lookup pstruct sg_prevent systemd-stdio-bridge xargs
command gio linux32 nl-link-enslave ptaskset sg_raw systemd-sysv-convert xgettext
coredumpctl gio-querymodules-64 linux64 nl-link-ifindex2name ptx sg_rbuf systemd-tmpfiles xmlcatalog
cp glib-compile-schemas linux-boot-prober nl-link-list pwd sg_rdac systemd-tty-ask-password-agent xmllint
cpio gmake ln nl-link-name2ifindex pwdx sg_read tabs xmlsec1
cpupower gneqn loadkeys nl-link-release pwmake sg_read_block_limits tac xmlwf
crlutil gnroff loadunimap nl-link-set pwscore sg_read_buffer tail xsltproc
crontab gpasswd locale nl-link-stats pydoc sg_readcap tailf xxd
csplit gpg localectl nl-list-caches python sg_read_long tar xz
csslint-0.6 gpg2 localedef nl-list-sockets python2 sg_reassign taskset xzcat
curl gpg-agent logger nl-monitor python2.7 sg_referrals tbl xzcmp
cut gpgconf login nl-neigh-add ranlib sg_requests teamd xzdec
cvtsudoers gpg-connect-agent loginctl nl-neigh-delete raw sg_reset teamdctl xzdiff
date gpg-error logname nl-neigh-list read sg_rmsn teamnl xzegrep
db_archive gpgparsemail look nl-neightbl-list readelf sg_rtpg tee xzfgrep
db_checkpoint gpgsplit ls nl-pktloc-lookup readlink sg_safte test xzgrep
db_deadlock gpgv lsattr nl-qdisc-add realpath sg_sanitize testgdbm xzless
db_dump gpgv2 lsblk nl-qdisc-delete recode-sr-latin sg_sat_identify tic xzmore
db_dump185 gpg-zip lscpu nl-qdisc-list rename sg_sat_phy_event timedatectl yes
db_hotbackup gpic lsinitrd nl-route-add renice sg_sat_set_features timeout ypdomainname
db_load gprof lsipc nl-route-delete repoclosure sg_scan tload yum
db_log_verify grep lslocks nl-route-get repodiff sg_senddiag tmon yum-builddep
db_printlog groff lslogins nl-route-list repo-graph sg_ses toe yum-config-manager
db_recover grops lsmem nl-rule-list repomanage sg_start top yum-debug-dump
db_replicate grotty lsns nl-tctree-list repoquery sg_stpg touch yum-debug-restore
db_stat groups lsscsi nl-util-addr repo-rss sg_sync tput yumdownloader
db_tuner grub2-editenv lua nm reposync sg_test_rwbuf tr yum-groups-manager
db_upgrade grub2-file luac nmcli repotrack sg_turs tracepath zcat
dbus-binding-tool grub2-fstest lz4 nm-online rescan-scsi-bus.sh sg_unmap tracepath6 zcmp
dbus-cleanup-sockets grub2-glue-efi lz4c nmtui reset sg_verify troff zdiff
dbus-daemon grub2-kbdcomp lz4cat nmtui-connect resizecons sg_vpd true zegrep
dbus-monitor grub2-menulst2cfg machinectl nmtui-edit rev sg_write_buffer truncate zfgrep
dbus-run-session grub2-mkfont mailq nmtui-hostname rm sg_write_long trust zforce
dbus-send grub2-mkimage mailq.postfix nohup rmail sg_write_same tset zgrep
dbus-test-tool grub2-mklayout make nproc rmail.postfix sg_wr_mode tsort zip
dbus-update-activation-environment grub2-mknetdir makedb nroff rmdir sg_xcopy tty zipcloak
dbus-uuidgen grub2-mkpasswd-pbkdf2 man nsenter rpcgen sh turbostat zipnote
db_verify grub2-mkrelpath mandb nss-policy-check rpm sha1sum tzselect zipsplit
dc grub2-mkrescue manpath numfmt rpm2cpio sha224sum udevadm zless
dd grub2-mkstandalone mapscrn objcopy rpmdb sha256sum ul zmore
deallocvt grub2-render-label mcookie objdump rpmkeys sha384sum ulockmgr_server znew
debuginfo-install grub2-script-check md5sum od rpmquery sha512sum umask zsoelim
df grub2-syslinux2cfg mesg oldfind rpmverify show-changed-rco umount
dgawk gsettings mixartloader open rsyslog-recover-qi.pl showconsolefont unalias
在单用户模式下,你需要使用的常见Linux命令都位于此目录下系统的所有用户使用的命令都设在这里。
例如:ps、ls、ping、grep、cp
跟/bin类似,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例:iptables、reboot、fdisk、ifconfig、swapon命令
[root@localhost bin]# cd /sbin
[root@localhost sbin]# ls
accessdb clock fsck.xfs iprdump mkdict postkick sendmail.postfix vgcreate
addgnupghome clockdiff fsfreeze iprinit mkdumprd postlock service vgdisplay
addpart consoletype fstrim iprsos mke2fs postlog sestatus vgexport
adduser cracklib-check fxload iprupdate mkfs postmap setcap vgextend
agetty cracklib-format genhomedircon ipset mkfs.btrfs postmulti setenforce vgimport
alternatives cracklib-packer genhostid iptables mkfs.cramfs postqueue setfiles vgimportclone
anacron cracklib-unpacker genl iptables-restore mkfs.ext2 postsuper setpci vgmerge
applygnupgdefaults create-cracklib-dict genl-ctrl-list iptables-save mkfs.ext3 poweroff setsebool vgmknodes
arpd crond getcap irqbalance mkfs.ext4 ppp-watch sfdisk vgreduce
arping ctrlaltdel getenforce kexec mkfs.minix pvchange shutdown vgremove
audispd ctstat getpcaps killall5 mkfs.xfs pvck sln vgrename
auditctl debugfs getsebool kpartx mkhomedir_helper pvcreate smtp-sink vgs
auditd delpart glibc_post_upgrade.x86_64 lchage mklost+found pvdisplay smtp-source vgscan
augenrules depmod groupadd ldattach mkswap pvmove ss vgsplit
aureport devlink groupdel ldconfig modinfo pvremove sshd vigr
ausearch dhclient groupmems lgroupadd modprobe pvresize sshd-keygen vipw
authconfig dhclient-script groupmod lgroupdel mount.fuse pvs sulogin virt-what
authconfig-tui dmeventd grpck lgroupmod netreport pvscan sushell visudo
autrace dmfilemapd grpconv lid NetworkManager pwck swaplabel vmcore-dmesg
avcstat dmidecode grpunconv lnewusers new-kernel-pkg pwconv swapoff vpddecode
badblocks dmsetup grub2-bios-setup lnstat newusers pwhistory_helper swapon weak-modules
biosdecode dmstats grub2-get-kernel-settings load_policy nl-class-add pwunconv switch_root wipefs
biosdevname dracut grub2-install logrotate nl-class-delete rdisc sysctl wpa_cli
blkdeactivate dumpe2fs grub2-macbless logsave nl-classid-lookup rdma sys-unconfig wpa_passphrase
blkdiscard e2freefrag grub2-mkconfig losetup nl-class-list readprofile tc wpa_supplicant
blkid e2fsck grub2-ofpathname lpasswd nl-cls-add reboot telinit xfs_admin
blockdev e2image grub2-probe lshw nl-cls-delete resize2fs thin_check xfs_bmap
bridge e2label grub2-reboot lsmod nl-cls-list resizepart thin_delta xfs_copy
btrfs e2undo grub2-rpm-sort lspci nl-link-list restorecon thin_dump xfs_db
btrfsck e4defrag grub2-set-default luseradd nl-pktloc-lookup rmmod thin_ls xfs_estimate
btrfs-convert eapol_test grub2-setpassword luserdel nl-qdisc-add routef thin_metadata_size xfs_freeze
btrfs-debug-tree ebtables grub2-sparc64-setup lusermod nl-qdisc-delete routel thin_repair xfs_fsr
btrfs-find-root ebtables-restore grubby lvchange nl-qdisc-list rsyslogd thin_restore xfs_growfs
btrfs-image ebtables-save halt lvconvert nologin rtacct thin_rmap xfs_info
btrfs-map-logical era_check hardlink lvcreate nstat rtcwake thin_trim xfs_io
btrfs-select-super era_dump hwclock lvdisplay ownership rtmon tracepath xfs_logprint
btrfstune era_invalidate iconvconfig lvextend packer rtpr tracepath6 xfs_mdrestore
btrfs-zero-log era_restore iconvconfig.x86_64 lvm pam_console_apply rtstat tune2fs xfs_metadump
build-locale-archive ethtool ifcfg lvmconf pam_tally2 runlevel tuned xfs_mkfile
cacertdir_rehash faillock ifdown lvmconfig pam_timestamp_check runuser tuned-adm xfs_ncheck
cache_check fdformat ifenslave lvmdiskscan parted sasldblistusers2 udevadm xfs_quota
cache_dump fdisk ifstat lvmdump partprobe saslpasswd2 unix_chkpwd xfs_repair
cache_metadata_size filefrag ifup lvmetad partx sefcontext_compile unix_update xfs_rtcp
cache_repair findfs init lvmpolld pdata_tools selabel_digest update-alternatives xtables-multi
cache_restore firewalld insmod lvmsadc pidof selabel_lookup update-pciids yum-complete-transaction
cache_writeback fixfiles install-info lvmsar ping6 selabel_lookup_best_match useradd yumdb
capsh fsadm installkernel lvreduce pivot_root selabel_partial_match userdel zdump
cbq fsck intel-microcode2ucode lvremove plymouthd selinuxconlist usermod zic
cfdisk fsck.btrfs ip lvrename plymouth-set-default-theme selinuxdefcon usernetctl zramctl
chcpu fsck.cramfs ip6tables lvresize postalias selinuxenabled vgcfgbackup
chgpasswd fsck.ext2 ip6tables-restore lvs postcat selinuxexeccon vgcfgrestore
chkconfig fsck.ext3 ip6tables-save lvscan postconf selinux_restorecon vgchange
chpasswd fsck.ext4 iprconfig makedumpfile postdrop semodule vgck
chroot fsck.minix iprdbg matchpathcon postfix sendmail vgconvert
二进制安装包的配置文件默认路径和服务启动命令存放的目录
这个目录一般用来存放程序所需的整个文件系统的配置文件.
[root@localhost sbin]# cd /etc/
[root@localhost etc]# ls
adjtime cron.deny dracut.conf.d grub2.cfg kdump.conf machine-id opt profile.d rpm ssl tmpfiles.d
aliases cron.hourly e2fsck.conf grub.d kernel magic os-release protocols rsyslog.conf statetab tuned
aliases.db cron.monthly environment gshadow krb5.conf makedumpfile.conf.sample pam.d python rsyslog.d statetab.d udev
alternatives crontab ethertypes gshadow- krb5.conf.d man_db.conf passwd rc0.d rwtab subgid vconsole.conf
anacrontab cron.weekly exports gss ld.so.cache mke2fs.conf passwd- rc1.d rwtab.d subuid vimrc
asound.conf crypttab favicon.png host.conf ld.so.conf modprobe.d pkcs11 rc2.d sasl2 sudo.conf virc
audisp csh.cshrc filesystems hostname ld.so.conf.d modules-load.d pki rc3.d securetty sudoers vmware-tools
audit csh.login firewalld hosts libaudit.conf motd plymouth rc4.d security sudoers.d wgetrc
bash_completion.d dbus-1 fstab hosts.allow libnl mtab pm rc5.d selinux sudo-ldap.conf wpa_supplicant
bashrc default fuse.conf hosts.deny libuser.conf my.cnf polkit-1 rc6.d services sysconfig X11
binfmt.d depmod.d gcrypt init.d locale.conf my.cnf.d popt.d rc.d sestatus.conf sysctl.conf xdg
centos-release dhcp gnupg inittab localtime NetworkManager postfix rc.local shadow sysctl.d xinetd.d
centos-release-upstream DIR_COLORS GREP_COLORS inputrc login.defs networks ppp redhat-release shadow- systemd yum
chkconfig.d DIR_COLORS.256color groff iproute2 logrotate.conf nsswitch.conf prelink.conf.d resolv.conf shells system-release yum.conf
cron.d DIR_COLORS.lightbgcolor group issue logrotate.d nsswitch.conf.bak printcap resolv.conf.save skel system-release-cpe yum.repos.d
cron.daily dracut.conf group- issue.net lvm openldap profile rpc ssh terminfo
下面是一部分子目录的简介:
/etc/sysconfig目录
包含很多文件.许多网络配置文件也在/etc 中.
/etc/rc or /etc/rc.d or /etc/rc*.d
启动、或改变运行级时运行的scripts或scripts的目录.
/etc/passwd
用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息.
/etc/fdprm
软盘参数表.说明不同的软盘格式.用setfdprm 设置.
/etc/fstab
启动时mount -a命令(在/etc/rc 或等效的启动文件中)自动mount的文件系统列表.linux下,也包括用swapon -a启用的swap区的信息.
/etc/group
类似/etc/passwd ,但说明的不是用户而是组.
/etc/inittab
init 的配置文件.
/etc/issue
getty在登录提示符前的输出信息.通常包括系统的一段短说明或欢迎信息.内容由系统管理员确定.
/etc/magic
file 的配置文件.包含不同文件格式的说明,file 基于它猜测文件类型.
/etc/motd
Message Of TheDay,成功登录后自动输出.内容由系统管理员确定.经常用于通告信息,如计划关机时间的警告.
/etc/mtab
当前安装的文件系统列表.由scripts初始化,并由mount 命令自动更新.需要一个当前安装的文件系统的列表时使用,例如df命令.
/etc/shadow
在安装了影子口令软件的系统上的影子口令文件.影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow中,而后者只对root可读.这使破译口令更困难.
/etc/login.defs
login 命令的配置文件.
/etc/printcap
类似/etc/termcap ,但针对打印机.语法不同.
/etc/profile , /etc/csh.login ,/etc/csh.cshrc
登录或启动时Bourne或Cshells执行的文件.这允许系统管理员为所有用户建立全局缺省环境.
/etc/securetty
确认安全终端,即哪个终端允许root登录.一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权.
/etc/shells
列出可信任的shell.chsh 命令允许用户在本文件指定范围内改变登录shell.提供一台机器FTP服务的服务进程ftpd检查用户shell是否列在 /etc/shells 文件中,如果不是将不允许该用户登录.
/etc/termcap
例:声卡、磁盘、光驱等。在Linux系统上,任何装置与周边设备都是以档案的型态存在于这个目录当中。 只要通过存取这个目录下的某个档案,就等于存取某个装置。比要重要的档案有/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*等等
[root@localhost etc]# cd /dev
[root@localhost dev]# ls
agpgart char dm-1 hpet mapper null raw shm tty0 tty16 tty23 tty30 tty38 tty45 tty52 tty6 ttyS0 usbmon1 vcs6 vfio
autofs console dmmidi hugepages mcelog nvram rtc snapshot tty1 tty17 tty24 tty31 tty39 tty46 tty53 tty60 ttyS1 usbmon2 vcsa vga_arbiter
block core dri hwrng mem oldmem rtc0 snd tty10 tty18 tty25 tty32 tty4 tty47 tty54 tty61 ttyS2 vcs vcsa1 vhci
bsg cpu fb0 initctl midi port sda sr0 tty11 tty19 tty26 tty33 tty40 tty48 tty55 tty62 ttyS3 vcs1 vcsa2 vhost-net
btrfs-control cpu_dma_latency fd input mqueue ppp sda1 stderr tty12 tty2 tty27 tty34 tty41 tty49 tty56 tty63 uhid vcs2 vcsa3 vmci
bus crash full kmsg net ptmx sda2 stdin tty13 tty20 tty28 tty35 tty42 tty5 tty57 tty7 uinput vcs3 vcsa4 vsock
cdrom disk fuse log network_latency pts sg0 stdout tty14 tty21 tty29 tty36 tty43 tty50 tty58 tty8 urandom vcs4 vcsa5 zero
centos dm-0 hidraw0 loop-control network_throughput random sg1 tty tty15 tty22 tty3 tty37 tty44 tty51 tty59 tty9 usbmon0 vcs5 vcsa6
设备文件分为两种:块设备文件(b)和字符设备文件( c)
设备文件一般存放在/dev目录下,对常见设备文件作如下说明:
/dev/hd[a-t]:IDE设备
/dev/sd[a-z]:SCSI设备
/dev/fd[0-7]:标准软驱
/dev/md[0-31]:软raid设备
/dev/loop[0-7]:本地回环设备
/dev/ram[0-15]:内存
/dev/null:无限数据接收设备,相当于黑洞
/dev/zero:无限零资源
/dev/tty[0-63]:虚拟终端
/dev/ttyS[0-3]:串口
/dev/lp[0-3]:并口
/dev/console:控制台
/dev/fb[0-31]:framebuffer
/dev/cdrom => /dev/hdc
/dev/modem => /dev/ttyS[0-9]
/dev/pilot => /dev/ttyS[0-9]
/dev/random:随机数设备
/dev/urandom:随机数设备
这个目录本身是一个虚拟文件系统(virtual filesystem), 他放置的资料都是在内存当中,例如系统核心、行程资讯(process)、周边装置的状态及网络状态等等。因为这个目录下的资料都是在记忆体(内存)当中,所以本身不占任何硬盘空间。比较重要的档案(目录)例如: /proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/*等等。
[root@localhost dev]# cd /proc
[root@localhost proc]# ls
1 1214 1270 19 276 285 31 394 400 43 516 580 659 755 acpi cpuinfo fb kallsyms loadavg mpt scsi sysrq-trigger vmallocinfo
10 1216 13 2 277 286 32 395 401 44 569 581 660 8 asound crypto filesystems kcore locks mtrr self sysvipc vmstat
1084 1218 14 20 278 287 33 396 402 45 570 6 662 9 buddyinfo devices fs keys mdstat net slabinfo timer_list zoneinfo
1094 1235 15 21 279 288 370 397 403 47 571 60 671 936 bus diskstats interrupts key-users meminfo pagetypeinfo softirqs timer_stats
1095 1245 16 22 281 30 371 398 404 484 573 628 675 937 cgroups dma iomem kmsg misc partitions stat tty
11 1248 17 23 283 301 380 399 405 5 574 653 681 940 cmdline driver ioports kpagecount modules sched_debug swaps uptime
1209 1269 18 24 284 302 381 4 41 510 578 657 7 98 consoles execdomains irq kpageflags mounts schedstat sys version
/proc目录中包含许多以数字命名的子目录,这些数字表示系统当前正在运行进程的进程号,里面包含对应进程相关的多个信息文件
/proc/buddyinfo 用于诊断内存碎片问题的相关信息文件
/proc/cmdline 在启动时传递至内核的相关参数信息,这些信息通常由lilo或grub等启动管理工具进行传递
/proc/cpuinfo 处理器的相关信息的文件
/proc/crypto 系统上已安装的内核使用的密码算法及每个算法的详细信息列表
/proc/devices 系统已经加载的所有块设备和字符设备的信息,包含主设备号和设备组(与主设备号对应的设备类型)名
/proc/diskstats 每块磁盘设备的磁盘I/O统计信息列表;(内核2.5.69以后的版本支持此功能)
/proc/dma 每个正在使用且注册的ISA DMA通道的信息列表
/proc/execdomains 内核当前支持的执行域(每种操作系统独特“个性”)信息列表
/proc/fb 帧缓冲设备列表文件,包含帧缓冲设备的设备号和相关驱动信息
/proc/filesystems 当前被内核支持的文件系统类型列表文件,被标示为nodev的文件系统表示不需要块设备的支持;通常mount一个设备时,如果没有指定文件系统类型将通过此文件来决定其所需文件系统的类型
/proc/interrupts X86或X86_64体系架构系统上每个IRQ相关的中断号列表;多路处理器平台上每个CPU对于每个I/O设备均有自己的中断号
/proc/iomem 每个物理设备上的记忆体(RAM或者ROM)在系统内存中的映射信息
/proc/ioports 当前正在使用且已经注册过的与物理设备进行通讯的输入-输出端口范围信息列表
/proc/kallsyms 模块管理工具用来动态链接或绑定可装载模块的符号定义,由内核输出;(内核2.5.71以后的版本支持此功能);通常这个文件中的信息量相当大
/proc/kcore 系统使用的物理内存,以ELF核心文件(core file)格式存储,其文件大小为已使用的物理内存(RAM)加上4KB;这个文件用来检查内核数据结构的当前状态,因此,通常由GBD通常调试工具使用,但不能使用文件查看命令打开此文件
/proc/kmsg 此文件用来保存由内核输出的信息,通常由/sbin/klogd或/bin/dmsg等程序使用,不要试图使用查看命令打开此文件
/proc/loadavg 保存关于CPU和磁盘I/O的负载平均值,其前三列分别表示每1秒钟、每5秒钟及每15秒的负载平均值,类似于uptime命令输出的相关信息;第四列是由斜线隔开的两个数值,前者表示当前正由内核调度的实体(进程和线程)的数目,后者表示系统当前存活的内核调度实体的数目;第五列表示此文件被查看前最近一个由内核创建的进程的PID
/proc/locks 保存当前由内核锁定的文件的相关信息,包含内核内部的调试数据;每个锁定占据一行,且具有一个惟一的编号;如下输出信息中每行的第二列表示当前锁定使用的锁定类别,POSIX表示目前较新类型的文件锁,由lockf系统调用产生,FLOCK是传统的UNIX文件锁,由flock系统调用产生;第三列也通常由两种类型,ADVISORY表示不允许其他用户锁定此文件,但允许读取,MANDATORY表示此文件锁定期间不允许其他用户任何形式的访问
proc/mdstat 保存RAID相关的多块磁盘的当前状态信息
/proc/meminfo 系统中关于当前内存的利用状况等的信息,常由free命令使用;可以使用文件查看命令直接读取此文件,其内容显示为两列,前者为统计属性,后者为对应的值
/proc/mounts 在内核2.4.29版本以前,此文件的内容为系统当前挂载的所有文件系统,在2.4.19以后的内核中引进了每个进程使用独立挂载名称空间的方式,此文件则随之变成了指向/proc/self/mounts(每个进程自身挂载名称空间中的所有挂载点列表)文件的符号链接
/proc/modules 当前装入内核的所有模块名称列表,可以由lsmod命令使用,也可以直接查看
/proc/partitions 块设备每个分区的主设备号(major)和次设备号(minor)等信息,同时包括每个分区所包含的块(block)数目
/proc/pci(/proc/bus/pci) 内核初始化时发现的所有PCI设备及其配置信息列表,其配置信息多为某PCI设备相关IRQ信息,可读性不高,可以用“/sbin/lspci –vb”命令获得较易理解的相关信息;在2.6内核以后,此文件已为/proc/bus/pci目录及其下的文件代替
/proc/slabinfo 在内核中频繁使用的对象(如inode、dentry等)都有自己的cache,即slab pool,而/proc/slabinfo文件列出了这些对象相关slap的信息;详情可以参见内核文档中slapinfo的手册页
/proc/sys 与/proc下其它文件的“只读”属性不同的是,管理员可对/proc/sys子目录中的许多文件内容进行修改以更改内核的运行特性
/proc/sys/dev 为系统上特殊设备提供参数信息文件的目录,其不同设备的信息文件分别存储于不同的子目录中,如大多数系统上都会具有的/proc/sys/dev/cdrom和/proc/sys/dev/raid(如果内核编译时开启了支持raid的功能) 目录,其内存储的通常是系统上cdrom和raid的相关参数信息文件
/proc/stat 实时追踪自系统上次启动以来的多种统计信息
/proc/swaps 当前系统上的交换分区及其空间利用信息,如果有多个交换分区的话,则会每个交换分区的信息分别存储于/proc/swap目录中的单独文件中,而其优先级数字越低,被使用到的可能性越大
/proc/uptime 系统上次启动以来的运行时间
/proc/version 当前系统运行的内核版本号
/proc/vmstat 当前系统虚拟内存的多种统计数据,信息量可能会比较大,这因系统而有所不同,可读性较好
/proc/zoneinfo 内存区域(zone)的详细信息列表,信息量较大
var代表变量文件。
[root@localhost proc]# cd /var
[root@localhost var]# ls
adm cache crash db empty games gopher kerberos lib local lock log mail nis opt preserve run spool tmp yp
如果/usr是安装时会占用较大硬盘容量的目录,那么/var就是在系统运作后才会渐渐占用硬盘容量的目录。
因为/var目录主要针对常态性变动的文件,包括缓存(cache)、登录档(log file)以及某些软件运作所产生的文件, 包括程序文件(lock file,run file),或者例如MySQL数据库的文件等等。
/var/crash 系统崩溃时转储的文件,可以通过该文件分析down机的原因
/var/cache 存放应用程序的缓存数据,保存在该目录中的数据应用程序可以再生成,所以该目录中的数据丢失后不会影响系统
/var/lib 程序本身执行的过程中需要使用到的数据文件放置的目录。再次目录下各自的软件应该要有各自的目录。举例来说,Mysql的数据库放置到/var/lib/mysql,而rpm的数据库则放到/var/lib/rpm目录下
/var/lock 某些设备或者是文件资源一次只能被一个应用程序所使用 ,如当系统中有一个刻录机两个人都要使用,那么需要在一个人使用的时候上锁,那么第一个人使用完毕后,第二个人才可以继续使用
/var/log 这个是登录文件放置日志的的目录。里面比较重要的文件/var/log/messages,/var/log/harry(记录登陆者信息)等
常用的系统日志如下:
核心启动日志:/var/log/dmesg
系统报错日志:/var/log/messages
邮件系统日志:/var/log/mail.log
FTP系统日志:/var/log/xferl.og
安全信息和系统登录与网络连接的信息:/var/log/secure
登录记录:/var/log/wtmp 记录登录者讯录,二进制文件,须用last来读取内容 who -u /var/log/wtmp 查看信息
News日志:/var/log/spooler
RPM软件包:/var/log/rpmpkgs
XFree86日志:/var/log/XFree86.0.log
引导日志:/var/log/boot.log 记录开机启动讯息,dmesg | more
cron(定制任务日志)日志:/var/log/cron
安全信息和系统登录与网络连接的信息:/var/log/secure
/var/run/ 某些程序启动服务后,会将他们PID放置在这个目录下
包含系统和用户创建的临时文件。
当系统重新启动时,这个目录下的文件都将被删除。
[root@localhost var]# cd /tmp
[root@localhost tmp]# ls
vmware-root_647-3988163046 vmware-root_648-2688619569 vmware-root_656-2689274927 vmware-root_660-2697467306
所有系统默认的软件都会放置到/usr底下,包含二进制文件、库文件、文档和二级程序的源代码。
[root@localhost usr]# ls
bin etc games include lib lib64 libexec local sbin share src tmp
usr 是linux系统核心所在,包含了所有的共享文件。
它是 unix 系统中最重要的目录之一,涵盖了二进制文件,各种文档,各种头文件,x,还有各种库文件;还有诸多程序,例如 ftp,telnet 等等。
/usr/bin 几乎所有用户命令.有些命令在/bin 或/usr/local/bin 中
/usr/sbin 根文件系统不必要的系统管理命令,例如多数服务程序
/usr/man , /usr/info , /usr/doc 手册页、GNU信息文档和各种其他文档文件
/usr/include C编程语言的头文件,为了一致性这实际上应该在/usr/lib 下,但传统上支持这个名字
/usr/lib 程序或子系统的不变的数据文件,包括一些site-wide配置文件.名字lib来源于库(library); 编程的原始库存在/usr/lib 里
/usr/local 本地安装的软件和其他文件放在这里
Linux 的 home 目录是用户的宿主目录,一个用户登录系统,进入后,所处的位置就是 /home,Linux 的 home 目录通常用度来保存用户的文件。
root 用户的 home 目录为 /root。
[root@localhost home]# cd /home
[root@localhost home]# ls
user01 user02
~ 代表是home目录,也就是家目录, / 代表的是根目录
用户登录后在 家目录 ,可用pwd命令查看,普通用户为 /home/用户名,root用户为/root
root用户家目录
[root@localhost ~]# cd /root
[root@localhost ~]# ls -al
total 2121544
dr-xr-x---. 6 root root 4096 Aug 2 23:24 .
dr-xr-xr-x. 17 root root 244 Jul 24 18:51 ..
-rw-------. 1 root root 1259 May 26 05:34 anaconda-ks.cfg
-rw-------. 1 root root 7539 Aug 4 02:29 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
drwxr-xr-x. 2 root root 4096 Jul 24 19:44 docker-ce
drwxr-----. 3 root root 19 Jul 24 18:46 .pki
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
-rw------- 1 root root 11037 Aug 2 23:24 .viminfo
/lib 文件夹是 库文件目录 ,包含了所有对系统有用的库文件。简单来说,它是应用程序、命令或进程正确执行所需要的文件。在 /bin 或 /sbin 目录中的命令的动态库文件正是在此目录中。内核模块同样也在这里
[root@localhost boot]# cd /lib
[root@localhost lib]# ls
binfmt.d dracut firmware grub kdump locale modules NetworkManager polkit-1 rpm sendmail.postfix sysctl.d tmpfiles.d udev
debug firewalld games kbd kernel modprobe.d modules-load.d os-release python2.7 sendmail sse2 systemd tuned yum-plugins
/lib/firmware - 这个文件夹包含了一些硬件、固件Firmware代码
/lib/modprobe.d - modprobe 命令的配置目录
/lib/modules - 所有的可加载内核模块都存储在这个目录下。如果你有多个内核,你会在这个目录下看到代表美国内核的目录
/lib/hdparm - 包含 SATA/IDE 硬盘正确运行的参数
/lib/udev - 用户空间 /dev 是 Linux 内核设备管理器。这个文件夹包含了所有的 udev 相关的文件和文件夹,例如 rules.d 包含了 udev 规范文件
这里主要存放那些可选的程序。
opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。
/opt 主机额外安装软件所摆放的目录。默认是空的。 一般安装软件的时候,可以自己指定安装到这个目录下,便于查找和管理
[root@localhost lib]# cd /opt
[root@localhost opt]# ls
系统管理员可以挂载其他临时文件系统。
用于挂载可移动设备的临时目录。
举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy
srv代表服务。存放服务进程所需的数据文件和一些服务执行脚本
主要用来存储本机或本服务器提供的服务或数据。(用户主动生产的数据、对外提供服务)
/run 目录里面的东西是系统运行时需要的,不能随便删除, 但是重启的时候应该抛弃,下次系统运行时重新生成
/run是个tmpfs, /var/run是个指向/run的链接, 换句话说他俩是同一个东西
/lib64、/usr/lib64是64位程序的运行库目录,/lib64是指向/usr/lib64的软链接
[root@localhost sbin]# cd /lib64
[root@localhost lib64]# ls
audit libdevmapper-event-lvm2snapshot.so libgpgme-pthread.so.11.8.1 libncurses.so.5.9 libpcre32.so.0 libsystemd-id128.so.0.0.28
bind9-export libdevmapper-event-lvm2.so.2.02 libgpgme.so.11 libncurses++.so.5.9 libpcre32.so.0.0.0 libsystemd-journal.so.0
cracklib_dict.hwm libdevmapper-event-lvm2thin.so libgpgme.so.11.8.1 libncurses++w.so.5 libpcrecpp.so.0 libsystemd-journal.so.0.11.5
cracklib_dict.pwd libdevmapper-event-lvm2vdo.so libgpm.so.2 libncursesw.so.5 libpcrecpp.so.0.0.0 libsystemd-login.so.0
cracklib_dict.pwi libdevmapper-event.so.1.02 libgpm.so.2.1.0 libncurses++w.so.5.9 libpcreposix.so.0 libsystemd-login.so.0.9.3
dbus-1 libdevmapper.so.1.02 libgssapi_krb5.so.2 libncursesw.so.5.9 libpcreposix.so.0.0.1 libsystemd.so.0
device-mapper libdhcpctl.so.0 libgssapi_krb5.so.2.2 libndp.so.0 libpcre.so.1 libsystemd.so.0.6.0
ebtables libdhcpctl.so.0.0.0 libgssrpc.so.4 libndp.so.0.0.0 libpcre.so.1.2.0 libtasn1.so.6
elfutils libdl-2.17.so libgssrpc.so.4.2 libnetfilter_conntrack.so.3 libpipeline.so.1 libtasn1.so.6.5.3
fipscheck libdl.so.2 libgthread-2.0.so.0 libnetfilter_conntrack.so.3.6.0 libpipeline.so.1.2.3 libteamdctl.so.0
games libdrm_amdgpu.so.1 libgthread-2.0.so.0.5600.1 libnewt.so.0.52 libplc4.so libteamdctl.so.0.1.5
gconv libdrm_amdgpu.so.1.0.0 libguestlib.so.0 libnewt.so.0.52.15 libplds4.so libteam.so.5
gettext libdrm_intel.so.1 libguestlib.so.0.0.0 libnfnetlink.so.0 libply-boot-client.so.2 libteam.so.5.6.0
gio libdrm_intel.so.1.0.0 libhandle.so.1 libnfnetlink.so.0.2.0 libply-boot-client.so.2.1.0 libthread_db-1.0.so
girepository-1.0 libdrm_nouveau.so.2 libhandle.so.1.0.3 libnl libply.so.2 libthread_db.so.1
krb5 libdrm_nouveau.so.2.0.0 libhgfs.so.0 libnl-3.so.200 libply.so.2.1.0 libtic.so.5
ld-2.17.so libdrm_radeon.so.1 libhgfs.so.0.0.0 libnl-3.so.200.23.0 libply-splash-core.so.2 libtic.so.5.9
ld-linux-x86-64.so.2 libdrm_radeon.so.1.0.1 libhistory.so.6 libnl-cli-3.so.200 libply-splash-core.so.2.1.0 libtinfo.so.5
libacl.so.1 libdrm.so.2 libhistory.so.6.2 libnl-cli-3.so.200.23.0 libpng15.so.15 libtinfo.so.5.9
libacl.so.1.1.0 libdrm.so.2.4.0 libidn.so.11 libnl-genl-3.so.200 libpng15.so.15.13.0 libudev.so.1
libaio.so.1 libdw-0.176.so libidn.so.11.6.11 libnl-genl-3.so.200.23.0 libpolkit-agent-1.so.0 libudev.so.1.6.2
libaio.so.1.0.0 libdw.so.1 libip4tc.so.0 libnl-idiag-3.so.200 libpolkit-agent-1.so.0.0.0 libulockmgr.so.1
libaio.so.1.0.1 libe2p.so.2 libip4tc.so.0.1.0 libnl-idiag-3.so.200.23.0 libpolkit-gobject-1.so.0 libulockmgr.so.1.0.1
libanl-2.17.so libe2p.so.2.3 libip6tc.so.0 libnl-nf-3.so.200 libpolkit-gobject-1.so.0.0.0 libunistring.so.0
libanl.so.1 libebtc.so libip6tc.so.0.1.0 libnl-nf-3.so.200.23.0 libpopt.so.0 libunistring.so.0.1.2
libasm-0.176.so libedit.so.0 libipset.so.13 libnl-route-3.so.200 libpopt.so.0.0.0 libuser
libasm.so.1 libedit.so.0.0.42 libipset.so.13.1.0 libnl-route-3.so.200.23.0 libprocps.so.4 libuser.so.1
libasound.so.2 libelf-0.176.so libiptc.so.0 libnl-xfrm-3.so.200 libprocps.so.4.0.0 libuser.so.1.5.0
libasound.so.2.0.0 libelf.so.1 libiptc.so.0.0.0 libnl-xfrm-3.so.200.23.0 libpthread-2.17.so libustr-1.0.so.1
libasprintf.so.0 libestr.so.0 libjansson.so.4 libnm.so.0 libpthread.so.0 libustr-1.0.so.1.0.4
libasprintf.so.0.0.0 libestr.so.0.0.0 libjansson.so.4.10.0 libnm.so.0.1.0 libpth.so.20 libutempter.so.0
libassuan.so.0 libexpat.so.1 libjson-c.so.2 libnsl-2.17.so libpth.so.20.0.27 libutempter.so.1.1.6
libassuan.so.0.4.0 libexpat.so.1.6.0 libjson-c.so.2.0.1 libnsl.so.1 libpwquality.so.1 libutil-2.17.so
libattr.so.1 libexslt.so.0 libjson.so.0 libnspr4.so libpwquality.so.1.0.2 libutil.so.1
libattr.so.1.1.0 libexslt.so.0.8.17 libjson.so.0.1.0 libnss3.so libpython2.7.so.1.0 libuuid.so.1
libaudit.so.1 libext2fs.so.2 libk5crypto.so.3 libnssckbi.so libqrencode.so.3 libuuid.so.1.3.0
libaudit.so.1.0.0 libext2fs.so.2.4 libk5crypto.so.3.1 libnss_compat-2.17.so libqrencode.so.3.4.1 libverto.so.1
libauparse.so.0 libfastjson.so.4 libkdb5.so.8 libnss_compat.so.2 libreadline.so.6 libverto.so.1.0.0
libauparse.so.0.0.0 libfastjson.so.4.0.0 libkdb5.so.8.0 libnss_db-2.17.so libreadline.so.6.2 libvgauth.so.0
libbfd-2.27-44.base.el7_9.1.so libffi.so.6 libkeyutils.so.1 libnssdbm3.chk libresolv-2.17.so libvgauth.so.0.0.0
libblkid.so.1 libffi.so.6.0.1 libkeyutils.so.1.5 libnssdbm3.so libresolv.so.2 libvmtools.so.0
libblkid.so.1.1.0 libfipscheck.so.1 libkmod.so.2 libnss_db.so.2 librpmbuild.so.3 libvmtools.so.0.0.0
libBrokenLocale-2.17.so libfipscheck.so.1.2.1 libkmod.so.2.2.10 libnss_dns-2.17.so librpmbuild.so.3.2.2 libwrap.so.0
libBrokenLocale.so.1 libform.so.5 libkms.so.1 libnss_dns.so.2 librpmio.so.3 libwrap.so.0.7.6
libbtrfs.so.0 libform.so.5.9 libkms.so.1.0.0 libnss_files-2.17.so librpmio.so.3.2.2 libxml2.so.2
libbtrfs.so.0.1 libformw.so.5 libkrad.so.0 libnss_files.so.2 librpmsign.so.1 libxml2.so.2.9.1
libbz2.so.1 libformw.so.5.9 libkrad.so.0.0 libnss_hesiod-2.17.so librpmsign.so.1.2.2 libxmlsec1-openssl.so
libbz2.so.1.0.6 libfreebl3.chk libkrb5.so.3 libnss_hesiod.so.2 librpm.so.3 libxmlsec1-openssl.so.1
libc-2.17.so libfreebl3.so libkrb5.so.3.3 libnss_myhostname.so.2 librpm.so.3.2.2 libxmlsec1-openssl.so.1.2.20
libcap-ng.so.0 libfreeblpriv3.chk libkrb5support.so.0 libnss_mymachines.so.2 librt-2.17.so libxmlsec1.so.1
libcap-ng.so.0.0.0 libfreeblpriv3.so libkrb5support.so.0.1 libnss_nis-2.17.so librt.so.1 libxmlsec1.so.1.2.20
libcap.so.2 libfreetype.so.6 liblber-2.4.so.2 libnss_nisplus-2.17.so libsasl2.so.3 libxslt-plugins
libcap.so.2.22 libfreetype.so.6.14.0 liblber-2.4.so.2.10.7 libnss_nisplus.so.2 libsasl2.so.3.0.0 libxslt.so.1
libcidn-2.17.so libfuse.so.2 libldap-2.4.so.2 libnss_nis.so.2 libSegFault.so libxslt.so.1.1.28
libcidn.so.1 libfuse.so.2.9.2 libldap-2.4.so.2.10.7 libnsspem.so libselinux.so.1 libxtables.so.10
libcom_err.so.2 libgcc_s-4.8.5-20150702.so.1 libldap_r-2.4.so.2 libnsssysinit.so libsemanage.so.1 libxtables.so.10.0.0
libcom_err.so.2.1 libgcc_s.so.1 libldap_r-2.4.so.2.10.7 libnssutil3.so libsepol.so.1 libz.so.1
libcpupower.so.0 libgcrypt.so.11 libltdl.so.7 libnuma.so.1 libsgutils2.so.2 libz.so.1.2.7
libcpupower.so.0.0.0 libgcrypt.so.11.8.2 libltdl.so.7.3.0 libnuma.so.1.0.0 libsgutils2.so.2.0.0 lua
libcrack.so.2 libgdbm_compat.so.4 liblua-5.1.so libomapi.so.0 libslang.so.2 man-db
libcrack.so.2.9.0 libgdbm_compat.so.4.0.0 liblvm2app.so.2.2 libomapi.so.0.0.0 libslang.so.2.2.4 mysql
libcroco-0.6.so.3 libgdbm.so.4 liblvm2cmd.so.2.02 libopcodes-2.27-44.base.el7_9.1.so libslapi-2.4.so.2 NetworkManager
libcroco-0.6.so.3.0.1 libgdbm.so.4.0.0 liblz4.so.1 libp11-kit.so.0 libslapi-2.4.so.2.10.7 nss
libcrypt-2.17.so libgettextlib-0.19.8.1.so liblz4.so.1.8.3 libp11-kit.so.0.3.0 libsmartcols.so.1 openssl
libcrypto.so.10 libgettextpo.so.0 liblzma.so.5 libpamc.so.0 libsmartcols.so.1.1.0 open-vm-tools
libcrypto.so.1.0.2k libgettextpo.so.0.5.4 liblzma.so.5.2.2 libpamc.so.0.82.1 libsmime3.so p11-kit-proxy.so
libcryptsetup.so.12 libgettextsrc-0.19.8.1.so liblzo2.so.2 libpam_misc.so.0 libsnappy.so.1 p11-kit-trust.so
libcryptsetup.so.12.3.0 libgio-2.0.so.0 liblzo2.so.2.0.0 libpam_misc.so.0.82.0 libsnappy.so.1.1.4 perl5
libcryptsetup.so.4 libgio-2.0.so.0.5600.1 libm-2.17.so libpam.so.0 libsoftokn3.chk pkcs11
libcryptsetup.so.4.7.0 libgirepository-1.0.so.1 libmagic.so.1 libpam.so.0.83.1 libsoftokn3.so pkgconfig
libcrypt.so.1 libgirepository-1.0.so.1.0.0 libmagic.so.1.0.0 libpanel.so.5 libsqlite3.so.0 plymouth
libc.so.6 libglib-2.0.so.0 libmemusage.so libpanel.so.5.9 libsqlite3.so.0.8.6 pm-utils
libcurl.so.4 libglib-2.0.so.0.5600.1 libmenu.so.5 libpanelw.so.5 libssh2.so.1 python2.7
libcurl.so.4.3.0 libgmodule-2.0.so.0 libmenu.so.5.9 libpanelw.so.5.9 libssh2.so.1.0.1 rsyslog
libdaemon.so.0 libgmodule-2.0.so.0.5600.1 libmenuw.so.5 libparted-fs-resize.so libssl3.so rtkaio
libdaemon.so.0.5.0 libgmp.so.10 libmenuw.so.5.9 libparted-fs-resize.so.0 libssl.so.10 sasl2
libdb-5.3.so libgmp.so.10.2.0 libmnl.so.0 libparted-fs-resize.so.0.0.0 libssl.so.1.0.2k security
libdb-5.so libgmpxx.so.4 libmnl.so.0.1.0 libparted.so.2 libss.so.2 sse2
libdbus-1.so.3 libgmpxx.so.4.4.0 libmount.so.1 libparted.so.2.0.0 libss.so.2.0 tc
libdbus-1.so.3.14.14 libgobject-2.0.so.0 libmount.so.1.1.0 libpciaccess.so.0 libstdc++.so.6 tls
libdbus-glib-1.so.2 libgobject-2.0.so.0.5600.1 libmozjs-17.0.so libpciaccess.so.0.11.1 libstdc++.so.6.0.19 X11
libdbus-glib-1.so.2.2.2 libgomp.so.1 libm.so.6 libpci.so.3 libsysfs.so.2 xtables
libDeployPkg.so.0 libgomp.so.1.0.0 libmspack.so.0 libpci.so.3.5.1 libsysfs.so.2.0.1
libDeployPkg.so.0.0.0 libgpg-error.so.0 libmspack.so.0.1.0 libpcprofile.so libsystemd-daemon.so.0
libdevmapper-event-lvm2mirror.so libgpg-error.so.0.10.0 libncurses.so.5 libpcre16.so.0 libsystemd-daemon.so.0.0.12
libdevmapper-event-lvm2raid.so libgpgme-pthread.so.11 libncurses++.so.5 libpcre16.so.0.2.0 libsystemd-id128.so.0
[root@localhost srv]# cd /sys
[root@localhost sys]# ls
block bus class dev devices firmware fs hypervisor kernel module power
/sys/devices (/sys文件系统最重要的目录结构)
该目录下是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备。一般来说,所有的物理设备都按其在总线上的拓扑结构来显示,但有两个例外,即platform devices和system devices。platform devices一般是挂在芯片内部的高速或者低速总线上的各种控制器和外设,它们能被CPU直接寻址;system devices不是外设,而是芯片内部的核心结构,比如CPU,timer等,它们一般没有相关的驱动,但是会有一些体系结构相关的代码来配置它们。
/sys/dev
该目录下有字符设备(block)和块设备(char)两个子目录,里面全是以主次设备号(major:minor)命名的链接文件,链接到/sys/devices。
/sys/class (按功能分类设备)
该目录下包含所有注册在kernel里面的设备类型,每个设备类型表达具有一种功能的设备。每个设备类型子目录下是具体设备的符号链接,这些链接指向/sys/devices/…下的具体设备。设备类型和设备并没有一一对应的关系,一个物理设备可能具备多种设备类型;一个设备类型只表达具有一种功能的设备,比如:系统所有输入设备都会出现在/sys/class/input之下,而不论它们是以何种总线连接到系统的。(/sys/class也是构成linux统一设备模型的一部分)
/sys/block (从linux2.6.26版本开始已经移到了/sys/class/block)
代表着系统中当前被发现的所有块设备。按照功能来说防止在/sys/class下会更合适,但由于历史遗留因素而一直存在于/sys/block,但从linux2.6.22内核开始这部分就已经标记为过去时,只有打开了CONFIG_SYSFS_DEPRECATED配置编译才会有这个目录存在,并且其中的内容在从linux2.6.26版本开始已经正式移到了/sys/class/block,旧的接口/sys/block为了向后兼容而保留存在,但其中的内容已经变为了指向它们在/sys/devices/中真实设备的符号链接文件。
/sys/bus (按总线类型分类设备)
一般来说每个子目录(总线类型)下包含两个子目录,一个是devices,另一个是drivers;其中devices下是这个总线类型下的所有设备,这些设备都是符号链接,它们分别指向真正的设备(/sys/devices/…下);而drivers下是所有注册在这个总线上的驱动,每个driver子目录下 是一些可以观察和修改的driver参数。 (它也是构成linux统一设备模型的一部分)
/sys/module
该目录包含所有被载入Kernel的模块,无论这些模块是以内联(inlined)方式编译到内核映像文件中还是编译为外模块(.ko文件)
/sys/fs
该目录用来描述系统中所有的文件系统,包括文件系统本身和按照文件系统分类存放的已挂载点。
/sys/kernel
该目录下存放的是内核中所有可调整的参数
/sys/firmware
该目录下包含对固件对象(firmware object)和属性进行操作和观察的接口,即这里是系统加载固件机制的对用户空间的接口.(关于固件有专用于固件加载的一套API)
/sys/power
该目录下有几个属性文件可以用于控制整个机器的电源状态,如向其中写入控制命令让机器关机/重启等等。
主要放置一些系统管理的必备程序
例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。
[root@localhost sys]# cd /sbin
[root@localhost sbin]# ls
accessdb clock fsck.xfs iprdump mkdict postkick sendmail.postfix vgcreate
addgnupghome clockdiff fsfreeze iprinit mkdumprd postlock service vgdisplay
addpart consoletype fstrim iprsos mke2fs postlog sestatus vgexport
adduser cracklib-check fxload iprupdate mkfs postmap setcap vgextend
agetty cracklib-format genhomedircon ipset mkfs.btrfs postmulti setenforce vgimport
alternatives cracklib-packer genhostid iptables mkfs.cramfs postqueue setfiles vgimportclone
anacron cracklib-unpacker genl iptables-restore mkfs.ext2 postsuper setpci vgmerge
applygnupgdefaults create-cracklib-dict genl-ctrl-list iptables-save mkfs.ext3 poweroff setsebool vgmknodes
arpd crond getcap irqbalance mkfs.ext4 ppp-watch sfdisk vgreduce
arping ctrlaltdel getenforce kexec mkfs.minix pvchange shutdown vgremove
audispd ctstat getpcaps killall5 mkfs.xfs pvck sln vgrename
auditctl debugfs getsebool kpartx mkhomedir_helper pvcreate smtp-sink vgs
auditd delpart glibc_post_upgrade.x86_64 lchage mklost+found pvdisplay smtp-source vgscan
augenrules depmod groupadd ldattach mkswap pvmove ss vgsplit
aureport devlink groupdel ldconfig modinfo pvremove sshd vigr
ausearch dhclient groupmems lgroupadd modprobe pvresize sshd-keygen vipw
authconfig dhclient-script groupmod lgroupdel mount.fuse pvs sulogin virt-what
authconfig-tui dmeventd grpck lgroupmod netreport pvscan sushell visudo
autrace dmfilemapd grpconv lid NetworkManager pwck swaplabel vmcore-dmesg
avcstat dmidecode grpunconv lnewusers new-kernel-pkg pwconv swapoff vpddecode
badblocks dmsetup grub2-bios-setup lnstat newusers pwhistory_helper swapon weak-modules
biosdecode dmstats grub2-get-kernel-settings load_policy nl-class-add pwunconv switch_root wipefs
biosdevname dracut grub2-install logrotate nl-class-delete rdisc sysctl wpa_cli
blkdeactivate dumpe2fs grub2-macbless logsave nl-classid-lookup rdma sys-unconfig wpa_passphrase
blkdiscard e2freefrag grub2-mkconfig losetup nl-class-list readprofile tc wpa_supplicant
blkid e2fsck grub2-ofpathname lpasswd nl-cls-add reboot telinit xfs_admin
blockdev e2image grub2-probe lshw nl-cls-delete resize2fs thin_check xfs_bmap
bridge e2label grub2-reboot lsmod nl-cls-list resizepart thin_delta xfs_copy
btrfs e2undo grub2-rpm-sort lspci nl-link-list restorecon thin_dump xfs_db
btrfsck e4defrag grub2-set-default luseradd nl-pktloc-lookup rmmod thin_ls xfs_estimate
btrfs-convert eapol_test grub2-setpassword luserdel nl-qdisc-add routef thin_metadata_size xfs_freeze
btrfs-debug-tree ebtables grub2-sparc64-setup lusermod nl-qdisc-delete routel thin_repair xfs_fsr
btrfs-find-root ebtables-restore grubby lvchange nl-qdisc-list rsyslogd thin_restore xfs_growfs
btrfs-image ebtables-save halt lvconvert nologin rtacct thin_rmap xfs_info
btrfs-map-logical era_check hardlink lvcreate nstat rtcwake thin_trim xfs_io
btrfs-select-super era_dump hwclock lvdisplay ownership rtmon tracepath xfs_logprint
btrfstune era_invalidate iconvconfig lvextend packer rtpr tracepath6 xfs_mdrestore
btrfs-zero-log era_restore iconvconfig.x86_64 lvm pam_console_apply rtstat tune2fs xfs_metadump
build-locale-archive ethtool ifcfg lvmconf pam_tally2 runlevel tuned xfs_mkfile
cacertdir_rehash faillock ifdown lvmconfig pam_timestamp_check runuser tuned-adm xfs_ncheck
cache_check fdformat ifenslave lvmdiskscan parted sasldblistusers2 udevadm xfs_quota
cache_dump fdisk ifstat lvmdump partprobe saslpasswd2 unix_chkpwd xfs_repair
cache_metadata_size filefrag ifup lvmetad partx sefcontext_compile unix_update xfs_rtcp
cache_repair findfs init lvmpolld pdata_tools selabel_digest update-alternatives xtables-multi
cache_restore firewalld insmod lvmsadc pidof selabel_lookup update-pciids yum-complete-transaction
cache_writeback fixfiles install-info lvmsar ping6 selabel_lookup_best_match useradd yumdb
capsh fsadm installkernel lvreduce pivot_root selabel_partial_match userdel zdump
cbq fsck intel-microcode2ucode lvremove plymouthd selinuxconlist usermod zic
cfdisk fsck.btrfs ip lvrename plymouth-set-default-theme selinuxdefcon usernetctl zramctl
chcpu fsck.cramfs ip6tables lvresize postalias selinuxenabled vgcfgbackup
chgpasswd fsck.ext2 ip6tables-restore lvs postcat selinuxexeccon vgcfgrestore
chkconfig fsck.ext3 ip6tables-save lvscan postconf selinux_restorecon vgchange
chpasswd fsck.ext4 iprconfig makedumpfile postdrop semodule vgck
chroot fsck.minix iprdbg matchpathcon postfix sendmail vgconvert
Linux目录就简要介绍到这里了,知道了常用的目录和作用,才能更好的使用目录下的文件,来帮助我们更好的学习和解决工作的问题。
如有侵权请联系本人修改,理解多为个人简介,不当之处还请私信修改。