第一章 认识Linux操作系统
1.1 操作系统
1.1.1 操作系统概述
操作系统通常指的是对计算机硬件与软件进行管理控制的计算机程序。
主要有批处理操作系统、分时操作系统、实时操作系统、个人计算机操作系统、网络操作系统、分布式操作系统、嵌入式操作系统
1.1.2 嵌入式操作系统
嵌入式操作系统(Embedded Operating System,简称:EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。在嵌入式领域广泛使用的操作系统有:嵌入式实时操作系统µC/OS-II、嵌入式Linux、Windows Embedded、VxWorks、Intewell操作系统 [4]等,以及应用在智能手机和平板电脑的Android、iOS、华为鸿蒙等。
1.2 Linux操作系统概述
1.2.2 Linux操作系统的优势
Linux操作系统的优势:低成本开发、可以应用于多种硬件平台、可定制的内核、多用户多任务、良好的网络功能
1.2.3 Linux操作系统的发行版本
具有代表性的Linux发行版:Debian、Ubuntu(乌班图)、Red Hat(红帽)
第二章 Linux操作系统的使用
2.1 初识终端
打开终端(Ubuntu系统):Ctrl+Alt+T
打开终端(Windows系统):Win+R
关闭终端:exit命令:Ctrl+D
2.2 认识shell
username@hostname:direction shell提示符
// username 用户名
// hostname 主机名
// direction 方向/路径
“~”表示用户主目录下;“/”表示用户根目录下
// shell提示符:普通用户为“$”符号
超级用户/管理员用户/root为“#”
2.3 Linux操作系统命令
2.3.1 用户与系统相关命令
2.3.1.1 切换用户命令su
// sudo superuser do
// passwd 设置/更改密码
// 我要以超级管理员的身份为root用户新建密码
$ sudo passwd root
// 第一次密码:用户密码()
// 第二次密码:要设置的root用户密码
// switchUser 切换用户
$ su root
// 退出超级管理员身份
$ exit
//以普通用户身份执行超级用户的权限
$ sudo 命令
2.3.1.2 系统相关命令
// shutdown命令
// 系统关机命令/重启
// shutdown -r 重启(一分钟之后重启)
// shutdown -c 取消一分钟后的重启/关机
// shutdown -h 关机(一分钟后)
// reboot 立即重启
// clear 清屏
// exit
// 当用户为普通用户时,exit命令功能为关闭终端,当用户为超级用户时,其功能为切换成普通用户
2.3.2 文件相关命令
2.3.2.1 目录的创建
// 目录创建
$ mkdir filename
// 创建一个层级目录
$ mkdir -p filename/filename1/filename2/filenname3
// 删除空目录
$ rmdir filename
// 删除非空目录
$ rm -rf filename
// touch 创建文件
$ touch 文件名.后缀
2.3.2.2 目录切换命令
// 切换命令
$ cd [需要切换的路径名]
// 切换到上一级目录
$ cd ..
// 切换到主目录
$ cd ~
// 切换到根目录
$ cd /
// ./ 表示当前所在的目录
// ../ 表示上一级目录
// ../../ 表示上上级目录
// pwd查看用户当前工作目录的绝对路径
2.3.2.3 文件显示查询
$ ls [选项] [文件]
// 表示一行输出一个文件
$ ls -1
// 列出目录中所有的文件(包括开头的隐藏文件)
$ ls -a
// 列出文件的具体信息
$ ls -l
2.3.2.4 文件的复制、剪切、删除
// 命令cp用来实现将目录或文件复制到另一个目录或文件中
$ cp 源文件/目录 目标文件/目录 [-rf]
// 命令mv用来实现将目录或文件移动(剪切)到另一个目录或文件中
$ mv 源文件/目录 目标文件/目录
// 命令rm用来删除文件或目录
2.3.2.5 文件搜索
// grep
// 如果匹配到相关信息就会打印符合条件的所有行
// grep '需要匹配的字符' 文件名
// -i 不区分大小写
// -c 统计包含匹配的行数
// -n 输出行数
// -v 反向匹配
// find
// 在指定的目录中搜索文件
// find 路径 文件名
// -name 按照名字查找
// -iname 模糊大小写搜索
// * 匹配任意长度的字符串
$ find /-name Videos(会遍历根目录下的所有文件,并显示搜索结果
$ find -name *.txt 可以搜索当前目录下的txt文件
2.3.2.6 文件链接
// ln (link) 的缩写
// 链接分为软链接和硬链接
// 无论是修改源文件还是链接文件,另一个文件的数据都会发生改变
// ln [选项]源文件或目录 目标文件或目录
// 硬链接
// 无论是删除了源文件还是硬链接文件,只要有一个文件存在,文件都可以被访问
// 硬链接不能链接目录
// 软链接
// 除软链接文件,源文件不受影响;而除源文件,软链接文件会失效。
// ln -s 源文件或目录 目标文件或目录
2.3.2.7 文件所属用户
// Linux操作系统是一个多用户的操作系统
// 系统对用户的管理采用分组分形式,即多个用户分为一组
// ls -l中的第3、4列
// 命令chown用于修改文件所属用户 (change owner)
// 命令chgrp用于修改文件所属用户组 (change grounp)
// chown/chgrp [选项] [所属用户/组] [文件]
2.3.2.8 文件存取权限
// d 代表文件
// l 代表链接
// r代表可读权限 w表示可写权限 x代表可执行权限 -表示不具备该权限
// 第一组:文件所属用户对文件的访问权限
// 第二组:与所属用户同组的其他用户对文件的访问权限
// 第三组:非同组的其他用户对文件的访问权限
// +代表增加权限 -代表减少权限
// 不同的用户级别表示为:
// u(文件所属用户) g(同组其他用户) o(系统其他用户) a(所有用户)
// chmod [选项] 权限符号 文件
【八进制数法】
// 将拥有该权限设置为1,不具有该权限设置为0
// 例"rwx r-x -w-",可以替换成二进制 为:111 101 010
// chmod [选项] 八进制数 文件
// 0 000 无任何权限
// 1 001 可执行
// 2 010 可写
// 3 011 可写可执行
// 4 100 可读
// 5 101 可读可执行
// 6 110 可读可写
// 7 111 可读可写可执行
2.3.4 系统常用功能命令
2.3.4.1 Tab补齐
命令补齐需要连续按两次Tab键
文件名补齐需要按一次Tab键
2.3.4.2 查询历史命令
按“↑”即可翻看历史命令