Linux
查看Linux内核版本号
uname -a
cat /proc/version
查看Linux发行版本(rh的版本)
more /etc/redhat-release
访问命令行
#为超级管理员身份;
$为普通用户身份;
【参数】--help可以查看参数帮助信息;
alias查看别名;
!加行号可以再次执行history里的命令;
同目录下使用mv的功能是重命名;
比ifconfig更详细的命令ip addr show(ip a s);
passwd修改当前登录的用户的密码;
last命令可以查看系统登录的用户;
文件管理
重定向:
编号 | 通道名称 | 描述 | 默认连接 | 用法 |
0 | stdin | 标准输入 | 键盘 | 仅读取 |
1 | stdout | 标准输出 | 终端 | 仅写入 |
2 | stderr | 标准错误 | 终端 | 仅写入 |
3 | filename | 其他文件 | 无 | 读取和/或写入 |
管理用户和组
gpasswd命令
gpasswd命令可用于设定组密码并指定组管理员。
gpasswd命令现在主要用于把用户添加进组或从组中删除。
选项:
-a:添加用户到组;
-d:从组删除用户;
-A:指定管理员;
-M:指定组成员和-A的用途差不多;
-r:删除密码;
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组
gpasswd groupname:如系统有个peter账户,该账户本身不是groupname群组的成员,使用newgrp需要输入密码即可。
用户密码文件/etc/shadow
1.用户名
2.密码,加密后的密码。一般以$6$开头;*表示该账户被锁定;!!表示该账户没有密码。
3.最近修改的时间:从1970.1.1到上次更改密码经过的天数。
4.再次修改时间:0表示随时可以修改。
5.密码过期时间:密码多少天后过期,默认为99999.
6.发出警告时间:到期前多少天发出警告,默认为7.
7.过期失效时间:到期后过多少天锁定账号,默认为空。
8.密码生命周期:账号可以用多久,默认为空。
9.保留字段。
chage命令
chage 【选项】 user
选项:
-d:指定密码最后修改日期;
-E:密码到期的日期,0表示马上过期,-1表示永不过期;
-h:显示帮助信息并退出;
-I:密码过期后,锁定账号的天数(大写的i);
-l:列出用户以及密码的有效期;
-m:密码可以更改的最小天数。
-M:密码保持有效的最大天数;
-W:密码过期前,提前收到警告信息的天数。
文件系统权限
-R:表示递归;
特殊权限:在复杂多变的生产环境中,单纯设置文件的rwx权限无法满足我们对安全和灵活性的需求,因此便有了SUID、SGID和SBIT的特殊权限位。这是一种对文件权限进行设置的特殊功能,可以与一般权限同时使用,以弥补一般权限不能实现的功能。
SUID(可执行程序):
当一个文件设置了suid后,在该文件执行时会使用这个文件所属用户的身份运行。
SGID:
让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置);
在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)。SGID的第一种功能是参考SUID而设计的,不同点在于执行程序的用户获取的不再是文件所有者的临时权限,而是获取到文件所属组的权限。
(o+t)保护自己的文件,防止其他用户删除掉。我们给文件夹设置了sticky位后,可以保证对于在这个文件夹中新建的文件,只有所属用户可以删除修改这个文件,而其他的用户只能查看这个文件。
也可以用数值表示,写在第一位(setuid=4;setgid=2;sticky=1)。
umask:系统的每个进程都具有umask,它是一个八进制位掩码,用于清除由该进程创建的新文件和目录的权限。如果在umask中设置了一个位,则新文件中的对应的权限将被清除。
通过一个数字参数使用umask命令,可以更改当前shell的umask。该数字参数应当是与新umask值对应的八进制值。如果少于3位,则假定带有前导零。创建的文件夹权限就是777-umask得出来的值。创建文件就是666-umask。
隐藏权限:chattr +/- i config。
监控和管理Linux进程
ctrl+z可以将现在正在占用的进程打入后台,中断挂起进程,fg+%n将第n个命令拉回前台若后台只有一个就不需要加%n。直接输入 程序名 +&直接将程序打开到后台去执行。
w:查看当前有哪些程序;
jobs:查看后台程序;
bg:查看后台存放了哪些东西;
pkill
使用pkill向一个或多个匹配选择条件的进程发送信号。选择条件可以是命令名、特定用户拥有的进程或所有系统范围内的进程。pkill命令包含以下高级选择条件:
1.命令-具有模式匹配的命令名的进程;
2.UID-由Linux用户账户拥有的进程,有效的或真实的;
3.GID-Linux组账户拥有的进程,有效的或真实的;
4.父进程-特定父进程的子进程;
5.终端-在特定控制终端上运行的进程;
列出服务单元
systemctl list-units --type=service
通过--type=service选项将列出的单元类型限制为服务单元。输出包含以下几列:
UNIT:服务单元名称;
LOAD:systemd是否正确解析了单元的配置并将该单元加载到内存中;
ACTIVE:单元的高级别激活状态。此信息表面单元是否已成功启动;
SUB:单元的低级别激活状态。此信息指示有关单元的更多详细信息。信息视单元类型、状态及单元的执行方式而异;
DESCRIPTION:单元的简短描述;
系统日志
/var/log目录保管由rsyslog维护的各种特定于系统和服务的日志文件.
日志文件 | 用途 |
/var/log/messages | 大多数系统日志消息记录在此处。例外是与身份验证、电子邮件处理相关的定期运行作业的消息以及纯粹与调试相关的消息。 |
/var/log/secure | 安全和身份验证相关的消息和错误的日志文件。 |
/var/log/maillog | 与邮件服务器相关的消息的日志文件。 |
/var/log/cron | 与定期执行任务相关的日志文件。 |
/var/log/boot.log | 与系统启动相关的消息记录在此处。 |
系统日志文件:八个优先级按照下述进行了标准化和评级:
编码 | 等级名称 | 严重性 |
0 | emerg | 系统不可用 |
1 | alert | 必须立即采取措施 |
2 | crit | 严重状况,已对系统造成影响 |
3 | err | 非严重错误状况,可能会影响到系统运行 |
4 | warning | 警告状况,但是不影响系统的运行 |
5 | notice | 正常信息,但有一定的重要性 |
6 | info | 信息性事件,基本的通知 |
7 | debug | 调试级别信息 |
logger命令可以发送消息到rsyslog服务。默认情况下,它将严重性为notice(user.notice)的消息发送给设备用户,除非通过-p选项另外指定。测试rsyslog配置的更改将特别有用。
管理网络
netstat -anplt 可以查看端口信息;
压缩文档
在使用tar时,要创建压缩的tar存档,可以指定下列tar选项之一:
z用于gzip压缩(filename.tar.gz或filename.tgz);
j用于bzip2压缩(filename.tar.bz2);
J用于xz压缩(filename.tar.xz);
scp
scp命令可将文件从远程主机传输到本地系统,或者反之。它利用SSH服务器进行身份验证和加密数据传输。
远程文件系统位置始终以[user@]host:/path格式指定,无论其为文件传输的来源还是目标位置。user@部分是可选的;如果缺少此部分,则使用调用scp命令的当前本地用户。在启动传输之前,用户必须通过密码或SSH密钥与SSH服务器进行身份验证。如果要复制目录则添加-r选项。
软件包和RPM
命令 | 用途 |
rpm -qa | 列出当前安装的所有RPM软件包 |
rpm -q NAME | 显示系统上安装的NAME版本 |
rpm -qi NAME | 显示有关软件包的详细信息 |
rpm -ql NAME | 列出软件包中含有的所有文件 |
rpm -qc NAME | 列出软件包中含有的配置文件 |
rpm -qd NAME | 列出软件包中含有的文档文件 |
rpm -q -changelog NAME | 显示软件包新发行版的简短原因摘要 |
rpm -q -scrpts NAME | 显示在软件包安装、升级或删除时运行的shell脚本 |
yum命令摘要
标记 | 含义 |
按名称列出已安装和可用的软件包 | yum list [NAME-PATTERN] |
列出已安装和可用的组 | yum grouplist |
按关键字搜索软件包 | yum search KEYWORD |
显示软件包的详细信息 | yum info PACKAGENAME |
安装软件包 | yum install PACKAGENAME |
安装软件包组 | yum groupinstall “GROUPNAME” |
更新所有软件包 | yum update |
删除软件包 | yum remove PACKAGENAME |
显示事务历史记录 | yum history |
块设备命名
设备类型 | 设备命名模式 |
SATA/SAS/USB附加存储 | /dev/sda、/dev/sdb... |
Virtio-blk超模拟化存储(部分虚拟机) | /dev/vda、/dev/vdb... |
NVMe附加存储(很多SSD) | /dev/nvme0、/dev/nvme1... |
SD/MMC/Emmc存储(SD卡) | /dev/mmcblk0、/dev/mmcblk1... |