Linux 介绍
GNU 项目
GNU 是GNU is Not Unix 的递归缩写。
Linus Torvalds
1991 年,Linus Torvalds完成了 Linux 内核的第一个版本。Linux 可以说是 Linus 和 Unix 的合并,也可以说是 Linux is Not Unix 的递归缩写。
- 操作系统的核心称为“内核”,但内核并不等于操作系统。内核提供系统服务,比如文件管理、虚拟内存、设备 I/O等。
- 单独的 Linux 内核是没办法工作的,必须要有 GNU 项目的众多应用程序来添砖加瓦。
- Linux 内核的官网是https://www.kernel.org。Linux 的官方称谓是 GNU/Linux。
Linux 发行版
Linux 发展至今,已经是一个相当复杂和丰富的操作系统了,其大部分源代码还是 GNU 项目的。为了简化安装过程,以及提供一些基本的软件,产生了不少的 Linux 发行版,不同 Linux 发行版的主要区别有:
- 安装方法不一样;
- 安装应用程序的方法不一样,及软件包的管理方式不一样。
- 不同的 Linux预装的应用程序不一样。
众多的 Linux 发行版
Debian 一组
继承自 Debian 的 Ubuntu 发行版
Linux 终端和文件操作
命令提示符
对tomcat@VM-0-2-ubuntu:~$的解释
tomcat是当前登录用户的名字,Linux 是一个完全的多用户多进程的操作系统。@就是英语中at的意思,@前面是用户名,后面是所在的域。VM-0-2-ubuntu是当前主机的名称,因为这是腾讯云的虚拟主机,所以默认名称是这样。:就是分隔符,没有特殊的含义。~是当前所在目录的名称,会随着用户进入不同的目录而改变,~表示当前用户的家目录。$/#指示当前用户权限的字符。$表示普通用户,有权限的限制;#表示超级用户,即root,拥有所有的权限。
命令和命令参数
简单的命令
-
date显示当前日期及时间
-
ls是list的缩写,显示当前目录下的文件
命令参数
命令参数就是写在命令后的一些补充选项,命令和参数之间用空格隔开。
-
短参数:最常见的参数形式就是一个短横线后接一个字母。例如:
command -p,如果要一次性加好几个参数,可以使用空格隔开,例如:command -p -a -T -c,多个短参数可以合并在一起,例如 :command -paTc。
-
长参数:长参数是以两个短横开始的,例如:
command --parameter,如果有多个长参数,只能使用空格隔开,例如:command --parameter1 -parameter2,可以组合使用短参数和长参数,例如:command --parameter -acT。 -
有时候,同一个意义的参数有短参数和长参数两种形式,效果是一样的,例如
ls -a,ls --all。
-
参数的值:短参数的赋值:
command -p 10,长参数的赋值:command --parameter=10。
如何查找命令及历史记录
-
Tab 可以补全命令及路径
-
Ctrl+R可以查找使用过的命令 -
history命令用于列出之前使用过的所有命令 -
一些实用的快捷键
命令 解释 Ctrl + L清屏,同 clear命令Ctrl + D给终端传递 EOF Shift + PgUp向上滚屏 Shift + PgDn向下滚屏 Ctrl + A光标跳到一行命令的开头, Home键有相同的效果Ctrl + E光标跳到一行命令的结尾, End键有相同的效果
文件组织,pwd和which命令
-
Linux 的两种类型文件
- 普通的文件:是我们已经熟知的文件类型,这样的文件包括:文本类型的文件、声音文件、程序等。
- 特殊的文件:这类特殊的文件表示一些东西。例如,光盘驱动就是特殊的文件。甚至根目录也是文件。
-
根目录:Linux 中只有一个根目录,就是
/。根目录就是Linux 的最顶层目录。 -
根目录的直属子目录
-
bin:英语 binary 的缩写,表示二进制文件,包含了会被所有用户使用的可执行程序 -
boot:英语 boot 表示启动,包含与 Linux 启动密切相关的文件 -
dev:英语 device 的缩写,表示设备,包含外设。它里面的子目录,每一个对应一个外设 -
etc:包含系统的配置文件 -
home:用户的私人目录,Linux 中每个用户在home目录下都有自己的私人目录 -
lib:英语 library 的缩写,表示库,包含程序所调用的库文件 -
media:当一个可移动的外设插入电脑时,Linux 就可以让我们通过 media 的子目录来访问这些外设的内容 -
mnt:表示挂载,一般用于临时挂载一些装置 -
opt:英语 optionnal application software package 的缩写,表示可选的应用程序,用于安装多数第三方软件和插件 -
root:超级用户 root 的家目录/主目录 -
sbin:系统二进制文件,包含系统级的重要可执行程序 -
srv:service 的缩写,包含一些网络服务启动之后所需要存取的数据 -
tmp:temporary 的缩写,表示临时的,普通用户和程序存放临时文件的地方 -
usr:Unix Software Resource 的缩写,表示 Unix 操作系统软件资源,安装了大部分用户要调用的程序 -
var:variable 的缩写,表示动态的、可变的。通常包含程序的数据,比如一些日志文件
-
-
pwd命令,显示当前目录的路径。Print Working Director 的缩写,表示打印当前工作目录
-
which命令,获取命令的可执行文件的位置
目录相关的命令:ls、cd、du
-
ls是list的缩写,用于列出文件和目录-
-a:显示所有的文件和目录,包括隐藏的,-A不列出.和..两个文件
-
-l:列出一个显示文件和目录的详细信息列表
-
-h:以 Ko、Mo、Go 的形式显示文件大小仅用
ls -l时,列出的文件详细信息中,文件的大小是以字节为单位的,可以加一个参数-h,h是 human-readable 的缩写,表示适合人阅读的。
-
-t:按文件最近一次修改时间排序
-
-
cd命令:切换目录cd是 change directory 的缩写,表示切换目录。cd ..:切换到当前目录的上级目录cd -:切换到前一个目录cd ~或cd返回到家目录
-
du命令:显示目录包含的文件大小du命令会深入遍历每个目录的子目录,把所有文件的大小都做一个统计。
du是 disk usage 的缩写。-
-h,同ls -lh,以 Ko、Mo、Go 的形式显示文件大小
-
-a,显示文件和目录大小 -
-s,只显示当前目录的总大小
-
文件操作,创建和浏览文件:cat、less、head、tail、touch、mkdir
-
cat命令:一次性显示文件的所有内容cat命令的描述是:concatenate files and print on the standard output,意思是:把文件链接起来,一并打在在标准输出。-
-n,在显示的文件内容上加上行号
-
-
less命令:分页显示文件内容less命令用法和cat命令是一样的,也是在命令后直接加文件的路径。less命令的好处是它会先读入文件开始的若干行,然后就停在那里,而这若干行的行数取决于终端屏幕的大小。- 空格键:文件内容读取下一个终端屏幕的行数,相当于前进一个屏幕。
- 回车键:文件内容读取下一行,也就是前进一行。
- d 键:前进半页。
- b 键:后退一页。
- y 键:后退一行。
- u 键:后退半页。
- q 键:停止读取文件,终止
less命令。 /:进入搜索模式,只要在斜杠后面输入要搜索的文字,按下回车键,就会把素有符合的结果标识出来。要在搜索所得结果中跳转,可以按 n 键(跳到下一个结果),N 键(跳到上一个结果)。
-
head命令:显示文件开头默认情况下,
head会显示文件的头 10 行。
-
-n,指定显示的行数
-
-
tail命令:显示文件结尾默认情况下,
tail命令会显示文件的尾10 行-n,指定显示的行数
-
-f,实时追踪文件的更新,默认地,tail -f每隔 1 秒检车一下文件是否有更新。可以使用-s参数指定间隔检查的秒数。
-
touch命令:创建一个空白文件touch命令设计初衷是修改文件的时间戳,就是可以修改文件的创建时间或修改时间,让电脑以为文件就是在那个时候被修改或创建的。如果touch后面跟着的文件名是不存在的,那么它就会新建一个。
-
mkdir命令:创建一个目录mkdir其实是mk和dir的缩合,mk是make的缩写,表示创建,dir是directory的缩写,表示目录。
-
-p,递归地创建目录结构
-
文件的复制,移动,删除和链接:cp、mv、rm、ln
-
cp命令,复制文件和目录cp命令是copy的缩写,用于文件和目录的拷贝。
-
-r、-R,拷贝目录
-
-
mv命令,移动文件或目录(重命名文件或目录)
-
rm命令,删除文件和目录rm是remove的缩写,表示移除,rm命令可以删除一个文件、多个文件、目录。
-
-i,向用户确认是否删除,对于每一个要删除的文件,终端都会询问我们是否确定删除,i是inform的缩写。
-
-f,不会询问是否删除,强制删除,f是force的缩写。 -
-r,递归地删除,使用-r参数,可以删除目录,并且递归地删除其包含的子目录和文件。
-
-
ln命令,创建链接ln是link的缩写,用于在文件之间创建链接。Linux 有两种链接类型:- Physical link:物理链接或硬链接
- Symbolic link:符号链接或软链接
-
创建硬链接,一般情况下,只能创建指向文件的硬链接
-
-s,创建软连接
用户和权限、用户管理
- TODO