发布时间:2025-12-09 16:38:15 浏览次数:3
目录
可以参考的网站:Linux的菜鸟教程
一些命令和暴力破解密码
暴力破解密码
查看IP地址
查看主机名
改主机名
命令格式
关机
查看系统版本
查看内核版本
处理目录的常用命令
cd切换目录
ls list
查看命令帮助手册
删除用户信息
添加用户信息
更改密码
文件权限rwx
权限修改方式:
第一种: rpm格式软件包管理
第二种:源码程序包安装
跨主机传输文件
(以防意外 先拍摄快照 后期转到拍摄快照的位置)
先将虚拟机关机,再开机,得把鼠标点进去,在如下图中中断内核的自动运行,在此处按e
(上面的是正常进入红帽时的内核版本 下面的是需要救援时才需要进入的)
vmlinuz代表内核模式
在linux这一行末尾加上rd.break (相当于打断内核的加载)
再按ctrl+x
把一个根系统加载了读写权限
为指定用户修改密码,并将此内容在开启过程时运行
两次退出
等待即可
以太网 ethernet ens160 ens336 ens16777736
#IP A 有环回地址
#ifconfig
[用户@连接到的主机 当前所在目录路径(工作目录)]命令提示符# $ [root@localhost ~]
目录等于文件夹
家目录 创建用户自动创建一个和用户同名的目录
通用匹配符 ~
谨记:我是谁 我在哪 我要做什么
命令
命令 参数(对象)
命令 -选项
命令 -短选项(一个字母)(方式) 参数
命令 --长选项(完整的单词)
VMware-workstation
www.xshell.com 下面有家庭学校免费版 远程连接工具
易混淆
iso 镜像
osi 七层
ios 苹果操作系统
机架式
刀片式
塔式
小型机
部署学习环境:虚拟机VMware workstation+红帽8.5
查看命令解释器
[root@RHCSA ~]# echo $SHELL/bin/bash [root@RHCSA ~]# shsh-4.4# exitexit[root@RHCSA ~]# [root@RHCSA ~]# cat /etc/shells/bin/sh/bin/bash/usr/bin/sh/usr/bin/bash [root@RHCSA ~]# chsh -l/bin/sh/bin/bash/usr/bin/sh/usr/bin/bashssh的端口号是 22 用xshell连接时可输入ssh 192.168.1.100:22
shutdown -h now
poweroff 相当于断电
halt -f 强制关机
重启 reboot
主版本.子版本.bug修改次数-编译版本号.企业.架构
passwd 设置用户密码修改用户密码
-d删除 管理员:可以指定用户名可以更改任意用户的密码 不需要旧密码删除用户密码 密码可以不满足复杂规则要求 普通用户:不能指定用户名默认只能更改自己的密码
文件结构:
/
root home
|
radhat
pwd -P 显示出确实的路径,而非使用链接 (link) 路径
绝对路径:一切从根开始查找 /home/redhat
相对路径:相对于当前所在路径开始查找 cd redhat
cd ../../.. 返回上一级的上一级的上一级
~当前用户家目录
.当前目录
..上一级目录
-匹配上一次所切换的路径
linux思想:一切皆文件
命令 -选项... 参数...
ls -a 把隐藏文件也显示出来 (. .. 两个目录的属性)
ls -l== ll 长格式显示文件信息(文件基本属性文件名)
ll -h 以人类可读的形式 文件大小单位标记
ll -d 仅列出目录本身,而不是列出目录内的文件数据
ll -i 显示文件的inode节点号
Irwxrwxrwx. 1 root root 7 Jun 21 2021 bin
第一列 权限标识符 第二列 硬链接次数 第三列 文件的所属用户 第四列 文件的所属组
第五列 大小 第六列 创建时间或者修改时间 第七列,最后一列 文件名
1 l代表链接文件
用于不同目录下文件的共享。链接文件一般指的是一个文件的软连接(或符号链接) 软链接相当于给原文件创建了一个快捷方式, 如果删除原文件,则对应的软链接文件也会消失。 如果想要创建一个文件的链接文件 可以使用 ln 命令来创建 文件名为浅蓝色
2 -代表普通文件
用于存放数据、程序等信息的文件。 类比于windows下的txt文档,可以在里面编辑内容 他一般是灰色字体,绿色字体的是可执行文件,红色字体的是压缩文件。
3 d代表目录文件(文件夹)
Linux 中的目录也是文件,目录文件中保存着该目录下其他文件的 inode 号 和文件名等信息,目录文件中的每个数据项都是指向某个文件 inode 号的链接,删除文件名就等于删除与之对应的链接。 蓝色
设备文件 (黄色) 分为块设备文件和字符设备文件
4.b表示块设备文件:用于与I/O设备提供连接的一种文件, 块设备有磁盘、光盘等, 设备文件一般存放在 /dev/ 目录下,
5 C 字符设备文件
字符设备文件以字节流的方式进行访问,字符设备就是输入输出设备,键盘,鼠标,显示器,甚至是终端,终端就是标准的输入输出设备
6 p 管道文件
主要用于在进程间传递数据。
可以使用 mkfifo 命令来创建一个管道文件
在 FIFO 中可以很好地解决在无关进程间数据交换的要求,FIFO 的通信方式类似于在进程中使用文件来传输数据,只不过 FIFO 类型的文件同时具有管道的特性,在读取数据时,FIFO 管道中同时清除数据。
棕色
7 s 套接字文件 套接字(socket)文件通常用于网络数据连接。 套接字= (IP地址:端口号)
紫色
FHS(文件系统层次化标准)
/ Linux文件系统的最上层根目录,其他所有目录均是该目录的子目录
/bin Binary的缩写,存放普通用户可执行的程序或命令
/boot 存放系统启动时所需的文件,这些文件若损坏常会导致系统无法启动,一般不要改动
/dev dev 是设备(device)的英文缩写。包含所有的设备文件
/etc 存放了系统管理时要用到的各种配置文件和子目录
/home 存放一般用户的个人目录
/lib 是库(library)英文缩写,存放系统的各种库文件
/lib64 存放系统本身需要用到64位程序的共享函数库(library)
/mnt/media 可以临时将别的文件系统挂在这个目录下,即为其他的文件系统提供安装点
/opt 该目录通常提供给较大型的第三方应用程序使用,例如Sun Staroffice、Corel WordPerfect,这可避免将文件分散至整个文件系统
/proc 可以在这个目录下获取系统信息。这些信息是在内存中由系统自己产生的
/root 超级用户的个人目录,普通用户没有权限访问
/run 保存自系统启动以来描述系统信息的文件
/sbin 和/bin类似,这些文件往往用来进行系统管理,只有root可使用
/srv srv 是服务(server)的简写,服务启动之后需要访问的数据目录
/sys 本目录是将内核的一些信息映射文件,以供应用程序所用
/tmp 用来存放不同程序执行时产生的临时文件。
/home 存放一般用户的个人目录
/usr 一般用户程序安装所在的目录,用于安装各种应用程序
/var 通常各种系统日志文件放在这里
元数据 数据
文件属性 内容
文件名是目录文件中的数据
硬链接:多个文件指向同一个节点号
创建多个硬链接 防止误删除 对文件名进行备份
面试重点:软硬链接区别
(1)符号链接又叫软链接,和原文件不是一个文件。例如Windows的快捷方式,
作用特点:在指定路径查找某个文件访问快速便捷,删除源文件快捷方式不能访问
创建对象:文本文件目录文件都可以创建,并且可以跨文件系统
创建链接文件:ln -s 原文件 链接文件
如何判断是否是链接文件:l
(2)硬链接
慨念:多个文件名指向同一个node
作用特点:防止用户误删除,备份(仅对文件名备份)
创建对象:对目录文件不能创建并且不可以跨文件系统(跨盘)
创建硬链接:n原文件新文件
ln 创建硬链接文件
ln 源文件 目标文件(创建的链接文件)
-s 创建一个软链接文件
ln -s 源文件目标文件(创建的链接文件)
touch a.txt
mkdir dirname 创建目录文件
ln -s a.txt a.lnk
ll 查看
echo 12345 >> a.lnk
cat a.txt
注:创建链接文件如果源文件和目标文件不在同一个路径,源文件和目标文件都用绝对路径
创建硬链接
touch file
ln file fff
inode号相同
echo this is a file >> file 编辑文件内容
为什么目录文件的链接次数为2
每一个目录都有一个当前目录的标识符 .
[root@RHCSA ~]# touch /root/file
[root@RHCSA ~]# ln -s /root/file /haha
lrwxrwxrwx. 1 root root 10 Oct 23 14:05 haha -> /root/file
[root@RHCSA /]# touch /home aaa
[root@RHCSA /]# touch /a.txt
[root@RHCSA /]# ln -s /home/aaa /a.txt
[root@RHCSA /]# ln /home/aaa /root/A
date 查看当前时间
[root@RHCSA ~]# date
Sun Oct 23 22:53:33 CST 2022
按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date命令如下所示:
[root@RHCSA ~]# date "+%Y-%m-%d %H:%M:%S" 如果没有双引号,则为两个参数
2022-10-23 22:54:39
将系统的当前时间设置为2020年11月1日8点30分的date命令如下所示:
[root@kongd ~]# date -s "20201101 8:30:00"
Sun Nov 1 08:30:00 CST 2020
将系统的当前时间设置为月日时分年.秒的格式
[root@RHCSA ~]# date 101112122020.10
Sun Oct 11 12:12:10 CST 2020
1752 9月
少了12天
英国更换历法
timedatectl [参数]
timedatectl status 显示状态信息
timedatectl list-timezones 列出已知时区
timedatectl set-time 设置系统时间
[root@kongd ~]# timedatectl set-time 2021-05-18
timedatectl set-timezone 设置生效时区
[root@kongd ~]# timedatectl set-timezone Asia/Shanghai
wget [参数] 网 址
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
[root@kongd ~]# wget https://down.qq.com/qqweb/LinuxQQ/linuxqq_2.0.0-b2-1089_x86_64.rpm
[root@kongd ~]# rpm -i linuxqq_2.0.0-b2-1089_x86_64.rpm
rpm红帽的下载格式
命令格式: mkdir [-p] [/路径/]目录名 -p——可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖
mkdir -pv p1/p2/p3/p4 v详细的
mkdir -m 711 test 创建了一个权限为rwx--x--x的test的目录
rmdir -p 从该目录起,一次删除多级空目录
功能:查看某个目录中的各级子目录所占用的磁盘空间数。
命令格式: du [选项] [目录名] 如果不跟目录名,则缺省为当前目录。
-a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。
-s 只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小。
-h 以K,M,G为单位显示磁盘使用情况,以提高信息的可读性。
功能:目录或文件的复制。
命令:cp [选项] 源文件 目标文件
-a 通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录
-d 拷贝时保留链接。
-f 在覆盖已经存在的目标文件时不提示。
-i 在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
-p 除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标 文件必须为一个目录名。
-l 不作拷贝,只是链接文件
移动(mv)文件或目录--mv命令
mv命令用于剪切或重命名文件
语法格式为:“mv [参数] 源文件名称 目标文件 名称”。
剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件。如果在同一个目录中将某个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作
格式:rm [选项] 文件或目录名及路径
功能:删除文件或目录,可包含一个或多个文件名(各文件间用空格分隔)或用通配符表达,以实现删除多个文件或目录。
-f 在覆盖已经存在的目标文件时不提示。
-i 在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷 贝。
-r 递归删除整个目录树
touch [选项] 文件或目录名列表
功能: 若指定的文件或目录已存在,则将文件或目录的日期和时间修改为当前系统的日期和时间。 若指定的文件不存在,则以指定的文件名创建空文件
创建多个文件
命令格式:cat [选项] 文件名列表
说明:文件名可使用通配符
常用选项:
-n——对输出内容中的所有行标注行号。
-b——对输出内容中的非空行标注行号。
tac 从最后一行查看 与cat相反 倒着的
命令格式: more | less [选项] 文件名
常用选项:
-数字——仅适用于more命令,用来指定分页显示时每页的行数。
+num——指定从文件的第num行开始显示。
-c——从顶部清屏然后显示文件内容。
在运行过程中 可以按下列几个键
注意:less可以向上翻页,more不可以
常用选项有:
head/tail -n 数字 ——指定需要显示文件多少行的内容,若不指定,默认只显示十行。
tail -f ——使tail不停地去读取和显示文件最新的内容, 以监视文件内容的变化。这样有实时监视的效果。
tail命令更多的用于查看系统日志文件,以便于观察重要的系统消息,特别是结合使用-f选项,tail会自动实时 地把打开文件中的新消息显示到屏幕上,从而跟踪日志文件末尾的内容变化,直至按【Ctrl+C】键终止显示 和跟踪。
vi
没有颜色
vim
有颜色
u撤回
d+enter 删除当前所在行以及下一行
dd 删除当前所在行
4dd 删除开始以下的四行
dG 光标位置删除到文档尾
dgg 删除光标当前位置到行首
x 删除光标所在字符
S删除所在行 并进入insert
yy 复制
4yy 复制开始以下的四行
cc 剪切
5cc 剪切开始以下的四行
p粘贴
行号 G 跳转到指定行
G 跳转到最后一行
gg 跳转到第一行
$ 跳转到一行行尾
^ 一行行首
命令--->插入模式:
A 插入内容到行尾
a 插入内容到下一个字符
O 插入内容到光标所在位置上一行
o 插入内容到光标所在位置下一行
S 删除光标所在行并插入
s 删除光标所在字符并插入
i 当前位置
I 行首
末行模式
:set nu 设置行号
:set nonu 不显示行哈
?bin 查找bin 高亮
:noh 取消高亮
:45 跳转到45行
:q 退出
:q!强制退出
:wq! 强制保存退出
:w file11 把文件也写到file11里面
:r /etc/passwd 读取到光标所在行的下一行
:s /要替换的字符串/替换后的字符串/g
:s /0/2/ 替换 当前所在行的第一个
:%s /0/2/ 该文件的所有行
:%s /0/2/g 替换 在文档中所有都替换
ctrl+z 直接退出进程
[root@RHCSA ~]# rm -rf .user.swp
ctrl+v --> 键盘选取对应的块标记---> I---> 编辑内容 ---->按esc
nano也可以编辑
变量是可以命名的内存空间
4.6
单引号强引用
管道符
passwd root
echo redhat | passwd --stdin root 标准输入流
head -5 /etc/passwd |tee file 会覆盖
head -5 /etc/passwd |tee -a file 只会添加
cat /etc/passwd > file 重定向符 会覆盖
cat file
cat /etc/passwd >> aaa 追加重定向符 追加写入
< 输入重定向符
cat < /etc/passwd 输出到屏幕了 (省略)
<<终止结束符
cat << EOF
[root@RHCSA ~]# cat << EOF
> 1
> 234
> EOF
1
234
[root@RHCSA ~]#
[root@RHCSA ~]# cat << EOF > bbb
> 1
> 2
> 3
> EOF
[root@RHCSA ~]# cat bbb
1
2
3
1正确 2错误 &正确和错误
head -3 /etc/passwd 1> ccc 2>bbb 将正确结构写到ccc里面 将错误写到bbb里面
head -3 /etc/passwd > file 2>&1 等价于 head -3 /etc/passwd &>file 将错误输出的和正确输出的都输出
grep命令
关键字标红并输出
-c 关键字 有几行
-i 忽略大小写
-n 显示行号
-v 显示没有这个关键字的行
-A -A 2:搜索时显示匹配到的那一行以及下2行
-B 搜索时显示匹配到的那一行以及上2行
-C 搜索时显示匹配到的那一行以及上下2行
-O 显示关键字一共出现过多少个
* 表示通配符
grep命令如果有特殊字符需要用单引号
^顶尖符 行首
$ 行尾
grep '[abc]' aaa 将aaa包含abc字符的内容显示
grep '[a-z]' aaa 将aaa中有字母的显示
grep '^[^1,34/5]' aaa 将在行首不包含1,34/5的显示
grep '^$' aaa 显示空白行
^# 匹配以井号开头的
grep -v ^# /etc/login.def |gref -v ^$ 不显示以井号开头 不显示空行
grep -r haha ./* 搜索haha在哪个目录下
文本剪切 cut
-d 指定分隔符
-f 指定列
-c 指定第几个字符
--output-delimiter= 指定分隔符号
cut -d : -f 1 /etc/passwd
cut -c 1-3 /etc/passwd
cut -d : -f 3,4,5 --output-delimiter=" " /etc/passwd
sort 按字符比较
-t 指定间隔符
-n 按数值
-r 按逆序
-k 指定字段排序
[root@RHCSA ~]# sort -rn -t : -k 3 /etc/passwd
uniq 只去重连续的行
-c 统计重复的行的次数
-d 只显示重复的行
-D 显示重复出现的所有行
一般先排序,再去重
sort aaa | uniq
history 显示所敲的命令
tr 替换命令
tr -c 反选定
tr -t 等长度字符替换
tr -d 删除指定字符
tr -s 多个连续的字符替换为某一个字符
[root@RHCSA ~]# history | tr -s " " " " | cut -d " " -f 3- | sort | uniq -c | sort -n | tail -3
8 cd ~
12 ls
31 ll
把命令最高的前三行显示
wc 参数 文件名 统计指定文本文件的行数,字数或字节数
wc -l 只显示行数
-w 统计单词数
或 echo /etc/passwd 文件一共有`cut -d : / -f : 1`行
`` 等价于 $()
一个中文占三个字节 繁体字是占四个字节
which 查找文件路径 基于5个环境变量
查找的是可执行文件 x
whereis 查找环境变量下的文件 不是可执行文件也可以找到
locate 123 路径有123的都显示出来 基于数据库搜索
updatedb 更新数据库 数据库可以提高读写速度
find查找
find [查找路径] 寻找条件 操作
/
-atime 访问时间
-mtime 修改时间 文件内容修改
-ctime 改变时间(改动时间属性 权限)
4 第四天前的这一整天
-4 <=4天前
+4 4天前的
find / -mtime -30 30天内修改过的文件
find / -newer f1 ! -newer f2 查找在f1之后在f2之前的文件
find -prune 排除
find /pub -path /pub/dir -prune -o -name 6
-o 代表或者
find / -type f -name abc 找文本文件并且文件名叫abc
find / -type f -a -name abc
find / -name 1* -o -name *1 找到以1开头或以1 结尾的文件
find -size 50 K 以单位来搜索
find -user -group -nouser -nogroup -uid -gid
find -inum
find -ok
find -exec 以换行符为分割
find -perm
|xargs 参数传递 一次性
find / -name test -ok rm -rf {} \;
zip命令 压缩后源文件还在
zip 文件名
zip -r 递归压缩
zip -m test1.zip test2.zip 添加
zip -d 23.zip 2 删除
zip text.txt -x test1.txt 文件排除某个文件
zip -9 压缩率最高的
gzip和gunzip命令 压缩后源文件不在了
bzip2、bunzip2
xz、unxz命令
tar命令 对多个文件压缩 不在同一路径下
tar [选项] 打包文件名 被打包的源文件或目录列表
-c 创建
-x 释放
-t 查看压缩包的文件信息
-v 显示详细信息
-f 压缩包名 多个文件包名
-p
-z
[root@RHCSA ~]# type cd
cd is a shell builtin
man 内置命令
man 1 目录名 查看第五章节
命令 --help
命令的返回结果
echo $? 查看命令是否执行成功 0表示成功 非0是失败
pinfo选项
可以超链接
info
time cd / time touch file查看执行时间
cd内置命令 几乎没有时间
touch外置命令 几微秒
alias 别名
#alias userfile="cat /etc/passwd"
#userfile 则可查看
仅在当前终端生效
永久生效
#vim /etc/bashrc
G o
在最后写
#alias userfile="cat /etc/passwd"
重新加载程序 或 #bash
unalias 取消别名
vim ~/.bashrc 只针对当前用户
su 用户 切换用户
#su -l redhat
#su - redhat 更改用户并切换自己家目录
pstree 查看进程
#注释
vim ~/.bash_history
history -w
rm -rf ~/.bash_history
history -c
history 3 显示最近三条
history -w
cat ~/.bash_history
!3 匹配上三条所执行的命令
!!3
!-3
快捷键
ctrl+l 清屏
通配符
* 匹配任意字
? 单个字符
[] 方括号内任意一个
[^]
私有模式:默认用户对应的组是和用户同名的组
公有模式:
用户的类别
管理员:root root 0 (用户id为0一定是管理员用户)
普通用户: 1--65535
系统用户 1-999 1-200 系统用户 权限比管理员低一些 比普通用户高一些
一般用户 redhat 1000-60000
可登录式shell
非登陆式shell
name:password:UID:GID:GECOS:directory:shell
用户名
密码占位符
用户的1D
组ID (标记当前用户的基本组)
用户的猫述和注释
用户家目录~ /home
shell 可登录式shell 例 /bin/bash
非登陆式shell 例 /sbin/nologin
查看这个用户 id 用户名
cat /etc/passwd | grep ^用户名 行首是关键字信息
usermod [选项] 用户
更改登录名称 usermod -l 更改后的名字 更改前的名字
修改用户id uid -u 1000 尽量1000以后
修改基本组GID -g 1000
修改用户的附加组(默认没有附加组,等于添加) -G root
描述信息做标记 -c 18910017654
指定家目录 -d /
更改用户的shell -s /sbin/nologin
锁定该用户 -L root用户可访问 其他普通用户登录就不行
解锁用户 -U
userdel -r 用户名 递归删除 如果这个基本组只有一个用户,则会删除这个基本组
userdel 用户名 在/home中和 /var/spool/mail还有的
useradd和 mod类似 补充 -r指定用户为系统用户
useradd -r user2 创建系统用户
#cat /etc/default/useradd
#cat /etc/login.defs -------->设置了创建用户的默认信息
组类别
管理组
蔷通组:
默认组,基本组
额外组
groupadd
id -g user1 查看用户的组id
id -u user1 查看用户id值
id user1 查看用户的uid和gid
cat /etc/group | grep ^g1 查看g1的组名是否存在
cat /etc/group
组名:组密码占位符:gid:该组中的用户名
groupmod
groupmod -n 组名 更改组名
-g 更改组id
groupdel 组名
groupdel g1 额外组不管里面有没有用户,都可以被删除
groupdel user1 不能删除基本组
/etc/shadow 用户密码
/etc/gshadow 组密码
1.#passwd更改当前用户的密码
2.#echo redhat | passwd --stdin root 对于root用户修改密码 密码暴露 可以删除这条历史信息
(通过 history -d 183 来删除 history -c 是删除所有的历史纪录)
3.chpasswd < 文本文件 可以修改多个账户的密码 文本文件有 用户名:密码
4.echo redhat:123456 | chpasswd 修改redhat的密码
[参数]
cat /etc/shadow 记录了所有用户的密码
第二个字段 密码 如果没有密码 用!!或 * 表示
第三个字段 是最近一次更改密码的时间,以距离1970年1月1日的天数表示
第四个字段 密码最短时间 如果0 则可以长期使用
第五个字段 密码最长时间 99999 永不过期
gpasswd g1 修改组密码
newgrp g1 更改为组g1
#gpasswd -a 用户名 组名 将用户加入组
#gpasswd -r 删除组密码
#usermod usermod -G 组名 用户
#gpasswd - d 将用户从组中移除
#gpasswd -M 用户名1,用户名2 组名 一次性将多个用户加入到指定组中
#gpasswd -A 用户名 组名 将此用户设置为组长
#gpasswd -R 锁定组密码
实验
创建学习组1,学习组2; 他们的组gid分别为1111,2222,添加成员并将uid为1088,
和uid为1066的成员为两组的组长,其中一组组长有一个处号’1aoda.
不同学习组进入需要密码才能进入(设置密码):即使密码泄露也不希望组之外的成员进入。
#groupadd -g 1111 stu1
#groupass -g 2222 std2
#useradd -u 1088 haha
#useradd xixi
#useradd -u 1066 user1
#useradd user2
#usermod -G std1 haha
#gpasswd -a xixi std1
#gpasswd -M user1,user2 std2
#gpasswd -A haha std1
#usermod -c laoda haha
#gpasswd std1
#gpasswd std2
#gpasswd -R std1
#gpasswd -R std2
给用户授权一些权限
vim /etc/sudoers
redhat不设置密码
#users
当前主机的用哪些身份做了验证 远程登录的身份
root root redhat
#w 查看登录信息
#who
#whoami
当前用户信息
#groups redhat
显示当前的属于的组
#last 近期主机的登录的用户
每三组字符为一组 三组:所属用户的权限 所属组权限 其他用户的权限
./+ 扩展权限标识符 . 没有扩展权限 +有扩展权限
8 4 2 1
d r w x r-x r-x. 2 root root 6 Jul music
7 5 5
文本文件:r 查看文件内容(cat tac more less tail head vim nano grep)
w 编辑文本内容 (vim nano echo > >> cat <<EOF > file)
x 执行(运行文本内容)命令文件
目录文件:r ll ls ls-l 查看目录文件中的文件
w 在该目录下创建或者删除文件
x 打开目录文件 cd
系统中默认创建文本的权限是什么?644 默认最高权限666
系统中默认创建目录的权限是什么?755 默认最高权限777
权限掩码值:#umask=022(权限过滤符) 按字符过滤
#umask=033
666 rw- rw- rw-
033 --- -wx -wx
633 rw- r-- r-- 644 (不借位 按字符想减)
chown更改文件的所属用户 1.chown 所属用户 FILENAME
( 只能root用户可以修改 ) 2.chown 所属用户:所属组 FILENAME
3.chown .所属组 FILENAME
chgrp更改文件的所属组 chgrp 所属组 FILENA777ME
chmod 更改文件权限 1.chmod ugo=rwx FILENAME
2.chmod u=rw,g+w,o-r FILENAME
3.chmod 644 FILENAME
4.chmod 6 FILENAME == 006 66=066
(作为管理员可以更改任意文件权限,但是普通用户只能改属于改自己的文件)
./1 执行当前目录的1文件
对于目录文件有读取权限:rw
写权限:rwx
文件三组权限的匹配顺序:
首先判读发起者用户(登录用户)是否是文件的所属用户,是:只匹配所属用户位的权限
若不是:判断是否是该文件的所属组用户,如果是只匹配组权限,不是,直接匹配其他用户位的权限。
权限匹配规则:(安全上下文)
判读可执行文件进程发起者身份,通过进程文件的发起者身份对目标文件是否有读写执行文件
命令文件 (当前终端的发起者身份)
直接判断发起者身份对于目标文件是否是所属用户,是直接判断文件所属用户的权限;是:只匹配所属用户位的权限 不是:判断是否是该文件的所属组用户,如果是只匹配组权限,不是,直接匹配其他用户位的权限。
将文件 /etc/fstab 复制到 /var/tmp/fstab 。配置 /var/tmp/fstab 的权限以满足如下条件:
文件 /var/tmp/fstab 自 root 用户所有
文件 /var/tmp/fstab 属于组 root
文件 /var/tmp/fstab 应不能被任何人执行
所有其他用户(未来)能够读取 /var/tmp/fstab
#cp /etc/fstab /var/tmp/fstab
#chown root /var/tmp/fstab
#chgrp root/var/tmp/fatab
#chmod ugo-x /var/tmp/fstab
#chmod -x /var/tmp/fstab = chmod a-x /var/www/fstab
#chmod o+r /var/tmp/fstab
创建具有以下特征的协作目录 /home/managers:/home/managers 的组用权是 sysmgrs。
目录应当可被 sysmgrs 的成员读取,写入和访问。但任何其他用户不具这些权限。 (当然,root 用户有权访问系统上的所有文件和目录)。
#mkdir /home/managers
#groupadd sysmgrs
#chown .sysmgrs
/home/managers
1811588
#chmod g=rwx /home/managers
#chmod o=-/home/managers
#chmod g=rwx,o=-/home/managers #chmod 770 /home/managers
特殊权限:
u+s 4 SU1D所属用户的特权位/禁锢位 (仅对一个可执行文件(命令)设置有意义,该命令文件的进程的所属用户不是用户发起者身份,而是对一个可执行文件(命令)文件自身的身份) rws 没有的话rwS
nmtui
nm-connection-editor
软件包 包名
获取软件包
网上下载,,本地获取
文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。
/mnt 临时挂载点
mount /dev/
baseos
rpm
-qa 查询所有已安装的软件包
rpm -qa |grep 包名字符串
-ql 查看软件释放的文件
-qf 通过文件绝对路径可以找出该文件通过哪个包释放
-ivh 安装软件包
-evh 卸载软件包
-Uvh 更新软件包
-qpi 查看软件包详细信息
yum install [-y] 包名 安装指定的软件包,-y则在工作过程中需要使用者响应, 这个选个参数可以直接回答yes
yum update [-y] 包名 升级指定的软件包或主机中所有已安装的软件包
yum remove [-y] 包名 卸载已经安装在系统中的指定的软件包
yum provides 文件名 查找指定的文件属于哪个包; rpm -qf
yum info 包名 查看指定软件包的详细信息 rpm -qpi
yum repolist [all] 查看系统中yum资源库配置信息
yum search 模糊包名 查看模糊包名的软件包
yum grouplist 查看仓库里而所有包组
yum groupinfo 包组名 查看指定包组里而的详细信息
yum groupinstall 包组名 安装指定包组里面的所有包
yum list all 列出仓库里所有可安装的软件包
yum list installed [包名] 列出己经安装的所有的或指定的rpm包(包名中可使用匹配符) rpm -qa
yum clean all 清除下载到本机的指定的软件包或所有软件包的yum源缓存
rpm 简单,需要加载配置 yum/dnf 需要加载配置
包名 软件名
必须指定包的路径
不能自动解决依赖关系
1.确认包的所在位置(本地,网络获取-开源镜像站centos fedora rucky)
#mount /dev/sr0 /mnt 仅在当前主机运行状态下生效
2.yum配置文件(仓库文件)
vim /etc/yum.repos.d/*.repo
[源表示名]
name=描述信息
baseurl=本地协议/网络协议
gpgcheck=公私要验证0关闭 1开启
enabled= 启用 0关闭 1开启
配置本地源
[root@localhost Packages]# cat /etc/yum.repos.d/base.repo
[BaseOS]
name=RHEL8-BaseOS-pkg
baseurl=file:///mnt/BaseOS
gpgcheck=0
enabled=1
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
#网络源
[BaseOS1]
name=BaseOS1
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/8-stream/BaseOS/x86_64/os
gpgcheck=0
[AppStream1]
name=AppStream1
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/8-stream/AppStream/x86_64/os
gpgcheck=0
3.安装软件包
#dnf install 软件
配置 编译 安装
案例一:tar源码包安装
(1)安装编译程序,编译工具
#dnf install gcc gcc-c++ make
(2)解压源码程序包
#rz --把源码包传输到linux主机
(源码程序包必须放在一个对普通用户有rx权限的目录下)
#mkdir /test --把包放在test目录 755
#cd /test 对包解压缩
#tar -zxvf tar-1.29.tar.gz
(3)配置
#cd tar-1.29
#su - redhat
$cd /test/tar-1.29
$./configure
$exit
(4)编译
#make
(5)安装
#make install
window--linux
(1)xftp---sftp安全文件传输协议--端口22
(2)linux中安装lrzsz
rz ---接受文件
sz FILENAME 发送文件
linux--linux
(1)sftp
(2) scp 文件 目标主机对应的路径下 发送文件
#scp /root/134 root@192.168.10.132:/root
scp 目标主机对应的路径下文件 目录下 接受文件
#scp root@192.168.10.132:/root/132 /root
-r 发送接受目录文件
appstream
dnf 对软件仓库的进行管理
#dnf clean all 清除缓存
#dnf remove 软件名 == #dnf erase 软件名 -y 卸载 -y可以不用输入y
#dnf groupinstall 组名 组安装
#dnf provides /usr/etc/vim
#dnf search ftp
#jobs 查看后台进程
#w
平均负载值
一分钟 五分钟 十分钟
uptime
ps 显示前台的进程
# ps -ef 所有进程
uid pid ppid c stime tty time cmd
root 5304 4969 0 09:53 pts/0 00:00:00 ps -ef
发起者 进程号 父进程 cpu的占用率 启动时间 终端
#ps aux 静态显示
ps aux --sort %cpu | less 以进程所占大小进行排序
#pstree 树状结构 没有命令
pgrep -l sshd
重点:top 每隔三秒刷新 动态的
top - 10:24:02 up 4:45, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 265 total, 1 running, 263 sleeping, 1 stopped, 0 zombie 各类进程的数量信息
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st cpu的统计结果
MiB Mem : 1806.2 total, 579.7 free, 682.1 used, 544.4 buff/cache
MiB Swap: 4096.0 total, 4096.0 free, 0.0 used. 956.4 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 187500 13796 8940 S 0.0 0.7 0:01.70 systemd
pr 优先级 ni
-d
-b
-n
kill -9 5220 强制杀死进程
killall 命令
sleep 60 睡60s
sleep 600 & 放在后台运行
fg 1 把后台放前台
bg %2 让作业2在后台运行
ctrl+z 把前台放后台
nohup 保护进程
& 把前台进程放后头
vim fdisk nmcli dnf
为什么分区 只能对分区指定文件系统类型(格式化类型)
多个分区 方便管理(可以定义多种文件系统类型,文件类型分类存储)
linux / swap /boot 一般
/ swap 必须
磁盘单位: 扇区---512个字节
块------4k
dos --mbr 一扇区 512 446 主引导程序 64 四个分区表项 一个分区表占用16 2结束标记
只能把一个主分区=扩展分区+逻辑分区 (最好24)
gbt 可128个分区
.
1.是否具备分区条件
#lsblk 查看系统块设备
2.fdisk(mbr) 不可大于2tb parted(gbt) 可大于2tb
fdisk /dev/nvme0n2
3,指定文件系统类型
#mkfs.xfs /dev/nvme0n2p1
#mkfs.ex4 /dev/nvme0n2p2
4.使用分区
#mount /dev/nvme0n2p1 /p1 临时挂载
文件系统名称 挂载点目录
#umount /p1
挂载点或者文件名称
vim /etc/fstab
文件系统名称 挂载点目录 格式类型 参数 检查 是否备份(0 1 2)
#mount -a
#reboot
5.检查方法
#mount 查看所有挂载点信息
#df -h 文件系统
swap分区
#parted