以centos7为主
linux初始化
centos安装
安装位置
40G分配内存
/ 30G
/boot 200M
swap 4G
/tmp 5935M
软件安装
创建账户
磁盘分区表示方法
linux中将硬盘、分区等设备均表示为文件
硬盘与标准分区结构
常见的文件类型
- centos7默认使用的文件系统类型
- XFS,日志文件系统
- SWAP,交换文件系统
- linux支持的其他文件系统类型
- EXT3、EXT4
- FAT16、FAT32、NTFS
- XFS、JFS
- ……
inode节点与块
元数据 : 创建者、创建日期、大小等,称为索引节点
数据块 : 由多个扇区组成,常见4KB一块,存放文件数据和目录数据
inode区域 : 存储元数据的区域,文件字节数、权限、归属、时间错、连接、数据块位置
inode bitmap : inode使用情况,比如空闲的inode
block bitmap : 块的使用情况,比如空闲inode与空闲块等信息
linux系统引导过程
开机自检[BIOS] => MBR引导 => GRUB菜单 => 加载内核[kernel] => init进程初始化
init进程
由linux内核加载运行/sbin/init程序
是系统中的第一个进程
PID[进程标记]号永远为1
Systemd进程
代替init进程,成为主流
程序位于/usr/lib/systemd/systemd
Systemd的优势
- 向下兼容
- 更快的启动熟读,集中化命令管理,更合理的命令结构
Systemd单元类型
单元类型 | 扩展名 | 说明 |
---|---|---|
Service | .service | 描述一个系统服务 |
Socket | .socket | 描述一个进程间通信的套接字 |
Device | .device | 描述一个内核识别的设备文件 |
Mount | .mount | 描述一个文件系统的挂载点 |
Automount | .automount | 描述一个文件系统的自动挂载点 |
Swap | .swap | 描述一个内存交换设备或交换文件 |
Path | .path | 描述一个文件系统中文件或目录 |
Timer | .timer | 描述一个定时器[用于实现类似cron的调度任务] |
Snapshot | .snapshot | 用于保存一个systemd的状态 |
Scope | .scpoe | 使用systemd的总线接口以编程的方式创建外部进程 |
Slice | .slice | 描述居于Cgroup的一组通过层次组织的管理系统进程 |
Target | .target | 描述一组systemd的单元 |
运行级别
对应的Systemd目标
运行级别 | Systemd的target | 说明 |
---|---|---|
0 | target | 关机状态,使用该级别时将会关闭主机 |
1 | rescue.target | 单用户模式,不需要密码验证即可登录系统,多用于系统维护 |
2 | multi-user.target | 用户定义/域特定运行级别[默认等同于3] |
3 | multi-user.target | 字符界面的完整多用户模式,大多数服务器主句运行在此级别 |
4 | multi-user.target | 用户定义/域特定运行级别[默认等同于3] |
5 | graphical.target | 图形界面的多用户模式,提供了图形桌面操作系统 |
6 | reboot.target | 重新启动,使用该级别时将会重启主机 |
init 3
和systemctl isolate multi-user.target
实现的效果一样
目录结构
目录 | 说明 |
---|---|
bin | 存放的是所有用户都可以执行的命令文件 |
dev | 存放的是设备[硬盘、光盘、摄像头、鼠标等] |
home | 普通用户的家目录 |
lib64 | 库文件所存的目录 |
mnt | 移动存储设备的挂载目录 |
proc | 存放内存所执行的文件,能查看,不能修改 |
run | 自动运行的程序 |
srv | 一些服务 |
tmp | 临时文件 |
var | 日志文件 |
boot | 引导程序 |
etc | 配置文件 |
lib | 库文件所存的目录 |
media | 媒体文件 |
opt | 存放的重要文件和proc差不多 |
root | 管理员用户专用的家目录 |
sbin | 和bin相对应,但只有管理员可以执行 |
sys | 系统 |
usr | 第三方安装软件 |
shell
linux系统中运行的一种特殊程序
在用户和内核之间充当翻译官
用户登录linux系统时,自动加载一个shell程序
bash是linux系统中默认使用的shell程序[文件位于/bin/bash]
linux基础配置
关闭防火墙
-
临时关闭
setenforce 0
-
永久关闭
vim /etc/selinux/config
systemctl stop firewalld
iptables -F
系统服务控制
systemctl 控制类型 服务名称
控制类型
- stop : 关闭
- start : 开启
- restart : 重启
- reload : 重新加载
- status : 查看状态
运行级别切换
查看运行级别
runlevel
systemctl
runlevel只能查看切换运行级别与当前运行级别
systemctl时能查看默认的运行级别
临时切换运行级别
init
systemctl
init的命令参数是运行界别所对应的数字
systemctl的命令参数是具体的target
优化启动项
系统服务管理工具
ntsysv工具
提供一个交互式、可视化窗口,可以在字符终端运行,便于集中管理多个服务
systemctl工具
不提供交互式、可视化窗口,管理单个服务效率更高
- 查看系统服务的启动状态
systemctl is-enabled 服务名称
- 设置系统服务的启动状态
systemctl enable/disable 服务名称
linux命令介绍
linux命令分类
- 内部命令
- 继承与shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令
- 属于shell的一部分
- 没有单独对应的系统文件
- 自动载入内存,可以直接使用
- 外部命令
- linux系统中能够完成特定功能的脚本文件或二进制程序
- 属于shell解释器程序之外的命令
- 每个外部命令对应了系统中的一个文件
- 必须只带其对应的文件位置,由shell加载后才能执行
linux命令格式
命令字 [选项] [参数]
帮助信息
help
--help
man / info
别名信息
- 设置别名
alias 命令别名='命令'
alias ll='ls -l --color=auto'
- 删除别名
unalias 命令别名
unalias ll
linux基础命令
目录和文件操作
查看及切换目录
pwd
- 显示用户当前所在的工作目录位置、
cd
- 将用户的工作目录切换到其他位置
指令 | 描述 |
---|---|
cd ./ | 切换当前目录[不做变化] |
cd ../ | 切换到上一级目录 |
cd ~ | 切换到宿主目录 |
cd - | 切换到上一次执行cd的目录 |
ls
指令 | 描述 |
---|---|
ls -l | 以长格式显示 |
ls -h | 显示文件大小等信息 |
ls -a | 查看当前目录下的隐藏文件 |
ls -A | 显示出了"."和".."开头的文件 |
ls -d | 查看目录本身的信息 |
ls *.txt | 查看以.txt结尾的文件【*匹配文件名中的任意多个字符】 |
ls ?.txt | 查看单个字符开头,.txt结尾的文件【?匹配文件名中的一个字符】 |
du
- 统计指定目录[或文件]所占用的磁盘空间的大小
指令 | 描述 |
---|---|
du -a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 |
du -h | 显示出目录或文件的大小[K、M],默认的大小单位时字节[KB] |
du -s | 只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小 |
创建目录和文件
mkdir
- 创建新的空目录
指令 | 描述 |
---|---|
mkdir -p | 一次创建多层目录[mkdir -p a/b/c/d] |
创建多层,多个目录时,需要注意绝对路径和相对路径
touch
- 创建新的空文件[更新文件的时间标记]
ln
- 为文件或目录创建连接文件[和windows的快捷方式类似]
软链接 | 硬链接 | |
---|---|---|
删除原始文件后 | 失效 | 仍旧可以使用 |
使用范围 | 适用于文件或目录 | 只能用于文件 |
保存位置 | 与原始文件可以位于不同的文件系统中 | 必须与原始文件在一个文件系统[linux分区]内 |
- 软链接
ln -s 源文件或目录 链接文件或目标位置
ln -s /bin/bzip2 /bin/wx/
- 硬链接
ln /bin/bzip2 /bin/wx/
复制删除移动目录
cp
- 将需要复制的文件或目录[源]重建一份,并保存为新的文件或目录,复制后可赋予新名称
指令 | 描述 |
---|---|
cp -f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
cp -i | 覆盖目标同名文件或目录时提醒用户确认 |
cp -p | 复制时保持源文件的权限、属主以及时间标记等属性不变 |
cp -r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
rm
- 删除指定的文件或目录
指令 | 描述 |
---|---|
rm -i | |
rm -rf | 默认全部同意递归删除文件或目录 |
mv
- 将指定的文件或目录转移位置
- 如果目标位置与源位置相同,则相当于执行重命名操作
mv 123 1234 // 这是重命名
mv /root/123.txt /home/mpy // 这是移动
查找目录和文件
which
-
查找可执行命令的在哪里
-
搜索范围由环境变量PATH决定[echo $PATH]
which 命令或程序名
which -a 命令或程序
which ls
which cd
find
-
基于某些条件查找一些文件
-
采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
查找类型 | 关键字 | 描述 |
---|---|---|
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用"*"及"?"通配符 |
按文件大小查找 | -size | 根据目标文件的大小进行查找 一般使用"+"、"-"号设置超过或小于指定的大小作为查找条件 常用的容量单位包括kB[注意k是小写]、MB、GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找 问价类型包括普通文件[f]、目录[d]、链接文件[l]、块设备文件[b]、字符设备文件[c]等 块设备是指成块读取数据的设备[硬盘、内存等] 字符设备是指按单个字符读取数据的设备[键盘、鼠标等] |
逻辑运算符 | 描述 |
---|---|
-a | 表示且and |
-o | 表示或or |
find 查找范围 -name 查找的文件名
find / -name 123.txt
find / -size +1024k -a -name log.txt
文件管理
查看和检索文件
cat
- 显示出文件的内容
指令 | 描述 |
---|---|
cat -n | 显示内容行号 |
cat -b | 显示内容行号,但是不现实空行 |
more
- 全屏分页显示文件内容
- 按enter向下逐行滚动
- 按空格向下翻一屏
- 按q退出
less
- 和more一样,但扩展功能更多
- page up向上翻页,page down向下翻页
- 按 / 查找内容,n下一个内容,N上一个内容
- 其他功能和more类似
head
- 查看文件的头几行[默认10行]
指令 | 描述 |
---|---|
head -n | n代表指定的行数 |
head -10 /etc/1.txt // 查看1.txt的前10行
tail
- 查看文件结尾的少部分内容[默认10行]
指令 | 描述 |
---|---|
tail -n | n代表指定的行数 |
tail -f | 动态监测文件末行内容 |
tail -10 /etc/1.txt // 查看1.txt的最后10行
wc
- 统计文件中单词数量等信息
指令 | 说明 |
---|---|
wc -l | 统计行数 |
wc -w | 统计单词个数 |
wc -c | 统计字节数 |
grep
- 在文件中查找并显示包含指定字符串的行
参数 | 描述 |
---|---|
-i | 查找时会忽略大小写 |
-v | 反转查找,输出与查找条件不相符的行 |
查找条件设置
- 要查找的字符串要用引号包裹
^
表示开头,$
表示结构,^$
表示空行
xargs
find / -name hosts | xargs -I {} 命令 {}
将恰面查找的结果放大后面执行,xargs会把执行结果保存到{},之后在通过后面的指令对{}中的内容进行处理
find / -name hosts | xargs -I {} cp {} / // 通过find查找hosts,之后把hosts复制到根目录下
备份和恢复文档
gzip
- 压缩文件
gzip 1.txt // 直接生成1.txt.gz
bzip2
- 压缩文件
bzip2 1.txt // 直接生成1.txt.bz2
gunzip
- 解压文件[等同于 gzip -d]
gunzip 1.txt.gz // 解压文件
bunzip2
- 解压文件[等同于bzip2 -d]
bunzip2 1.txt.bz2 // 解压文件
tar
- 制作归档文件、释放归档文件
参数 | 描述 |
---|---|
-c | 创建.tar格式的包文件 |
-x | 解开.tar格式的包文件 |
-v | 输出详细信息 |
-f | 表示使用归档文件 |
-p | 打包时保留原始文件及目录的权限 |
-t | 列表查看包内的文件 |
-C | 捷豹时指定释放的目标文件夹 |
-z | 调用gzip程序进行压缩或解压 |
-j | 调用bzip2程序进行压缩或解压 |
tar -zcvf 文件或目录 // 压缩文件
tar -zxvf .tar文件 // 解压文件
vi使用
三种工作模式
命令模式 --输入a、i、o--> 进入输入模式 --按esc-->命令模式 --输入:
-->进入末行模式
输入模式
a
: 当前光标的下一行位置插入i
: 当前光标位置插入o
: 下一行的首位置插入
命令模式
光标操作
操作 | 描述 |
---|---|
:set nu | 显示行号 |
:set nonu | 不显示行号 |
#G | 跳转到第几行[#代表行号] |
G | 跳转到文件的行尾 |
gg | 跳转到文件的行首 |
删除操作
操作 | 描述 |
---|---|
x或Del | 删除光标处的单个字符 |
dd | 删除当前光标所在行 |
#dd | 删除从光标处开始的#行内容 |
d^ | 删除当前光标之前到行首的所有字符 |
d$ | 删除当前光标之后到行尾的所有字符 |
复制操作
操作 | 描述 |
---|---|
yy | 复当前整行的内容到剪贴板 |
#yy | 复制从光标处开始复制#行内容[从光标处开始往下数#行,一起复制] |
粘贴操作
操作 | 描述 |
---|---|
P | 将缓冲区中的内容粘贴到光标位置处之后 |
p | 粘贴到光标位置处之前 |
文件内容查找
操作 | 描述 |
---|---|
/word | 从上而下在文件中查找字符串word |
?word | 从下而上在文件中查找字符串word |
n | 定位下一个匹配到的字符串 |
N | 定位上一个匹配到的字符串 |
撤销编辑
操作 | 描述 |
---|---|
u | 按一次取消最近的操作,支持多次重复按u恢复到原来的状态 |
U | 取消对当前行所做的所有编辑 |
ZZ | 保存当前文件内容并退出 |
末行模式
:
: 进入末行模式
保存退出
操作 | 描述 |
---|---|
:w | 保存修改的内容 |
:w /root/newfile | 另存为其他内容 |
:q | 未修改退出 |
:q! | 放弃对文件的修改直接退出 |
:wq | 保存并退出 |
编辑其他文件
操作 | 描述 |
---|---|
:e 其他文件的绝对路径 | 从编辑当前文件切换到编辑其他文件 |
:r 其他文件的绝对路径 | 在当前文件中读取其他文件的内容 |
:sp 其他文件的绝对路径 | 分屏编辑多个文件 |
ctl+w后按上或下 | 分屏编辑后切换编辑对象 |
查找替换
操作 | 描述 |
---|---|
标签:文件,named,chroot,etc,linux,var,com
From: https://www.cnblogs.com/yuxingjiu/p/16800874.html
相关文章
|