主题
Linux基础
一、Linux操作系统
1. 起源与发展
Linux是一个类似Unix的操作系统,1991年发布第一个版本,开源免费
2. 内核Kernel
Linux操作系统 = Linux Kernel + GNU软件及系统软件 + 必要的应用程序
3. 发行版本
大致分为个人桌面版(Ubuntu)和企业服务器版(Redhat(红帽系列)及其延伸版本(Centos))
二、VMwareWorkstation虚拟机使用
1. VMware虚拟组件
- 核心功能:对硬件资源的虚拟,在一台PC上运行其他隔离操作系统
- 组件:网卡(2个)、交换机(20个)、网桥、DHCP 、NAT、PC主机虚拟网卡
2. VMware NAT网络模式
NAT模式是VMware软件默认推荐的上网模式
- NAT模式使用VMnet8交换机
- NAT模式下虚拟机能够上网。是通过NAT设备转发至PC主机网卡实现上网的
- NAT模式下PC主机通过主机虚拟网卡VMware Network Adapter VMnet8实现和虚拟机的通信的
3. SSH协议与远程访问Linux
3.1 SSH概述
- SSH为Secure Shell的缩写,是一种网络安全协议,专为远程登录会话和其他网络服务提供安全性的协议
- 在Linux中,SSH主要用于:用户加密实现远程登录、服务器之间的免密登录
- 默认采用RSA算法实现非对称性加密,需要两个密钥:公开密钥(加密)和私有密钥(解密)
- 公钥与私钥是一对,用公钥加密必须用对应的私钥才能解密
三、Linux常用基础命令
1. 文件系统基本概念
1.1 基本概念
- 文件系统是操作系统用于明确存储设备(如磁盘)上的文件的方法和数据结构;即在存储设备上组织文件的方法
- 文件系统的结构通常叫做目录树结构,从根目录开始
- 针对Linux的操作,大多数是在针对Linux文件系统操作
1.2 通用特性
- 文件系统都是从根目录开始的,windows文件系统会以盘符来区分不同文件系统
- 目录树中节点分为两个种类:目录(directory)、文件(file)
- 从根目录开始,路径具有唯一性
- 只有在目录下才可以继续创造下一级目录
2. Linux常见操作命令
runoob.con 菜鸟教程
2.1 概述
命令名 --help 看选项参数
man 命令名 通用
tab键 自动补全和提示
history命令(或方向键) 显示历史执行记录
2.2 文件系统相关命令
ls命令:用于显示指定工作目录下的内容
-a:显示所有文件及目录(.开头的隐藏文件也会列出)
-l: 除文件名称外,亦将文件形态、权限、拥有者、文件大小等资讯详细列出。注:ls-l = ll
cd:切换目录
~: 为home目录的意思
. : 表示目前所在目录
..: 目前目录位置的上一层目录
/ : 根目录
创建、删除
mkdir命令:用于创建目录
-p 确保父目录名称存在,不存在就建一个
touch命令:用于创建文件
rm命令:用于删除一个文件或目录
-f:强制直接删除,无需用户确认
-r:将目录及以下所有递归逐一删除
复制、移动
cp命令:用于复制文件或目录
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
mv命令:用来给文件改名、或将文件或目录移入其他目录
文件内容查看
cat命令:一次性全部输出,适合小文件
more命令:一页一页输出,空格翻页,b 回翻,Enter 翻下一行,自动退出(翻到底时)也可按 q 强制退出,适合大文件
less命令:与more类似,空格翻页,b 回翻,Enter 翻下一行,↑↓ 逐行移动,/关键词 搜索,不会自动退出,按 q 强制退出,适合大文件
head命令:用于查看文件的开头部分的内容
-n:用于显示行数,默认为10,即显示10行的内容
tail命令:用于查看文件的结尾部分的内容
-n:用于显示行数,默认为10,即显示10行的内容
-f:用于实时显示文件动态追加的内容
其他
| 管道命令:将前一个命令执行结果作为内容交给下一个命令处理
示例:命令1|命令2
echo命令:用于字符串的输出,属于shell命令
>输出重定向(覆盖)命令
>>输出重定向(追加)命令
命令1 && 命令2:命令1执行成功才执行命令2
命令1 || 命令2:命令1执行失败才执行命令2
pwd:当前你所在的目录的绝对路径。
2.3 查找相关命令
find 命令:用来在指定目录下查找文件
bashfind 路径 -选项 参数 -size -name 'abc*' (*:通配符,表示任意字符)grep命令:用于查找文件里符合条件的字符串,通常配合|管道对命令执行的结果进行搜索
bashps -ef | grep sshwhich命令:用于查找文件。会在环境变量$PATH设置的目录里查找符合条件的文件
bashwhich linux命令名 作用:查找linux命令所在的目录
2.4 软连接
ln命令:为某一个文件在另外一个位置建立一个同步的链接,可以将连接视为文件的别名连接分为两种:硬链接和软连接
硬链接:一方修改,另一方同步修改(用来动态备份)
软连接:相当于windows的快捷方式
bash
ln -s 目标文件的绝对路径 软连接名(快捷方式)
ln 目标文件的绝对路径 硬连接名2.5 压缩解压缩
打包、解包:tar命令:常用于备份文件。
- -c 或--creat:建立新的备份文件
- -x或--extract或--get:从备份文件中还原文件
- -v或--verbose:显示指令执行过程
- -f <备份文件>或--file=<备份文件> :指定备份文件
打包压缩、解包解压缩:
-z或--gzip或--ungzip:通过gzip指令处理备份文件
重要搭配:tar -zxvf xxxx.tar.gz
总结:
压缩:tar -zxvf 压缩包名.tar.gz 要被压缩的文件
解压:tar -zxvf 压缩包名.tar.gz -C 解压到的路径
2.6 常用快捷键
bash
ctrl + l 清屏
history 查看历史命令
tab 自动补齐
上下方向键 向上或向下查找我们之前输出的命令
ctrl + a 把光标移到命令开头位置
ctrl + e 把光标移到命令结尾位置
ctrl + u 清空光标之前所有命令
ctrl + c 取消执行命令四、vi/vim文本编辑器
vi:系统内置文本编辑器
vim:vi编辑器的增强模式
1. 三种工作模式
命令模式(不能自由进行文本编辑,所敲按键为命令)
命令模式<-->输入模式
i:进入到编辑输入模式,定位到当前光标前面
a:进入到编辑输入模式,定位到当前光标后面
o:进入到编辑输入模式,在当前行后面添加一行空行
输入esc退回到命令模式
命令模式<-->底线命令模式
输入:进入底线命令模式
:q 退出
:q! 强制退出
:w 保存
:wq 保存退出
:wq! 强制保存退出
注:命令模式下shift+zz也可以实现快速的保存退出
输入模式(编辑模式,自由编辑文件内容)
底线命令模式(以:开始,通常用于文件的保存退出)
2. 新建文件与异常模式处理
2.1 vim/path/file
- 如果打开的文件不存在,新建文件
- 如果打开的文件已存在,打开这个文件
2.2 打开时异常处理
根据提示进行打开、编辑、恢复、删除、退出等操作
3. vim基本操作指令
3.1 光标移动
- 方向键控制移动
- 命令hjkl移动
- 翻页 pageup pagedown
- 行首(home 0) 行尾(end $)
- 跳到文件最后一行 G
- 跳到文件第一行 gg
3.2 复制粘贴
复制
yy 复制光标当前行内容
nyy 复制当前行往下n行
粘贴
p 当前行的下一行粘贴
3.3 删除、撤销操作
删除
dd 删除光标所在当前行内容
ndd 删除当前行往下n行内容
撤销反撤销
ctrl + u 撤销上一步操作
ctrl + r 反撤销
3.4 搜索替换(命令模式下使用)
行号
显示行号:set nu(或set number)
取消显示行号:set nonu(或set nonumber)
搜索
/待搜索的内容
n跳转到下一个搜索到的内容,N跳转上一个
:noh 清除搜索匹配之后的高亮显示
替换
:2,4s/原内容/替换内容/gc (指定行替换,第二行到第四行)
没有g时:替换每一行匹配到的第一个。g表示这一行所有匹配到的
c表示替换前给用户提示
注:全局替换:
:%s/原内容/替换内容/gc