王朝网络
分享
 
 
 

The Linux filesystem explained

王朝system·作者佚名  2006-01-10
宽屏版  字体: |||超大  

By Mayank Sarup <mayank@freeos.com>

Posted: ( 2001-01-03 10:08:44 EST by )

The first thing that most new users shifting from Windows will find

confusing is navigating the Linux filesystem. The Linux filesystem

does things a lot more differently than the Windows filesystem.

This article explains the differences and takes you through the

layout of the Linux filesystem.

For starters, there is only a single hierarchal directory structure.

Everything starts from the root directory, represented by '/', and then

expands into sub-directories. Where DOS/Windows had various partitions and

then directories under those partitions, Linux places all the partitions

under the root directory by 'mounting' them under specific directories.

Closest to root under Windows would be c:.

Under Windows, the various partitions are detected at boot and assigned a

drive letter. Under Linux, unless you mount a partition or a device, the

system does not know of the existence of that partition or device. This

might not seem to be the easiest way to provide access to your partitions

or devices but it offers great flexibility.

This kind of layout, known as the unified filesystem, does offer several

advantages over the approach that Windows uses. Let's take the example of

the /usr directory. This directory off the root directory contains most of

the system executables. With the Linux filesystem, you can choose to mount

it off another partition or even off another machine over the network. The

underlying system will not know the difference because /usr appears to be

a local directory that is part of the local directory structure! How many

times have you wished to move around executables and data under Windows,

only to run into registry and system errors? Try moving c:windowssystem

to another partition or drive.

Another point likely to confuse newbies is the use of the frontslash '/'

instead of the backslash '' as in DOS/Windows. So c:windowssystem would

be /c/windows/system. Well, Linux is not going against convention here.

Unix has been around a lot longer than Windows and was the standard a lot

before Windows was. Rather, DOS took the different path, using '/' for

command-line options and '' as the directory separator.

To liven up matters even more, Linux also chooses to be case sensitive.

What this means that the case, whether in capitals or not, of the

characters becomes very important. So this is not the same as THIS or ThIs

for that matter. This one feature probably causes the most problems for

newbies.

We now move on to the layout or the directory structure of the Linux

filesystem. Given below is the result of a 'ls -p' in the root directory.

bin/ dev/ home/ lost+found/ proc/ sbin/ usr/

boot/ etc/ lib/ mnt/ root/ tmp/ var/

/sbin - This directory contains all the binaries that are essential to the

working of the system. These include system administration as well as

maintenance and hardware configuration programs. Find lilo, fdisk, init,

ifconfig etc here. These are the essential programs that are required by

all the users. Another directory that contains system binaries is /usr/sbin.

This directory contains other binaries of use to the system administrator.

This is where you will find the network daemons for your system along with

other binaries that only the system administrator has access to, but which are

not required for system maintenance, repair etc.

/bin - In contrast to /sbin, the bin directory contains several useful

commands that are used by both the system administrator as well as

non-privileged users. This directory usually contains the shells like

bash, csh etc. as well as much used commands like cp, mv, rm, cat, ls.

There also is /usr/bin, which contains other user binaries. These binaries

on the other hand are not essential for the user. The binaries in /bin

however, a user cannot do without.

/boot - This directory contains the system.map file as well as the Linux

kernel. Lilo places the boot sector backups in this directory.

/dev - This is a very interesting directory that highlights one important

characteristic of the Linux filesystem - everything is a file or a

directory. Look through this directory and you should see hda1, hda2 etc,

which represent the various partitions on the first master drive of the

system. /dev/cdrom and /dev/fd0 represent your CDROM drive and your floppy

drive. This may seem strange but it will make sense if you compare the

characteristics of files to that of your hardware. Both can be read from

and written to. Take /dev/dsp, for instance. This file represents your

speaker device. So any data written to this file will be re-directed to

your speaker. Try 'cat /etc/lilo.conf > /dev/dsp' and you should hear some

sound on the speaker. That's the sound of your lilo.conf file! Similarly,

sending data to and reading from /dev/ttyS0 ( COM 1 ) will allow you to

communicate with a device attached there - your modem.

/etc - This directory contains all the configuration files for your system.

Your lilo.conf file lies in this directory as does hosts, resolv.conf and

fstab. Under this directory will be X11 sub-directory which contains the

configuration files for X. More importantly, the /etc/rc.d directory

contains the system startup scripts. This is a good directory to backup

often. It will definitely save you a lot of re-configuration later if you

re-install or lose your current installation.

/home - Linux is a multi-user environment so each user is also assigned a

specific directory which is accessible only to them and the system

administrator. These are the user home directories, which can be found

under /home/username. This directory also contains the user specific

settings for programs like IRC, X etc.

/lib - This contains all the shared libraries that are required by system

programs. Windows equivalent to a shared library would be a DLL file.

/lost+found - Linux should always go through a proper shutdown. Sometimes

your system might crash or a power failure might take the machine down.

Either way, at the next boot, a lengthy filesystem check using fsck will

be done. Fsck will go through the system and try to recover any corrupt

files that it finds. The result of this recovery operation will be placed

in this directory. The files recovered are not likely to be complete or

make much sense but there always is a chance that something worthwhile is

recovered.

/mnt - This is a generic mount point under which you mount your filesystems

or devices. Mounting is the process by which you make a filesystem

available to the system. After mounting your files will be accessible

under the mount-point. This directory usually contains mount points or

sub-directories where you mount your floppy and your CD. You can also

create additional mount-points here if you want. There is no limitation to

creating a mount-point anywhere on your system but convention says that

you do not litter your file system with mount-points.

/opt - This directory contains all the software and add-on packages that

are not part of the default installation. Generally you will find KDE and

StarOffice here. Again, this directory is not used very often as it's

mostly a standard in Unix installations.

/proc - This is a special directory on your system. We have a more detailed

article on this one here.

/root - We talked about user home directories earlier and well this one is

the home directory of the user root. This is not to be confused with the

system root, which is directory at the highest level in the filesystem.

/tmp - This directory contains mostly files that are required temporarily.

Many programs use this to create lock files and for temporary storage of

data. On some systems, this directory is cleared out at boot or at

shutdown.

/usr - This is one of the most important directories in the system as it

contains all the user binaries. X and its supporting libraries can be

found here. User programs like telnet, ftp etc are also placed here.

/usr/doc contains useful system documentation. /usr/src/linux contains the

source code for the Linux kernel.

/var - This directory contains spooling data like mail and also the output

from the printer daemon. The system logs are also kept here in

/var/log/messages. You will also find the database for BIND in /var/named

and for NIS in /var/yp.

This was a short and basic look at the Linux filesystem. You do need to

have at least this basic knowledge of the layout of the filesystem to

fully utilize its potential. One good place to read about the filesystem

is this detailed document at www.pathname.com/fhs/1.2/fsstnd-toc.html that

specifies the standard structure of the Linux filesystem.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有