1. 总结计算机发展相关,并且总结服务器硬件相关知识
计算机(computer):俗称电脑,是一种能接受和存储信息,并按照存储在其内部的程序对海量的数据进行自动,告诉处理,然后把处理结果输出的现代化智能电子设备。
1946年世界上第一台计算机ENIAC(elcetronic numerical integrator and calculator 电子数字积分计算机) 在美国滨州大学诞生,是美国奥丁伯武器试验场为了满足弹道计算需要而研制的,使用了17468只电子管,占地170平方米,重达3顿,耗电174千瓦。每秒可以运行5000次加法或减法运算。
计算机的发展历史
- 第一代计算机(1946-1957)
- 电子管时代 第二代计算机(1958-1964)
- 晶体管时代 第三代计算机(1965-1970)集成电路时代 第
- 四代计算机(1971年以后) 大规模集成电路时代
服务器硬件
- CPU: CISC 复杂指令集 RISC 精简指令集 X86架构 ARM架构等
- 主板: bios 芯片,I/O 控制芯片 ,各种接口等
- 内存: 数据存储的临时场所,速度快,易丢失
- 硬盘 机械硬盘HDD 固态硬盘SSD
- 网卡:
其他硬件
- 远程管理卡
- 阵列卡
- 电源
- 显卡
- 热插拔技术
- 机柜
2. 制作一个教程,说明vmware软件如何下载安装。安装rocky 8.5, ubuntu 22.04,并结合xshell说明如何通过虚拟IP登入系统。
Vmware 软件下载安装
官方下载软: https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
获取其他方式获取 资料里提供的有
具体安装过程,可百度搜索,内容很多
通过Vmware 安装虚拟机
配置Vmware 网络
1)编辑——虚拟机网络编辑器——更改网络设置

2)添加网络Vmnet2 NAT网络



3)新增Vmnet3 仅主机网络

安装rocky8.5
针对 rocky8.5 创建虚拟机环境




0c76a96c58.png)




安装rock8.5 系统









提示密码过简单,点2次done









完成安装
用户登录

在这里插入图片描述






网络连接打开




安装Ubuntu 22.04系统
参考rocky8.5准备虚拟机环境













远程连接




3. 结合man命令总结linux常用基本命令用法,以及查看帮助文档的方法。
基本用法
新安装系统,如果使用man帮助无输出,可以执行mandb命令 生成数据库
使用一个命令的man帮助的话,先查询此命令的man帮助的类别分组,然后根据需要加上数字参数查询
下面以passwd 命令举例 ,passwd
1分组 默认命令吧需要数字 其他组需要加上数字,参考下面passwd 命令示例
[root@rocky8 ~]# whatis passwd
openssl-passwd (1ssl) - compute password hashes
passwd (1) - update user's authentication tokens
passwd (5) - password file
[root@rocky8 ~]# man passwd
PASSWD(1) User utilities PASSWD(1)
NAME
passwd - update user's authentication tokens
[root@rocky8 ~]# man 5 passwd
PASSWD(5) Linux Programmer's Manual PASSWD(5)
NAME
passwd - password file
文档后的使用方法
使用less 命令实现,查找翻页方法可参考 vim命令模式下查找翻页的相关方法
退出: q
space :向下翻页
b : 向上翻页
1G 翻到页末
gg 翻到文档开头
/搜索字符 从当前位置向下搜索
n 向下翻 N 向上翻
?搜索字符 从当前位置向上搜索
n 搜索命令相同,下一个
N 搜索命令相反 上一个
4. 总结linux文件系统相关知识,并结合操作演示文件操作常见的命令
- linux文件和目录被组织成一个单根倒置的树结构
- 文件系统从根目录开始用 / 表示
- 根文件系统rootfs : root filesystem
- 标准文件系统(如ext4 等),文件名称大小写敏感 例如: MAIL Mail mail mAiL
- 以 . 开头的的隐藏文件
- 文件名最长255个字节
- 包括路径在内文件名称最长4095个字节
- 蓝色-目录 绿色-可执行文件 红色-压缩文件 浅蓝色-链接文件 灰色-其他文件
- 除了斜杠和NUL所有字符都有效,但是使用特殊的字符的目录和文件不推荐使用,有些特殊字符 需要用引号来引号

常见的文件类型 - -普通文件
- d 目录文件
- l 符号连接文件link
- b 快设备 block
- c 字符设备character
- p 管道文件pipe
- s 套接字文件 socket

xshell 远程登录
文件——新建——连接——填写名称(随意需要)、主机(要连接的机器IP地址)

用户身份验证——填写用户名及密码



常见命令
cd pwd
cd /root
cd ../
cd -
pwd
basename dirname
[root@rocky8 ~]# cd /etc/sysconfig/network-scripts/
[root@rocky8 network-scripts]# basename /etc/sysconfig/network-scripts/
network-scripts
[root@rocky8 network-scripts]# dirname /etc/sysconfig/network-scripts/
/etc/sysconfig
[root@rocky8 network-scripts]# dirname /etc/sysconfig/network-scripts/ifcfg-ens3
/etc/sysconfig/network-scripts
[root@rocky8 network-scripts]# basename /etc/sysconfig/network-scripts/ifcfg-ens3
ifcfg-ens3
[root@rocky8 network-scripts]#
[root@rocky8 network-scripts]# url=http://nginx.org/nginx-1.18.0.tar.gz
[root@rocky8 network-scripts]# basename $url
nginx-1.18.0.tar.gz
[root@rocky8 network-scripts]#
2.8创建空文件和刷新时间 touch
2.9 复制文件和目录 cp
备份 保留属性 -a
cp -a /etc/1 /opt/1.bak
先备份在覆盖 -b
[root@rocky8 data]# cp -b 1 1.bak
[root@rocky8 data]# ls
1 1.bak 1.bak~
1.bak~ 为备份文件
2.10 移动文件和重命名文件 mv rename
rename 可以比例修改文件名
为所有以f开头包含conf 的文件加上.bak后缀
[root@rocky8 data]# touch f{1..4}.conf
[root@rocky8 data]# ls
f1.conf f2.conf f3.conf f4.conf
[root@rocky8 data]# rename 'conf' 'conf.bak' f*
[root@rocky8 data]# ls
f1.conf.bak f2 f2.conf.bak f3.conf.bak f4.conf.bak
去掉所有的bak后缀
[root@rocky8 data]# ls
f1.conf.bak f2 f2.conf.bak f3.conf.bak f4.conf.bak
[root@rocky8 data]# rename '.bak' '' *.bak
[root@rocky8 data]# ls
f1.conf f2 f2.conf f3.conf f4.conf
2.11 删除文件 rm
尽量不要使用rm -rf直接删除,可以先使用mv 移走,备份起来,过了一个缓冲期在删除
删除 软连接文件夹方式,
此重方式不能删除软连接
[root@rocky8 data]# rm -rf 4/
[root@rocky8 data]# ll
total 0
drwxr-xr-x. 2 root root 6 Nov 23 22:41 1
-rw-r--r--. 1 root root 0 Nov 23 22:38 2
lrwxrwxrwx. 1 root root 12 Nov 23 22:40 4 -> /root/data/1
[root@rocky8 data]# ls
1 2 4
删除软链接的正确方式
[root@rocky8 data]# rm -rf 4
[root@rocky8 data]# ls
1 2
2.13 目录操作 tree mkdir rmdir
rmdir 只能删除空目录
定义rm的别名,删除执行mv进行备份
[root@rocky8 data]# alias rm='DIR=/data/backup`date +%F%T`;mkdir -p $DIR;mv -t $DIR'
[root@rocky8 data]# rm f
3、文件元数据和节点表结构
3.1 inode表
inode 编号用完,将不能再次创建文件,删除文件,inode号将会被释放
[root@rocky8 ~]# df -i /boot
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 524288 311 523977 1% /boot
[root@rocky8 ~]# touch /boot/test/1.txt
[root@rocky8 ~]# df -i /boot
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 524288 312 523976 1% /boot
[root@rocky8 ~]# rm -rf /boot/test/1.txt
[root@rocky8 ~]# df -i /boot
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 524288 311 523977 1% /boot
删除大文件方式
先清空文件,再做删除操作,文件太大,可能会导致系统卡死
[root@rocky8 ~]# cat /dev/null > /var/log/huge.log
3.2-4 软链接 硬链接 ln
软件链接 ln -s file file.link 文件路径要使用绝对路径
硬链接 ln file file.link
删除文件夹软链接的正确方式,参考2.11 删除文件rm 操作失误,将会导致将源文件删除,相反软链接未删除
删除软链接 路径最后不要到 /
软硬链接的区别,参考文档
4、IO重定向,管道
4.1标准输入和输出
一个程序打开文件时,会给每个打于的文件分配唯一的数字
0 stdin
1 stdout
2 stderr
/dev/pts/1
[root@rocky8 ~]# tail -f /var/log/messages
[root@rocky8 data]# ll /dev/std*
lrwxrwxrwx. 1 root root 15 Nov 24 09:12 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx. 1 root root 15 Nov 24 09:12 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx. 1 root root 15 Nov 24 09:12 /dev/stdout -> /proc/self/fd/1
[root@rocky8 data]# pidof tail
6126
[root@rocky8 data]# ll /proc/6126/fd
total 0
lrwx------. 1 root root 64 Nov 24 14:02 0 -> /dev/pts/1
lrwx------. 1 root root 64 Nov 24 14:02 1 -> /dev/pts/1
lrwx------. 1 root root 64 Nov 24 14:02 2 -> /dev/pts/1
lr-x------. 1 root root 64 Nov 24 14:02 3 -> /var/log/messages
lr-x------. 1 root root 64 Nov 24 14:02 4 -> anon_inode:inotif
4.2 IO重定向
1> 或 > 把STDOUT 重定向到文件
2> 把STDERR 重定向到文件
&> 或者>& 把标准输入和错误都重定向
追加
>> 追加标准输出
2 >> 追加标准错误
&>> 合并追加
实现标准输出和错误的互换
[root@rocky8 data]# ( cat /etc/centos-release ls /etc/xx 3>&1 1>&2 2>&3 ) >f1.txt 2>f2.txt
[root@rocky8 data]# cat f2.txt
Rocky Linux release 8.5 (Green Obsidian)
[root@rocky8 data]# cat f1.txt
cat: ls: No such file or directory
cat: /etc/xx: No such file or directory
1、Linux 的标准输入输出流只有三种,即 0-stdin 、1-stdout、2-stderr
2、&标准流 是一个指向标准流的指针,如果没有 & ,就是创建的一个普通的文件句柄。
3、>&标准流 指将某个文件重定向到另一个流
4、这里的 3>&1 ,的含义是:先创建一个文件句柄 3,将其重定向到1(out),再将 1 重定向 2 ,最后再将 2 重定向到 3 。这么绕了一圈就是初学编程时交换两个变量的过程,将 error 的内容重定向到 out 了,out 重定向到 error 。
————————————————
版权声明:本文为优快云博主「毕小宝」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/wojiushiwo945you/article/details/100727522
4.2.2 标准输入重定向
tr 命令 转换或删除字符
选项
-d 删除
-s 去除连续重复
-t 第一字符集转换成第二字符集
-c 取字符集的补集
大小写字母转换
[root@rocky8 data]# tr 'a-z' 'A-Z' < /etc/issue
\S
KERNEL \R ON AN \M
[root@rocky8 data]# cat /etc/issue
\S
Kernel \r on an \m
删除文件中的包含abc的任意字符
[root@rocky8 data]# tr -d swap <fstab
标准输入重定向
[root@rocky8 data]# cat <1 >2
把多行重定向
[root@rocky8 data]# cat > file1 <<EOF
> 多行重定向
> test
> D
> d
> EOF
[root@rocky8 data]# cat file1
多行重定向
test
D
d
高级重定向写法
CMD <<< "string "
[root@rocky8 data]# tr 'a-z' 'A-Z' <<< "I am wang"
I AM WANG
CMD1 < < (CMD2)
[root@rocky8 data]# tr 'a-z' 'A-Z' < <(echo I am wang)
I AM WANG
错误的格式
[root@rocky8 data]# tr 'a-z' 'A-Z' << (echo I am wang)
-bash: syntax error near unexpected token `('
[root@rocky8 data]# tr 'a-z' 'A-Z' < < (echo I am wang)
-bash: syntax error near unexpected token `<'
4.3 管道
命令1 | 命令2 |命令3
[root@rocky8 data]# echo "2^3" |bc
8
[root@rocky8 data]# ls |tr 'a-z' 'A-Z'
2
FILE1
4.3.2 tee 命令 重定向多个目标, 经常和管道符一起使用
格式
命令1 | tee [-a] 文件名 |命令2
-a 追加
[root@rocky8 data]# echo {0..3}
0 1 2 3
[root@rocky8 data]# echo {1..100} |tr ' ' + |bc
5050
[root@rocky8 data]# echo {1..10..2}
1 3 5 7 9
[root@rocky8 data]# echo {1..100..2} |tr ' ' + |bc
2500
[root@rocky8 data]# seq -s + 1 10
1+2+3+4+5+6+7+8+9+10
[root@rocky8 data]# seq -s + 1 100 |bc
5050
[root@rocky8 data]# seq -s + 1 2 10
1+3+5+7+9
[root@rocky8 data]# seq -s + 1 2 10 |bc
25
[root@rocky8 data]# cat <<EOF |tee 1
> test
> D
> F
> EOF
test
D
F
[root@rocky8 data]# cat 1
test
D
F
[root@rocky8 data]#
5、用户组管理
useradd userdel usermod
groupadd groupdel groupmod
[root@rocky8 data]# useradd gentoo -G bin,root -s /bincsh -c "Gentoo Distribution"
[root@rocky8 data]# id gentoo
uid=1002(gentoo) gid=1004(gentoo) groups=1004(gentoo),1(bin),0(root)
[root@rocky8 data]# grep gentoo /etc/passwd
gentoo:x:1002:1004:Gentoo Distribution:/home/gentoo:/bincsh
[root@rocky8 data]# groupadd webs
[root@rocky8 data]# useradd nginx -G webs
[root@rocky8 data]# useradd varnish -G webs
[root@rocky8 data]# useradd mysql -s /sbin/nologin
[root@rocky8 data]# echo mage | passwd --stdin nginx
文本常见处理工具
cat
nl 读取文本 加行号 等价与 cat -b
[root@rocky8 data]# cat 1
test
D
F
g
[root@rocky8 data]# cat -n 1
1 test
2 D
3 F
4
5 g
[root@rocky8 data]# cat -b 1
1 test
2 D
3 F
4 g
[root@rocky8 data]# nl 1
1 test
2 D
3 F
4 g
tac 逆向显示文本内容 按照行进行逆向
示例参考rev
rev 将同一行的内容逆向显示
[root@rocky8 data]# cat 1
test
D
F
g
[root@rocky8 data]# tac 1
g
F
D
test
[root@rocky8 data]# rev 1
tset
D
F
g
hexdump 查看非文本文件内容
[root@rocky8 data]# hexdump -C - 512 /dev/sda
more less
head tail
cut 提取文本文件或STDIn 数据的指定列
[root@rocky8 data]# cat passwd
root:x:0:0:root:/root:/bin/bash
[root@rocky8 data]# cut -d: -f1 passwd
root
[root@rocky8 data]# cut -d: -f2 passwd
x
[root@rocky8 data]# cut -d: -f1,3-4,7 passwd
root:0:0:/bin/bash
[root@rocky8 data]#
[root@rocky8 data]# ifconfig |head -n2 |tail -n1 |cut -d" " -f10
10.0.0.150
[root@rocky8 data]# ifconfig |head -n2 |tail -n1 |tr -s " " |cut -d" " -f3
10.0.0.150
[root@rocky8 data]# df |tr -s " " |cut -d " " -f5 |tr -dc "[0-9\n]"
0
0
2
0
8
1
26
1
0
paste 合并多个文件
[root@rocky8 data]# cat 1
test
D
F
g
[root@rocky8 data]# cat 2
1
2
3
4
[root@rocky8 data]# paste -d: 1 2
test:1
D:2
F:3
g:4
[root@rocky8 data]# paste -s 1 2
test D F g
1 2 3 4
[root@rocky8 data]# paste -s 1 2
[root@rocky8 data]# paste -s -d: 1 2
test:D:F:g
1:2:3:4
5. 总结linux安全模型
资源分派
- Authentication:认证,验证用户身份
- Authorization: 授权,不同的用户设置不同的权限
- Accounting |Audition 审计
当用户登录成功后,系统会自动分配令牌token ,包括用户标识和组成员信息等
用户
管理员 :root ,0
普通用户: 系统用户1-999 登录用户 1000-60000
组
管理员组 :root 0
普通组: 1000+
用户和组的关系
主要组和附加组 一个用户只能有一个主组 主组默认和创建的用户名一致
安全上下文
linux 安全上下文context :运行中的程序以进程(process) 以进程发起者的身份运行,进程所能够访问的资源的权限,取决于进程运行者的身份
6. 总结学过的权限,属性及ACL相关命令及选项,示例。
文件权限 rwx 读写执行权限 chmod
r 4 读
w 2 写
x 1 执行
[root@rocky8 data]# touch test
[root@rocky8 data]# ls
test
[root@rocky8 data]# ll
total 0
-rw-r--r--. 1 root root 0 Nov 23 11:45 test
[root@rocky8 data]# chmod 777 test
[root@rocky8 data]# ll
total 0
-rwxrwxrwx. 1 root root 0 Nov 23 11:45 test
[root@rocky8 data]# chmod o=- test
[root@rocky8 data]# ll
total 0
drwxr-xr-x. 2 root root 6 Nov 23 11:48 1
-rwxrwx---. 1 root root 0 Nov 23 11:45 test
[root@rocky8 data]# chmod g=rw test
[root@rocky8 data]# ll
total 0
drwxr-xr-x. 2 root root 6 Nov 23 11:48 1
-rwxrw----. 1 root root 0 Nov 23 11:45 test
[root@rocky8 data]# chmod u-x test
[root@rocky8 data]# ll
total 0
drwxr-xr-x. 2 root root 6 Nov 23 11:48 1
-rw-rw----. 1 root root 0 Nov 23 11:45 test
[root@rocky8 data]# chmod o+r test
[root@rocky8 data]# ll
total 0
drwxr-xr-x. 2 root root 6 Nov 23 11:48 1
-rw-rw-r--. 1 root root 0 Nov 23 11:45 test
特殊权限
SUID 4 作用于二进制文件上,用户将继任此程序所有者的权限
GUID 2 作用于二进制上,用户将继任此程序的所有组的权限 ,作用于目录上,此目录新建的文件的所属组将自动从此目录继承
STICKY 1 作用于目录上,此目录的文件只能由所有者删除
[root@rocky8 data]# touch test
[root@rocky8 data]# ll
total 144
drwxr-xr-x. 2 root root 6 Nov 23 11:48 1
-rwxr-xr-x. 1 root root 143400 Nov 23 11:59 ls
-rw-r--r--. 1 root root 0 Nov 23 12:00 test
# SUID权限
[root@rocky8 data]# chmod u+s ls
[root@rocky8 data]# ll
total 144
drwxr-xr-x. 2 root root 6 Nov 23 11:48 1
-rwsr-xr-x. 1 root root 143400 Nov 23 11:59 ls
-rw-r-Sr--. 1 root root 0 Nov 23 12:00 test
[root@rocky8 data]# chown .bin t
[root@rocky8 data]# ll
total 0
drwxr-xr-x. 2 root bin 6 Nov 23 12:09 t
[root@rocky8 data]# touch t/1
[root@rocky8 data]# ll t/
total 0
-rw-r--r--. 1 root root 0 Nov 23 12:09 1
#SGID 权限
[root@rocky8 data]# chmod g+s t
[root@rocky8 data]# ll
total 0
drwxr-sr-x. 2 root bin 15 Nov 23 12:09 t
[root@rocky8 data]# touch t/2
[root@rocky8 data]# ll t/
total 0
-rw-r--r--. 1 root root 0 Nov 23 12:09 1
-rw-r--r--. 1 root bin 0 Nov 23 12:09 2
#Sticky 权限
[root@rocky8 data]# chmod o+t t/
[root@rocky8 data]# ll
total 0
drwxr-sr-t. 2 root bin 24 Nov 23 12:09 t
[root@rocky8 data]#
acl
[root@rocky8 data]# touch f1.txt
[root@rocky8 data]# ll
total 0
-rw-r--r--. 1 root root 0 Nov 23 12:14 f1.txt
# 添加acl权限
[root@rocky8 data]# setfacl -m u:wang:- f1.txt
#查询acl 权限
[root@rocky8 data]# getfacl f1.txt
# file: f1.txt
# owner: root
# group: root
user::rw-
user:wang:---
group::r--
mask::r--
other::r--
#复制文件的acl权限给另外一个文件
[root@rocky8 data]# getfacl f1.txt |setfacl --set-file=- f2.txt
[root@rocky8 data]# getfacl f2.txt
# file: f2.txt
# owner: root
# group: root
user::rw-
user:wang:---
group::r--
mask::r--
other::r--
# 清理acl权限
[root@rocky8 data]# setfacl -x u:wang f2.txt
[root@rocky8 data]# getfacl f2.txt
# file: f2.txt
# owner: root
# group: root
user::rw-
group::r--
mask::r--
other::r--
#清理所有权限
[root@rocky8 data]# setfacl -b f2.txt
7. 结合vim几种模式,学会使用vim几个常见操作。
1)如何打开文件。并在打开文件(命令模式)之后如何退出文件。
打开文件 vim file
退出文件 未更新不保存退出:q 有更新不保存退出:q! 保存退出:wq
2)打开文件(命令模式)之后,进入插入模式。并在插入模式中如何回到打开文件的状态(命令模式),并在命令模式之后如何退出文件。
esc 从插入模式回到命令模式,退出文件,参考1)
3)打开文件(命令模式)之后,进入插入模式,编写一段话,““马哥出品,必属精品””, 之后从插入模式中如何回到打开文件的状态(命令模式),并在命令模式之后如何退出文件。
vim f1.txt
按i 键进入插入模式
马哥出品,必属精品
esc回到命令模式
:wq
4)使用cat命令验证文件内容,是刚刚自己写的内容。

5)(可选),命令模式下,光标在单词,句子上进行前后,上下跳转。行复制粘贴。行删除。"
h 句子上前移 l 后移
j上跳 k 下跳
yy 行复制 p 行粘贴 dd 删除行
该博客总结了计算机发展历史与服务器硬件知识,介绍Vmware软件下载安装及通过其安装rocky 8.5、ubuntu 22.04虚拟机的方法,还总结了Linux常用基本命令、文件系统、安全模型、权限及ACL相关知识,以及vim的常见操作。


被折叠的 条评论
为什么被折叠?



