您的位置:首页 > 运维架构 > Linux

Linux中最需要知道的基础知识(不断更新中)

2011-10-10 11:52 696 查看
1、硬盘硬件结构

硬盘是由一片一片的盘片组成,每个盘片有两面,每面都有磁头。

扇区:盘片上扇形的区域,每个扇区都有特点的字节数。

磁道:一个盘片上一个同心圆为一个磁道。

柱面:各盘片同一磁道组成的面为柱面。

2、linux中对设备的理解

在linux中将所有的设备都映射成了文件,并存放在/dev/目录下,每个设备对会对应其中的一个文件,注意是文件不是目录。

3、linux和windows的分区差别,及命名方式

linux:

hd(IDE硬盘),sd(SCSI硬盘)

硬盘插槽:a,b

分区((这个个windows是一致的最多四个))

主分区、扩展分区等:1-4

逻辑分区:5-更大

eg:

hda1(第一块IDE硬盘的第一分区)

sdb2(第二块SCSI硬盘的第二分区)

windows:

CDEF等分区

分区

主分区,扩展分区等最多4个,一般划分更多的分区是通过在扩展分区中创建更多的逻辑分区达到的。

eg:

windows中的E盘,如果用linux的对应关系的话就是hda6

4、linux中如何理解分区的概念,以及挂载点的概念

前一个问题所说的linux的分区是在硬件上进行了分区。这些hda1之类的会在/dev/目录下反映出来。

前面已经说了设备在linux中是文件,连目录都不是,那么该如何访问磁盘中的内容呢?为了,能够访问磁盘中的内容,使其类似目录,但同时又不影响其设备对应文件的特性,所以引入了挂载点的概念。挂载点的概念,简单理解就是把一个硬件设备挂载到一个指定的目录上,那么我们就可以通过访问该目录来实现访问磁盘内容了。所以我们一般看到的诸如//root/var/boot等这些分区,其实就是不同的硬盘设备挂载到了这些目录上。如果不挂在的话,他们也仅仅是目录而访问的硬盘也即其父级目录的挂载硬盘。

5、linux常用分区的说明

/    Linux文件系统的入口,最高一级的目录

/bin   基础系统所需命令的存放处。也是最小系统所需要的命令:比如ls,cp,mkdir等。注意该目录中的内容是普通用户也可以使用的。

/usr全称为UnixSharedResource,也即一些Unix需要共享的资源。

/bootLinux的内核及引导系统程序所需要的文件,比如vmlinuzinitrd.img文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于

     这个目录。

/dev设备文件存储目录,比如声卡、磁盘等

/etc系统配置文件的存放处,一些服务器配置文件也在这里,比如用户账号及密码配置文件

/home普通用户的用户目录(默认存放此处)

/lib库文件存放目录

/sbin全称为superuserbin,里面存放着只有root(超级权限用户)才可以执行的命令,普通用户是没有权限执行这个目录下的命令的,

     这个目录和/usr/sbin;/usr/local/sbin目录是相似的。

/tmp临时文件存放目录,与/var/tmp功能类似

/var其中包括系统运行时要改变的数据。其中包括的内容是根据不同系统而不同的,即不能够与其他计算机共享的目录,如/var/log,/var/lock,/var/run。

     有些目录还是可以与其他系统共享,如/var/mail,/var/cache/man,/var/cache/fonts,/var/spool/news。var目录存在的目的是把usr目录在运行过程  中需要更改的文件或者临时生成的文件及目录提取出来,由此可以使usr目录挂载为只读的方式。

6、linux(Redhat)的启动加载顺序

1loadbios(basicinputoutputsystem)-hardwareinformation

2readMBR's(masterbootrecord)configtofindouttheOS-MBR含有引导程序和硬盘分区表

3loadthekerneloftheOS

4initprocessstarts

5execute/etc/rc.d/rc.sysinit-rc.d=runlevelcontroldirectory该目录中存放的是运行层级的控制命令。(详见该问题的注1)

6startothermodules(etc/modules.conf)

7executetherunlevelscripts-/etc/rc.d/rc$RUNLEVEL,其中$RUNLEVEL为默认运行模式

8execute/etc/rc.d/rc.local-自动启动项在该文件中设置

9execute/bin/login-/sbin/mingetty

10shellstarted

解释:

注1:runlevelcontroldirectory
大多数的Linux发行版本中,启动脚本都被放在/etc/rc.d/init.d。这些脚本被ln命令来连接到/etc/rc.d/rcn.d目录。(这里的n就是运行级0-6)
例如/etc/rc.d/rc2.d下面的S10network就是连接到/etc/rc.d/init.d下的network脚本的。
#缺省的运行层级,RHS用到的层级如下:
#0-停机(千万不要把initdefault设置为0)
#1-单用户模式
#2-多用户,但是没有NFS
#3-完全多用户模式(有NFS)
#4-没有用到,留给用户
#5-图形界面
#6-重新启动(千万不要把initdefault设置为6)
运行层级之间没有递进等的逻辑关系,更偏向于一种功能的划分。
在rc.d中有2个目录3个脚本是很重要的,分别是:
目录

init.d/:各种服务器和程序的二进制文件存放目录。
rcx.d/:各个启动级别的执行程序连接目录。里头的东西都是指向init.d/的一些软连接。具体的后边叙述。
脚本
rc.sysinit:主要做在各个运行模式中相同的初始化工作,包括:调入keymap以及系统字体、启动swapping、设置主机名、设置NIS域名、检查(fsck)并mount文件系统、打开quota、装载声卡模块、设置系统时钟等等。

rc:则根据其参数指定的运行模式(运行级别,你在inittab文件中可以设置)来执行相应目录下的脚本。凡是以Kxx开头的,都以stop为参数来调用;凡是以Sxx开头的,都以start为参数来调用。调用的顺序按xx从小到大来执行。例如,假设缺省的运行模式是3,/etc/rc.d/rc就会按上述方式调用/etc/rc.d/rc3.d/下的脚本。

rc.local:用户可以自己在这个文件中添加一些需要在其他初始化工作之后,登录之前执行的命令,可以认为是自启动项。


7、Linux常用命令

ls
rm-r一般都是递归的意思,表示遍历
touch创建新文件
mkdir
man
cp
mv
vi
cat正序显示文件内容
tac逆序显示文件内容
more显示文件内容,带分页功能
head
tail
find
grep
whereis
ln
useradd
usermod
passwd
userdel
groupadd
gourpdel
su
chmod
chown
wc统计指定文本文件的函数、字数、字符数
grep查询指定文件中哪行语句包含着我需要查找的字符
data显示和设置日期时间
stat显示指定文件的相关信息
who、w显示在线登陆用户
whoami显示用户自己的身份
id显示当前用户的id信息
hostname显示主机名称
uname显示操作系统信息
dmesg显示系统启动信息
du显示指定的文件(目录)已使用的磁盘空间的总量
df显示文件系统磁盘空间的使用情况
free显示当前内存和交换空间的使用情况
fdisk-l显示磁盘信息
locale显示当前语言环境


注:/etc/passwd保存着每个用户的信息,【名称:权限:所属组:用户目录:所使用的shell】。
/etc/group中存放着组的信息,【名称:权限:ID】。
当知道指定用户所属的组,则默认自动添加一个同名的新组。

8、文件权限及文件查看略说
当ls显示的时候会有例如:

drwxr-xr-xrootrootJun2312:44mysql.5.5.13
lrwxrwxrwxrootrootJun2312:45mysql->mysql.5.5.13
-rwxr-xr-xrootroot13Jun2312:44mysqld

接下来我们来逐个分解,第一个{d,l,-}表示该项的属性,是directory还是link抑或文件。
后面的rwxr-xr-x所有者权限(rwx)同用户组权限(r-x)其他人权限(r-x),r:readw:writex:execute当出现对应字母时表示有效,eg:r-x表示有读和执行的权限但不可写。用二进制表示上面的权限即为:111101101,转换成10进制就是755,这也就是777,755等的由来。
第一个root表示用户名
第二个root表示对应的用户组的名称
数字为文件大小,当时目录时不显示。
接下来是时间
最后是文件名称,如果是link还会指向源文件

9、Linux管道
管道就是用|分割前后两个命令,将前一个命令执行的结果交给下一个命令再执行
比如,#ls-Rl/etc|more。就是将ls-Rl/etc的结果,使用more显示,这样就能带分页功能了。
eg:#cat/etc/passwd|greplrj
#dmesg|grepeth0
#ls-l|grep"^d"表示只列出文件夹项,这里用到了正则
#ls-l|grep"^-"|wc-l表示只列出文件,然后计算行数,功能也即计算文件个数



10、Linux重定向
标准输入、输出:Stdin、Stdout、Stderr
输出重定向:>(全新写入)、>>(累加写入)eg:#ls>result.txt,
错误输出重定向:2>(全新写入)、&>(累加写入)eg:#ls2>log.txt,
输入重定向:<、<<!....内容....!eg:wall<aa.txt
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: