Linux怎么读:最通用的读法:/li’nʌks/(“里那克斯”)或/'li:nэks/(“里讷克斯”)或/li’nju:ks/(“里纽克斯”)。
Linux是一款操作系统,其特点是免费、开源、安全、高效、稳定,处理高并发非常强悍。现在很多的企业级项目都部署Linux/Unix服务器运行。
Linux的发行版本主要有:Red Hat Linux、Debian Linux、Ubuntu Linux、Suse Linux等。
Linux的起源:Linux 内核最初是由李纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的。
UNIX 操作系统由肯•汤普森(Ken Thompson)和丹尼斯•里奇(Dennis Ritchie)发明。它的部分技术来源可追溯到从 1965 年开始的 Multics 工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电气公司联合发起,目标是开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统。
二者的关系:UNIX 是 Linux 的父亲。Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。
UNIX/Linux 系统可以粗糙地抽象为 3 个层次:底层是 UNIX/Linux 操作系统,即系统内核(Kernel);中间层是 Shell 层,即命令解释层;高层则是应用层。
内核层是 UNIX/Linux 系统的核心和基础,它直接附着在硬件平台之上,控制和管理系统内各种资源(硬件资源和软件资源),有效地组织进程的运行,从而扩展硬件的功能,提高资源的利用效率,为用户提供方便、高效、安全、可靠的应用环境。
Shell 层是与用户直接交互的界面。用户可以在提示符下输入命令行,由 Shell 解释执行并输出相应结果或者有关信息,所以我们也把 Shell 称作命令解释器,利用系统提供的丰富命令可以快捷而简便地完成许多工作。
应用层提供基于 X Window 协议的图形环境。X Window 协议定义了一个系统所必须具备的功能(就如同 TCP/IP 是一个协议,定义软件所应具备的功能),可系统能满足此协议及符合 X 协会其他的规范,便可称为 X Window。
桥接:桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位,那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台现实网络中的交换机,所以两个网卡的IP地址也要设置为同一网段。
所以当我们要在局域网使用虚拟机,对局域网其他pc提供服务时,例如提供ftp,提供ssh,提供http服务,那么就要选择桥接模式。
NAT:NAT模式中,就是让虚拟机借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。
仅主机: 在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实Host-Only网络和NAT网络很相似,不同的地方就是Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet。
NAT和桥接的对比:
- NAT模式和桥接模式虚拟机都可以上外网。
- 由于NAT的网络在vmware提供的一个虚拟网络里,所以局域网其他主机是无法访问虚拟机的,而宿主机可以访问虚拟机,虚拟机可以访问局域网的所有主机,因为真实的局域网相对于NAT的虚拟网络,就是NAT的虚拟网络的外网。
- 桥接模式下,多个虚拟机之间可以互相访问;NAT模式下,多个虚拟机之间也可以相互访问。
在VMware的3种网络模式中,NAT模式是最简单的,基本不需要手动配置IP地址等相关参数。至于桥接模式则需要额外的IP地址,如果是在内网环境中还很容易,如果是ADSL宽带就比较麻烦了,因为很难多出一个公网IP。
常用的运行级别为3和5,修改默认的运行级别:/etc/inittab的id:5:initdefault这一行中的数字即为运行级别。不可将运行级别指定为6,否则系统将不断重启。
语法:
init [0/1/2/3/4/5]
示例:
语法:
man [命令或配置文件](功能描述:获得帮助信息)
示例:
语法:
help 命令 (功能描述:获得 shell 内置命令的帮助信息)
示例:
语法:
pwd (功能描述:显示当前工作目录的绝对路径)
示例:
语法:
ls [ 选 项] [目录或是文件]
示例:
语法:
cd [参数] (功能描述:切换到指定目录)
示例:
介绍:
mkdir 指令用于创建目录(make directory)
语法:
mkdir [选项] 要创建的目录
常用选项:
示例:
介绍:
rmdir 指令删除空目录
语法:
rmdir [选项] 要删除的空目录
注意:
需要删除非空目录时,需要使用
rm -rf 要删除的目录名
指令。
示例:
介绍:
touch指令创建空文件
语法:
touch 文件名称
示例:
介绍:
cp 指令拷贝文件到指定目录
语法:
cp [选项] source dest
常用选项:
示例:
1.将/home/aaa.txt
拷贝到/home/bbb
目录下[拷贝单个文件]
2.递归复制整个文件夹,将/home/test
整个目录拷贝到/home/test1
目录[拷贝非空文件夹]
介绍:
rm 指令移除【删除】文件或目录
语法:
rm [选项] 要删除的文件或目录
常用选项:
示例:
介绍:
mv 移动文件、目录或重命名
语法:
mv oldNameFile newNameFile (功能描述:重命名) mv /temp/movefile /targetFolder (功能描述:移动文件)
示例:
1.将/home/aaa.txt
文件重新命名为pig.txt
。
2.将/home/pig.txt
文件移动到/home
目录下。
介绍:
cat 查看文件内容,是以只读的方式打开
语法:
cat [选项] 要查看的文件
常用选项:
注意:
cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more
语法为:cat 文件名 | more [分页浏览]
示例:
介绍:
more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
语法:
more 要查看的文件
常用快捷键:
操作 | 功能说明 |
---|---|
空白键(space) | 向下翻一页 |
Enter | 向下翻一行 |
q | 代表立刻离开more,不再显示该文件内容 |
Ctrl+F | 向下滚动一屏 |
Ctrl+B | 向上滚动一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
示例:
介绍:
less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
语法:
less 要查看的文件
常用快捷键:
操作 | 功能说明 |
---|---|
空白键(space) | 向下翻一页 |
[pagedown] | 向下翻一页 |
[pageup] | 向上翻一页 |
/子串 | 向下搜索[子串]的功能。n:向下查找;N:向上查找 |
?子串 | 向上搜索[子串]的功能。n:向上查找;N:向下查找 |
q | 离开less这个程序 |
介绍:
> 输出重定向 : 会将原来的文件的内容覆盖
>> 追加: 不会覆盖原来文件的内容,而是追加到文件的尾部
语法:
1)ls -l > 文件名 (内容覆盖)
2)ls -al >> 文件名 (内容追加)
示例:
1.把ls -l
显示的内容覆盖写入到a.txt
文件中,如果a.txt
文件不存在,则创建该文件。
介绍:
echo 输出内容到控制台
语法:
echo [选项] [输出内容]
示例:
介绍:
head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容。
语法:
head 文件名 (功能描述:查看文件头 10 行内容)
head -n 5 文件名 (功能描述:查看文件头 5 行内容,5 可以是任意行数)
示例:
介绍:
tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后 10 行内容。
语法:
1)tail 文件名 (功能描述:查看文件末尾10行的内容)
2)tail -n 5 文件名 (功能描述:查看文件后5行的内容,5可以是任意行数)
3)tail -f 文件名 (功能描述:实时追踪该文档的所有更新,工作中经常使用)
示例:
2.实时监控 mydate.txt , 看看到文件有变化时,是否看到, 实时的追加日期。
介绍:
ln指令叫做软链接也叫符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径。
语法:
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
注意:
删除一个软连接时应该用指令
rm -rf [软连接名]
。
示例:
1.在/root
目录下创建一个软连接linkToHome,连接到/home
目录。
语法:
- date (功能描述:显示当前时间)
- date +%Y (功能描述:显示当前年份)
- date +%m(功能描述:显示当前月份)
- date +%d (功能描述:显示当前是哪一天)
- date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)
示例:
语法:
date -s 字符串时间
示例:
cal指令查看日历
语法:
- cal (功能描述:显示本月日历)
- cal 年份 (功能描述:用于显示一整年的日历)
示例:
介绍:
find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
语法:
find [搜索范围] [选项]
常用选项:
选项 | 功能 |
---|---|
-name<查询方式> | 按照指定的文件名查找模式查找文件 |
-user<用户名> | 查找属于指定用户名所有文件 |
-size<文件大小> | 按照指定的文件大小查找文件 |
示例:
1.按文件名查找:根据名称查找/home
目录下的hello.txt
文件。
2.按拥有者查找:查找/opt
目录下,用户名为nobody
的文件。
3.按文件大小查找:查找整个linux系统下大于20m的文件。(+n大于 -n小于 =n等于)
介绍:
locate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。
语法:
- updatedb (功能描述:创建locate数据库)
- locate 搜索文件名 (功能描述:搜索文件)
示例:
使用locate指令快速定位hello.txt文件所在的目录。
介绍:
grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
语法:
grep [选项] 查找内容 源文件
常用选项:
选项 | 功能 |
---|---|
-n | 显示匹配行及行号 |
-i | 忽略字母大小写 |
示例:
介绍:
gzip 用于压缩文件, gunzip 用于解压
语法:
- gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz 文件)
- gunzip 文件.gz (功能描述:解压缩文件命令)
注意:
当我们使用 gzip 对文件进行压缩后,不会保留原来的文件。
示例:
1.gzip压缩:将/home
目录下的hello.txt
文件进行压缩。
2.gunzip解压缩:将/home
目录下的hello.txt
文件进行解压缩。
介绍:
zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的。
语法:
- zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
- unzip [选项] XXX.zip (功能描述:解压缩文件)
zip常用选项:
unzip常用选项:
示例:
1.将/home
下的所有文件进行压缩,压缩后文件名为mypackage.zip
。
2.将mypackage.zip
解压到/opt/tmp
目录下。
介绍:
tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。
语法:
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
常用选项:
选项 | 功能 |
---|---|
-c | 产生 .tar 打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包 .tar 文件 |
zip/unzip指令
介绍:
zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的。
语法:
- zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
- unzip [选项] XXX.zip (功能描述:解压缩文件)
zip常用选项:
unzip常用选项:
示例:
1.将/home
下的所有文件进行压缩,压缩后文件名为mypackage.zip
。
2.将mypackage.zip
解压到/opt/tmp
目录下。
介绍:
tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。
语法:
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
常用选项:
选项 | 功能 |
---|---|
-c | 产生 .tar 打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包 .tar 文件 |
示例: