第一章 :认识Linux操作系统
1.1: 操作系统
1.1.1:操作系统概述
操作系统通常指的是对计算机硬件与软件进行管理控制的计算机程序。
主要有批次处理操作系统、分时操作系统、实时操作系统、个人计算机操作系统、网络操作系统、嵌入操作系统。
1.1.2嵌入式操作系统
嵌入式操作系统(Embedded Operating System,简称:EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。在嵌入式领域广泛使用的操作系统有:嵌入式实时操作系统uC/OS-II、嵌入式Linux.Windows Embedded、VxWorks、IntewelI操作系统[4]等,以及应用在智能手机和平板电脑的Android、iOS、华为鸿蒙等。
1.2:Linux:操作系统概述
1.2.2:Linux:操作系统的优势
低成本开发、可以应用于多种硬件平台、可定制的内核、多用户多任务、良好的网络功能
1.2.3:Linux操作系统的发行版本
具有代表性的Linux发行版:Debian、Ubuntu(乌班图)、Red Hat(红帽)
第二章:Linux操作系统的使用
2.1:初识终端
打开终端(乌班图系统):Ctrl+Alt+T
打开终端(Window系统)Win+R
关闭终端:exit命令:Ctrl+D
2.2:认识shell
1.//lsj528是用户名
2.//hostname是主机名
3.//direction 方向/路径
4."~"表示在用户主目录下,"/"表示在根目录下
5.//shell提示符:普通用户为"$"符号;
6.超级用户/管理员用户/root为"#"符号;
2.3Linux操作命令
2.3.0:用户与系统相关命令
1:切换用户命令su
// sudo superuser do
// passwd 设置/更改密码
//我要以超级管理员的身份为root用户新建密码
$ sudo passwd root
//第一次密码:用户密码(123456)
//第二次密码:要设置的root用户密码(12345678)
// switchUser su为切换用户命令
$ su root
//退出超级管理员身份
$ exit
//以普通用户的身份执行超级用户的权限
$ sudo 命令
2:系统相关命令
// shutdown 命令
//实现系统关机/重启
// shutdown -r 一分钟后重启
// shutdown -r 取消一分钟后的重启/关机
// shutdown -h一分钟后关机
// reboot 立即重启
// clear 命令用于清屏
// exit命令
//普通用户时:关闭终端
//超级用户时:切换到普通用户
2.3.1:文件相关命令
1:目录的创建与删除命令
//目录创建
$ mkdir filename
//创建一个层级目录
$ mkdir -p filename1/filename2/filename3
//目录删除
$ rmdir filename
//删除非空目录
$ rm -rf filename
// touch 文件名.txt 创建文档
2:目录切换命令
//切换目录
$ cd[需要切换的路径名]
//切换到上一级目录
$ cd ..
//切换到用户主目录
$ cd ~
//切换到根目录
$ cd /
// ./表示当前所在目录
// ../表示上一级目录
// ../../表示上上级目录
// pwd查看用户当前工作目录的绝对路径
3:文件显示查询
$ ls [选项] [文件]
//表示一行输出一个文件
$ ls -1
//列出目录中所有的文件(包括开头的隐藏文件)
$ ls -a
//列出文件的具体信息
$ ls -l
4:文件的复制、剪切、删除
//命令cp用来实现将目录或文件复制到另一个目录或文件中
//命令mv用来实现将目录或文件移动(剪切)到另一个目录或文件中。
//命令rm用来删除文件或目录。
5:文件搜索命令
//grep
//如果匹配到相关信息就会打印符合条件的所有行
//grep '需要匹配的字符' 文件名
// -i 不区分大小写
// -e 统计包含匹配的行数
// -a 输出行数
// -v 反向匹配
//-n显示在第几行
//find
//在某个路径下查找文件
//find 路径 文件名
//-name按照名字查找
// -iname模糊大小写搜索
// * 匹配任意长度字符串
// $ find / -name (文件名) 会遍历根目录下所有文件,并显示搜索结果
// $ find -name *.txt 可以搜索当前目录下的txt文件
6:文件链接
// ln(link) 的缩写
//链接分为软链接和硬链接//无论修改源文件还是链接文件,另一个文件都会改变
// ln [选项] 源文件或目录 目标文件或目录
// 软链接
//删除软链接文件,源文件不受影响;而除源文件,软链接文件会失效。
//ln -s 源文件或目录 目标文件或目录
//硬链接
//无论是制除了源文件还是硬链接文件,只要有一个文件存在,文件都可以被访问
//硬链接不能链接目录
7:文件所属用户
// linux操作系统是一个多用户操作系统
// 系统对用户的管理采用分组的形式,即多个用户分为一组
//第三列表示所属用户
//第四列表示所属用户组
//命令chown用于修改文件所属用户
//命令chgrp用于修改文件所属用户组
//chown/chgrp [选项] [所属用户/组] [文件]
8:文件存取权限
[符号标记法]
// r表示可读权限 w表示可写权限 x表示可执行文件 -表示不具备该权限 d文件
// l开头表示文档
//第一组:文件所属用户对文件的访问权限
//第二组:与所属用户同组的其他用户对文件的访问权限
//第三组:非同组的其他用户对文件的访问权限
//+代表增加权限 -代表减少权限
//不同的用户级别表示为:
// 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 可读可写可执行
// 1 . 新建⼀个⽂件 123.txttouch 123 .txt// 2 . 为⽂件 123.txt 设置硬链接 testln 123 .txt test// 3 . 在⽂件 123.txt 中写入⽂本内容 “12345 / 78910 ” (使⽤命令写入)echo '12345' > 123 .txtecho '678910' >> 123 .txt// 4 . 在 123.txt 中搜索并打印具有数字 "9" 的⾏数grep '9' 123 .txt// 5 . 查看 test ⽂件的内容 (使⽤命令查看)cat test// 6 . 将 test ⽂件的内容改写成 "abcde / fg / hijk"echo -e "abcde\nfg\nhijk" > test// 7 . 查看 123.txt 的内容cat 123 .txt// 8 . 将 test 的⽂件中没有字⺟ K 的⾏数打印出来grep -v "k" test// 9 . 新建 demo ⽂件夹mkdir demo// 10 . 将 demo ⽂件夹的权限改成 rw- -w- --xchmod 621 demo// 11 . 在 demo ⽂件夹内新建 demo1 、 demo2 、 demo3 ⽂件夹sudo mkdir -p demo/demo1/demo2/demo3// 12 . 进入 demo3 ⽂件夹sudo rootcd demo/demo1/demo2/demo3// 13 . 查看当前绝对路径pwd// 14 . 将 demo3 ⽂件粘贴⾄⽤户⽂件夹cd ..cp demo3 ~ -r// 15 . 回到⽤户⽂件夹cd ~ls// 16 . 为 demo3 ⽂件制作软链接 link ⽂件ln demo3 -s link// 17 . 删除 demo3 ⽂件rmdir demo3// 18 . 更改 demo ⽂件的⽤户组为 root
2.3.3:压缩打包相关指令
1:命令 gzip
// gzip 可以⽤来实现对⽂件进⾏压缩或解压缩。// gzip 只能压缩或解压缩单个⽂件,不能压缩⽬录。$ gzip [ 选项 ] ⽂件// -d 选项可以对压缩⽂件进⾏解压缩// zcat 命令可以在不解压的情况下查看这个⽂本⽂件中的内容// gunzip 命令对⽂件进⾏解压缩$ gunzip [ 选项 ] .gz ⽂件eg :// 创建⼀个⽂件 123.txt$ touch 123 .txt// 对 123.txt ⽂件进⾏压缩,⽣成 123.txt.gz ⽂件$ gzip 123 .txt ( 会⽣成 123.txt.gz )// 查看压缩⽂件 123.txt.gz 的内容$ zcat 123 .txt.gz// 解压缩 123.txt.gz$ gzip -d 123 .txt.gz// 压缩与解压缩 123.txt ⽂件$ gzip 123 .txt$ gunzip 123 .txt.gz
2:命令 tar
// 命令 tar 被⽤于实现⽂件⽬录的打包或解包。// 打包指的是将⼀些⽂件或⽬录整合成⼀个单⽂件。// ⽽压缩则是将个⼤⽂件通过压缩算法变成⼀个体积较⼩的⽂件。$ tar 参数 新包名 源⽂件或⽬录// -c creat 创建档案// -v 显示详情// -f ⽂档// -x 从打包⽂件中解压除参数// -z 压缩打包⽂件// -C 还原到指定⽂件夹
2.3.4:系统常用功能命令
1.Tab补齐
命令补齐需要连续按两次Tab键;
文件名不起需要按一次Tab键。
2:查询历史命令
按"↑"即可翻看历史命令
// 将命令以列表形式记录号 1 开始⼀次性显示出来$ history// 能够查看的命令⾏数$ echo $HISTSIZE// 修改历史命令容器$ HISTSIZE = num
3:通配符的使⽤
// 问号(?)代表它所在位置上的任何单个字符// 星号( * )代表从它位置开始的任何字符串// ⽅括号( [] )表示⼀个指定范围的字符// ( [] ) 匹配指定的范围// ( [ ! ]) ! 非运算,意为不匹配 [] 内的任意字符
4:管道的使⽤
// wc 命令⽤于统计指定⽂本的⾏数、字数、字节数$ wc [ 参数 ] ⽂件名// -l 只显示⾏数(包括空⾏)// -w 只统计单词数// -c 只显示字节数(空⾏、换⾏、结尾符)// wc -w 可以查询⽂件中的单词数// 也可以查询⽬录中⽂件的数量// 管道|// 连接命令,将第⼀个命令的输出作为第⼆个命令的输入。
第三章:Linux用户管理
3.1.1:用户的属性
a:用户名
b:口令
口令是登录账号的密码
c:用户标识号
用户标识号(UID)是账号的提示符。
一般情况下,与用户名是一一对应的。
UID为0的账号属于系统管理员;
UID为1~499的账号是系统保留账号,不可登录。
UID为500~65526为可登录账号,供一般用户使用。
d:用户主目录
用户主目录即用户的起始工作目录,默认为“home/用户名”
//从用户主目录切换进入到home目录。
$ cd ..
//查看home目录下的文件夹
$ls (会有一个用户文件夹)
//查看用户主目录的绝对路径
$pwd
3.1.2:用户与组
a:一对一:某一用户是某个组的唯一成员
b:多对一:多个用户是某唯一组的成员,成员不归属其他用户组
c:一对多: 某个用户可以是多个用户组的成员
d:多对多:多个用户对应多个组
3.1.3:与用户相关的配置文件
a:/etc/passwd
b:/etc/shadow
c:/etc/group
$ cat /etc/group
//tfboys:x:1004:
//组名:口令(加密后):组标识号(GID):组内用户列表
3.2:用户管理命令
3.2.1:用户管理
1:添加用户
$useradd [参数] 用户名
//-m 指定新建的文件夹在home目录中
$ useradd -m
cd ..
ls(home 文件夹多出来一个tom文件夹)
2:用户口令
$passwd [选项] 用户名
eg:
//sudo passwd tom
$ 输入两遍要设置的密码
3:删除用户
$ userdel [选项] 用户名
// -r 将用户主目录一并删除
eg ;
$ sudo userdel -r tom (当前进程在运行,无法删除tom账户)
/退出tom用户进程
sudo kill -SIGKILL (进程号)
3.2.2:用户组管理
1:用户组的添加
$ groupadd [选项] 用户组
$ sudo root
$ sudo groupadd tfboys
(用户组的所有信息都存放在“/etc/group”文件夹中)3
//查看组
$cat /etc/group
3