一、Linux基础
1.1 组成
各种应用程序:linux基础命令、服务等
命令解释器:shell(bash)
Linux内核
1.2 发行版本
系列 | 版本 |
---|---|
Debian系列 | Debian系统 更新频率低,较为稳定与安全。 可以用于企业环境。 |
Ubuntu系统 乌班图,桌面美观,使用方便,开发使用。 也有企业版本(服务器版本) | |
红帽系列 | Redhat Enterprise Linux RHEL红帽企业版 |
CentOS系统,基本国内最常用的Linux系统。 | |
Rocky Linux CentOS系统创始人,新出的Linux系统。 | |
国产系列 | 中标麒麟国产Linux,有桌面环境,有服务器版本 |
红旗Linux | |
各种厂商的Linux系统。 | |
欧拉系统 openeuler | |
其他 | Suse,OpenSUSE, 德国 |
1.3 虚拟机概述
注:docker 和虚拟机
1️⃣ docker和虚拟机都是物理机上的
2️⃣ docker是虚拟机上的容器引擎,可以分出很多小的容器进行程序部署
1.4 配置网络
配置网络有两种方法
🅰️ 直接通过命令去修改
nmtui
network tui网卡管理工具,图形界面的工具
云服务器默认是配置好的 只需要本地服务器需要手动配置
🅱️通过修改网络配置文件去配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0
ifcfg-eth0 不同的虚拟机产品的网络文件名字不同 自己辨别
ip a 查看自己的IP地址
1.5 检查ip 是否链接测试端口号
ping ip 检查IP命令
telnet ip port 检查端口命令
1.6 命令行格式意思
1.7 目录意思
1.8 服务器类型
本地物理服务器
需要自己部署,需要租机房,带宽等
云服务器可以按需分配,不需要关注物理设备
私有云:虚拟机/虚拟化自己准备物理设备,自定义,数据更安全
1.9 inode和block的关系
inode索引节点,inode号码类似于身份证号码,通过inode号码可以找到文件.
inode是一个空间,类似于身份证,inode空间中存放的是文件属性信息,文件大小,修改时间,权限,所有者
inode空间中存放block的位置(指向文件实体的指针)block块(数据块): 存放数据
特点
inode索引节点,存放文件属性信息,block位置
每创建1个非空件至少占用1个inode,1个block 1个block默认是4k,inode,block数量是在格式化的时候创建的.
正常情况下block的使用会更快.
创建小文件不足4k,1个block还有剩余空间,无法给其他文件使用.
创建文件大于4k,占用多个block.
1.10 软硬链接
软连接: 类似于windows中快捷方式,也是一种文件,用于存放源文件的路径(位置+名字),应用最多.
ln -s 源文件 软连接文件
硬链接: 在同一个分区中文件的inode号码相同了,这些文件互为硬链接,很少使
用
ln 源文件 硬连接文件
二、命令
2.1 快捷键
Linux快捷键 | 快捷键及说明 |
---|---|
光标移动到行首 | ctrl + a |
光标移动到行尾 | ctrl + e |
把光标所在位置到行首的内容剪切(删除) | ctrl + u |
把光标所在位置到行尾的内容剪切(删除) | ctrl + k |
清屏 | ctrl + l |
取消当前的命令 | ctrl + c |
锁屏 | ctrl + s |
解锁 | ctrl + q |
让当前正在运行的命令,后台挂起 | ctrl + z |
[更多快捷键](https://www.jianshu.com/p/b796dfa4fb83)
2.2 帮助文档命令
命令 | 解释 |
---|---|
man | man 命令 查询帮助 |
–help | 命令 --help 查询精简的帮助.如果是系统是中文显示是中文英译 |
2.3 开机重启命令
命令 | 解释 |
---|---|
shutdown | 关机 |
shutdown -c | 取消关机 |
shutdown -h now 或shutdown -h x | 现在关机或x自定义事件关机 |
halt | 关机,关闭系统,需要手段切到电源 |
poweroff | 关机 |
init 0 | 关机 |
shutdown -r now 或 shutdown -h x | |
reboot | 重启 |
init 6 | 重启 |
2.4 关于目录相关的操作命令
命令 | 解释 |
---|---|
cd | 进入文件 cd .. 上一层 cd /cd ~放回root目录 |
pwd | 显示当前所在目录的绝对路径 |
mkdir | 创建文件夹目录 mkdir -p /../../ 创建多级文件夹 |
ls | 1️⃣ -l 显示详细信息,比如文件时间,大小,所有者 2️⃣ -t time 按照修改时间排序 3️⃣ -r 逆序排序,一般-rt 一起用. 4️⃣ -h 以人类可读形式显示大小 |
mv | 移动目录从哪里到哪里 或者改名 |
cp | 1️⃣ -a 全部复制 2️⃣ -r 递归复制 3️⃣ 复制的时候保证属性不变 4️⃣ -d 复制软连接 |
rm | 删除文件或者目录 -r 递归删除 -f强制删除 |
2.5 关于对文件相关的操作命令
命令 | 解释 |
---|---|
touch | 创建文件 |
echo | 输出信息 🅰️>叫做重定向符号,先清空文件内容,然后再写入 🅱️>> 叫做追加重定向,把信息写入到末尾 |
cat | 显示文件内容 -n 显示行号 |
2.6 服务器命名命令
hostnamectl set-hostname 新的服务器名称
cat /etc/hostname 查看主机名
hostname 查看主机名
2.7 yum命令
yum源
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
安装
yum install -y tree vim wget bash-completion bash-completion-extras lrzsz net-tools sysstat iotop iftop htop unzip nc nmap telnet bc psmisc httpd-tools bind-utils nethogs expect
2.8 查询
2.8.1 head
head -n num 显示头num行,默认显示头10行.
一般情况下,使用-数字即可.如果-5报错或无法使用,则使用-n5形式.
2.8.2 tail
-n num 显示最后num行,默认显示最后10行.
-f 显示文件末尾的实时更新(一般用于查看日志)
tailf == tail -f
2.8.3 less
按页显示文件内容
q 退出查看
空格/f 下一页
b 上一页 (back)
G 最后1行
g 第1行
99g 到第99行
2.8.4 more
more 按页显示文件内容,到达最后一行就退出.
2.9 wc统计
word count 统计文件中单词情况,未来工作中用于统计行数
wc -l 统计行数
2.10 vim/vi
内容 | 区别 |
---|---|
vi | 系统自带,不需要额外安装,没有vim功能多. |
vim | 需要额外安装,vi的升级版,未来大部分情况都是用vim即可. |
vi 如果文件不存在会自动创建 vim 如果目录不存在不会创建.
i 键 输入 esc 退出输入 :wq 保存退出 :q 退出 :wq! 强制保存退出 :q! 强制退出不保存
vim快捷键
行之间调整: 上下调整 熟练掌握
移动到最后一行 G(shift+g)
移动到第1行 gg
移动到某一行 100gg
列之间调整: 左右 了解
光标移动到行首 ^(数字6)
光标移动到行尾 $(数字4)
复制当前行 yy
删除当前行 dd
粘贴到当前行后 p
撤销 u(undo)
显示行号 :set nu 或 :set number
取消显示行号 :set nonu
搜索(默认就是向下找) /你要的内容
继续向下搜索 n(next)
继续向上搜索 N
搜索默认向上找 ?你要的内容
临时取消语法高亮 :noh 一般用于 /搜索错误,可以使用.
shift + v 进入到可视行模式(批量操作行)
按上下键,选择要处理的范围
如果删除按d,如果复制按y
2.11 查询命令位置
which 查询命令的位置
whereis 查询命令及相关文件的位置
2.12 文件比较命令
diff
a append 增加
c 替换,修改
d 删除
vimdiff
2.13 排序去重组合
sort
-n number把要排序的内容当做是数字,按照数字大小进行排序.
-k 指定某一列,根据某一列进行排序.
-r 逆序排序
-t 指定分隔符,单个字符
uniq -c 去重并显示次数(重复次数)
2.14 日期组合
date
+ 以xxxx格式显示日期与时间
%F 年-月-日
%Y-%m-%d
%w 周几
+%T %H:%M:%S 时:分:秒
-d 根据说明修改时间
-s 修改时间
ntpdatentpdate ntp1.aliyun.com
同步时间
timedatectl set-timezone Asia/Shanghai 修改时区
2.15 磁盘空间使用情况
block df -h 磁盘空间使用情况
inode df -i
2.16 打包
tar 大部分使用tar即可.创建,查看, 解压,解压到指定目录.
1️⃣创建 zcf tar zcf 压缩包 被压缩的文件/目录 ....
2️⃣查看 tf tar tf /tmp/etc.tar.gz
3️⃣解压 xf tar xf /tmp/etc.tar.gz
gzip 一般配合其他命令使用.
🅰️gzip xxx.txt 压缩
🅱️gzip -d xxx.txt.gz 解压
zip 一般用于解压zip格式的压缩包unzip
🅰️压缩 zip r etc.zip /etc/ -r用于压缩目录
🅱️解压 unzip etc.zip
四剑客 grep sed awk find
grep选项 说明
-n 显示行号
-v 排除,取反
-i 过滤的时候忽略大小写
find命令选项 说明
-type 什么类型的文件 f表示文件 d表示目录
-name 文件名
-size
根据大小查找文件 +表示大于 -表示小于
+10k(小写K) +10M(大写) G -mtime 根据修改时间查找文件