目录
Linux
Linux基础
一、VM三种网络工作模式
桥接模式:将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机链接到这个交换机的一个接口上,物理主机也同样插在这个交换机中。
网络地址转换模式、仅主机模式
二、文件类型
d:目录文件
l:链接文件
b:块设备文件
c:字符设备文件
p:管道文件
-:普通文件
文件颜色 | 文件类型 |
---|---|
蓝色 | 目录文件 |
黑色 | 文件 |
浅蓝色 | 链接 |
红色 | 压缩包 |
绿色 | 可执行文件 |
黑底黄字 | 设备文件 |
三、文件目录
/bin:包含二进制可执行文件,系统的所有用户使用的命令都设置在这里。
/sbin:包含二进制可执行文件,但是linux命令通常由系统管理员使用,对系统进行维护。
/etc:包含所有程序所需的配置文件,包含用于启动/停止单个程序的启动和关闭shell脚本。
/dev:设备文件。包括终端设备、USB或连接到系统的任何设备。
/proc:包含系统进程的相关信息。
/var:变量文件。系统日志,数据库文件,电子邮箱,打印队列,锁文件,多长重启的零时文件。
/tmp:临时文件。
/usr:用户程序。
/boot:引导加载程序文件。
/lib:系统库。
/mnt:挂载目录。
四、null黑洞和zero空文件
使用dd命令产生一个50M的文件:dd if =/dev/zero of=b.txt bs=1M count=50
if 代表输入文件;of代表输出文件;bs代表字节为单位的块大小;count代表被复制的块数。
>/dev/null 2>&1
:将标准输出和错误输出全部重定向到/dev/null中,也就是将产生的所有信息丢弃。
五、管道命令
管道命令只处理前一个命令正确输出,不处理错误输出;
管道右边的命令,必须能够接收标准输入的数据流命令才行;
管道符可以把两条命令连起来,它可以链接多个命令使用。
例:ps -aux | grep vim
六、查找文件命令
命令 | 描述 |
---|---|
which | 查看可执行文件的位置 |
whereis | 查看可执行文件的位置及相关文件 |
locate | 配合数据库缓存,快速查看文件位置 |
grep | 过滤匹配,它是一个文件搜索工具 |
find | 查找相关文件 |
find:将查找到的文件复制到另一个目录下
find ./ -name "*.txt" -exec cp {} /目录名称 \;
perm:按照权限查找文件
例:
find 目录 -perm 755
查找权限为755的文件
find 目录 -perm -755
查找权限至少为755的文件
七、文件的特殊权限
权限 | 限定 | 功能 | 对应数值 |
---|---|---|---|
SUID | 只能设置在二进制可执行程序上,对目录设置无效。 | 程序运行时的权限从执行者变更成程序所有者的权限。 | u+s或u=4 |
SGID | 既可以给二进制可执行程序设置,也可以对目录设置。 | 在设定SGID权限的目录下建立文件时,新创建的文件所属组会继承上级目录的所属组。 | g+s或g=2 |
Stickybit | 粘滞为权限针对目录,对文件无效,也叫防删除位。 | 只能本用户对目录进行删除,其他用户无权限进行删除 | o+t或o=1 |
- Linux系统中文件默认权限为666,无可执行权限;目录默认权限为777 。
八、查看命令
文件:
ls -ltr 按时间排序查看文件 t 表示时间,r 表示从小到大,不加 r 由大到小
ls -lSr 按文件从小到大排序
ls -lS 按文件从大到小排序
ls -lSh 按文件从大到小排序 h 更能清楚的查看文件的大小
目录:
du -sh 查看目录并显示目录大小
磁盘:
df -h 快速查看磁盘大小
九、sort命令
进行排序
-t 指定一个用来区分键位置字符
-k 后跟数字,指定按第几列进行排序
-r 反序排序
例:
sort -t ":" -k3 -r /文件
将文件按照分号分隔,取第三列数据进行反序排序(从大到小)。
十、tar命令
作用:打包压缩文件。将多个文件和(或)目录放在同一个文件中,可进行压缩。
参数:
-c 创建文件
-x 提取解压还原文件
-v 显示执行详细过程
-f 备份文件
-t 列出压缩包中有哪些文件,不解包查看文件内容
-C 指定解压位置
三种压缩方法后的压缩比例
压缩后大小排序:tar > gzip > bzip2 > xz(文件最小,但压缩过程最慢)
十一、uptime、top命令(必会)
uptime作用:查看CPU负载工具
结果 | 说明 |
---|---|
08:34:23 | 当前时间 |
up 20 days | 系统运行时间,说明此服务器运行了10天 |
1 user | 当前登录用户数 |
load average:0.22,0.32,0.14 | 系统负载,即任务队列的平均长度。三个数值分别表示1分钟、2分钟、15分钟前到现在的平均值 |
top作用:动态管理进程
内容:第一行与uptime弹出信息一样,第二三行信息为进程和CPU信息。
结果 | 说明 |
---|---|
Tasks: 156 total | 进程总数 |
1 running | 正在运行的进程数 |
155 sleeping | 睡眠的进程数 |
0 stopped | 停止的进程数 |
0 zombie | 僵尸进程数 |
%Cpu(s): 0.0 us | 系统用户进程使用 CPU 百分比 |
0.4 sy | 内核中的进程占用 CPU 百分比 |
0.0 ni | 用户进程空间内改变过优先级的进程占用CPU百分比 |
99.6 id | 空闲 CPU 百分比 |
结果 | 说明 |
---|---|
Mem: 1865308 total | 物理内存总量 |
804936 free | 空闲内存总量 |
573388 used | 使用物理内存的总量 |
4886984 buff/cache | 用作内核缓存的内存量 |
Swap: 2194300 total | 交换区总量 |
1076816 avail Mem | 总的可利用内存 |
注:如果swap内存被占用,有可能是 CPU 资源不够用。
结果 | 说明 |
---|---|
PID | 进程id |
USER | 进程所有者的用户名 |
PR | 优先级(由内核动态调整),用户不能调整 |
NI | 进程优先级。负值表示高优先级,正值表示低优先级,用户可自己调整 |
SHR | 共享内存大小,单位kb |
S | 进程状态。 D=不可中断的运行状态 R=运行中或可运行 S=睡眠中 T=已跟踪/已停止 Z=僵停 |
%CPU | 上次更新到现在的 CPU 时间占用百分比 |
%MEM | 进程使用的物理内存百分比 |
TIME+ | 进程使用的 CPU 时间总计,单位 1/100 秒 |
COMMAND | 命令名/命令行 |
十二、losf 命令
作用:查看进程打开的文件,打开文件的进程,进程打开的端口
-i<条件>:列出符合条件的进程。
-p<进程号>:列出指定进程号所打开的文件。
十三、Linux进程的基本状态
进程信息描述:
USER 启动进程的用户
PID 进程的ID
%CPU 进程占用 CPU 的百分比
%MEM 进程占用内存的百分比
VSZ 进程占用虚拟内存的大小
RSS 进程占用物理内存的大小
Linux 的五种基本状态:
R 正在运行
S 正在睡眠
T 正在侦测或者停止
Z 该程序已经终止,但是其父程序无法正常终止,造成僵尸(zombie)程序
D 不可中断状态
五种基本状态的附加描述
< 进程运行在高优先级上
N 进程运行在低优先级上
L 进程有页面锁定在内存中
s 进程是控制进程
l 进程是多线程
+ 当前进程运行在前台上
十四、硬链接与软链接
硬链接:指通过索引节点号进行连接,inode 可以对应多个文件名(在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型,都会分配一个编号称为索引节点号,即为inode)。
作用:允许一个文件拥有多个有效路径名,这样用户就可以建立硬件连接到重要文件,防止误删。
原理:多个文件名指向同一个inode,因此多个文件共用一个inode号;源文件被删除,不影响连接文件的正常使用。
软链接:也称为符号连接。类似于 Windows 的快捷方式。文件实际上是一个文本文件,其中包含有另一文件的位置信息。
十五、Linux的计划任务
at 命令:处理一次执行任务
使用:启动at服务:systemctl start atd
例:创建一个在 12:00 创建 a.txt 文件的计划
1)at 12:00 2)touch a.txt 3)Ctrl + D 结束任务
查看创建的 atd 计划:at -l
详细查看创建的 atd 计划:at -c 任务编号
删除创建的 atd 计划:atrm 任务编号
十六、Linux网络的相关调试命令
查看网卡物理链接是否正常:mii-tool ens33
查看IP的相关信息:ifconfig
重启网络服务:service network restart
启动关闭指定网卡:ifconfig 网卡名 up/down
查看端口的监听状态:netstat
查看路由信息:route -n
路由跟踪,测试到达一个路由需要几跳:traceroute 网址
查看IP地址是否有冲突:arping 网址
十七、SHELL变量
命名规则:
变量通常是大写字母,它可以有数字、字母和下划线组成,区分大小写,不能以数字开头;
为变量赋值用等于号,但是等于号两边不能有空格;
对变量进行调用时,在变量名前加 $ 。
变量的分类:
用户自定义变量;
环境变量:保存系统操作环境相关的数据;
位置参数变量:向脚本当中传递参数或数据,变量名不能自定义,变量作用是固定的;
预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用是固定的。
备用基础
Linux快捷键
操作 | 描述 |
---|---|
^A/E | 调到命令行的开头/结尾 |
^U/K | 将光标处到命令行开头/结尾的内容删除 |
^R | 搜索历史命令 |
!$ | 引用上一个命令的最后一个参数 |
注:^ 代表 Ctrl 键
设计默认启动级别
启动级别 | 命令 |
---|---|
3 | systemctl set-default multi-user.target |
5 | systemctl set-default graphical.target |
基础命令
alias:对一些命令起别名(可以设置全局使用 /root/.bashrc 或者 /etc/bashrc)
hwclock、date:查看系统时间
man:查看手册页或者命令描述
more:查看文件,不可以上翻
less:查看文件,可以上翻
head:
head -n 5 文件名
查看文件头前五行tail:-n(查看尾部信息)、-f(动态显示数据)
touch:通过-d可以指定时间
用户配置文件
名称 | 账号信息 | 说明 |
---|---|---|
用户配置文件 | /etc/passwd | 记录了每个用户的基本属性,并且对所有用户可读 |
用户组文件 | /etc/group | 存放用户组所有信息,组名不能重复 |
用户对应的密码 | /etc/shadow | passwad所有用户可读,为了安全起见,把密码分离出来 |
命令 | 表示 | 说明 |
---|---|---|
useradd | -u(UID)、-d(宿主目录)、-g(起始主)、-G(附加组)、-s(shell)、-L(锁定) | 添加 |
userdel | -r(删除家目录) | 删除 |
usermod | -u(UID)、-d(宿主目录,移动时加上-m)、-g(起始主)、-c(添加描述信息)、-G(附加组)、 -s(shell)、-L(锁定) | 修改 |
误删用户家目录
su -用户名
cp /etc/skel/.bash* 用户目录
chown 用户名:所属组 用户目录/.bash*
误删 /etc/passwd 目录
/etc 目录下有 /etc/passwd /etc/passwd- 两个目录,这两个目录内容相同,如果误删,可使用其备份进行恢复。
文档乱码
iconv -f 文档原始编码 -t 要转换成的编码 文档
文档换行
安装:rpm -ivh /mnt/Packags/dos2unix-...
转换:unix2dos 文档名称
vim的三种模式
命令模式、编辑模式、命令行模式
命令 | 说明 |
---|---|
i | 在当前字符前插入 |
a | 在当前字符后插入 |
o | 下一行插入 |
x | 向后删除一个字符 |
r | 替换 |
键位 | 说明 |
---|---|
0/$ | 跳到行首/行尾 |
h/j/k/l | 方向键 |
gg/G | 快速跳转到文档的行首/行尾 |
数字+gg | 快速跳转到第n行 |
/字符 | 查找特点字符,n/N进行翻找,:noh取消亮高 |
y/yy | 对一个字符/整一行进行复制 |
数字+yy | 复制n行数据 |
p | 粘贴 |
d/dd | 删除当前光标所在字符/行(dd也可以作为剪切) |
D | 删除本行光标到尾部的数据 |
u | 撤销 |
ctrl+r | 恢复撤销 |
对vim文档进行多行注释
1)ctrl+v进入列编辑模式
2)移动光标选择需要注释的行
3)然后按大写的I
4)再插入注释或者你想插入的字符
5)双击Esc,就会添加全部
vim调用外部文件或命令
!+命令 调用系统命令
r+文件目录 将其他文件的内容追加到当前文档中
vim命令行替换
范围(%为替换所有行的内容) s 分隔符 旧内容 分隔符 新内容 /g(加/g替换本行全部符合的内容,如果不加仅仅替换第一个符合的字符)
例:1,3 s/dfs/fds(一到三行,将dfs替换为fds)
vim编译环境全局配置
vim /etc/vimrc 影响整各系统的所有用户
在家目录下创建文件.vimrc,影响本用户
vim同时打开两个文件
vim -o 文件一 文件二(上下打开两个文件)
vim -O 文件一 文件二(左右打开两个文件)
切换文件:Ctrl+w
比较两个文件内容的不同
diff 文件一 文件二
vimdiff 文件一 文件二
Linux 锁屏解决方式
Ctrl + s 锁屏,导致不能输入
Ctrl + Q 解除锁屏状态
加入小猿QQ群:947117563,一起闲聊工作那些事!!