![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
鸟哥的linux私房菜
whime_sakura
分享记录一些学习笔记,写的很不好的请见谅。
展开
-
个人电脑架构与相关设备文件
计算机五大单元: 电脑按用途分类:超级计算机 大型计算机 迷你电脑 工作站 微电脑 CPU芯片架构CPU的工作频率:外频与倍频 早期的 CPU 架构主要通过北桥来链接系统最重要的 CPU、内存与显卡设备。因为所有的设 备都得通过北桥来链接,因此每个设备的工作频率应该要相同。 于是就有所谓的前端总线 (FSB) 这个东西的产生。但因为 CPU 的运...原创 2018-10-17 20:00:05 · 391 阅读 · 0 评论 -
循环执行的例行性工作调度
crontab指令 使用crontab -e编辑/var/spool/cron/username文件,每一个任务一行。格式为:周的数字为 0 或 7 时,都代表星期天。 系统的配置文件: /etc/crontab, /etc/cron.d/* 系统的例行性任务可在/etc/crontab编辑。 crontab文件每条指令后多了个用...原创 2018-10-24 14:41:34 · 185 阅读 · 0 评论 -
仅执行一次的工作调度
atd服务 将要执行的工作以文本文件的方式写入 /var/spool/at/ 目录内,atd服务就可以取用与执行了。通过/etc/at.allow 和/etc/at.deny规范可以使用at指令的用户。 at指令 at指令工作时工作目录是at指令下达时候的目录。另外直接在终端使用at指令下达echo指令,是看不到在终端的输出的,standard outp...原创 2018-10-24 14:42:02 · 576 阅读 · 0 评论 -
逻辑卷轴管理员 (Logical Volume Manager)
写入机制LVM 实作流程 PV阶段 VG阶段 为VG增加PVLV阶段 文件系统阶段LV容量的扩大Xfs_growfs 增加文件系统容量。只有VG的容量够了,才可以利用lvresize增加LV容量。检查下VG容量使用lvresize虽然LV增加了容量,但是文件系统还没有格式化出增加的容量,通过xfs_grow...原创 2018-10-24 14:42:31 · 208 阅读 · 0 评论 -
软件磁盘阵列 (Software RAID)
RAID-0 (等量模式, stripe):性能最佳 将写入的文件分成等量的区块chunk,依序放到各个磁盘里面去,不安全。 RAID-1 (映射模式,mirror):完整备份 使用另一个磁盘做镜像,双重备份。 RAID 1+0,RAID 0+1 RAID 1+0 就是(1)先让两颗磁盘组成 RAID 1,并且这样的设置共有两组;(2)将这两组 RAID ...原创 2018-10-24 14:43:11 · 4154 阅读 · 0 评论 -
磁盘配额 (Quota) 的应用与实作
Quota quota的功能Quota的限制quota的规范设置项目 使用者、群组或个别目录 (user, group & project) 容量限制或文件数量限制 (block 或 inode) Soft/hard 容量大于soft小于hard的时候系统的宽限时间grace time 可以通过编辑/etc/fstab 重新挂载启用qu...原创 2018-10-25 09:32:54 · 484 阅读 · 0 评论 -
CentOS 7 环境下大量创建帐号的方法
一些帐号相关的检查工具pwckpwck 这个指令在检查 /etc/passwd 这个帐号配置文件内的信息,与实际的主文件夹是否存在 等信息, 还可以比对 /etc/passwd /etc/shadow 的信息是否一致。pwconv这个指令主要的目的是在“将 /etc/passwd 内的帐号与密码,移动到 /etc/shadow 当中!”pwunconv相对于 pwco...原创 2018-10-25 09:42:46 · 672 阅读 · 0 评论 -
Linux 主机上的使用者讯息传递
查询使用者: w, who, last, lastlog lastlog 指令会读取/var/log/lastlog 文件,显示各个账号的最近登录时间。 使用者对谈: write, mesg, wall 使用write对话。 若不想接受信息可以使用mesg n设置,并用mesg查询设置情况。使用wall可以向所有当前用户发送信息。有个很...原创 2018-10-25 09:44:35 · 109 阅读 · 0 评论 -
使用者的特殊 shell 与 PAM 模块
特殊的 shell, /sbin/nolog 当shell设置为/sbin/nologin的用户尝试登陆时,应予以拒绝,可以编辑/etc/nologin.txt显示警告消息。使用rpc账户测试如下: PAM 模块简介 PAM模块设置语法 pam.d/ passwd第一行为pam的版本说明,下面每一行的三个字段分别是控制类别type,验证标准...原创 2018-10-25 09:45:06 · 145 阅读 · 0 评论 -
使用者身份切换
suSu -的-很重要,代表使用login-shell还是non-login shell登陆。没有使用-切换时,很多变量都没有改变过来,如PATH,MAIL变量。利用-c选项可以进入root身份执行一次指令之后即离开root身份。使用su -l 用户名 切换到另一位使用者账户。总结: sudo范例1使用sudo -u sshd切换到ss...原创 2018-10-23 08:15:47 · 472 阅读 · 0 评论 -
帐号管理
新增与移除使用者: useradd, 相关配置文件, passwd, usermod, userdel useradd 创建系统账号,uid一般为1000以下,默认不创建主文件夹。useradd的设置参考文件。GROUP=100指的是users这个群组作为账号的初始群组。不过,有两种群组机制:所以在centos中上面的设置不生效,也就是初始群组为与账号同名的...原创 2018-10-23 08:17:55 · 2933 阅读 · 0 评论 -
主机的细部权限规划:ACL 的使用
ACL 是 Access Control List 的缩写,主要的目的是在提供传统的 owner,group,others 的 read,write,execute 权限之外的细部权限设置。ACL 可以针对单一使用者,单一文件或目录来进行 r,w,x 的权限规范,对于需要特殊权限的使用状况非常有帮助。可以针对几个方面设置权限:查看系统是否支持ACL。 AC...原创 2018-10-23 08:20:26 · 225 阅读 · 0 评论 -
Linux 的帐号与群组
使用者帐号计算某个日期距离1970.1.1的天数。 UID,GID 都允许不唯一,允许多个不同的用户拥有相同的 UID/GID./ etc/passwd 格式:用户名:密码:UID:GID:备注:家目录:登录shell/etc/shadow 格式:账号:密码:上一次修改密码的时间:密码有效期最少天数:密码有效期最多天数:密码修改警告期:密码非活动期:账号失效天...原创 2018-10-23 08:22:33 · 171 阅读 · 0 评论 -
shell script 的追踪与 debug
使用-x 选项 例子:原创 2018-10-27 09:40:28 · 81 阅读 · 0 评论 -
循环loop
while do done, until do done (不定循环)计算1到100的和中括号里需要空格!!!for...do...done (固定循环)Ping 192.168.1.1-192.168.1.100,使用 $(seq 1 100)可以代替列举1,2,….100。输入目录文件名,找出目录下文件的权限。for...do...done 的数值处...原创 2018-10-27 09:39:41 · 3202 阅读 · 0 评论 -
条件判断式
单层、简单条件判断式 多重、复杂条件判断式 netstat 服务与端口通过grep ":80" 过滤www服务。 例子利用“ date --date="YYYYMMDD" +%s“可以转化成距离1970.01.01的秒数。 利用 case ..... esac 判断 举例 利用 functi...原创 2018-10-27 09:37:50 · 278 阅读 · 0 评论 -
善用判断式
利用 test 指令的测试功能测试文件是否存在,选项-e代表exist。 输入文件名,判断是否为空,是否存在该文件,存在则判断是目录还是文件,并给出执行者对该文件的权限。 利用判断符号 [ ] 中括号两端需要使用空格隔开。用不用引号都可以。 例子: Shell script 的默认变量($0, $1...) s...原创 2018-10-29 00:49:59 · 98 阅读 · 0 评论 -
可唤醒停机期间的工作任务
anacron anacron会执行某些原因导致的超过时间而没有被执行的调度工作。anacron是一个程序,每个小时被主动执行一次,anacron 的配置文件 应该放置在 /etc/cron.hourly 。 /etc /anacrontab 总结 ...原创 2018-10-24 14:40:48 · 130 阅读 · 0 评论 -
工作管理 (job control)
后台执行 使用ctrl+z可以将当前工作放到后台并暂停执行。 观察后台工作状态 将后台指令放到前台运行 bg:将背景中暂停的工作变成运行 Kill 使登出系统之后还可以运行,nohup ...原创 2018-10-24 14:40:28 · 358 阅读 · 0 评论 -
linux的核心版本
奇数、偶数版本分类 在 2.6.x 版本以前,托瓦兹将核心的发展趋势分为两股,并根据这两股核心的发展分别给予不 同的核心编号,那就是:主、次版本为奇数:发展中版本(development) 如2.5.xx,这种核心版本主要用在测试 与发展新功能,所以通常这种版本仅有核心开发工程师会使用。 如果有新增的核心程序 码,会加到这种版本当中,等到众多工程师测试没问题后,才...原创 2018-10-17 20:39:13 · 1590 阅读 · 0 评论 -
Boot loader:grub2
由于grub2太大,不可能只装在mbr一个扇区。 /boot/grub2/grub.cfg对硬盘的代号设置grub2 配置文件维护 /etc/default/grub 与 /etc/grub.d 主要环境配置文件编写完毕之后,必须要使用 grub2-mkconfig 来重建 grub.cfg/etc/grub.d/*grub2-mk...原创 2018-10-31 10:09:24 · 278 阅读 · 0 评论 -
Linux核心与核心模块
核心模块与相依性/lib/modules/$(uname -r)/kernel/lib/modules/$(uname -r)/modules.dep 保存各个模块相依性lsmod查询模块信息,核心模块扩展名以.ko结尾核心模块的载入与移除 modprobe 会主动的去搜寻 modules.dep 的内容,先克服了模块的相依性后, 才...原创 2018-11-01 09:09:40 · 586 阅读 · 2 评论 -
Linux开机流程分析
开机流程 多重开机核心文件 查看systemV的runlevel与systemd的target的对应关系。 systemd 执行 sysinit.target 初始化系统、basic.target 准备系统 Sysinit.target依赖的服务大类Basic.target依赖的服务兼容systemV的rc...原创 2018-11-01 09:10:09 · 182 阅读 · 0 评论 -
分析登录文件
logwatch 每天分析一次登录文件,并且将数据以 email 的格式寄送给 root。执行后可以直接使用查看。原创 2018-11-01 09:13:16 · 181 阅读 · 0 评论 -
systemd-journald.service 简介
在开机过程中的所有信息,包括启动 服务与服务若启动失败的情况等等,都可以直接被记录到 systemd-journald。使用 journalctl 观察登录信息logger 指令的应用 /var/log/journal用于保存systemd-journald.servicd的讯息。 ...原创 2018-10-23 08:23:10 · 4594 阅读 · 1 评论 -
登录文件的轮替(logrotate)
logrotate 的配置文件 /etc/logrotate.conf 使用prerotate,postrotate修改文件隐藏属性 Logrotate自定日志文件轮替功能原创 2018-10-23 08:23:31 · 147 阅读 · 0 评论 -
rsyslog.service :记录日志文件的服务
rsyslog.service 的配置文件:/etc/rsyslog.con 基本上, rsyslogd 针对各种服务与讯息记录在某些文件的配置文件就是 /etc/rsyslog.conf。服务名称:讯息等级: Rsyslog.conf语法 默认rsyslog.conf内容 减号代表先记录在内存暂不写入。 自...原创 2018-10-23 08:24:01 · 2608 阅读 · 0 评论 -
Linux日志文件
Linux常见日志文件 登陆文件内容的一般格式原创 2018-10-23 08:24:47 · 1433 阅读 · 0 评论 -
systemctl 针对 timer 的配置文件
sname.timer 的设置值时间设置格式(oncalendar)也可使用间隔时间原创 2018-10-23 08:25:36 · 895 阅读 · 0 评论 -
systemctl 针对 service 类型的配置文件
systemctl 配置文件相关目录简介systemctl 配置文件的设置项目简介Sshd.services的配置文件 部分设置规则 【unit】【service】【install】tty相关 暂时启动tty8 ...原创 2018-10-23 08:26:59 · 6212 阅读 · 0 评论 -
通过 systemctl 管理服务
通过 systemctl 管理单一服务 (service unit) 的启动/ 开机启动与观察状态 常见状态daemon默认状态 很多服务彼此之间是有相依性的。cups 是一种打印服 务,这个打印服务会启用 port 631 来提供网络打印机的打印功能。 其实我们无须一直启动 631 端口。因此,多了一个名为 cups.socket 的服务,这个服务可以...原创 2018-10-24 14:36:49 · 2054 阅读 · 0 评论 -
daemon 与服务 (service)
早期 System V 的 init 管理行为中 daemon 的主要分类 (Optional) systemd 使用的 unit 分类 缺点: systemd 的配置文件放置目录 systemd 的 unit 类型分类说明 ...原创 2018-10-24 14:37:13 · 2663 阅读 · 0 评论 -
SELinux 初探
自主式存取控制DAC和委任式存取控制MAC DAC依据程序的拥有者与文件资源的 rwx 权限来决定有无存取的能力 。MAC主要针对特定程序设置可存取的文件。 SELinux的运行模式 Ls -Z查看安全性本文。Ps -eZ可以观察系统被selinux限制的程序信息 例子 SELinux 三种模式的启动、关...原创 2018-10-24 14:38:57 · 120 阅读 · 0 评论 -
特殊文件与程序
内存当中的数据保存在/proc目录内,systemd的PID是1,保存在1目录下。 查询已打开文件或已执行程序打开之文件 fuser:借由文件(或文件系统)找出正在使用该文件的程序 access的意义 lsof:列出被程序所打开的文件文件名 pidof :找出某支正在执行的程序的 PID ...原创 2018-10-24 14:40:12 · 122 阅读 · 0 评论 -
程序管理
ps :将某个时间点的程序运行情况撷取下来 仅观察自己的 bash 相关程序: ps -l 观察系统所有程序 top:动态观察程序的变化 观察单一进程使用M或P可以使输出按照内存/CPU使用量排序。按下?获得帮助。 pstree 程序管理 常见signal与对应代号,可以使用kill -l或ma...原创 2018-10-27 09:40:51 · 166 阅读 · 0 评论 -
Shell script
范例依据时间创建三个文件数值计算,也可以使用 declare -i total=${firstnu}*${secnu}。借助bc计算计算pi 4*a(1) 是 bc 主动提供的一个计算 pi 的函数, scale 就是要 bc 计 算几个小数点下位数的意思。当 scale 的数值越大, 代表 pi 要被计算的越精确。script 的...原创 2018-10-29 00:49:06 · 142 阅读 · 0 评论 -
文件的格式化与相关处理
格式化打印: printf 格式化输出,%8.2f 小数点占一位。输出字符并换行。 awk:好用的数据处理工具 适合小型数据处理$0代表整行,$1代表第一栏,$2代表第二栏。awk的内置变量。 加上个换行格式化输出。awk的逻辑运算符。 解决第一行没有正确显示。 计算薪资数据表awk支持if...原创 2018-10-29 00:18:59 · 163 阅读 · 0 评论 -
文件系统的简单操作
磁盘与目录的容量 df /dev/shm/ 目录,其实是利用内存虚拟出来的磁盘空间,通常是总实体内存的一半! 由于是通过内存仿真出来的磁盘,因此你在这个目录下面创建任何数据文件时,存取速度是 非常快速的。 du -s或--summarize :仅显示总计。 -S或--separate-dirs 显示个别目录的大小时,...原创 2018-10-18 14:05:04 · 536 阅读 · 0 评论 -
Linux文件系统
Linux的ext2文件系统 虚拟机的磁盘通常为 /dev/vd[a-p] 的格式。 若有使用到软件磁盘阵列的话,还有 /dev/md[0-128] 的磁盘文件名。使用的是 LVM 时,文件名则为 /dev/VGNAME/LVNAME 等格式。 Ext2 文件系统在格式化的时候基本上是区分为多个区块群组 (block group) 的,每...原创 2018-10-18 14:16:14 · 116 阅读 · 0 评论 -
指令与文件的搜寻
指令文件名的搜寻。 which寻找可执行文件的路径,默认查找path变量规范的目录,而history是bash内置的变量,所以无法找到。 文件文件名的搜寻 由于find直接搜寻硬盘,指令速度较慢,一般使用whereis,locate指令进行查询,找不着才使用find指令。whereis 只找系统中某些特定目录下 面的文件而已,locate 则是利用数据库来...原创 2018-10-27 09:41:38 · 149 阅读 · 0 评论