[toc]
信创时代下的国产操作系统发展趋势
时间安排:
| 日期 | 时间 | 内容 |
|---|---|---|
| 2022.10.20 | 18:30-20:30 | openEuler操作系统入门 命令行操作基础 |
| 2022.10.21 | 18:30-20:30 | 使用VIM编辑器 用户管理 |
| 2022.10.22 | 8:30-12:00 | 权限管理 |
| 14:00-17:30 | 管理文件系统及存储 | |
| 2022.10.23 | 8:30-12:00 | 日常系统管理 使用Shell脚本 |
| 14:00-17:30 | openEuler管理员综合实践 |
15道+试验
硬件 软件(基础软件OS 、中间件、应用软件)
openEuler,linuxOS,
硬件 软件 之间的一个接口层 OS ,管理软件,调度底层资源
linux最早在1991.支持i386通用硬件
GPL传染性:linux的OS lgpl:linux的运行库。
linux内核+自由软件=发行版本 openEuler 社区维护。
BIOS BMC
VirtualBox | vmware workstation + openEuler-20.03-LTS-x86_64-dvd.iso
右边的Ctrl | ctrl+Alt
root用户密码配置 大小写数字特殊字符 三种 8位以上
最小化安装界面
登录界面login: 用户名
密码
[root@localhost ~]#
当前登录用户@主机名 当前工作目录]#代表当前登录用户是一个管理员、$当前登录用户是一个普通用户
~代表当前用户家目录
ip addr 查看ip
ifconfig查看ip
linux的基本命令
1. linux常用登录、注销、重启、关机等命令
last
exit命令的作用是退出系统,它的使用权限是所有用户。还可以退出用户登录。
root->aa->bb
主要参数:exit命令没有参数,运行后退出系统进入登录界面。
shutdown命令的作用是关闭计算机,使用权限是超级用户。
shutdown -r 重启
shutdown -h 关机。(硬关机、软关机)
halt命令的作用是关闭系统,使用权限是超级用户。
init 0 关机
init 6 重启
reboot命令的作用是重新启动计算机,使用权限是系统管理者
2. linux shell命令。
kernel+自由软件组成
shell 壳,命令-->控制指令,命令的集合。
shell目前使用的是bash,内部命令,help 内部命令获取命令帮助
自由软件带来的命令:外部命令 外部命令 --help获取命令帮助
man
linux通用命令格式 可能不那么通用
命令 [选项] [参数...]
短选项以-引导,引导单个字母实现命令的功能,多个短选项可以连续
长选项以--引导
linux一切皆文件,所有文件都在根目录下,符号为/
目录(文件夹)也是文件, 目录中会有文件 目录/文件
graph TD
A(/根目錄)-->B(bin放置的是可运行程序)
A(/根目錄)-->C(sbin放置的是root用户可运行程序)
A(/根目錄)-->D(boot系统启动时相关的文件)
A(/根目錄)-->E(dev设备文件)
A(/根目錄)-->F(etc系统的配置文件)
A(/根目錄)-->G(home普通用户默认家目录)
graph TD
A(/根目錄)---->H(root用户家目录)
A(/根目錄)---->I(lib链接库文件)
A(/根目錄)---->J(lib64链接库文件)
A(/根目錄)---->K(proc数据加载到内存)
A(/根目錄)---->L(usr第三方软件安装的位置)
A(/根目錄)---->M(var不断增长数据的文件)
ls:list的缩写,列出。ls 一般后边的参数为目录,代表列出目录内文件名字
ls / #列出根目录下内容
ls /etc/fstab# 列出/etc/fstab文件本身
ls /root
ls -a /root #-a显示全部文件,.开始的是隐藏文件
ls -l /root ##-l显示文件的详细属性
-
目录类命令
ls
pwd:print working directory,打印当前工作目录。登录用户,默认会进入用户家目录。
绝对路径:从/出发去找文件
相对路径:从当前目录出发去找文件
cd: 切换工作目录。
cd /etc/ 绝对路径 cd etc 相对路径 cd . ###`.` 代表当前目录 cd .. ###`..` 代表父目录 cd ~ ### `~` 代表当前用户家目录 cd - ### `-` 代表上一次的工作目录 cd ~用户mkdir:创建目录
mkdir [选项] 参数 mkdir 目录 mkdir -p 目录1/目录2/目录3…… -
文件类命令
touch 创建一个空文件 ,如果文件已存在,则刷新文件访问时间。
touch
path/filenamecp:复制文件到某个地方。
cp 某些文件 某个地方 cp file1 /test cp -r aa /test ##复制文件夹一定要加-r,迭代 复制文件,如果目的的路径的最后一位如果不存在,则复制相当于改名。mv:剪切文件到某个地方
mv 某些文件 某个地方 mv file1 /test mv aa /test 剪切文件,如果目的的路径的最后一位如果不存在,则剪切相当于改名。rm删除文件
rm 某些文件 rm -f 某些文件 ##强制删除多个文件,无需确认 rm -rf 某文件及目录 ### rm -rf ./* 删除当前目录下所有文件。 rm -rf /root/aa 删除对象是aa rm -rf /root 删除对象root rm -rf root 删除对象rootfind:查找文件
find 查找范围 查找条件###查找范围一般为最大的/ find 查找条件 ##默认认为查找范围是当前目录 条件: -name 名字 -type 类型 d目录 f 文件 l 连接文件 -user 用户 -
文件内容类命令
echo 在屏幕上打印输出内容
echo 123 echo openEuler echo aa echo $aa 打印aa的值cat查看文件内容
cat文件less 使用翻页的形式去看文件
less文件↑↓切换 enter 空格翻页 pageup pagedown /word可以去找word win不区分大小写,linux区分大小写 Word q退出more 文件
只能往下翻 会显示阅读百分比tail查看文件的末尾十行tail aa ## tail -3 aa tail -n 3 aa 查看后三行 tail -f 文件 会实时查看文件末尾更新,查看日志head 查看文件的前十行
head aa ## head -3 aa head -n 3 aagrep查找文件内容,默认输出所在行grep "内容" 文件 grep -i "内容" 文件 忽略大小写 grep -v "内容" 文件 #反向输出管道:管道符| 将管道前命令输出拦截,交给管道后命令使用。cat anaconda-ks.cfg | grep System ls /etc | grep fstab man systemd | grep NOTES -A 3 查看man systemd命令中NOTES单词的后三行 ip address | less -
辅助命令
归档命令tar,解归档
-f 指定归档文件 ,行业内默认,文件名末尾为.tar,linux没有文件后缀。
-c 创建归档 -x 释放归档 -t 查看归档包内文件 -v 显示上述过程中参与的文件 -P 保留源文件权限 -z -J -j tar -cvf /root/test.tar aa 1 2 将文件 aa 1 2 打包为 /root/test.tar
重定向:输入重定向 输出重定向。
输出重定向:命令的输出传输到一个文件中。 > 标准输出
echo 123 > aa 将123输出到文件而不显示在屏幕上。
echo 123 >> aa 将123追加到文件而不显示在屏幕上。
标准错误重定向:将标注错误重定向到文件中。 2>
wdw 2> aa
cat aa
标准输出和错误可以都重定向: &>
find / -user aa &> aa
ln :连接文件
软连接:快捷方式 硬连接:原文件的拷贝
ln aa bb 不加选项,做的是硬连接
ln -s /root/test/ /home/ 做的是软连接,连接/root/test到/home/test
- 补充
wc:wordcount单词统计,
wc -l 文件 #查看文件的行数
wc -c 文件@#查看文件的字符
wc -w 文件
3. vim编辑器
vi:命令模式、编辑模式、末行模式
vi 文件 ###编辑文件 命令模式
a键是在光标后一格开始输入字符
i是在光标前开始输入字符
o另起一行输入字符
| vim操作 | 用途 |
|---|---|
| 命令模式 | |
| gg | 跳转首行 |
| G | 跳转末行 |
| nG | 跳转第n行 |
| /word | 搜索word |
| yy | 复制当前行 |
| p | 粘贴到光标后 |
| P | 粘贴到光标前 |
| x | 删除光标所在字符 |
| dd | 删除当前所在行,剪切 |
| nyy|ndd | 复制当前所在行以及下边的n-1行| |
| 末行模式 | |
| :r 文件 | 读入文件内容 |
| :q | 退出(未修改) |
| :wq | 保存退出 |
| :q! | 不保存退出 |
| :wq! | 强制保存退出 |
| /word | 从上往下查找word,n匹配下一个,N匹配上一个 |
| ?word | 从下网上查找word,n匹配下一个,N匹配上一个 |
| :s/old/new | 找到第一个old替换为new |
| :s/old/new/g | 找到第一个old所在行,里边的所有的old替换为new |
| :#,ns/old/new/g | 替换#行到n行,里边的所有的old替换为new |
| :%s/old/new/g | 替换#行到n行,里边的所有的old替换为new |
4. 软件仓库repository
openEuler默认软件仓库使用的是/etc/yum.repos.d文件夹下所有以.repo结尾的文件。
#mount /dev/cdrom /media/
vi /etc/yum.repos.d/aa.repo
[asas] name=ruanjianyuan baseurl=file:///media gpgcheck=0
dnf install vim -y
与或非 或| 与& 非!
[aa] repo_id
name=aa repo_name
baseurl= 书写的路径下,可以看到repodata文件夹。
gpgcheck= 0|1 关闭校验|开启 gpgkey
5. 用户管理
linux基于用户身份对资源进行访问控制。
uid用户id。普通用户id从1000开始。
account用户:会配置密码。让他登录系统
software用户:让他登录软件 samba的用户等。
用户组:管理用户,GID
基本组:在创建用户时,默认会创建同名的基本组,仅用作标识。 主组
附加组:一般用来配置权限后,将用户加入组中,给用户匹配对应的权限。
id root #id 用户
uid=0(root) gid=0(root) groups=0(root)
查看用户的uid 用户所属组的id(基本组) 用户所属组(基本组、附加组)
/etc/passwd:账户信息文件
root:x:0:0:root:/root:/bin/bash
用户账户:密码占位:用户的id:用户基本组的id:说明、概要、全名:用户的家目录:登录shell
/etc/shadow:影子文件,用户账户密码文件
root:!:19286:0:99999:7:::
1970.1.1unix诞生日期
用户名:密码:密码上次修改时间:密码最短有效天数:密码最长有效天数:密码过期多少天以前进行告警:
useradd 用户名 ### 添加用户
useradd -D ##用户创建默认规则
-u 指定新建用户uid的
useradd -u 10010 dd
useradd -d /share ee 指定家目录
useradd -M ff 不创建用户家目录
useradd -N gg 不创建用户基本组
useradd -s /sbin/nologin hh 指定用户无法登录系统
-g 基本组
-G 附加组
useradd -g 10002 ii
useradd -G 10002 jj
passwd 用户##此格式用来给指定用户配置密码, 这个格式仅限root可用
passwd###用户给自己配密码,普通用户需要输入原密码
echo huawei | passwd --stdin 用户 ##给用户设置密码
standard stdin标准输入 stdout标准输出
userdel -r 用户 ###删除用户
usermod 修改已有用户的属性
usermod -u uid 用户 ##修改用户的uid
-d 更改家目录
-m 移动家目录
usermod -md /share aa 将用户家目录移动成/share
-s /bin/bash /sbin/nologin
-g
-G
usermod -aG group01 cc
usermod -aG group02 cc
su
su 用户###切换用户
su ###切换到root
root使用无需密码
su - 切换环境(文件、环境变量)
su - 用户###切换用户
su - ###切换到root
root使用无需密码
su - 和sudo -i 都可以切换到root用户,su -需要输入root的密码 sudo -i输入的是当前用户密码
chage -l aa 查看用户的密码策略
chage -d 2020-01-01 aa 更改用户上次密码修改时间
chage -m 7 -M 30 aa 设置aa用户密码在7-30天内时有效的
chage -W 7 aa 设置aa用户密码在过期七天前告警
chage -I 3 aa 设置用户密码在过期3天后禁用用户。
用户组:基本组 附加组
groupadd 组名###添加组
-g 指定GID
gpasswd 组成员管理。
gpasswd -a 用户 组 #将用户加入组中
gpasswd -d 用户 组 #把用户从组中删除
groupdel 删除用户组
groupdel 组名
如果组是一个用户的基本组,默认是不能删除这个组。
访问权限:用户对文件拥有的可读、可写、可执行。对于目录,可写意味着,用户可以再目录中对于文件创建、删除、重命名等;可执行权限意味着,可以切换到这个目录。
读r 4 写w 2 执行x 1
1 234567
所有权:文件的属主(归属用户) 属组(归属用户组)
ls -l aa
-rw-------. 1 root root 638 Oct 22 03:44 aa
第一个-代表当前是一个文件, d代表目录,l代表链接文件
rw------- 每三位为一段,分成三段 rw- --- --- 属主权限 属组的权限 其他用户权限
chmod #修改用户对文件的权限 root及文件属主可用
方法一:chmod ugoa+-=rwx file
chmod u+x aa
chmod g+r aa
chmod o=rw aa
chmod a=rw aa
方法二:chmod nnn file
chmod 777 aa rwxrwxrwx
chmod 755 aa rwxr-xr-x
chmod -R 777 /test/ 修改test目录权限,以及修改test中文件的权限。
chown#owner 更改归属
chown 用户 文件 #
chown :用户组 文件 | chown .用户组 文件
-R
chown root:root /home/aa
umask反掩码
777 umask 计算得到创建目录的权限。目录权限去掉执行权限就是创建的权限。
umask 077
700
将文件创建权限局限在可控范围内。
ACL:访问控制列表。控制某个用户或者用户组对某个文件具体的权限划分。不必考虑原有的文件权限。
setfacl 设置文件的访问控制列表
setfacl -m u:aa:rw /test/cc 设置用户aa对于文件的权限是rw
setfacl -m g:aa:rw /test/cc 设置用户组aa对于文件的权限是rw
getfacl 文件### 获取文件访问控制列表
sefacl -x u:aa /test/cc 去除用户aa对于文件的ACL权限
setfacl -b /test/cc 删除文件的ACL权限
-
软件管理
源码包 ·移植· 二进制包
openEuler采用rpm包管理机制,.rpm .src.rpm(源代码包)。rpm采用单独的数据库记录软件安装信息(软件大小、版本、架构、软件包相互依赖。)
bash-5.0-12.oe1.x86_64.rpm
软件名 -软件版本-补丁号.软件平台.硬件平台
rpm 管理软件 -i 安装 -e 卸载 -q 查询query -v 显示过程 -h 以#显示进度 --nodeps 忽略依赖 rpm -ivh 软件包路径 ###安装软件 rpm -qi 软件包名 ###查询已安装软件包信息 rpm -qi vsftpd rpm -qc 软件包 ###查询已安装软件包的配置文件 rpm -qc vsftpd rpm -ql 软件包 ###查询软件相关文件 rpm -qf 文件 ###查询文件属于哪个软件 rpm -qa ##列出系统所有已安装软件 rpm -qa |grep bashyum:使用rpm包管理机制作为基础,查询依赖,并且利用python2作为基础,解决软件依赖问题。dnf-3
yum源即是DNF源,/etc/yum.repos.d下以.repo结尾的文件。 配置完成后 dnf repolist -v 生成dnf缓存到本地,可以确定dnf源是否是对的 dnf install 软件包名 -y###安装软件 dnf provides 命令 ###查询命令属于哪个软件 dnf list ###列出软件仓库的软件 dnf list installed###列出已安装软件包 dnf info 软件包##查看软件包信息 dnf info vsftpd dnf remove 软件包 ###卸载软件包 ###软件包组 dnf grouplist ##列出软件包组 dnf group install "软件包组"##安装 dnf install "@软件包组" ##安装 dnf group remove "软件包组"##卸载生成编译配置 && 编译 && 安装
源代码中得configure程序 执行会生成一个Makefile ,按照Makefile去进行编译、安装
./configurre --prefix=/usr/local/Python 生成一个Makefile 指定软件安装路径
make -j16 编译 -j指定编译的线程数
make install
可能出现的bug
ensp AR41错误 vmware worktstation vmnet8和1不存在
virtualbox
卸载软件 安装ccleaner清理注册表 重启 安装软件
-
File exists 文件已存在
-
No such file or directory没有这个文件或目录
-
overwrite '/test/file2'? 是否覆盖 y|n
-
Is a directory 是一个目录
-
Capslock按键,大写锁定键,不推荐使用 shift+a =A
-
Permission denied 无权限
-
Failed dependencies 错误的依赖关系,安装软件时,依赖软件未安装。