用了linux差不多也有一年的时间了,一直都是碰到什么问题再去查,没有细致地学习一下,现在回过头来看看鸟叔的linux经验,结合网上的资料做些总结,并实践实践,使之能够成为自己的经验。
尽量记录一些有用的概念和经验,少点废话,以后自己回顾起来也会有帮助。
1. Linux是什么
linux是一个开源的操作系统
linux的核心由Linus Torvalds开发,之后大约有100余名程序员参与了Linux内核代码编写/修改工作。
2. Linux与硬件
计算机各组件跟装置对于linux来说都是【文件】
Linux 所有的硬件都会以文件的形式存在与/dev目录下,表示为linux的设备。
linux设备分为三种:字符设备、块设备、网络设备(并不在/dev目录下)。
字符设备:字符设备指能够像字节流串行顺序依次进行访问的设备,对它的读写是以字节为单位。
块设备:块设备以数据块的形式存放数据,如NAND Flash以页为单位存储数据,并采用mount方式挂载块设备。块设备还需通过建立Flash文件系统,如YAFFS、JFFS等,用于规范文件和目录在存储介质上的组织。这类型的设备已经在Linux内核中加载,不需要再做移植。
网络设备:网络设备是面向数据包的接收和发送而设计的。它并不对应于文件系统(/dev目录下)的节点,而是由系统分配一个唯一的名字(如eth0)。
参考链接:http://blog.sciencenet.cn/blog-39626-332581.html
这张表格记录了一些硬件设备和设备文件的对应关系。
设备 | 设备文件 |
IDE设备 | /dev/hd[a-d] |
SCSI设备 | /dev/sd[a-p] |
标准软驱 | /dev/fd[0-1] |
软raid设备 | /dev/md[0-31] |
本地回环设备 | /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/cdrom |
随机数设备 | /dev/random、/dev/urandom |
打印机 | /dev/lp[0-4] |
USB | /dev/usbmon[0-2] |
3. linux文件目录树
整个目录树由根目录开始(用/表示),所有的文件都与目录树有关
将设备文件以一定的文件系统挂在目录树的过程称之为挂载,进入点称之为挂载点。
对于设备文件的访问,都需要通过挂载的方式。
如需访问 /dev/cdrom,首先加载光驱,然后使用mount命令挂载
命令格式:mount [-t vfstype] [-o options] device dir
这时候使用ls命令可以看到/mnt/dev下有光盘的相关信息,即可对这些文件进行读写相关操作。
4.linux下的常用服务
NAT(达成IP分享器的功能)
SAMBA(加入Windows网络上的访问)
Mail(邮件服务器)
Web(WWW服务器)
DHCP(提供用户端自动取得IP的功能)
Proxy(代理服务器)
FTP(文件传输)
还有很多很多的服务,鸟叔提及的就这些,之后会对常用服务再做个整理。
穿插一个常用命令chkconfig,服务会有一个运行级别,在命令行可以使用chkconfig命令改变它的优先级。
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。chkconfig不是立即自动禁止或激活一个服务,它只是改变了符号连接。
语法:
chkconfig --list [name]
chkconfig --add name
chkconfig --del name
chkconfig [--level levels] name <on|off|reset>
chkconfig [--level levels] name
我们可以通过chkconfig命令使得一个服务能够开机自启动。
首先需要查看服务是否能够使用chkconfig设置,在命令行键入chkconfig就能看到服务列表
若是需要设置的服务不存在于服务列表中,可以使用chkconfig add 服务名 添加这个服务到服务列表中,使用chkconfig del 服务名 即可删除
之后,只要使用chkconfig 服务名 on 即可使得服务开机自启动、chkconfig 服务名 off 同理就是关闭服务自启动