linux笔记
2023-08-01 15:50:02 36 举报
AI智能生成
一份较详细的linux总结
作者其他创作
大纲/内容
Linux内核
发行家族
Debian
Ubuntu
Linux Mint
Fedora
RHEL
CentOS
Oracle Linux
SUSE
SLES
openSUSE
其他版本
Linux云服务器
简单高效、安全可靠、处理能录可弹性伸缩
Linux启动过程
内核的引导
BIOS开机自检,首先读入/boot目录下的内核文件
运行init
init进程是系统所有进程的起点,首先需要读取配置文件/etc/inittab
运行级别
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登录
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登录后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登录后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
系统初始化
在init配置文件中:si::sysinit/etc/rc.d/rc.sysinit 调用执行了/etc/rc.d/rc.sysinit 而rc.sysinit是一个bash shell 的脚本,完成系统初始化的工作
主要工作:激活交换分区、检查磁盘、加载硬件模块及其他一些需要优先执行任务
5:wait:/etc/rc.d/rc 5
建立终端
rc执行完毕之后,返回init,接下来会打开6个终端,以便用户登录
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
2、3、4、5的运行级别中都将以respawn方式运行mingetty程序,该程序可以打开终端、设置模式
用户登录系统
命令行登录
ssh登录
图形界面登录
图形模式与文字模式的切换方式
默认登录进入tty1,ctrl+alt+F1`F6切换
如果有图形界面默认进入图形页面,按Ctrl+alt+F1~F6进入其中一个命令窗口页面
进入命令窗口后,按Ctrl+alt+F7返回图形页面
如果使用vmware虚拟机,命令窗口切换为alt+space+F1`F6,如果在图形界面下按alt+shift+ctrl+F1·F6
Linux关机
Linux大多用于服务器,基本上不会关机
正确关机流程
sync>shutdown>reboot>hait
关机指令为:shutdown,使用man shutdown 查看帮助文档
关机命令
sync:将数据由内存同步到硬盘中
shutdown:关机指令
shutdown -h 10 'This server will shutdown after 10 mins':计算机将在十分钟后关机,并且会显示在登录用户的当前屏幕中
shutdown -h now 立马关机
shutdown -h 20:25 系统会在今天20:25关机
shutdown -h +10:十分钟后重启
shutdown -r now:系统立马重启
shutdown -r +10:系统十分钟后重启
reboot:重启等同于shutdown -r now
halt:关闭系统,等同于 shutdown -h now 和 poweroff
linux基本文件属性
chown(change owner):修改所属用户与组
chmod(change mode):修改用户权限
在linux中使用ll或者ls -l显示文件的属性以及文件所属的用户和组
dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin 第一部分前十个字符第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限,第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
1、4、7位表示读权限,用r表示则有该权限,用-表示,则没有
2、5、8位表示写权限,用w表示则有该权限,用-表示,则没有
3、6、9位表示可执行权限,用x表示则有该权限,用-表示,则没有
更改文件属性
chgrp:更改文件属组
语法:chgrp [-R] 属组名 文件名
chown: 更改文件属主,也可以同时更改文件属组
chown [-R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
linux文件与目录管理
绝对路径:由根目录写起,例如:/usr/share/doc
相对路径:不是由/写起,例如从/usr/share/doc要到/usr/share/man下面时,可以写成 cd ../man
处理目录的常用命令
ls(list files):列出目录及文件名
cd(change directory):切换目录
pwd(print work directory):显示目前的目录
mkdir(make directory):创建一个新的目录
rmdir(remove directory):删除一个空的目录
cp(copy file):复制文件或目录
rm(remove):删除文件或目录
mv(move file):移动文件与目录,或修改文件与目录的名称
可以使用man[命令]来查看各个命令的使用文档,如 man cp
linux文件内容查看
cat:由第一行开始显示文件内容
tac:从最后一行开始显示,可以看出tac是cat的倒着写
nl:显示的时候,顺道输出行号!
more:一页一页的显示文件内容
less:与more类似,但是可以往前翻页
head:只看头几行
tail:只看尾巴几行
linux磁盘管理
df(disk free):列出文件系统的整体磁盘使用量
语法:df [-ahikHTm] [目录或文件名]
参数
-a:列出所有的文件系统,包括系统特有的/proc等文件系统
-k:以KBytes的容量显示各文件系统
-m:以MBytes的容量显示各文件系统
-h:以人们较容易阅读的GBytes,MBytes,KBytes等格式自行显示
-H:以M=1000K取代M=1024K的进位方式
-T:显示文件系统类型,连同该partition的filesystem名称(例如ext3)也列出
-i:不用硬盘容量,而以inode的数量来显示
du(disk used):检查磁盘空间使用量
语法: du [-ahskm] 文件或目录名称
参数
-a:列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已
-h:以人们较易读的容量格式(G/M)显示
-s:列出总量而已,而不列出每个各别的目录占用容量
-S:不包括子目录下的总计,与-s有点差别
-k:以KBytes列出容量显示
-m:以MBytes列出容量显示
fdisk:用于磁盘分区
语法:fdisk [-l] 装置名称
参数:-l :输出后面借的装置所有的分区内容。若仅有fdisk -l时,则系统将会把整个系统内能够搜寻到的装置的分区均列出来
磁盘格式化
mkfs(make filesystem)
语法:mkfs [-t 文件系统格式] 装置文件名
参数:-t:可以接文件系统格式,例如 ext3,ext2,vfat等(系统有支持才会生效)
磁盘检验
fsck(file system check)
语法:fsck [-t 文件系统] [-ACay] 装置名称
参数
-t:给定档案系统的型式,若在/etc/fstab中已有定义或kemel本身已支援的则不需加上此参数
-s:依序一个一个的执行fask的指令来检查
-A:对/etc/fstab中所有列出来的分区(partition)做检查
-C:显示完整的检查进度
-d:打印出e2fsck的debug结果
-p:同时有-A条件时,同时有多个fsck的检查一起执行
-R:同时有-A条件时,省略/不检查
-V:详细显示模式
-a:如果检查有错则自动修复
-r:如果检查有错则由使用者回答是否修复
-y:选项指定检测每个文件是自动输入yes,在不确定那些是不正常的时候,可以执行# fask -y全部检查修复
磁盘挂载与卸除
挂载:mount
语法:mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点
卸载:umount
语法:umount [-fn] 装置文件名或挂载点
参数
-f:强制卸除!可用在类似网络文件系统(NFS)无法读取到的情况下
-n:不升级 /etc/mtab 情况下卸除
linux vi/vim
什么是vim
vim是从vi发展出来的一个文本编辑器,代码补全、编译及错误跳转等
vim的使用
命令模式(Command Mode)
i-切换到输入模式,在光标当前位置开始输入文本
x-删除当前光标所在处的字符
:-切换到底线命令模式,以在最底一行输入命令
a-进入插入模式,在光标下一个位置开始输入文本
o-在当前行的下方插入一个新行,并进入插入模式
O-在当前行的上方插入一个新行,并进入插入模式
dd-删除当前行
yy-复制当前行
P-粘贴剪贴板内容到光标下方
p-粘贴剪贴板内容到光标上方
u-撤销上一次操作
Ctrl + r -重做上一次撤销的操作
:w-保存文件
:q-退出vim编辑器
:q! -强制退出vim编辑器,不保存修改
输入模式(Insert Mode)
字符按键及Shift组合,输入字符
enter,回车键,换行
BACK SPACE 退格键,删除光标前一个字符
DEL删除键,是那出光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down 上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
命令行模式(Command-Line Mode)
:w:保存文件
:q:退出vim编辑器
:wq保存文件并退出vim编辑器
:q!强制退出vim编辑器,不保存修改
三个模式图解
vi/vim按键说明
第一部分:一般模式可用的光标移动、复制粘贴、搜索替换等
光标移动
h或向左箭头:光标向左移动一个字符
j或下箭头:光标向下移动一个字符
k或向上箭头:光标向上移动一个字符
l或右箭头:光标向右移动一个字符
搜索替换
/word 向光标之下寻找一个名称为word的字符串
?word 向光标之上寻找一个字符串名称为word的字符串
n 英文按键,表示重复前一个搜寻的动作
N 英文按键,反向进行前一个搜寻动作
:n1,n2s/word1/word2/g n1与n2为数字,在第n1行与n2行之间寻找word这个字符串,并将该字符串取代为word2
:1,$s/word1/word2/gc或:%s/word1/word2/gc从第一行到最后一行寻找word1字符串,并将该字符串取代为word2
删除、复制与贴上
x,X 在一行当中,x为向后删除一个字符,X为向前删除一个字符
nx n为数字,连续向后删除n个字符
dd 剪切游标所在的那一整行,用p/P可以粘贴
ndd n为数字,剪切光标所在的向下n行
d1G 删除光标所在到第一行的数据
dG 删除光标所在的最后一行的所有数据
d$ 删除游标所在处,到该行的最后一个字符
d0 数字的0,删除游标所在处,到该行最前面一个字符
yy 复制游标所在的那一行
nyy n为数字,复制光标所在的向下n行
y1G 复制游标所在行到第一行的所有数据
yG 复制游标所在行到最后一行的数据
u 复原前一个动作
[Ctrl] + r重做上一个动作
. 小数点,重复前一个动作
第二部分:一般模式切换到编程模式的可用的按钮说明
i,I 进入输入模式,i为从目前光标所在处输入,I为在目前所在行的第一个非空格符处开始输入
a,A 进入输入模式,a为从目前光标所在的下一个字符处开始输入,A为从光标所在行的最后一个字符处开始输入
o,O 进入输入模式,o为在目前光标所在的下一行处输入新的一行,O为在目前光标所在的上一行处输入新的一行
r,R 进入取代模式,r只会取代光标所在的那一个字符一次,R会一直取代光标所在的文字,直到按下esc为止
esc 退出编辑模式,回到一般模式
第三部分:一般模式切换到指令模式的可用的按钮说明
:w 将编辑的数据写入硬盘档案中
:wl 若文件属性为只读时,强制写入该档案。
:q 离开vi
:q! 强制离开,不存储文件
:wq 存储后离开
ZZ 保存并退出
ZQ 不保存,强制退出
linux yum 命令
yum 语法 yum [options] [command] [packing...]
options:可选,包括-h(帮助),-y (安装过程中提示选择全部为yes),-q(不显示安装过程等)
command:要进行的操作
package;安装的包名
yum常用命令
列出所有可更新的软件清单命令:yum check-update
更新所有软件命名:yum update
仅安装指定的软件命令:yum install <package_name>
仅更新指定的软件命令:yum update <package_name>
列出所有可安装的软件清单命令:yum list
删除软件包命令:yum remove <package_name>
查找软件包命令:yum search <keyword>
清除缓存命令
yum clean packages:清除缓存目录下的软件包
yum clean headers:清除缓存目录下的headers
yum clean oldheaders:清除缓存目录下旧的headers
yum clean,yum clean all (= yum clean packages;yum clean oldheaders):清除缓存目录下的软件及旧的headers
linux apt 命令
apt 语法 apt [options] [command] [package...]
options:可选,选项包括 -h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等
command:要进行的操作
package:安装的包名
apt常用命令
列出所有可更新的软件清单命令:sudo apt update
升级
升级软件包:sudo apt upgrade
列出可更新的软件包及版本信息:apt list --upgradeable
升级软件包,升级前删除需要更新软件包:sudo apt full--upgrade
安装
安装指定的软件命令:sudo apt install <package_name>
安装多个软件包:sudo apt install <package_1><package_2><package_3>
更新指定的软件命令:sudo apt update <package_name>
更新软件包具体信息,如版本号,安装大小,依赖关系等:sudo apt show <package_name>
删除软件包命令:sudo apt remove <package_name>
清理不再使用的依赖和库文件:sudo apt autoremove
移除软件包及配置文件:sudo apt purge <package_name>
查找软件包命令:sudo apt search <package_name>
列出所有已安装的包:apt list --installed
列出所有已安装的包的版本信息:apt list --all-versions
0 条评论
下一页