目录
第1章 Linux 系统介绍
1.1 Unix 操作系统(了解)
1.2 Linux 操作系统(了解)
1.3 Linux 操作系统的主要特性(重点)
1.4 Linux 与 Unix 的区别与联系
1.5 GUN 与 GPL(了解)
1.6 操作系统的概念&常见操作系统
1.7 Ubuntu 操作系统
第2章 Linux 环境搭建
第3章 Ubuntu 操作系统目录以及路径介绍
3.1 目录结构
3.2 路径分类
第4章 Linux/shell 指令(重点)
4.1 终端提示符
4.2 用户管理类指令
4.3 磁盘管理类
4.4 系统相关指令
4.5 网络相关指令
第5章 主函数传参(重点)
5.1 主函数传参
编辑5.2 函数名:atoi()
第1章 Linux 系统介绍
1.1 Unix 操作系统(了解)
Unix 诞生于 20 世纪 70 年代,由 AT&T 开发。最初,Unix 是免费提供的,然而随着其在市场上的占用率逐渐提高,开始转为收费模式。Unix 系统具有强大的稳定性和可靠性,在当时的计算机领域产生了深远的影响。
1.2 Linux 操作系统(了解)
Linux 继承了 Unix 的设计思想,开发出了一个全新的操作系统。其全称为 GNU/Linux,支持 POSIX 标准,是一个多用户、多进程、多线程的操作系统。Linux 能够运行大多数的 Unix 软件,这使得它在兼容性方面表现出色。。
1.3 Linux 操作系统的主要特性(重点)
Linux 最为突出的特性之一就是 “一切皆文件”。
在 Linux 系统中,无论是硬件设备、目录结构还是各种配置文件,都被视为文件进行管理。这种设计理念使得系统的管理和操作更加统一和简洁。例如,对硬件设备的访问可以通过文件操作的方式进行,大大简化了设备管理的复杂性。
1.4 Linux 与 Unix 的区别与联系
Linux 是一个类 Unix 操作系统,虽然它在很多方面与 Unix 相似,但 Linux 的底层代码是完全独立编写的。Linux 的出现主要是因为 Unix 开始收费。这两个操作系统在很多方面表现出高度的相似性,掌握了 Linux 的开发方法后,在 Unix 上进行开发也会相对容易。
1.5 GUN 与 GPL(了解)
GNU 是一个针对 Unix 的软件项目运动,其目标是创建一个完全自由、开源、免费的操作系统。
GPL(General Public License)是一种协议,所有在 Linux 操作系统上开发的软件,都可以选择遵循这个协议,同意将软件开源。这种开源的理念促进了 Linux 生态系统的繁荣发展。
1.6 操作系统的概念&常见操作系统
操作系统本质上也是一个软件,但它具有特殊的地位,能够管理和协调计算机的软硬件模块工作。常见的操作系统有 Windows、Linux 和鸿蒙等。
Windows 的核心代码不开源,开发主要基于应用程序层面。
Linux 的核心代码开源,开发者可以基于系统核心进行开发,从而更好地掌握系统的核心技术。
鸿蒙系统逐步开源,致力于实现万物互联,能够对所有的软硬件进行统一平台管理。
1.7 Ubuntu 操作系统
Ubuntu 是 Linux 的一个发行版,属于 Linux 的衍生品,并且是免费提供的。它以其易用性和丰富的软件包资源而受到广泛欢迎。
第2章 Linux 环境搭建
可以延用前几天搭建的环境,如果磁盘大小比较小建议重新搭建 重新搭建参考Linux第1天
第3章 Ubuntu 操作系统目录以及路径介绍
3.1 目录结构
/ 根目录
├dev/ 设备文件
├mnt/ 临时挂载
├root/ root 用户的$HOME 目录
├home/
│ ├user/ 普通用户的$HOME 目录
│ └.../
├lib/ 系统程序库文件
├etc/ 系统程序和大部分应用程序的全局配置文件
│ ├init.d/ SystemV 风格的启动脚本
│ ├network/ 网络配置文件
其中,
- /:根目录,是整个文件系统的起点。
- dev/:存放设备文件。这里包含了系统中所有的设备节点,例如硬盘、光驱、打印机等设备在这个目录下都有对应的文件表示。通过对这些设备文件的操作,可以实现对硬件设备的访问和控制。
- mnt/:用于临时挂载外部存储设备或文件系统。当需要访问外部存储介质(USB闪存、移动硬盘)时,可以将其挂载到这个目录的某个子目录下,以便于进行文件的读取和写入操作。
- root/:root用户的主目录($HOMEMU)。root用户是系统的超级用户,具有最高的权限。这个目录下存放着root用户的个人配置文件、文档。(管理员用户)
- home/:普通用户的主目录所在位置
- user/:普通用户的主目录。每个用户在这个目录下都有一个有自己用户名命名的子目录,用于存放个人的文件、设置等。
- .../:其他用户的主目录
- lib/:系统程序库文件存放处。这里包含了系统运行所需要的各种库文件,包括动态链接库和静态库。这些库文件为系统程序和应用程序提供了各种功能的支持。
- etc/:存放系统程序和大部分应用程序的全局配置文件
- init.d/:包含System V风格的启动脚本。这些脚本在系统启动和关闭过程中被执行,用于启动和停止各种系统服务。
- network/:网络配置文件所在目录。这里存放着网络相关的配置文件,如网络接口配置、网络协议配置等,用于设置和管理系统的网络连接。
3.2 路径分类
绝对路径:从根目录起始
相对路径:从当前目录起始
特殊路径:
/ 根目录
. 当前目录
.. 上一级目录
~ 当前用户的主目录 简化路径
第4章 Linux/shell 指令(重点)
4.1 终端提示符
cry 用户名
yuchen 计算机名
~/record/1110 当前所在的路径
@ : $ 间隔符
4.2 用户管理类指令
4.2.1 sudo 管理员权限下放
一般用于指令需要管理员权限执行时在指令前添加
4.2.2 su 切换用户
- su 用户名
4.2.3 passwd 修改密码
- passwd 用户名
- passwd -d 用户名 让密码失效
4.2.4 adduser 新增用户
- adduser 用户名
可以连续按回车,放弃设置密码,只创建用户
但是使用用户时需要设定密码进行激活
4.2.5 userdel 删除用户
- sudo userdel -r 用户名
从这里可以看出在删除用户时,需要先exit退出要删除的用户。执行删除指令后,再次输入删除执行会提示,用户已不存在。
4.3 磁盘管理类
4.3.1 ls 查看路径下的信息
- ls -a 查看所有文件 以.开头的文件名是隐藏文件
- ls -l 查看详细信息
文件类型:
- 普通文件
d 目录文件
p 管道文件
l 链接文件
s 套接字文件
c 字符设备文件
b 块设备文件
- ls -i
查看文件的 inode (文件的身份证号)
4.3.2 chmod 修改文件权限
- chmod 777 1.c
为1.c添加所有读写执行权限
- chmod +/-八进制 文件名
chmod +002 1.c
a 所有用户 u 文件属主 g 用户组 o 其他用户
r 读 w 写 x 执行
chmod a+x 1.c
所有用户添加执行权限
chmod o-r 1.c
限制其他用户的读权限
4.3.3 ln 创建链接文件
硬链接 两个文件同步修改,但是删除其中一个不会影响另一个的使用
ln 1.c 2.c //两个文件的inode 相同
软链接 快捷方式,源文件被删除,快捷方式无法使用
ln -s 1.c 3.c //inode 不相同
4.3.4 cd 路径跳转
4.3.5 pwd 查看当前的绝对路径
4.3.6 touch 创建文件
- touch 文件 1 文件 2
4.3.7 gedit 打开文件
- gedit 文件 1 文件 2
4.3.8 mkdir 创建目录
- mkdir 目录 1 目录 2
- mkdir -p 目录 1/子级目录 2
4.3.9 rm 删除文件/目录
- rm -r 目录名
- rm -f
4.3.10 通配符 *和?
- * 匹配一个字符串
- ? 匹配一个字符
4.3.11 重定向符 >和>>
- > 重定向到文件中,新建文件
- >> 重定向到文件中,追加信息
4.3.12 cat 查看文件内容
4.3.13 echo
用于在终端中显示指定的字符串。
echo 字符串 > 文件
会将指定的字符串重写(覆盖)到指定的文件中。
echo 字符串 >> 文件
则会将指定的字符串追加到指定文件的末尾。
4.3.14 cp 复制
- cp 源文件 目标文件
4.3.15 mv 剪切/重命名
- mv 源文件 目标文件
4.3.16 tar 压缩/解压
tar -cvf 压缩文件名.tar 压缩的目录 压缩
tar -xvf 压缩文件名.tar 解压到当前目录 归档文件
4.3.17 clear 清屏
4.3.18 history 查看历史操作指令
- !行号
执行该行指令
4.4 系统相关指令
4.4.1 ps查看系统中的进程状态信息
- ps
PID 进程号
TTY 执行终端
TIME 执行时间
CMD 执行指令
- ps -ef
会以全格式显示进程信息,包括进程的 UID(用户 ID)、PID(进程 ID)、PPID(父进程 ID)、C(CPU 使用率)、STIME(进程启动时间)、TTY(终端设备)、TIME(进程累计使用 CPU 的时间)、CMD(启动进程的命令)等。
- ps –aux
则会显示系统中所有用户的进程详细信息,包括 USER(用户名)、PID、% CPU(CPU 使用率)、% MEM(内存使用率)、VSZ(虚拟内存大小)、RSS(实际内存使用量)、TTY、STAT(进程状态)、START(进程启动时间)、TIME(进程使用的 CPU 时间)、COMMAND(启动进程的命令)等。
4.4.2 top 查看进程动态,退出按 q
4.4.3 kill 给进程发送一个信号
- kill -9 PID 杀死进程
( 表示向指定进程 ID(PID)的进程发送编号为 9 的信号,强制终止该进程。
信号 9 即 SIGKILL
,是一个不能被捕获或忽略的信号。当一个进程接收到这个信号时,会立即被终止,不会进行任何清理和保存操作。)
4.5 网络相关指令
4.5.1 ping 检测网络联通性
- ping www.baidu.com
执行 ping www.---.com
时,它会向 www.---.com
发送一系列的网络数据包,并等待接收响应。
输出通常会包括发送的数据包数量、接收到的响应数量、丢失的数据包数量,以及每个数据包往返的时间(延迟)等信息。通过这些信息,可以大致了解到设备与 www.baidu.com
之间的网络连接质量。
4.5.2 ifconfig
使用该指令,需要安装网卡工具
其中,展示了IPv4地址、子网掩码等配置信息。
4.5.3 apt-get
- 在线安装 sudo apt-get install -x-x-
- 在线卸载 sudo apt-get remove -x-x-
4.5.4 dpkg
离线安装 .deb 安装包
- 安装指令 sudo dpkg -i 安装包
- 卸载指令 sudo dpkg -r 安装包名
第5章 主函数传参(重点)
5.1 主函数传参
执行程序时进行传参
./a.out 1 abc hello xy 456
#include <stdio.h>
int main(int argc,char *argv[])
{printf("argc=%d\n",argc);for(int i=0;i<argc;i++){printf("argv[%d]=%s\n",i,argv[i]);}return 0;
}
5.2 函数名:atoi()
#include <stdlib.h>
函数原型:int atoi(const char *nptr);
函数功能:把数字字符串转换为整数
函数参数:提供数字字符串首地址
函数返回值:返回整数
函数使用:
int a = atoi(“123”); // 字符串 123 转整型 123
printf(“%d\n”,a); // 输出 123