Linux是一套免费使用和自由传播的类Unix操作系统,是多用户、多任务、支持多线程和多CPU的操作系统。Linux继承了Unix以网络为核心的设计思想,是一个出色的性能稳定的多用户网络操作系统。
现在会点Linux基本操作的人大有人在、多如牛毛,然而,真正把Linux运用到极致的少之又少,这就造成了各大论坛非常火热。
Linux既然这么受欢迎,那么我们该如何去学?到底学什么呢?
首先要说明一点:学Linux切忌意气奋发、心血来潮,所谓“冲动是魔鬼”,这篇文章是写给那些真正想成为Linux高手的,并想运用Linux做事情的人的。
其次,Linux操作系统主要包括两大部分:文件系统和常用命令及技巧。
一、文件系统(文件类型、文件结构)
1.1文件类型
普通文件(regular file):就是一般存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [-rwxrwxrwx]。
目录文件(directory):就是目录,第一个属性为 [d],例如 [drwxrwxrwx]。
连接文件(link):类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]。
设备与设备文件(device):与系统外设及存储等相关的一些文件,通常都集中在 /dev目录。通常又分为两种:块设备文件和字符设备文件。
套接字(sockets):这类文件通常用在网络数据连接。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型。
管道(FIFO,pipe):它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]。
1.2文件结构
/:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。
/bin:bin系统所需要的那些命令位于此目录。
/boot:Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。
/cdrom:可将光驱文件系统挂在这个目录下。例如:mount /dev/cdrom /cdrom
/dev:dev 是设备(device)的英文缩写。在这个目录中包含了所有linux系统中使用的外部设备。
/etc:在这个目录下存放了系统管理时要用到的各种配置文件和子目录。要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等等。
/home:用来存放用户的主目录。
/lib:lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。
/lost+found:有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。
/mnt:这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom等目录。
/media:挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。
/opt:这里主要存放那些可选的程序。
/proc:可以在这个目录下获取系统信息。
/root:Linux超级权限用户root的家目录。
/sbin:这个目录是用来存放系统管理员的系统管理程序。
/selinux:对SElinux的一些配置文件目录,SElinux可以让linux更加安全。
/srv服务启动后,所需访问的数据目录,举个例子来说,www服务启动读取的网页数据就可以放在/srv/www中
/tmp:临时文件目录,用来存放不同程序执行时产生的临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。
/usr
这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。
/usr/local:这里主要存放那些手动安装的软件。
/usr/share :系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man帮助文件。
/var:可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/ www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地。
二、常用命令及技巧
在这里只针对通用命令做些介绍,后续更新吧。
1.date :print or set the system date and time
2. stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等)
3. passwd: print or set the system date and time (用passwd -h查看)
4. logout, login: 登录shell的登录和注销命令
5. pwd: print working directory
6. more, less, head tail: 显示或部分显示文件内容.
7. lp/lpstat/cancel, lpr/lpq/lprm: 打印文件.
8. 更改文件权限: chmod u+x...
9. 删除非空目录:rm -fr dir
10.拷贝目录: cp -R dir
11. fg jobid :可以将一个后台进程放到前台。
Ctrl-z 可以将前台进程挂起(suspend), 然后用bg jobid 让其到后台运行。
job & 可以直接让job直接在后台运行。
12. kill 的作用: send a signal to a process. eg: kill -9 发送的是SIG_KILL信号。。。 具体发送什么信号 可以通过 man kill 查看。
13. ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session显示的sessionid, tpgid显示前台进程组id, comm显示命令名称。
最后,对于初学者还是高手而言,一本工具书至关重要。高手的工具书说白了就是Linux官方的帮助文档。对于初学者,可以参考官方文档或者选择一本适合自己的工具书,经别人介绍的《Linux就该这么学》这本书,pdf格式的,非常不错,作者写书的思路非常清晰,实例比较多,还有助于红帽相关认证的提升,对于初学者来说是个不错的选择。还有Linux命令大全:https://www.linuxcool.com/
祝我们能在Linux的世界里自由的翱翔!