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

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:
C D E F等分区
分区
主分区,扩展分区等最多4个,一般划分更多的分区是通过在扩展分区中创建更多的逻辑分区达到的。
 eg:
windows中的E盘,如果用linux的对应关系的话就是hda6
 
4、linux中如何理解分区的概念,以及挂载点的概念
前一个问题所说的linux的分区是在硬件上进行了分区。这些hda1之类的会在/dev/目录下反映出来。
前面已经说了设备在linux中是文件,连目录都不是,那么该如何访问磁盘中的内容呢?为了,能够访问磁盘中的内容,使其类似目录,但同时又不影响其设备对应文件的特性,所以引入了挂载点的概念。挂载点的概念,简单理解就是把一个硬件设备挂载到一个指定的目录上,那么我们就可以通过访问该目录来实现访问磁盘内容了。所以我们一般看到的诸如/ /root /var /boot等这些分区,其实就是不同的硬盘设备挂载到了这些目录上。如果不挂在的话,他们也仅仅是目录而访问的硬盘也即其父级目录的挂载硬盘。
 
5、linux常用分区的说明
 /    Linux文件系统的入口 ,最高一级的目录
/bin   基础系统所需命令的存放处。也是最小系统所需要的命令:比如ls,cp,mkdir等。注意该目录中的内容是普通用户也可以使用的。
/usr        全称为Unix Shared Resource,也即一些Unix需要共享的资源。
/boot      Linux的内核及引导系统程序所需要的文件,比如vmlinuz initrd.img文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于
     这个目录。
/dev        设备文件存储目录,比如声卡、磁盘等
/etc         系统配置文件的存放处,一些服务器配置文件也在这里,比如用户账号及密码配置文件
/home      普通用户的用户目录(默认存放此处)
/lib           库文件存放目录
/sbin        全称为superuser bin,里面存放着只有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)的启动加载顺序
 1 load bios(basic input output system)  – hardware information
 2 read MBR's(master boot record) config to find out the OS – MBR含有引导程序和硬盘分区表
 3 load the kernel of the OS
 4 init process starts
 5 execute /etc/rc.d/rc.sysinit – rc.d=runlevel control directory 该目录中存放的是运行层级的控制命令。(详见该问题的注1)
 6 start other modules (etc/modules.conf)
 7 execute the run level scripts – /etc/rc.d/rc $RUNLEVEL ,其中$RUNLEVEL为默认运行模式
 8 execute /etc/rc.d/rc.local – 自动启动项在该文件中设置
 9 execute /bin/login – /sbin/mingetty
 10 shell started
注1:runlevel control directory
大多数的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-x root root    Jun 23 12:44 mysql.5.5.13
lrwxrwxrwx root root    Jun 23 12:45 mysql->mysql.5.5.13
-rwxr-xr-x root root 13 Jun 23 12:44 mysqld
接下来我们来逐个分解,第一个{d,l,-}表示该项的属性,是directory还是link抑或文件。
后面的rwxr-xr-x所有者权限(rwx)同用户组权限(r-x)其他人权限(r-x),r:read w:write x:execute当出现对应字母时表示有效,eg:r-x表示有读和执行的权限但不可写。用二进制表示上面的权限即为:111 101 101,转换成10进制就是755,这也就是777,755等的由来。
第一个root表示用户名
第二个root表示对应的用户组的名称
数字为文件大小,当时目录时不显示。
接下来是时间
最后是文件名称,如果是link还会指向源文件
 
9、Linux管道
管道就是用|分割前后两个命令,将前一个命令执行的结果交给下一个命令再执行
比如,#ls -Rl /etc | more。就是将ls -Rl /etc的结果,使用more显示,这样就能带分页功能了。
eg:#cat /etc/passwd | grep lrj
#dmesg | grep eth0
#ls -l | grep "^d"  表示只列出文件夹项,这里用到了正则
#ls -l | grep "^-" | wc -l 表示只列出文件,然后计算行数,功能也即计算文件个数 
 
10、Linux重定向
标准输入、输出:Stdin、Stdout、Stderr
输出重定向:>(全新写入)、>>(累加写入)                 eg:#ls > result.txt,
错误输出重定向:2>(全新写入)、&>(累加写入)         eg:#ls 2>log.txt,
输入重定向:<、<<!….内容….!                           eg:wall <aa.txt
 





 » 订阅本站:RSS订阅

发表评论

您也可以使用微博账号登陆

无觅相关文章插件,快速提升流量