linux基础知识
Linux版本
内核版和开发版 奇数为开发板 偶数为稳定版
Debian
属于自由开源稳定的linux发行版本,可以由用户进行维护,目前被教育机构、商业公司、非盈利组织和政府机构使用
Red Hat Enterprise Linux(RHEL)
由red hat公司开发的开源linux版本 RHEL服务器是一个功能强大、稳定和安全的软件,可以为面向软件的存储提供现代数据中心支持,还支持云、物联网、大数据、可视化容器
ubuntu
以桌面应用为主的开源操作系统,基于Debian开发
构建高性能、高度可伸缩、灵活和安全的企业数据中心,具有强大的支持作用为大数据、可视化和容器、物联网等服务提供支持
centos
centos是基于RHEL开发的免费系统
虚拟机VMware
常见的虚拟机
VMware Workstation
VirtualBox
Virtual*PC
网络工作模式
**Bridged(桥接模式)**VMnet0
将主机网卡与虚拟机网卡利用虚拟网桥进行通信。虚拟机ip地址需要与主机在同一个网段,需要联网时,网关DNS需要与主机网卡一致
但是网络环境的ip资源很缺少或对ip管理比较严格时不太适用
NAT(网络地址转换模式) VMnet8
主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟机交换机VMnet8上,这样就实现了虚拟机联网
Host-Only(仅主机模式) vMnet1
远程连接工具XShell和XFtp
linux组成
kernel内核
Shell
FIly Systems(文件系统)
应用程序
Linux目录
系统启动必须
/boot 存放的启动linux时使用的内核文件,包括连接文件以及镜像文件
/etc 存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动
/lib 存放基本代码库
/sys 这是linux2.6内核的一个很大的变化 该目录下安装了2.6内核中新出现的一个文件系统sysfs
指令集合
/bin 存放最常用的程序和指令
/sbin 只有系统管理员能使用的程序和指令
外部文件管理
/dev device(设备)的缩写 存放的是linux的外部设备
/media 类windows的其他设备 例如光盘 光驱
/mnt 临时挂载别的文件系统
临时文件
/run 是一个临时文件系统 存储系统启动以来的信息 当系统重启 这个目录下的文件应该被删掉或清除
/lost+found 一般情况为空 系统非法关机后 存放一些文件
/tmp 存放临时文件
账户
/root 系统管理员的用户主目录
/home 用户的主目录 以用户的账号命名
/usr 用户的很多应用程序和文件都放在这个目录下
/usr/bin 系统用户使用的应用程序和指令
/usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序
/usr/src 内核源代码默认的放置目录
运行过程中要用
/var 存放经常修改的数据
/proc 管理内存空间 虚拟的目录
扩展用的
/opt 默认是空的 我们安装的额外软件可以放在这个里面
/srv 存放服务器启动后需要提前的数据 不用服务器就是空
linux快捷键
tab 命令或路径等的补全健
光标移动
`ctrl+a 光标回到行首`
`ctrl+e 光标回到行尾`
`ctrl+f 光标向右移动一个字符`
`ctrl+b 光标向左移动一个字符`
`esc+b 移动到当前单词的开头`
`esc+f 移动到当前单词的结尾`
`esc+t 当前单词向前移动`
剪切
`ctrl+u 剪切光标处到行首的所有字符 也就是删除`
`ctrl+k 剪切光标处到行尾的所有字符`
`ctrl+w 剪切光标前的一个单词`
`ctrl+h 删除光标前的一个字符`
中断 ctrl+c
help帮助指令
help -d 输出每个命令的简短描述
help -m 类似于man手册的格式描述命令
help -s 只显示命令使用格式
–help选项来查看帮助信息
man指令
`上箭头 向上移动一行`
`下箭头 向下移动一行`
`PgUp 向上翻页`
`PgDn 向下翻叶`
`g 移动到第一页`
`G 移动到最后一页`
`q 退出`
`/字符串 向下搜索`
`?字符串 向上搜索`
目录操作命令
pwd指令
查看当前工作目录的完整路径
常用参数
`-L` --logical 打印环境变量$pwd的值 可能为符号链接
`-P` --physical 默认值 打印当前工作目录的物理位置
`--help` 显示帮助信息并退出
`--version` 显示版本信息并退出
cd指令
cd是切换所在目录的命令
`-L 默认值 如果要切换到的目标目录是一个符号连接 那么切换到符号连接的目录`
`-P 如果要切换到的目标目录是一个符号连接 那么切换到他指向的物理位置的目录`
参数
dir可选: 指定要切换到的目录
简单用法
`cd ~ 当前用户的家目录`
`cd - 上一次所在目录`
`cd . 当前目录`
`cd .. 上级目录`
ls指令
显示目录下的内容
`-a 显示所有文件`
`-h 显示文件大小`
`-l 长格式显示 简写 ll`
mkdir创建目录 (美克滴儿)
`mkdir -d 目录名`
rmdir删除目录
只能删除空目录 所有一般使用rm指令
`rmdir 目录名称`
文件操作命令
touch指令 (他吃)
用于修改文件或者目录的时间属性,包括存取时间和更改时间 若文件不存在 系统会建立一个新的文件
touch [OPTION] FILE
cp复制指令
用于拷贝文件和目录
cp [选项] 文件1 备份文件名称
cp [选项] 文件1 文件2 文件3 ..... 目录
-r recursive(递归) 递归复制目标目录的内容
mv移动剪切
mv 旧文件名 新文件名
mv 被移动目录 目标目录
rm删除指令
查看文件指令
cat指令
一次显示所有的内容,适用内容较少的文本文件
cat [选项] filename
`-n 由1开始对所有输出的行数编号`
`-b 不对空白行编号`
more指令
文本文件阅读工具,类似cat,适用文件过大时 一页一页的形式
参数
`-NUM 指定每屏显示的行数为 NUM`
`+/STRING 从配皮搜索字符串`
`+NUM 从文件第几行开始显示`
常见交互
回车键向下滚动一行
空格键显示下一页
b健(back)回显上一页
q健退出
less指令
类似于more 加强版本 主要用于浏览大文件,加载时不会读取整个文件
参数
`-m 类似于more的百分比`
`-N 显示行号`
常见交互
回车键 滚动一行
空格键 滚动一页
b健 向后翻一页
q健退出
1) 向前搜索
/
n 向前查找下一个匹配的文本
N 向后查找前一个匹配的文本
2)全屏导航
ctrl + F 向前移动一屏
ctrl + B 向后移动一屏
ctrl + D 向前移动半屏
ctrl + u 向后移动半屏
head指令
用于显示文件开头的内容 默认显示文件头10行内容
`-c 显示文件的前 K 字节内容`
`-n 显示每个文件的前 N 行内容`
tail指令 (一般查看日志)
用于显示文件结尾的内容 默认显示文件尾10行内容
`-f 按照指定的时间间隔输出文件追加的内容`
`-n 输出最后n行 而非默认的最后10行`
其他常用指令
日期和时间命令 date
查看时间
`date`
`date +%Y`
`date +%M`
`date +%d`
设置时间
`date -s "输入时间"`
cal 查看日历
`cal 展示当月日期`
`cal 2025 当年日历`
`cal -3 显示上下当前三个月`
find 搜索命令
指令目录下查找文件
`find [搜索路径] [选项]`
搜索路径省略默认为当前目录
grep 搜索命令
在文件中提取和匹配符合条件的字符串行
`grep [选项] 搜索内容 文件名`
选项
`-c 只输出匹配行的个数`
`-i 忽略大小写`
`-n 输出行号`
`-w 显示整个单词`
`-R或-r 递归查找目录下的所有文件内容`
重定向输出 >和 >>
">" 输出重定向文件并覆盖文件的现有内容
">>" 将输出附加到文件的尾部
管道 |
通过命令1| 命令2 可以将命令1的结果 通过命令2进一步处理
逻辑控制符 &&
history 查看历史指令
`export HISTTIMEFORMAT='%F %T'` 带有时间的历史指令
`history -c 清掉历史指令`
linux打包(归档)和压缩
打tar包 tar指令
`tar -cvf 打包名.tar 被打包的目录`
`tar -cvf 打包名.tar 被打包的文件1 被打包的文件2`
`c create 生成档案文件创建打包文件`
`v verbosely 显示打包或解压打包过程`
`f file 指定打包文件名或压缩包文件名`
解tar包
`tar -xvf 打包名.tar` 默认当前目录
`tar -xvf 打包名.tar -C 解包路径位置`
`x extract 解包`
`C directory 默认当前目录 通过-C更改提取目录 目录必须存在`
gzip格式压缩和解压缩
gzip命令是 .gz 格式的压缩和解压缩命令 .gzip命令对文本文件有60%-70%的压缩率
压缩文件
`tar -zcvf 打包压缩文件名.tar.gz` 被压缩的文件或目录
解压缩文件
`tar -zxvf 打包文件.tar.gz`
解压缩到指定路径
`tar -zxvf 打包文件夹.tar.gz -C 目录路径`
bzip2 格式压缩和解压缩
.bz2 格式的算法更先进,压缩比更好;而.gz格式相对来讲压缩的时间更快
压缩文件
`tar -jcvf 打包压缩文件名.tar.bz2` 被压缩的文件或目录
解压缩文件
`tar -jxvf 打包文件.tar.bz2`
解压缩到指定路径
`tar -jxvf 打包文件夹.tar.bz2 -C 目录路径`
注意 报错tar(child):bzip2: 无法 exce
需要安装 yum install -y bzip2
vi与vim编辑器
vi编辑器可以执行输出 删除 查找 替换 块操作等众多文本操作,而且用户可以根据自己的需要对其进行制定
vim 是vi的增强版,有字体颜色辨别语法的正确性,方便程序设计代码补全、编译及错误跳转等方便编程的功能,vim适用于coding
vim安装
yum -y install vim
vi编辑器三种模式
1 命令模式
2 末行模式
3 编辑模式
一般模式下指令
撤销和恢复撤销
`u 撤销上次的命令`
`Ctrl + r 恢复撤销的命令`
复制和剪切
`y 复制`
`yy 复制一行 nyy 复制多行`
`d 剪切`
`dd 剪切一行 ndd剪切多行`
`p 粘贴`
一般模式如何切换到编辑模式
`i 在当前字符前插入文本`
`I 在行首插入文本`
`a 在当前字符后添加文本`
`A 在行末添加文本`
`o 在当前行后面插入一空行`
`O 在当前行前面插入一空行`
底行模式下命令
`w 保存`
`q 退出 如果没有保存不允许退出`
`q! 强制退出`
`wq 保存且退出`
`x 保存并退出`
更新YUM仓库源为阿里云镜像源**:
vi /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=0
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
保存文件并退出。( esc :wq)
清理并从建缓存
yum clean all 清除yum缓存
yum makecache 缓存本地yum源
yum update 更新yum包