嵌入式人工智能系列————Linux基础
·
1.什么是Linux
内核:能够让计算机硬件进⾏⼯作,能够运⾏最核⼼的功能组合,计算机跑 起来,就叫做内核
linux
内核:由
linus
和
linux
社区的⼈员⼀起开发出的内核linux内核基础上,在加上各个⼚商匹配内 核开发出⽹络管理、桌⾯系统、快 捷功能等,形成完整的操作系统
Linux操作系统版本:
ubuntu
debian
red hat
centos stream
linux内核是免费开源的内核程序
2.Linux系统体系结构
1). linux内核
2). shell(壳
)
:通过
shell
提供内核的功能
3). ⽂件系统
4). 应⽤程序
1)Linux内核
内核是
linux
系统中最底层,提供系统中核⼼功能并允许有序访问硬件资源管理:
输⼊输出设备、进程执⾏情况、⽂件系统操作、内存资源管理
linux
内核⽀持: 多任务、多⽤户
2)shell(壳)
shell 叫做 命令解释器,壳
---
保护内核
当执⾏程序时,把程序的各种操作指令进⾏解释执⾏,通过命令解释器就让
内核执⾏对应的操作。
作⽤:
提供⼀个⽅式可以让⽤户与内核(操作系统)进⾏交换
3)文件系统
⽂件系统就是⽤于组织和管理计算机存储设备上的⼤量⽂件
在windows
系统使⽤
NTFS
格式⽂件系统
在linux
中⽬前⼀般使⽤
ext4
格式⽂件系统
⽂件夹-----linux
中叫做⽬录
⽂件系统的逻辑结构(
linux
⽬录结构):
linux中⽂件系统是把⽂件组织为倒置的树,每⼀个⽂件夹当作树的分⽀,每
个⽂件当作树的树叶
⽂件系统只有⼀个起点(
相当于树的根位置
)
:
/---------根⽂件夹(整个磁盘起点)
linux⽂件系统就是⼀个树型的⽬录结构:
将根(/)
作为整个⽂件系统的起点,其他的所有⽬录都是从根开始
从根开始,就是⽂件系统(磁盘的存储)
⽬录结构:存储⽂件
/
: 根⽬录
/bin
:存放系统中最常⽤的可执⾏程序(命令)
/boot
:存放
linux
和系统启动⽂件
/dev
:存放系统中的设备⽂件,包括磁盘、⿏标、键盘等设备
/etc
:存放系统的配置⽂件,如
passwd
存放⽤户信息
/home
:普通⽤户⽬录的默认位置
/lib
:存放共享库
/lib32
:存放
32
位共享库
/lib64
:存放那个
64
位共享库
/media
:存放
cd
、软盘、
usb
临时读⼊的⽂件
/mnt
:挂载⽂件系统挂载点
/proc
:作为进程(当前执⾏的程序)的⽂件存放⽬录
/opt
:作为可选程序和⽂件存放⽬录
/root
:系统管理员⽤户的⽬录(root⽤户)
/sbin
:作为扩展的、更多的⼆进制程序存放的⽬录
/usr
:标准库、第三⽅库存放⽬录
/sys
:系统运⾏时的⽂件存放⽬录
/tmp
:⽤于存放临时⽂件
linux⽂件系统把⼀切都看作是⽂件,linux
认为⼀切皆⽂件
4)应用程序
shell命令
shell完成内核与⽤户之间的交互
shell命令:就是
shell
命令解释器能够识别的指令
让系统内核帮助完成⼀些具体的功能
shell就是命令解释器,将⽤户的命令
(
程序
)解析成操作系统能够理解的指 令,实现⽤户 与内核的交互
shell命令的输⼊,在终端提⽰符,标识命令的输⼊位置
终端命令提⽰符: ubuntu@linuxmachine : ~
⽤户@主机名(电脑名字):
⼯作路径⽤户识别⽤户
:
当前打开终端的⽤户是谁主机
:普通⽤户
; #
:管理员⽤户
root
特殊的路径说明:
〜:在当前的⽤户的家⽬录(⽤户⽬录)
. (一个点):表⽰当前⽬录⽂件
..(俩个点) :表⽰当前⽬录的上⼀层⽬录⽂件
1.命令格式
command + [option] + [argument]
命令 选项 参数
命令:
shell
要解析的指令内容,要执⾏的内容
选项:改变命令执⾏动作的类型(命令功能选择),选项⽤
-
选项
表
⽰,可以有多个选项:
-
选项
1
选项
2.. -
选项
1 -
选项
2..
参数:命令要作⽤的⽬标是谁
如果需要在⼀⾏终端命令提⽰符写多个命令⽤“
; ”
隔开,如果⼀⾏写不完 ⽤
\ (续⾏)符号 表⽰命令未输⼊结束
有时命令不会携带选项或参数,不写就是默认选项、默认参数
man command:查看⼿册中命令的说明帮助
2.路径表示
在命令中如何表⽰⼀个⽂件(或⼀个⽬录⽂件)
在认识
linux
⽂件系统是⼀颗倒置的树,分层的⽂件组织结构,表⽰⼀个 ⽂件,只需要确定⽂件(⽬录⽂件)在哪个⽬录以及叫什么⽂件名。在 不同的存储位置,可以确定唯⼀的⼀个⽂件 路径:⽂件是在哪个⽬录下
(1)绝对路径
对于
linux
⽂件系统,只有⼀个根
(
⽬录
)
位置(/),表⽰⽂件系统的存储 的开始位置(所有的内容都存储在 /
⾥⾯),以根为起点来表⽰⼀个⽂ 件的路径,⽂件在⽂件系统中的准确位置 如:
/home/ubuntu/code/221101/
名单
.png
(2)相对路径
默认从当前的⽤户的⼯作路径位置开始,找到对应⽂件或⽬录的位置 如:
code/221101/
名单
.png
3.常用的shell命令
-
pwd⽤于显⽰在⽂件系统中的当前⼯作路径 --- 绝对路径pwd 没有选项和参数如:〜pwd/home/ubuntu
-
ls显⽰出对应的⽬录中的信息(有哪些⽂件)ls---- 列出当前⼯作⽬录中有那些⽂件ls + 选项 + 参数 ( ⽬录路径 )
-i :列出的指定⽬录中⽂件信息包含 inode 号, inode 就是⼀个⽂件的唯⼀标识-a :列出的⽬录的所有⽂件(包括隐藏⽂件)
-l:列出⽬录中的⽂件的详细信息(⽂件属性)
linux⼀切皆⽂件:⽂本是⽂件、⽬录是⽂件、设备是⽂件.....
- rw-rw-r-- 1 ubuntu ubuntu 0 11 ⽉ 17 15:49 test.txt一个文件的文件属性有八个部分| ⽂件类型 | ⽂件权限 | ⽂件硬链接数 | ⽂件拥有者 | ⽂件拥有组 | ⽂件⼤⼩ | 最 后修改时间| ⽂件名 |文件系统文件属性详解请参考另一位优秀的博主 https://blog.csdn.net/diyiday/article/details/89842591
如果是⽬录:⽂件硬链接数,表⽰⽬录中的 ( ⽬录 ) ⽂件个数⽂件权限, r 读 表⽰能够查看⽬录下有什么内容(⽂件); w 写 表⽰能够在⽬录下执⾏创建、删除 ⽂件 ( ⽬录 ) ; x 执⾏ 表⽰能够访问⽬录-
cd改变当前的⼯作⽬录cd 参数 ( 新的⼯作路径 ---- 必须要存在 )
-
mkdir创建⼀个⽬录⽂件mkdir + 要创建⽬录的路径
-p :如果路径中的⽬录不存在,则依次创建,直到最终要创建的⽬录创建完成
-
rm删除⽂件或⽬录⽂件rm + 要删除的(⽬录)⽂件的路径
-r :删除⽬录以及⽬录中的所有⽂件
-
cat查看显⽰指定⽂件的内容cat + file ⽂件路径-E 在每⼀⾏结束时添加⼀个 $ 符号
-
touch
创建⼀个普通⽂件touch + ⽂件的路径 ( 中间路径必须存在 )
如果创建的⽂件存在,则会修改最后修改时间
-
cp将 ( ⽬录 ) ⽂件拷⻉到另⼀个路径中cp 源⽂件路径 ⽬标路径
-r:拷⻉⽬录⽂件
- mv
将源(⽬录)⽂件移动到⽬标⽬录中mv 源⽂件 ⽬标⽬录
- ln:创建链接⽂件
硬链接⽂件在⽂件系统中,创建⼀份和源⽂件完全⼀致的⽂件,新创建的⽂件和源⽂件会⼀直保持⼀致(修改其中⼀个⽂件其他硬链接⽂件都会修改),删除⼀ 个⽂件对其他⽂件不会有影响格式: ln 源⽂件 ⽬标硬链接⽂件
符号链接⽂件符号链接也叫软链接,就是对⽂件创建⼀个快捷⽅式,操作使⽤符 号链接⽂件就是源⽂件,符号链接只是关联上源⽂件。删除了源⽂ 件后,符号链接不能单独使⽤。格式:ln -s 源⽂件 符号链接⽂件
- tar 归档与压缩
tar (选项)(参数)
选项

参数 (文件或目录)
归档⽂件:把多个⽂件打包成⼀个⽂件压缩⽂件:把已经打包的这⼀个⽂件进⾏压缩1. 创建归档⽂件把多个⽂件合并成⼀个⽂件tar -cvf 归档⽂件名 .tar ⽂件 1 ⽂件 2 ⽂件 3 ⽂件 4 ⽂件 5..2. 释放归档⽂件把归档⽂件中合并打包的⽂件释放出来tar -xvf 归档⽂件名 .tar压缩与解压:把多个⽂件进⾏打包然后进⾏压缩,把压缩的⽂件解压然后把打包⽂件释放3. 使⽤ gzip 算法进⾏压缩与解压压缩:-z使⽤ gzip 算法tar -czvf 压缩⽂件名 .tar.gz ⽂件 1 ⽂件 2 ⽂件 3 ⽂件 4...解压:tar -xzvf 压缩⽂件名 .tar.gz4. 使⽤ bzip2 算法进⾏压缩与解压压缩:-j使⽤ bzip2 算法tar -cvjf 压缩⽂件名 .tar.bz2 ⽂件 1 ⽂件 2 ⽂件 3 ⽂件 4...解压:tar -xvjf 压缩⽂件名 .tar.bz25. 使⽤ zip 算法进⾏压缩解压压缩:zip 压缩⽂件名 .zip ⽂件 1 ⽂件 2 ⽂件 3 ⽂件 4...解压:unzip 压缩⽂件名 .zip-
chmod :修改⽂件权限执⾏修改权限,需要⽂件的⽤户才能执⾏修改,由于 root ⽤户是管理员⽤户拥有最⾼权限也可以改⽂件权限chmod 权限 ⽂件
权限:u+[r 、 w 、 x] 在⽤户权限中添加权限u-[r 、 w 、 x] 在⽤户权限中删除权限g+[r 、 w 、 x] 在⽤户组权限中添加权限g-[r 、 w 、 x] 在⽤户组权限中删除权限o+[r 、 w 、 x] 在其他⽤权限中添加权限o-[r 、 w 、 x] 在其他⽤权限中删除权限对于⽂件有三组权限:每⼀组权限可以⽤ 3 个⼆进制位表⽰,每⼀位表⽰⼀种权限:在执⾏命令时,在命令前 加上 sudo 就表⽰执⾏这条命令时提升为root⽤户⾝份执⾏- chown:改变⽂件拥有者 ,要改变拥有者,必须是root管理员⽤户⾝份chown ⽤户名 ⽂件
-
chgrp :改变⽂件拥有组,要改变拥有组,必须是root 管理员⽤户⾝份 chgrp ⽤户组 ⽂件
-
⽤户管理修改⽤户密码passwd (⽤户名) -- 不写表⽰当前⽤户但是在当前⽤户下只能修改当前⽤户的密码如果要修改其他⽤户的密码,必须是管理员 root ⾝份sudo passwd ⽤户名切换⽤户su ⽤户名exit 退出当前⽤户添加⽤户只能管理员 root 添加sudo adduser 新⽤户名新创建的⽤户不能提升 root 权限,不能够使⽤ sudo如果⽤户需要使⽤ sudo 执⾏命令时临时提升为 root ⾝份,需要⽤户添加到 sudoers ⽂件中修改:/etc/sudoers在⽂件最后添加⽤户名 ALL=(ALL:ALL) ALL删除⽤户sudo userdel -r ⽤户名
- ⽤户组管理 查看⽤户对应的⽤户组 groups ⽤户名创建⽤户组
sudo groupadd ⽤户组名查看配置⽂件/etc/group 列举出组的信息删除⽤户组sudo groupdel ⽤户组名将⽤户添加到⽤户组sudo gpasswd -a ⽤户名 ⽤户组将⽤户从⽤户组删除sudo gpasswd -d ⽤户名 ⽤户组
-
-
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)