linux基础知识
- 软件开发
- 2025-09-17 06:45:01

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] FILEcp复制指令
用于拷贝文件和目录
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 bzip2vi与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 baseurl=http://mirrors.aliyun /centos/$releasever/os/$basearch/ gpgcheck=0 gpgkey=http://mirrors.aliyun /centos/RPM-GPG-KEY-CentOS-7 [updates] name=CentOS-$releasever - Updates - mirrors.aliyun baseurl=http://mirrors.aliyun /centos/$releasever/updates/$basearch/ gpgcheck=0 gpgkey=http://mirrors.aliyun /centos/RPM-GPG-KEY-CentOS-7 [extras] name=CentOS-$releasever - Extras - mirrors.aliyun baseurl=http://mirrors.aliyun /centos/$releasever/extras/$basearch/ gpgcheck=0 gpgkey=http://mirrors.aliyun /centos/RPM-GPG-KEY-CentOS-7 [centosplus] name=CentOS-$releasever - Plus - mirrors.aliyun baseurl=http://mirrors.aliyun /centos/$releasever/centosplus/$basearch/ gpgcheck=0 enabled=0 gpgkey=http://mirrors.aliyun /centos/RPM-GPG-KEY-CentOS-7保存文件并退出。( esc :wq)
清理并从建缓存
yum clean all 清除yum缓存 yum makecache 缓存本地yum源 yum update 更新yum包