写给正在入坑linux系统的伙伴
我的工作是运维工程师, 从最开始入行到现在成为运维组的组长,负责小组的几个小伙伴。回想自己当时学习Linux的时候,都是自己网上找教程,然后照着一篇一篇敲命令,记笔记。最近有时间再来整理一下Linux比较初级的知识,准备把自己的以前的学习的一些记录和经验记录下来,放在自己的博客上,也希望对其他想入Linux坑的小伙伴一些帮助吧,沿着别人走过的路总会比自己无脑乱撞好一些,进步更快一些。
先讲一下Linux目录的结构和每个目录的作用,操作Linux都是无界面的纯命令窗口,所以熟悉目录结构很有必要。
首先Linux的四种文件类型:
1. 可分享的:可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据, 是能够分享给网络上其他主机挂载用的目录;
2. 不可分享的:自己机器上面运作的装置文件或者是与程序有关的socket文件等, 由于仅与自身机器有关,所以当然就不适合分享给其他主机了。
3. 不变的:有些数据是不会经常变动的,跟随着distribution而不变动。 例如函式库、文件说明文件、系统管理员所管理的主机服务配置文件等等;
4. 可变动的:经常改变的数据,例如登录文件、一般用户可自行收受的新闻组等。
事实上,FHS针对目录树架构仅定义出三层目录底下应该放置什么数据而已,分别是底下这三个目录的定义:
/ (root, 根目录):与开机系统有关;
/usr (unix software resource):与软件安装/执行有关;
/var (variable):与系统运作过程有关。
/: 根目录,Linux文件系统的入口.也是最高一级的目录.
/etc:系统配置文件目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d等,修改配置文件之前记得备份。
/usr:应用程序存放目录,软件的安装路径
/usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。
/usr/bin:存放应用程序;
/usr/share:存放共享数据;
/usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。
/usr/local:存放软件升级包。
/usr/share/doc:系统说明文件存放目录。
/usr/share/man:程序说明文件存放目录。
/var:放置系统执行过程中经常变化的文件;
/var/log:随时可能更改的日志文件;
/var/log/message:所有的登录文件存放目录;
/var/spool/mail:邮件存放的目录;
/var/run:程序或服务启动后,其PID(端口号)存放在该目录下。
/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。比较重要的目录为/lib/modules。
/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等;类似于/usr/bin
/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。用户的个人文件都存放在此目录下。
/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
对于这些目录结构,想学习的小伙伴还是应该熟记一下。我最开始学习这些的时候,逛了很多网站和论坛,像鸟叔写的关于Linux系统文章都有看过,不过支持的教程系统版本在当时可以使用,但随着Linux的几个版本系统的更新,有些已经不适应了,像防火墙,老版的iptabels和新版的firewall就存在较大的区别。现在推荐可以使用刘遄的《Linux就该这么学》,这本教材是基于最新的企业版Linux系统—RHEL7编写的,符合大部分企业使用的Linux系统,即使有些公司使用的社区版的centos7,两者区别也不大,同样可以通用。
这里本打算给大家推荐2个自己用的Linux在线学习的网站,菜鸟教程:很多朋友应该都知道吧,这个网站有更新很多类型的学习资源,都是入门级的。对想学习,想入坑的朋友可以来试一试。
linuxprobe:这个网站原来就是我推荐书籍的那个同名网站,了解一下原来能在线学习《Linux就该这么学》这本书的内容。然后还有一些知识干货分享,Linux书籍可以下载。
最后希望所以小伙伴可以在Linux这条运维路上折腾出自己想要的成绩和可期的明天。