Linux 知识点

2018年03月20日

文档/帮助相关

man 页面中标题旁代号的意思

man 页面各个分级内容的意思

放文档的地址:/usr/share/doc

检查 Linux 状态时有用的命令

如果要看目前有谁在在线,可以下达『who』这个命令 如果要看网络的联机状态,可以下达 『 netstat -a 』这个命令 要看背景运行的程序可以运行『 ps -aux 』这个命令。

Linux 系统里面账号、密码、群组信息的保存位置

所有的系统上的账号与一般身份使用者,还有那个 root 的相关信息, 都是记录在/etc/passwd 这个文件内的 个人的密码则是记录在/etc/shadow 这个文件下 所有的组名都纪录在/etc/group 内

修改文件属性与权限

Filesystem Hierarchy Standard (FHS)

usr

var

文件内容查阅

举例:显示 10 到 20 行的数据 cat ./file.txt | head -n 20 | tail -n 10

文件系统的运作

文件系统通常会将这两部份的数据分别存放在不同的区块,权限与属性放置到 inode 中,至于实际数据则放置到 data block 区块中。 另外,还有一个超级区块 (superblock) 会记 录整个文件系统的整体信息,包括 inode 与 block 的总量、使用量、剩余量等。

每个 inode 与 block 都有编号,至于这三个数据的意义可以简略说明如下:

inode 记录的文件数据

压缩指令

常见的压缩文件扩展名

常用压缩命令

打包指令 tar

-z gzip | -j bzip2 | -J xz

bash

设置变量时双引号和单引号的功能不同:

stty 列出的含义

快捷键对应的功能

数据流重导向

> 为覆盖 >> 为累加

举例:

将标准输出和标准错误输出分别保存至两个文件中:

1find /home -name .bashrc > list_right 2> list_error

不显示标准错误输出(导入到/dev/null 中):

1find /home -name .bashrc 2> /dev/null

不区分标准输出和错误,一起导入到一个文件中:

1find /home -name .bashrc > list 2>&1

账号管理、权限设置

命令相关:

例行性工作进程

无论是at 还是crontab,它们的最小时间单位都是分钟,在整分钟时间运行,即秒为 0 的时候运行。

仅执行一次的工作排程 at

必须有atd 进程运行,才会执行at 中设定的工作。用at 添加工作进程后,实际上是将此工作以文本方式写入至目录/var/spool/at/ 中,然后该工作便能等待atd 的取用和执行了。

可以使用/etc/at.allow/etc/at.deny 两个文件对使用at 命令的用户作出限制。

命令

1at [-mldv] TIME

TIME 的设定规则举例:

1at 04:00
2at 04:00 2018-05-05
3at now + 3 days
4at now + 1 minute

系统有空时才进行的背景任务 batch

会在 CPU 负载小于 0.8 时,才进行所下达的任务。

负载:CPU 在单一时间点所负责的工作数量,而非 CPU 使用率。CPU 负载越大,会频繁地在不同任务之间切换。命令uptime 可看到负载信息。

batch 也是用atq/atrm 来管理的。

循环执行的例行性工作排程

循环执行的例行性工作排程则是由cron(crond) 这个系统服务来控制的。

可以使用/etc/cron.allow/etc/cron.deny 两个文件对使用crontab 命令的用户作出限制。

当用户使用crontab 这个指令来建立工作排程之后,该项工作就会被纪录到/var/spool/cron/ 里面去了,而且是以账号来作为判别的。

crontab [-e][-l][-r]

编辑工作内容,示例:

0-59 * * * * date >> 1.txt
分 时 日 月 周 指令

特殊字符包括:星号*、逗号,、减号-、斜线/n

命令内容建议使用绝对路径

如果是系统的例行性任务,可以直接编辑/etc/crontab 文件。

crond 预设有三个地方有会执行脚本配置文件:

anacron 可唤醒停机时间的工作任务

进程管理

程序被触发后,执行者的权限与属性、程序的程序代码与所需数据等都会被加载内存中,操作系统并给予这个内存内的单元一个标识符 (PID),可以说,进程就是一个正在运作中的程序。

子进程的 PPID 与父进程的 PID 相等。

kill/killall 讯号 signal:

进程观察

ps 将某个时间点的进程显示出来

top 动态观察进程的状态,执行过程中可以使用指令:

pstree 列出进程树,-p 同时列出 PID

系统资源的观察

netstat 参数

常用命令netstat -tulnp

系统服务 daemon

早起所有的服务启动脚本通通放置于/etc/init.d/ 底下,现在用systemd 来进行管理。

systemd 配置文件放置目录:

通过systemctl 指令管理

systemctl [command] [unit]

直接systemctl 列出系统上启动的unit

软件安装

通过源码安装

一般步骤为:通过configure 来建立Makefile,之后通过make 安装即可。

Makefile 示例:

main:
	ps aux >> 1.txt
clean:
	rm 1.txt

软件安装

Red Hat/Fedora, RPM, rpm, yum

Debian/Ubuntu, DPKG, dpkg, apt-get