linux1
Linux 操作系统
1.Linux操作系统认知
1.1 操作系统(Operation System 简称OS)
-
定义
- 操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。

- 操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。
-
操作系统功能
- 管理好硬件设备,为用户提供调用方法
- 是计算机中重要的系统环境
- 管理各种其它的软件和程序的运行
- 对系统中文件进行管理
-
分类
- 桌面系统:Windows,Mac OS,图形界面良好,用户群体大
- 服务器系统:Linux,Unix为主,安全,稳定,费用低,占有量大。windows占有率低
- 嵌入式系统:Linux为主,主要用于小型智能设备,如智能手机,机器人等。
1.2 Linux系统介绍
- Linux诞生
- 1991年林纳斯(Linus)就读于赫尔辛基大学期间,对Unix产生浓厚兴趣,林纳斯经常要用他的终端仿真器(Terminal Emulator)去访问大学主机上的新闻组和邮件,为了方便读写和下载,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了Linux第一个内核的雏形,当时,他年仅21岁!林纳斯利用C做工具,编写了Linux内核,后来经过全世界的网友的帮助,最终成为优秀的操作系统。
- Linux系统特点
- Linux是一款开源免费的操作系统
- 支持多种硬件平台
- 支持多用户
- 具有非常强大的网络功能
- Linux应用领域
- Linux服务器:目前是服务器系统中最广泛的一种
- 桌面应用:新版本的Linux系统特别在桌面应用方面进行了改进,达到相当的水平
- 嵌入式系统:由于Linux系统开放源代码,可以方便修改,在嵌入式设备领域有很广阔的市场。
- Linux系统构成
- 内核:Linux操作系统的核心代码,是Linux系统的心脏,提供了系统的核心功能,用来与硬件交互。
- 文件系统:通常指管理磁盘数据的系统,可将数据以目录或文件的形式存储。每个文件系统都有自己的特殊格式与功能
- 命令解释器:它使得用户能够与操作系统进行交互,负责接收用户命令,然后调用操作系统功能。
- 应用软件:包含桌面系统和基础的软件操作工具等。
- Linux发行版本
- 严格的来讲,Linux只是一个系统内核,即计算机软件与硬件通讯之间的平台。
1.3 文件系统
-
定义
- 文件系统是计算机操作系统的重要组成部分,用于组织和管理计算机存储设备上的大量文件。
-
文件系统结构
-
Linux的文件组织中没有盘符。将根(/)作为整个文件系统的唯一起点,其他所有目录都从该点出发。犹如一颗倒置的树,所有存储设备作为这棵树的一个子目录。

-
-
系统目录功能
1. /bin 目录 /bin目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。这些命令都是二进制文件的可执行程序(bin是binary---二进制的简称),多是系统中重要的系统文件。 2. /sbin /sbin目录类似/bin,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使用的基本的系统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用。 3. /etc /etc目录存放着各种系统配置文件,其中包括了用户信息文件/etc/passwd,系统初始文件/etc/rc等。Linux正是因为这些文件才得以正常地运行。 4. /root目录 /root 目录是超级用户的目录 5. /lib /lib目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。 6. /dev /dev目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。比如,用户可以通过访问/dev/mouse来访问鼠标的输入,就像访问其他文件一样 7. /usr /usr是个很重要的目录,通常这一文件系统很大,因为所有程序安装在这里。本地安装的程序和其他东西在/usr/local下,因为这样可以在升级新版系统或新发行版时无须重新安装全部程序 8. /var /var 包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。 9. /home /home普通用户的默认目录,在该目录下,每个用户拥有一个以用户名命名的文件夹。 -
绝对路劲和相对路径
- 绝对路径:
- 相对路径:
2. Linux常用命令
-
命令格式
command [-options] [parameter] 说明: command:命令名称,一般为英文单词或单词的缩写 [-options]:命令选项,辅助命令进行功能细化,也可以省略 parameter:传给命令的参数,可以是0个或多个
2.1 终端与命令行
2.2 Linux常用命令
2.2.1 帮助命令
man command
说明:查阅command命令的使用手册,按Q退出
2.2.2 基础操作命令
| 序号 | 命令 | 作用 |
|---|---|---|
| 1 | ls | 查看当前文件夹下的内容 |
| 2 | pwd | 查看当前所在位置绝对路径 |
| 3 | cd [目录名] | 切换文件夹 |
| 4 | touch [文件名] | 如果文件不存在,新建文件 |
| 5 | mkdir [目录名] | 创建目录 |
| 6 | rm [文件名] | 删除指定的文件名 |
| 7 | cp | 复制一个文件 |
| 8 | mv | 移动一个文件 |
| 9 | cat [文件名] | 查看文件内容、创建文件、文件合并、追加文件内容等功能 |
| 10 | head [文件名] | 显示文件头部 |
| 11 | tail [文件名] | 显示文件尾部 |
| 12 | grep [搜索文本] [文件名] | 搜索文本文件内容 |
| 13 | find [目录] -name [文件名] | 在一个目录及其子目录下查找文件 |
| 14 | wc [文件名] | 查看文件行数,单词数等信息 |
- 通配符
- 作用:对一类文件名称的书写进行简化,例如file1.txt, file2.txt, file3.txt, …, 用户不必输入文件名,可以使用通配符完成。
| 通配符 | 含义 | 示例 |
|---|---|---|
| * | 匹配任意长度的字符串 | file_*.txt |
| ? | 匹配一个长度的字符 | file_?.txt |
| [] | 匹配其中指定的一 |
-
管道
- 管道可以把一系列命令连接起来,意味着第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个命令的输入,以此类推。
ls | grep 'hello' ls | wc -w
2.2.3压缩解压
| 序号 | 命令 | 作用 |
|---|---|---|
| 1 | zip, unzip | 将文件压缩为zip格式/将zip格式文件解压 |
| 2 | tar | 对gz或者bz2格式进行压缩解压 |
-
部分命令细节说明
-
zip:用于常与Windows交互的情况,-r选项可以压缩目录
-
unzip -d 可以选择解压位置
-
zip test.zip filelist -
unzip -d 可以选择解压位置
-
-
-
tar:-cjf 用于压缩bz2格式文件,-czf用于压缩gz格式文件,-xvf用于解压文件,兼容了gzip和bzip2命令的功能
2.2.4 权限管理
| 序号 | 命令 | 作用 |
|---|---|---|
| 1 | sudo | 放在一个命令前,表示使用管理员权限执行 |
| 2 | chmod | 修改文件权限 |
- 部分命令细节说明
- sudo:在打开终端第一次使用sudo时需要输入密码
- chmod:在设置权限时,可以字母也可以使用三个数字分别对应拥有者 / 组 和 其他用户的权限
2.2.5 显示展示命令
| 序号 | 命令 | 作用 |
|---|---|---|
| 1 | echo | 向终端打印内容 |
| 2 | date | 显示当前时间 |
| 3 | df | 显示磁盘剩余空间 |
| 4 | whoami | 显示当前用户 |
| 5 | history | 显示历史命令记录 |
-
部分命令细节说明
- echo:-n 表示打印完成不换行
- df:-h 选项以Mb为单位显示,-T显示文件系统类型ext4的为磁盘
-
输出重定向
重定向符 含义 示例 > file 将file文件重定向为输出源,新建模式 echo ‘hello world’ > out.txt >> file 将file文件重定向为输出源,追加模式 ls /usr >> output.txt
2.2.6 其他命令
| 序号 | 命令 | 作用 |
|---|---|---|
| 1 | shutdown | 关机或者重启 |
| 2 | ln | 创建链接 |
| 3 | tree | 获取目录树形结构 |
- 部分命令细节说明
- shutdown:
- shutdown -r now 立即重启
- shutdown now 立即关机
- shutdown +10 10分钟后关机
- shutdown -c 取消关机计划
- shutdown:
3. Linux服务器环境
3.1 vi编译器
3.1.1 什么是vi
vi是Linux操作系统中一个自带的编辑器。没有图形界面,只能编译文本内容,没有字体段落设置,通过命令强大的命令完成一系列的编写工作。
3.2 添加新的用户
3.2.1 基本概念
- 用户:Linux操作系统可以有不同的用户,这是系统管理的重要一环,不同的用户有自己独立的空间内容。
- 用户组:为了方便对用户管理,Linux操作系统使用用户组的概念。将不同的用户添加到对应的组中,可以方便用户设置权限的设置。
- root用户:Linux系统中的root用户通常用于系统的维护和管理,对操作系统的所有资源具有访问权限,一般工作中不会使用root用户进行系统操作,防止一些误操作带来系统损坏。
3.2.2 用户管理命令
| 序号 | 命令 | 作用 |
|---|---|---|
| 1 | groupadd 组名 | 添加组 |
| 2 | groupdel 组名 | 删除组 |
| 3 | useradd -m 用户 -g 组 | 添加用户 |
| 4 | passwd 用户名 | 设置用户密码 |
| 5 | userdel -r 用户 | 删除用户 |
-
useradd:-m 表示添加用户时添加主目录,-g表示选择用户所在组,如果不会写默认会创建一个与用户名同名的组。
-
passwd:设置密码,设置之后才能切换新用户登录
-
设置密码后为新用户添加sudo权限,打开sudoers文件增加如下内容,然后:w!强制保存:q退出
sudo vi /etc/sudoers # User privilege specification root ALL=(ALL:ALL) ALL abby ALL=(ALL:ALL) ALL ->abby是自己的用户名 -
设置命令解释器
- 注意:
- 新创建的用户和密码信息存储在 /etc/passwd文件中
- 如果切换用户终da端命令行只有一个$提示,则vi
- 注意:
开这个文件,将该用户对应的内容修改
levi:x:1001:1001::/home/levi:bin/sh 改为 /bin/bash
3.3 软件安装
Linux下安装的软件包是deb格式软件包。由于当时Linux系统中软件包存在复杂的依赖关系。因此,通常使用网络安装。
| 作用 | 命令 |
|---|---|
| 更新软件源 | apt update |
| 安装软件 | apt install |
| 卸载软件 | apt remove --purge |
| 删除缓存的软件安装包 | apt clean |
| 安装本地软件包 | dpkg -i |
3.4 ssh服务
ssh是一种安全协议,主要用于给远程登陆会话数据进行加密,保证数据传输的安全。在数据传输方面有很多应用。之前说到,实际工作中经常需要远程访问服务器,ssh就是通用的远程访问服务器的方法。
-
安装启动
-
安装ssh服务:sudo apt install openssh-server
-
查看ssh服务状态:ps -e|grep ssh

-
启动和关闭
- sudo service ssh start/restar/stop
-
常用命令
序号 命令 作用 1 ssh 用户名@ip 登录远程主机 2 scp 用户名@ip:文件名绝对路径 目标位置 远程复制文件 -
scp拷贝
# 注意:':'后面的路径写绝对路径 scp demo.py levi@192.168.100.5:/home/tarena # 把远程主目录下demo.py文件复制到本地当前目录下 scp levi@192.168.100.5:/home/tarena/demo.py . # 加上 -r 选项可以传送文件夹 scp -r demo levi@.........
-
-
-
ssh密钥
-
什么时候用:如果使用的客户端个人计算机是自己独有的计算机,经常通过ssh访问服务器,此时不想频繁输入密码,则可以使用密钥处理。

-
3.5 终端启动python服务
在服务器中并没有pycharm这些集成编译工具,所以当我们最后将程序部署在服务器上执行时,往往需要通过终端运行python程序。
-
编写python程序在第一行增加解释器声明
#!/usr/bin/python3 在第一行
…
```
-
ssh密钥
-
什么时候用:如果使用的客户端个人计算机是自己独有的计算机,经常通过ssh访问服务器,此时不想频繁输入密码,则可以使用密钥处理。
[外链图片转存中…(img-kQJepinR-1784293769598)]
-
3.5 终端启动python服务
在服务器中并没有pycharm这些集成编译工具,所以当我们最后将程序部署在服务器上执行时,往往需要通过终端运行python程序。
-
编写python程序在第一行增加解释器声明
#!/usr/bin/python3 在第一行
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)