Linux 简介
Linux的全称是GNU/Linux,严格的讲Linux不算是一个操作系统,只是一个Linux系统的内核(为程序分配系统资源,处理计算机内部细节的软件叫操作系统或者内核。),即计算机软件与硬件通讯之间的平台。一些组织或厂家将Linux内核与GNU软件(系统软件和工具)整合起来,并提供一些安装界面和系统设定与管理工具,就构成了一个发型套件,例如Ubuntu、Red Hat、 Centos、Fedora、SUSE、Debian、FreeBSD等。
Linux是一个多用户多任务的操作系统。用户通过Shell(Shell是一个命令行解释工具,是一个软件,它将用户输入的命令转换为内核能够理解的语言(命令)。)与Linux内核交互。

内核:内核是操作系统的核心。内核直接与硬件交互,并处理大部分较低层的任务,如内存管理、进程调度、文件管理等。
Shell:Shell是一个处理用户请求的工具,它负责解释用户输入的命令,调用用户希望使用的程序。
命令和工具:日常工作中,会用到很多系统命令和工具,如cp、mv、cat和grep等。在Linux系统中,有250多个命令,每个命令都有多个选项;第三方工具也有很多,他们也扮演着很重要角色。
文件和目录:Linux系统中所有的数据都被存储到文件中,这些文件被分配到各个目录,构成文件系统。Linux的目录与Windows的文件夹是类似的概念。
# 查看当前用户信息
whoami
# 查看当前在线用户
uses
who
w

Linux文件管理
Linux中的所有数据都被保存在文件中,所有的文件都被分配到不同的目录。目录是一种类似于树的结构,称为文件系统。
- 普通文件
普通文件是以字节Wie单位的数据流,包括文本文件、源码文件、可执行文件等。文本和二进制对Linux来说并无区别,对普通文件的解释由处理该文件的应用程序进行。 - 目录
目录可以包含普通文件和特殊文件,目录相当于windows和Mac OS中的文件夹。 - 设备文件
或称为特殊文件,Linux与外部设备(例如打印机、终端等)是通过设备文件的文件进行通信的。Linux输入到外部设备的方式和输入输出到一个文件的方式是相同的。Linux和一个外部设备通信之前,这个设备必须首先要有一个设备文件存在。设备文件和普通文件不一样,设备文件中并不包含任何数据。设备文件有两种类型:字符设备文件和块设备文件。- 字符设备文件以字母’c’开头。字符设备文件像设备传送数据时,一次传送一个字符。典型的通过字符传送数据的设备有终端、打印机等。字符设备文件有时也被称为’raw’设备文件。
- 块设备文件以字母’b’开头。块设备文件向设备传送数据时,先从内存中的buffer中读写数据,而不是直接传送数据到物理磁盘。
查看文件
ls -l

- 编号1:文件类型
- ‘-’:普通文件。如文本文件、二进制文件、源代码等。
- ‘b’:块设备文件。硬盘可以使用块设备文件。
- ‘c’:字符设备文件。硬盘也可以使用字符设备文件。
- ‘d’:目录文件。目录可以包含文件和其他目录。
- ‘l’:符号链接(软链接)。可以链接任何普通文件,类似于windows中的快捷方式。
- ‘p’:具名管道。管道是进程间的一种通信机制。
- ‘s’:用于进程间通信的套接字。
- 编号2:表示文件个数。如果是文件,那么就是1;如果是目录,那么就是该目录中文件的数目。
- 编号3:文件的所有者,即文件的创建者。
- 编号4:文件所有者所在的用户组。在Linux中,每个用户都隶属于一个用户组。
- 编号5:文件的大小,以字节计。
- 编号6:文件被创建或上次被修改的时间。
- 编号7:文件名或目录名。
Linux环境变量
Linux中的环境变量可以由系统、用户、Shell以及其他程序来设定。变量就是一个可以被赋值的字符串,复制范围包括数字、文本、文件名、设备以及其他类型的数据。
常用环境变量

Linux管道和过滤器
把两个命令连接起来使用,一个命令的输出作为另一个命令的输入,叫管道。为了建立管道,需要在两个命令之间使用竖线“|”连接。竖线左边命令的输出会作为右边命令的输入。连续使用竖线表示第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依次类推。
管道是Linux 进程之间一种重要的通信机制;除了管道,还有共享内存、消息队列、信号、套接字(socket)等进程通信机制。
能够接受数据,过滤(处理或筛选)后再输出的工具,称为过滤器。
- grep命令
grep是一个强大的文本搜索工具,可以使用正则表达式,并返回匹配的行。grep可以看作是一个过滤器,如果没有为grep指定要检索的文件,那么它会从标准输入设备(一般是键盘)读取;其他过滤器也是如此。grep命令最简单的使用就是检索包含固定字符的文本。grep命令有很多选项:

- sort命令
sort命令在Linux中非常有用,它将文件中各行字母或数进行排序。sort命令既可以从特定的文件,也可以从stdin获取输入。sort命令选项:

Linux进程管理
当我们运行程序时,Linux会未程序创建一个特殊的环境,该环境包含程序运行需要的所有资源,以保证程序能够独立运行,不受其他程序的干扰。这个特殊的环境就称为进程。每个Linux命令都与系统中的程序对应,输入命令,Linux就会创建一个新的进程。
创建进程
- 前台进程
默认情况下,用户创建的进程都是前台进程;前台进程从键盘读取数据,并把处理结果输出到显示器。当程序运行在前台时,由于命令提示符还未出现,用户不能输入其他命令,即使程序需要很长时间,也必须等待程序运行结束才能输入其他命令。 - 后台进程
后台进程与键盘没有必然的联系,当然,后台进程也可能会等待键盘输入。后台进程的优点是不必等待程序运行结束就可以输入其他命令。创建后台进程最简单的方式就是在命令的末尾加&。
查看正在运行的进程
ps -f
ps命令查看进程的运行状态,包括后台进程,输出信息的含义如下:

参考资料
Linux入门教程
1700

被折叠的 条评论
为什么被折叠?



