栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

3.Linux基础与命令

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

3.Linux基础与命令

文章目录
  • Linux基础
    • Linux发行版
    • Linux硬盘和磁盘分区
    • Linux文件系统类型
    • inode节点和块
      • 元数据和数据块
      • 读取文件流程
      • 创建文件流程
      • 删除文件流程
    • Linux系统开机自检,系统引导过程
      • init进程
      • Systemd进程
    • 系统服务控制
  • Linux命令
    • Shell介绍
    • Linux命令分类
    • Linux命令快捷键
    • 获取命令帮助方式
    • 管道符
    • 常用命令


Linux基础 Linux发行版

Linux本身是指Linux内核,Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux发行版主要有两大类:

  1. RedHat系列
    包括Centos
  2. Debian系列
    包括kali、Ubuntu
Linux硬盘和磁盘分区

Linux中所有东西都以文件方式存储。
示例:/dev/hda5(第一块IDE硬盘的第五个分区)
/dev是硬盘设备文件、所有外部设备所在目录。
hd表示IDE类型设备,sd表示SCSI类型设备。
硬盘的顺序号,以字母a、b、c、d。。。。表示,按硬盘的个数来排序。
分区的顺序号,以数字1、2、3 。。。表示。
硬盘分区有三种,主分区、扩展分区、扩展分区里的逻辑分区。

  • 主分区至少一个,最多四个。顺序号为1-4。
  • 扩展分区最多一个。
  • 逻辑分区顺序号从5开始。
Linux文件系统类型

文件系统类型不一样可能无法复制文件。例如移动硬盘和服务器的不一致,无法交换文件。
目前Centos8默认使用的文件系统类型:

  • XFS,日志文件系统。(单个系统文件的最大支持量特别大,适合巨型文件单个操作,操作大型文件非常有效)
  • SWAP,交换分区。(将硬盘的一部分空间虚拟成内存来使用,可以缓解物理内存不足的问题)

Centos7以前是用的是EXT4。
Linux支持的其他文件系统类型:EXT3、EXT4、FAT16、FAT32、NTFS、XFS、JFS等。

inode节点和块

文件是由元数据和数据块组成。
文件存储在硬盘上,最小的存储单位叫扇区。每个扇区512字节。每次文件读取时读1个数据块。
inode节点用光了以后不能存文件了。

元数据和数据块
  • 元数据:创建者,创建日期,大小等,也称为索引节点。
    inode表:存储元数据的区域,文件字节数,权限,归属,时间戳,连接,数据块位置
    inode bitmap:inode使用情况,比如空闲inode
    block bitmap:块的使用情况,比如空闲inode与空闲块等信息
    inode区域包含了inode表、inode bitmap、block bitmap,大小为128b或者256b。
  • 数据块:由多个扇区组成,常见4KB一块,也就是8个扇区,存放文件数据和目录数据。
读取文件流程

查看/var/log/message文件过程:

  1. 根目录自引用,从/的inode信息中找到var对应块的信息。
  2. 得到var对应块的信息,找到var目录。
  3. 从var目录的inode信息中,找到log对应块的信息。
  4. 从log目录的inode信息中,找到message文件。
  5. 最后回到log目录的inode信息中,找到存储的数据块地址。

stat messages可以查看到整个文件的inode信息,时间、权限、归属、权限、数据块等。

创建文件流程

创建/root/chaitin.txt文件:
1、创建文件时,先找到当前目录的inode区域中inode bitmap的空闲inode号和block bitmap的空闲block。
2、根据空闲的inode号找到空闲的块(也就是root目录块),然后将空闲inode号和空闲的块进行连接。
3、创建好连接以后,去空闲的块中进行创建,inode号就是最开始查到的空闲inode号。

删除文件流程

1、先去找inode表,把文件对应的块的区域,在inode区域里的block bitmap中标注为空闲block。(这时数据依然存在)
2、下次创建文件时,覆盖掉上次占用这个inode号的文件。

Linux系统开机自检,系统引导过程

1、开机自检(BIOS),根据电脑主板配置,对CPU、内存、显卡硬件设备进行检查是否有问题。
2、MBR引导,也就是从硬盘中启动系统。
3、GRUB菜单,也就是虚拟机启动时,让选择系统内核的菜单。
4、加载内核(kernel),内核是一个特殊的二进制文件,介于硬件和系统之间,负责系统资源分配和调度。
5、init进程初始化,也就是/sbin/init,完成以后,跳入登录界面。

init进程

由Linux内核加载运行/sbin/init程序,是系统中第一个进程,PID号永远为1。

Systemd进程

代替init进程,成为主流。例如systemctl命令。
程序位于/usr/lib/systemd/systemd
优势:向下兼容、更快的启动速度、集中化命令管理、更合理的命令结构。

Systemd单元类型:

  • 单元类型:Service 扩展名:.service 说明:描述一个系统服务。
  • 单元类型:Target 扩展名:.target 说明:描述一组systemd的单元。
  • 还有更多。。。。

Systemd的Target(Linux运行级别):
systemctl get-default查看默认的运行级别。
systemctl set-default multi-user.target设置默认运行级别。
init 6重启。
runlevel查看运行级别。

  • 0(target):系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭。
  • 1(rescue.target):单用户工作状态,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。
  • 2(multi-user.target):多用户状态,没有NFS支持。
  • 3(multi-user.target):完整的多用户模式,有NFS,登陆后进入控制台命令行模式。
  • 4(multi-user.target):系统未使用。
  • 5(graphical.target):X11控制台,登陆后进入图形GUI模式,XWindow系统。
  • 6(reboot.target):系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。运行init6机器就会重启。
系统服务控制

systemctl start/stop/restart/reload/status 服务名称
systemctl enable/disable 服务名称设置服务开机自启动

Linux命令

Linux命令对英文区分大小写。

Shell介绍

Shell就是黑窗口,执行Linux命令的地方。
接收用户命令 -> 解释命令,转为二进制 -> 传递给系统内核运行

Linux命令分类
  • 内部命令
    属于Shell一部分,没有单独对应的系统文件,自动载入内存,可以直接使用。
  • 外部命令
    不属于Shell一部分,每个外部命令对应了系统的一个文件,必须知道其对应的文件位置,由Shell加载以后使用。

$PATH下面存的外部命令地址
type 命令可以查看命令属于内部还是外部。

Linux命令快捷键
  • Tab 补全
  • 换行
  • Ctrl +u 直接到命令行首
  • Ctrl + k 删除光标以后的内容
  • Ctrl + l 清屏
  • Ctrl + c 强制停止
获取命令帮助方式
  • help 查看内部命令文档
  • –help 软件开发者写的
  • man 查看外部命令文档
管道符

管道符:将前面命令的输出结果作为后面命令的参数使用。

常用命令
mkdir 目录名   #创建目录
mkdir 目录名1 目录名2 #在同一级下批量创建目录
mkdir -p 目录名1/目录名1.1/目录名1.1.1 #创建多级目录,如果目录不存在,就新建一个
ls #列出目录下的内容
ls -a #显示所有文件及目录(.开头的隐藏文件也会列出)
ls -l #除文件名称外,也将文件形态、权限、拥有者、文件大小等详细列出。等同于ll
ls -h #以K,M,G为单位列出文件大小
pwd #以绝对路径展示用户当前工作目录
cd 目录名 #切换当前工作目录
cd 绝对路径 #切换到目标目录
cd . .. ~ - #.代表当前目录,..代表上一级目录,~切换至用户家目录(root家目录在/root,其他用户在/home下),-回到上一个目录
touch 文件名 #创建一个空白的新文件,如果同名文件已存在,则修改期时间属性。
cp 源文件 目录 #复制文件到目录
cp -r 源目录 目录 #-r表示若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。(递归)
cp -p 源文件 目录 #-p除了复制文件的内容以外,还把修改时间和访问权限也复制到新文件中(保持默认属性)
mv 源文件名/目录 文件名/目录名 #用来为文件或者目录改名、或者将文件或者目录移入其他位置
mv -f 源文件名/目录 文件名/目录名 #-f如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
mv -n 源文件名/目录 文件名/目录名 #-n不要覆盖任何已存在的文件或目录。
cat 文件名 #查看文件内容 nl 或者 -n显示行号
echo '文本' #用于输出指定内容
echo '文本'> 文件 #将输出内容覆盖到文件中
echo '文本'>> 文件 #将输出内容追加到文件中
more 文件名 #查看文件内容,空格键是下一页,回车键是显示文本的下一行内容,b键会往回一页显示,q键退出
less 文件名 #查看文件内容,可以进行内容搜索,读取文件速度快,因为不像more那样把整个文件打开
head -n 行数 文件名 #查看文件的开头几行的内容,如果不加-n默认是10行内容
tail -n 行数 文件名 #查看文件的末尾几行的内容,如果不加-n默认是10行内容
tail -f 文件名 #循环读取文件新增的内容
wc -l 文件名 #显示文件的行数
wc -c 文件名 #显示文件的Bytes数
wc -w 文件名 #显示文件的字数
du -h 文件名 #显示文件的使用空间,-h是用K,M,G为单位,提高信息的可读性
df -h #显示硬盘被占用多少空间,目前还剩下多少空间。默认显示单位KB,-h是用K,M,G为单位,提高信息的可读性
getenforce #查看selinux状态
apt-cache search linux-image命令可检索kali系统最新版本内核
apt-get install linux-image-xxx linux-header-xxx命令以安装kali最新版本内核,其中xxx代表内核版本,安装新的内核以后需要重启电脑
alias #起别名
alias -p #查看当前系统存在的别名
du #统计目录或者文件所占空间的大小
ln file1 lnk1 #创建指向⽂件/⽬录的硬链接,删除原始文件后可用,只能用于文件
ln -s file1 lnk1 #创建指向⽂件/⽬录的软链接,删除原始文件后失效,可以用于文件和目录
which 查找命令所在位置
which -a 查找命令所在的所有位置
find #查找文件 -name 根据名称 -size 根据大小 -user 根据属主 -type 根据文件类型

group #查找文件内容 -i忽略大小写 -v反转查
------------------------------------------------------------------------------------------------
tar #归档或者打包
tar -cvf xxx.tar file #创建⾮压缩tar包
tar -cvf xxx.tar file1 file2 dir1 #将多个⽂件+⽬录打tar包
tar -tf xxx.tar #查看tar包的内容
tar -xvf xxx.tar #解压tar包
tar -xvf xxx.tar -C /dir #将tar包解压⾄指定⽬录
tar -cvfj xxx.tar.bz2 dir #创建bz2压缩包
tar -jxvf xxx.tar.bz2 #解压bz2压缩包
tar -cvfz xxx.tar.gz dir #创建gzip压缩包
tar -zxvf xxx.tar.gz #解压gzip压缩包
-----------------------------------------------------------------------------------------------------------------------------------------------
vi 一般模式下:
set nu #显示行号
/qqq #搜索“qqq”内容
gg #光标立马回到第一行
2 #光标向下跳2行,以此类推
G #移动到最后一行
dd #删除当前行
d2j #删除当前行和下两行
yy #复制一行
y2y #复制2行
p(小写) #粘贴到光标之后
P(大写) #粘贴到光标之前
------------------------------------------------------------------------------------------------------------------------------------------------
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/894288.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号