1、Linux基础
1.centos 安装
2.磁盘分区表示方法
1、2、3、4:主分区,最多4个主分区,后数据为逻辑分区
主分区可以激活,但一个硬盘只能激活一个主分区
被激活的主分区就是用来引导操作系统的主分区
扩展分区:/dev/hda3 或 hda4
3.Linux 中常见文件系统类型
centos7 默认使用的文件系统
XFS:日志文件系统
SWAP:交换文件系统
Linux 支持的其他文件系统类型:EXT3、EXT4、FAT16、FAT32、NTFS、XFS、JFS。。。
4.文件相关
4.1.inode 节点与块
元数据:创建者、创建日期、大小等,也称索引节点(inode 节点)
inode 区域:存储元数据的区域,文件字节数,权限,归属,时间戳,连接,数据块位置
inode bitmap:inode 使用情况,比如空闲 inode
block bitmap:块的使用情况,比如空闲 inode 与空闲块等信息
数据块:由多个扇区组成,常见 4KB 一块,存放文件数据和目录数据
inode 节点:相当于钥匙
块:相当于房间
4.2.读取过程
查看 /var/log/message 文件
目录不是容器,而是一个更大的索引点
4.3.创建过程
创建 /root/chaitin.txt 文件
4.4.删除过程
在 block bitmap 中标记为空白块
文件粉碎
5.centos 安装后配置
5.1.关闭 selinux
临时关闭:setenforce 0
永久关闭:
vim /etc/selinux/config
enforcing 修改为 disable
5.2.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
iptables -F
5.3.修改超时时间
5.4.修改锁屏时间
图形化设置
5.5.Linux 系统引导过程
开机自检:读硬件信息
MBR 引导:找到激活信息
GRUB 菜单(Linux,Windows 默认省掉了):选择操作系统
加载内核:将 Linux 内核加载到进程里面(软件之类的没加载)
init 进程初始化:开始加载要开什么软件、IP地址
5.6.init 进程
init 进程(centos、红帽7 以前)
由 Linux 内核加载运行 /sbin/init 程序
是系统中第一个进程
PID (进程标记)号永远为1
Systemd 进程(7以后)
代替 init 进程,称为主流
程序位于 /usr/lib/systemd/systemd
进程号:1
Systemd 的优势
向下兼容
更快的启动速度,集中化命令管理,更合理的命令结构
Systemd 单元类型
一般使用 .service 和 .target
运行级别所对应的 Systemd 目标
例如:init 0-关机
systemctl isolate graphical.target:切换为图形界面
6.Linux 系统的运行级别
查看运行级别:
runlevel:只能查看切换运行级别与当前运行级别
systemctl:能查看默认的运行级别
临时切换运行级别:
init
systemctl
设置永久运行级别:
6.1.优化启动过程
系统服务管理工具:
ntsysv 工具:提供一个交互式、可视化窗口,可在字符终端运行,便于集中管理多个服务
systemctl 工具:不提供交互式、可视化窗口,管理单个服务效率更高
systemctl enable/disable 服务名称
服务存放位置:/usr/lib/systemd/system
7.Linux 目录
/bin:所有用户都可执行的命令
/dev:设备
/home、/root:家目录
/lib64:库文件目录
/mnt:移动存储设备的挂载目录
/proc:内存所执行的文件(能看,不能改)
/run:自动运行程序
/srv:一些服务
/tmp:临时文件
/var:邮箱、数据库、日志等
/boot:引导程序
/etc:类似Windows 的控制面板(配置)
/lib:库
/media:媒体文件
/opt:安装文件、脚本
/sbin:只有管理员能用的命令
/sys:系统
/usr:第三方安装的东西
8.Linux 常用命令
8.1.Linux 命令概述
shell
Linux 系统中运行的一种特殊程序
在用户和内核之间充当“翻译官”
用户登录 Linux 系统时,自动加载一个 shell 程序
bash 是 Linux 系统中默认使用的 shell 程序
Linux 命令分类
注意:Linux 系统将存放外部命令、程序的目录默认添加到“搜索路径”中,当使用位于这些目录中的外部命令时,用户不需要指定具体的位置(环境变量)
echo /home/$PATH
echo $PATH
常用快捷键
Tab:补全
\:强制换行
Crtl+u:从光标所在处删到行首
Ctrl+k:从光标所在处删到行尾
Ctrl+l:清屏
Ctrl+c:终止
获得命令帮助的方法
man & info:详细的使用手册
--help:选项,摘要使用信息
help 命令
管道与重定向
man ls | col -b > lshelp.txt:将 ls 命令的使用手册保存到文件
|:将前一个命令的输出作为下一个命令的输入
>:覆盖原文件
>>:追加到文件末尾
8.2.目录和文件基本操作
查看及切换目录
pwd、cd、ls
du:统计指定目录(或文件)所占用磁盘空间的大小(du [选项] [文件或目录])
- -a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录(不常用)
- -h:显示出目录或文件的大小(K、M),默认的大小单位为字节(KB)
- -s:只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小
alias:查看别名命令
alias myls = 'ls -alh':设置 myls 为 ls -alh 的别名
unalias myls:删除别名
创建文件和目录
mkdir:创建目录(-p:创建多级目录)
touch:创建文件(更新文件的时间标记)
ln:创建链接接
ln -s /root/cttest /usr/bin/:为 cttest 在 /usr/bin/ 下创建软链接
ln /etc/hosts /root:创建硬链接(做备份用,只能用于文件)两个文件的 inode 号一致
复制、删除、移动目录和文件
cp:一般使用 -r(复制目录时必须使用此选项,表示递归复制所有文件及子目录)
rm:生成环境避免 -rf 选项
mv:移动,改名
查找目录和文件
which:查找可执行命令在哪儿(-a:
find:
find [查找范围] [查找条件表达式] eg:find /etc -name httpd.conf
常见查找条件类型:
-name:按名称查找
-size:按文件大小查找,一般使用 +、- 号设置超过或小于指定的大小作为查找条件;常用容量单位包括 kB(k 为小写)、MB、GB
-user:按文件属主查找;根据文件是否属于目标用户进行查找
-type:按文件类型查找;文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等
-a:表示并且(and)
-o:表示或者(or)
eg:find /boot -size +1024k -a -name "vmlinuz*"
eg:find /etc/ -name hosts -o -name ifcfg-*
查看文件
cat:-n(赋予显示内容行号)、-b(赋予显示内容行号,不包括空行)
more:分页查看(Enter:向下逐行滚动、空格:向下翻一屏、q:退出)
less:分页查看(Page Up:向上翻页、Page Down:向下翻页、/:查找内容【n:下一个内容,N:上一个内容】
head:查看文件开头的一部分内容(默认 10 行),-n:显示几行
tail:查看文件结尾的少部分内容(默认 10 行),-n:显示几行,-f:动态监视文件末行内容(一般该参数是查看日志)
wc:统计文件中的单词数量等信息;-l:统计行数,-w:统计单词个数,-c:统计字节数
ls -l /etc |wc -l
grep:
用途:在文件中查找并显示包含指定字符串的行 常用选项: -i:查找时忽略大小写 -v:反转查找,输出与查找条件不相符的行 查找条件设置: 要查找的字符串以双引号括起来 ^...:表示以 ... 开头 ...$:表示以 ... 结尾 ^$:表示空行
systemctl list-unit-files:查看所有服务的运行状态
压缩命令
gzip、bzip2:不常用 gzip [-9] 文件名 bzip2 [-9] 文件名 gzip -d #.gz格式的压缩文件=gunzip bzip2 -d #.bz2格式的压缩文件=bunzip2 注意:一般来说 bzip2 的压缩效率要好一些
tar命令:
-c:创建 .tar 格式的包文件
-x:解开 .tar 格式的包文件
-v:输出详细信息
-f:表示使用归档文件
-p:打包时保留原始文件及目录的权限
-t:列表查看包内的文件
-C:解包时指定释放的目标文件夹
-z:调用 gzip 程序进行压缩或解压
-j:调用 bzip2 程序进行压缩或解压
常用语法:
tar zcf:创建归档
tar zxf:解包归档
tar ztf:查看归档
文本编辑命令
1G:跳转到文件的首行
G:跳转到文件末尾行
#G:跳转到文件中的第#行
:set nu:在编辑器中显示行号
:set nonu:取消编辑器中的行号显示
/word:从上而下查找字符串 word(n:定位下一个匹配的字符串,N:定位上一个匹配的字符串)
?word:从下而上查找字符串 word
撤销:
u:按一次取消最近的一次操作(多次重复,恢复已进行的多步操作)
U:用于取消对当前行所做的所有编辑
ZZ:保存当前的文件内容并退出编辑器
:w /root/newfile:另存为其它文件
替换:
:s/old/new:将当前行中查找到的第一个字符串替换为新字符串 new
:s/old/new/g:将当前行中查找到的所有字符串替换为新字符串 new
:#,# s/old/new/g:在 #,# 范围内替换所有
:%s/old/new/g:在整个文件范围内替换所有
:s/old/new/c:对每个替换动作提示用户确认