I.MX6u嵌入式linux驱动开发

1:Ubuntu 系统入门

Ubuntu 系统入门以后,我们重点要学的就是如何在 Linux 下进行 C 语言开发,如何使
gcc 编译器、如何编写 Makefile 文件等等
首先安装虚拟机软件VM:
Vmware Workstation
软件可以在
Wmeare
官网下载,下载地址:
https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html
或者关注微信公众号:纸飞资,然后输入VM即可免费获取
然后根据视频配置虚拟系统
安装Ubuntu系统:
下载地址为: https://www.ubuntu.com/download/desktop
然后点击确定后重启,WIN+空格是切换中文输入

2:Ubuntu终端操作 

上述字符串中,@前面的“zuozhongkai”是当前的用户名字,@后面的 zuozhongkai-virtual-

machine 是我的机器名字。最后面的符号“ $ ”表示当前用户是普通用户,我们可以在提示符后
面输入命令,比如输入命令“ ls ”,命令“ls”是打印出当前所在目录中所有文件和文件夹,

1:shell操作

国内把 Linux 下通过命令行输入命令叫做“敲命令”,国外人玩的比较
洋气,人家叫做“ Shell ”。因此以后看到 Shell 这个词语第一反应就是在终端中敲命令,将多个
Shell 命令按照一定的格式放到一个文本中,那么这个文本就叫做 Shell 脚本。
严格意义上来讲, Shell 是一个应用程序,它负责接收用户输入的命令,然后根据命令做出
相应的动作, Shell 负责将应用层或者用户输入的命令传递给系统内核,由操作系统内核来完成
相应的工作,然后将结果反馈给应用层或者用户。

 Shell 命令的格式:

ls”命令用来打印出当前目录下的所有文件和文件夹,
而“ ls -l ”同样是
打印出当前目录下的所有文件和文件夹,但是此命令会列出所有文件和文件夹的详细信息,比
如文件大小、拥有者、创建日期等等。
ls /usr ”是用来打印出目录“ /usr ”下的所有
文件和文件夹。

2:常用的shell命令 (linux通用)

1 、目录信息查看命令 ls
ls [ 选项 ] [ 路径 ]
ls 命令主要用于显示指定目录下的内容,列出指定目录下包含的所有的文件以及子目录,
它的主要参数有:
-a 显示所有的文件以及子目录,包括以“ . ”开头的隐藏文件。
-l 显示文件的详细信息,比如文件的形态、权限、所有者、大小等信息。
-t 将文件按照创建时间排序列出。
-A -a 一样,但是不列出“ . ( 当前目录 ) 和“ .. ( 父目录 )
-R 递归列出所有文件,包括子目录中的文件。
Shell 命令里面的参数是可以组合在一起用的,比如组合“ -al ”就是显示所有文件的详细信
息,包括以“.”开头的隐藏文件
2 、目录切换命令 cd
要想在 Shell 中切换到其它的目录,使用的命令是 cd,命令格式如下:
,我们先使用命令“ cd /usr ”进入到“ /usr ”目录下,然后使用“ ls ”命令
显示“/usr”目录下的所有文件。可以看到,当我们切换到其它目录以后在
符号“ $ ”前面就会以蓝色的字体显示出当前目录名字,
3 、当前路径显示命令 pwd
pwd 命令用来显示当前工作目录的绝对路径,不需要任何的参数
4 、系统信息查看命令 uname
要查看当前系统信息,可以使用命令 uname ,命令格式如下
5 、清屏命令 clear
clear 命令用于清除终端上的所有内容,只留下一行提示符。
6 、切换用户执行身份命令 sudo
Ubuntu(Linux) 是一个允许多用户的操作系统,其中权限最大的就是超级用户 root ,有时候
我们执行一些操作的时候是需要用 root 用户身份才能执行,比如安装软件。通过 sudo 命令可以
使我们暂时将身份切换到 root 用户。当使用 sudo 命令的时候是需要输入密码的,这里要注意输
入密码的时候是没有任何提示的!命令格式如下:
sudo     [选项 ] [ 命令 ]
选项主要参数如下:
-h 显示帮助信息。
-l 列出当前用户可执行与不可执行的命令
-p 改变询问密码的提示符。
假如我们现在要创建一个新的用户 test ,创建新用户的命令为“ adduser ”,创建新用户的权
限只有 root 用户才有,我们在装系统的时候创建的那个用户是没有这个权限的,比如我的
zuozhongkai ”用户。所以创建新用户的话需要使用 sudo ”命令以 root 用户执行“ adduser
这个命令
7 、添加用户命令 adduser
在讲解 sudo 命令的时候我们已经用过命令“ adduser ”,此命令需要 root 身份去运行。命令
格式如下:
adduser [ 参数 ] [ 用户名 ]
常用的参数如下:
-system   添加一个系统用户
-home DI R DIR 表示用户的主目录路径
-uid ID      ID 表示用户的 uid
-ingroup GRP     表示用户所属的组名。
8 、删除用户命令 deluser
前面讲了添加用户的命令,那肯定也有删除用户的命令,删除用户使用命令“ deluser ”,命
令参数如下:
deluser [ 参数 ] [ 用户名 ]
主要参数有:
-system    当用户是一个系统用户的时候才能删除。
-remove-home   删除用户的主目录
-remove-all-files    删除与用户有关的所有文件。
-backup   备份用户信息
同样的,命令“ deluser ”也要使用“ sudo ”来以 root 用户运行,以删除我们前面创建的用
户 test 为例
9 、切换用户命令 su
前面在讲解命令“ sudo ”的时候说过, sudo ”是以 root 用户身份执行一个命令,并没有更
改当前的用户身份,所有需要 root 身份执行的命令都必须在前面加上“ sudo ”。命令“ su ”可以
直接将当前用户切换为 root 用户,切换到 root 用户以后就可以尽情的进行任何操作了!因为你
已经获得了系统最高权限,在 root 用户下,所有的命令都可以无障碍执行,不需要在前面加上
sudo ”,“ su ”命令格式如下:
su      [ 选项 ]     [ 用户名 ]
常用选项参数如下:
-c –command      执行指定的命令,执行完毕以后恢复原用户身份。
-login             改变用户身份,同时改变工作目录和 PATH 环境变量。
-m         改变用户身份的时候不改变环境变量
-h          显示帮助信息
换到 root 用户为例,
先使用命令“ sudo su ”切换到 root 用户, su 命令不写明用户名的话默认切
换到 root 用户。然后输入密码,密码正确的话就会切换到 root 用户,可以看到切换到 root 用户 以后提示符的“@ ”符号前面的用户名变成了“ root ”,表示当前的用户是 root 用户。并且以“ # ” 结束。
注意!!由于 root 用户权限太大,稍微不注意就可能删除掉系统文件,导致系统奔溃,因此
强烈建议大家,不要以 root 用户运行 Ubuntu 。当要用到 root 身份执行某些命令的时候使用“ sudo ” 命令即可。
要切换回原来的用户,使用命令“ sudo su 用户名”即可,比如我要从 root 切换回 zuozhongkai
这个用户,
10 、显示文件内容命令 cat
查看文件内容是最常见的操作了,在 windows 下可以直接使用记事本查看一个文本文件内
容, linux 下也有类似记事本的软件,叫做 gedit ,找到一个文本文件,双击打开,默认使用的就 是 gedit
现在讲解的是 Shell 命令,那么 Shell 下有没有办法读取文件的内容呢?肯定有的,那
就是命令“ cat ”,命令格式如下:
cat            [ 选项 ]          [ 文件 ]
选项主要参数如下:
-n 1 开始对所有输出的行进行编号。
-b -n 类似,但是不对空白行编号。
-s 当遇到连续两个行以上空白行的话就合并为一个行空白行。
比如我们以查看文件“/etc/environment”的内容为例
11 、显示和配置网络属性命令 ifconfig
ifconfig 是一个跟网络属性配置和显示密切相关的命令,通过此命令我们可以查看当前网络
属性,也可以通过此命令配置网络属性,比如设置网络 IP 地址等等,此命令格式如下:
ifconfig interface options | address
主要参数如下:
interface   网络接口名称,比如 eth0 等。
up    开启网络设备。
down   关闭网络设备。
add     IP 地址,设置网络 IP 地址。
netmask add 子网掩码。
命令 ifconfig 的使用
有两个网卡: ens33 lo ens33 是我的电脑实际使用的网卡, lo 是回测网
卡。可以看出网卡 ens33 IP 地址为 192.168.31.235 ,我们使用命令“ ifconfig ”将网卡 ens33 的 IP 地址改为 192.168.31.20,操作如图
从图 可以看出,我在使用命令“ ifconfig ”修改网卡 ens33 IP 地址的时候使用了
sudo ”,说明在 Ubuntu 下修改网卡 IP 地址是需要 root 用户权限的。当修改完以后使用命令
ifconfig ens33 ”再次查看网卡 ens33 ,发现网卡 ens33 IP 地址变成了 192.168.31.20
12 、系统帮助命令 man
Ubuntu 系统中有很多命令,这些命令都有不同的格式,不同的格式对应不同的功能,要完
全记住这些命令和格式几乎是不可能的,必须有一个帮助手册,当我们需要了解一个命令的详 细信息的时候查阅这个帮助手册就行了。Ubuntu 提供了一个命令来帮助用户完成这个功能,那 就是“man ”命令,通过“ man”命令可以查看其它命令的语法格式、主要功能、主要参数说明等, “ man ”命令格式如下:
man [命令名]
比如我们要查看命令“ ifconfig ”的说明,输入“ man ifconfig ”即可
q退出
13 、 系统重启命令 reboot
通过点击 Ubuntu 主界面右上角的齿轮按钮来选择关机或者重启系统,同样的我们也可以
使用 Shell 命令“ reboot ”来重启系统,直接输入命令“reboot”然后点击回车键即可
14 、系统关闭命令 poweroff
使用命令“ reboot ”可以重启系统,使用命令“ poweroff ”就可以关闭系统,在终端中输入
命令“ poweroff ”然后按下回车键即可关闭 Ubuntu 系统,
15 、软件安装命令 install
Ubuntu 下也有其它的软件安
装方法,但是用的最多的就是自行编译源码然后安装,尤其是嵌入式 Linux 开发。命令“ install
格式如下:
复制到目标文件或将多个源文件复制到一个已存在的目录中同时设置其所有权和权限模式。
在第四种形式会创建指定的目录。命令“ install ”通常和命令“ apt-get ”组合在一起使用的,关
于“ apt-get ”命令我们稍后会讲解。

3:APT下载工具 

APT 下载工
具和我们前面讲解的“ install ”命令结合在一起构成了 Ubuntu 下最常用的下载和安装软件方法。

它解决了 Linux 平台下安装软件的一个缺陷,即软件之间相互依赖。

APT 采用的 C/S 模式,也就是客户端 / 服务器模式,我们的 PC 机作为客户端,当需要下载
软件的时候就向服务器请求,因此我们需要知道服务器的地址,也叫做安装源或者更新源。
开系统设置,打开“软件和更新”设置,打开以后如图
APT 工具常用的命令如下: (注意提前联网)
1 、更新本地数据库
如果想查看本地哪些软件可以更新的话可以使用如下命令:
sudo apt-get update
这个命令会访问源地址,并且获取软件列表并保存在本电脑上
2 、检查依赖关系
有时候本地某些软件可能存在依赖关系,所谓依赖关系就是 A 软件依赖于 B 软件。通过如 下命令可以查看依赖关系,如果存在依赖关系的话 APT 会提出解决方案:
sudo apt-get check
3 、软件安装
这个是重点了,安装软件,使用如下命令:
sudo apt-get install package-name
可以看出上述命令是由“ apt-get ”和“ install ”组合在一起的,“ package-name ”就是要安装
的软件名字,“ apt-get ”负责下载软件,“ install ”负责安装软件。比如我们要安装软件 Ubuntu 下 的串口工具“minicom ”,我们就可以使用如下命令:
sudo apt-get install minicom 执行上述命令以后就会自动下载和安装 minicom 软件
安装完成以后我们直 接在终端输入如下命令打开 minicom 这个串口软件:
4 、软件更新
更新软件的话使用命令:
sudoapt-getupgradepackage-name
5 、卸载软件
如果要卸载某个软件的话使用如下命令:
sudoapt-get remove package-name

4:Ubuntu下文本编辑

4.1Gedit编辑器

进行文本编辑是最常用的操作, Windows 下我们会使用记事本来完成,或者其它一些优秀
的文本编辑器,比如 notepad++ Ubuntu 下有一个自带的文本编辑器,那就是 Gedit Gedit
一个窗口式的编辑器,关于 Gedit 的使用前面我们已经讲解了

4.2VI/VIM编辑器

VIM 编辑器
VI 编辑器升级版本, VI/VIM 编辑器都是一种基于指令式的编辑器,不需要鼠标,也没有菜
单,仅仅使用键盘来完成所有的编辑工作。
我们需要先安装 VIM 编辑器,命令如下:

 sudo apt-get install  vim

安装完成以后就可以使用 VIM 编辑器了, VIM 编辑器有 3 种工作模式:输入模式、指令
模式和底行模式,通过切换不同的模式可以完成不同的功能,我们就以编辑一个文本文档为例
讲解 VIM 编辑器的使用。打开终端,输入命令:vitest.txt,
在终端中输入图 2.5.2.1 中所示的命令以后就会创建一个 test.txt 文档,并且用 VIM 打开了,
如图
       试着在图 2.5.2.2 中输入数字,发现根本没法输入,这不是因为你的键盘坏了。因为 VIM
默认是以只读模式打开的文档,因此我们要切换到输入模式,切换到输入模式的命令如下:
我们在图 中按下键盘上的“ a ”键,这时候终端左下角会提示
“插入”字样,表示我们进入到了输入模式
从上面的命令可以看出,并没有保存文本的命令,那是因为保存文
档的命令是在底行模式中,我们要先进入到指令模式,进入底行模式的方式是先进入指令模式
下,然后在指令模式下输入“:”进入底行模式,
当进入底行模式以后会在终端的左下角就会出现符号“:”,我们可以在“:”
后面输入命令,常用的命令如下:
x  保存当前文档并且退出。
q   退出。
w    保存文档。
如果我们要退出并保存文本的话需要在“:”底行模式下输入“ wq
在“:”底行模式下输入“ wq ”以后按下回车键就保存 test.txt 并退出 VI/VIM 编辑器,退出
以后我们可以使用命令“ cat ”来查看刚刚新建的test.txt文档的内容
可以看出, test.txt 中的内容就是我们用 VIM 输入的内容,至此我们就完整
的进行了一遍 VI/VIM 创建文档、编辑文档和保存文档。

3:linux文件系统

操作系统的基本功能之一就是文件管理,而文件的管理是由文件系统来完成的。

Linux 支持多种文件系统,本节我们就来讲解Linux 下的文件系统、文件系统类型、文件系统结构和文件系统相关Shell 命令。

3.1linux文件系统简介

操作系统就是处理各种数据的,文件系统的目的就是实现数据的查询和存储,不同的存储设备其物理结构不同,比如管理NAND FLASH的话使用YAFFS文件系统,管理硬盘、SD卡的话就是ext文件系统等等。

3.2文件系统类型

Linux 下的文件系统主要有 ext2 ext3 ext4等文件系统,
Linux 还支持其他的UNIX 文件系统,比如 XFS JFS UFS 等,也支持 Windows FAT 文件系统和网络文件系统NFS 等。
  • ext2是一个非日志文件系统,大多数的Linux发行版都不支持ext2文件系统了
  • ext3是在ext2的基础上发展起来的文件系统,完全兼容ext2文件系统,ext3是一个日志文
  • 件系统,ext3支持大文件,ext3文件系统的特点有如下:

ext4文件系统:

ext4 文件系统是在 ext3 上发展起来的, ext4 相比与 ext3 提供了更佳的性能和可靠性,并且
功能更丰富, ext4 向下兼容 ext3 ext2 ,因此可以将 ext2 ext3 挂载为 ext4
在终端中输入如下命令来查询当前磁盘挂载的啥文件系统:
框起来的就是我们安装 Ubuntu 的这个磁盘,在 Linux 下一切皆为文件,
/dev/sda1 ”就是我们的磁盘分区,可以看出这个磁盘分区类型是 ext4 ,它的挂载点是“ /”,也就是根目录。

3.3linux文件系统结构 

Windows 下的 C 盘根目录就是“ C: , Linux 下的根目录就是“ / ”,你没有看错, Linux
目录就是用“ / ”来表示的,打开 Ubuntu 的文件浏览器,文件浏览器在左侧的导航栏,图标如
Ubuntu 是支持多用户的, Ubuntu 为每个用户创建了一个根目录,比
如我电脑现在登陆的是“ zuozhongkai ”这个用户,因此默认进入的是“ zuozhongkai ”这个用户
的根目录。
  • 用户可以对自己的用户根目录下的文件进行随意的读写操作,但是如果要修改根目录“/
  • 下的文件就会提示没有权限。打开终端以后默认进入的是当前用户根目录,比如我们打开终端
以后输入“ls”命令查看当前目录下有什么文件,结果如图
我们来看一下根目录“/”下都有哪些文件,在终端中输入如下命令:
此外,我们来看一下根目录“/”中的一些重要的文件夹:

4:文件操作命令 

1 、创建新文件命令— touch
touch不仅仅可以用用来创建文本文档,其它类型的文档也可以创建,命令格式如下:
使用 touch 创建文件的时候,如果 [ 文件名 ] 的文件不存在,那就直接创建一个以 [ 文件名 ]
名的文件,如果 [ 文件名 ] 文件存在的话就仅仅修改一下此文件的最后修改日期,常用的命令参
数如下:
进入到用户根目录下,直接使用命令“ cd~ ”即可快速进入用户根目录,进入用户根目录以
后使用 touch 命令创建一个名为 test 的文件,创建过程如图

 

 2、文件夹创建命令—mkdir

既然可以创建文件,那么肯定也可以创建文件夹,创建文件夹使用命令“mkdir”,命令格 式如下:

主要参数如下:
-p 如所要创建的目录其上层目录目前还未创建,那么会一起创建上层目录。
我们在用户根目录下创建两个分别名为“ testdir1 ”和“ testdir2 ”的文件夹,操作如图

3、文件及目录删除命令—rm 

既然有创建文件的命令,那肯定有删除文件的命令,要删除一个文件或者文件夹可以使用
命令“ rm”,此命令可以完成删除一个文件或者多个文件及文件夹,它可以实现递归删除。
对于链接文件,只删除链接,原文件保持不变,所谓的链接文件,其实就是Windows下的快捷方式文件,此命令格式如下:
我们使用 rm 命令来删除前面使用命令“ touch ”创建的test文件,操作过程如图
命令“ rm ”也可以直接删除文件夹,我们可以试一下删除前面创建的 testdir1 文件夹,先直
接使用命令“rmtestdir1”测试一下是否可以删除,结果如图
直接使用命令“ rm ”是无法删除文件夹 ( 目录 ) 的,我们需要加上
参数“ -rf ”,也就是强制递归删除文件夹 ( 目录),操作结果如图

4、文件夹(目录)删除命令—rmdir 

Linux 提供了直接删除文件夹( 目录 ) 的命令— rmdir ,它可以不加任何参数的删除掉指定的文件夹 ( 目录),命令格式如下:

5、文件复制命令—cp 

在Ubuntu下我们也可以通过点击文件右键进行文件的复制和粘贴。
进入上面创建的 test1 文件夹,然后在 test1 文件夹里面创建一个a.c文件,操作过程如图
我们先将上图 a.c 这个文件做个备份,也就是复制到同文件夹 test1 里面,新的文
件命名为 b.c 。然后在将 test1 文件夹中的 a.c b.c 这两个文件都复制到文件夹test2中
我们添加了一些高级使用技巧,首先是拷贝 a.c b.c 文件到 test2 文件夹
中,我们使用了通配符“ * ”, *.c ”就表示 test1 下的所有以“ .c ”结尾的文件,也就是 a.c b.c
../test2 ”中的 ../ ”表示上级目录,因此“ ../test2 ”就是上级目录下的 test2 文件夹。
我们将 test2文件夹复制到同目录下,新拷贝的文件夹命名为test3,操作如图

6、文件移动命令—mv 

有时候我们需要将一个文件或者文件夹移动到另外一个地方去,或者给一个文件或者文件
夹进行重命名,这个时候我们就可以使用命令“ mv ”了,此命令格式如下:

 

使用上面讲解“ cp ”命令的时候创建了三个文件夹,在上面创建的 test1 文件夹里面创建一
c.c 文件,然后将 c.c 这个文件重命名为 d.c 。最后将 d.c 这个文件移动到 test2 文件夹里面,
操作如图 我们再将 test1 中的 d.c 文件移动到test2文件夹里面

文件压缩和解压缩 

1、图形化压缩和解压缩
图形化压缩和解压缩和 Windows 下基本一样,在要压缩或者解压的文件上点击鼠标右键,
然后选择要进行的操作,我们先讲解一下如何进行文件的压缩。首先找到要压缩的文件,然后在要压缩的文件上点击鼠标右键,选择“压缩”选项
可以选择的压缩格式还是有很多的,挑选一个格式进行压缩,比
如我选择的“.zip”这个格式,压缩完成以后如图
2、命令行进行文件的压缩和解压缩
我们后面的开发中所有涉及到压缩和解压缩的操作都是在命令行下完成的。命令行下进行压缩和解压缩常用的命令有三个: zip unzip tar
  • 3.命令zip
  • zip 命令看名字就知道是针对 .zip 文件的,用于将一个或者多个文件压缩成一个 .zip 结尾的
    文件,命令格式如下:
    这里我们使用命令“zip”对test2文件夹进行压缩,操作如图
使用 zip 命令进行 test2 文件夹的压缩,我们使用的命令如下:
zip -rv test2.zip test2
-rv 表示递归压缩并且显示压缩命令执行过程。
4、命令unzip

对上面压缩的test2.zip文件使用unzip命令进行解压缩,操作如图

5、命令tar

我们前面讲的 zip unzip 这两个是命令只适用于 .zip 格式的压缩和解压,其它压缩格式就
用不了了,比如 Linux 下最常用的 .bz2 .gz 这两种压缩格式。其它格式的压缩和解压使用命令
tar ,tar将压缩和解压缩集合在一起,使用不同的参数即可,命令格式如下:

使用 tar 命令来进行 .zip 和.gz格式的文件压缩,操作如图
-vcjf 表示创建 bz2 格式的压缩文件, -vczf 表示创建 .gz 格式的压缩文
件。学习了如何使用 tar 命令来完成压缩
来学习使用tar命令完成文件的解压,操作如图
上述两行命令中, -vxjf 用来完成 .bz2 格式压缩文件的解压, -vxzf 用来完成 .gz 格式压缩文
件的解压。关于 Ubuntu 下的命令行压缩和解压缩就讲解到这里,重点是 tar 命令,要熟练掌握
使用 tar 命令来完成 .bz2 .gz 格式的文件压缩和解压缩。

文件查询和搜索 

1、命令find
find 命令的参数有很多,常用的就这些,关于其它的参数大家可以自行上网查找,我们来
看一下如何使用 find 命令进行文件搜索,我们搜索目录 /etc 中以“ vim ”开头的文件为例,操
作如图
2 、命令 grep
grep 命令用于查找包含指定关键字的文件,如果发现某个文件的内容包含所指
定的关键字, grep 命令就会把包含指定关键字的这一行标记出来,grep命令格式如下: 我们在目录 /usr 下递归查找包含字符“Ubuntu”的文件,操作如图

文件类型 

这里的文件类型不是说这个文件是音乐文件还是文本文件,在用户根目录下使用命令“ ls
-l”来查看用户根目录下所有文件的详细信息,如图
每个文件的详细信息占一行,每行最前面的符号标记了当前文件类型,
比如 test1 的第一个字符是“ d ”, test1.tar.bz2 文件第一个字符是“ - ”。这些字符表示的文件类
型如下:

5:Linux用户权限管理 

1:Ubuntu用户系统

Ubuntu 是一个多用户系统,我们可以给不同的使用者创建不同的用户账号,每个用户使用
各自的账号登陆,使用用户账号的目的一是方便系统管理员管理,控制不同用户对系统的访问
权限,另一方面是为用户提供安全性保护。
当我们创建好账号以后,系统会
在目录/home下以该用户名创建一个文件夹,所有与该用户有关的文件都会被存储在这个文件文件夹中
  • 装系统的时候创建的用户其权限比后面创建的用户大一点,但是没有root用户权限大,
  • Ubuntu下用户类型分为以下3类:
●初次创建的用户,此用户可以完成比普通用户更多的功能。
root 用户,系统管理员,系统中的玉皇大帝,拥有至高无上的权利。
●普通用户,安装完操作系统以后被创建的用户。
以上三种用户,每个用户都有一个 ID 号,称为 UID ,操作系统通过 UID 来识别是哪个用
户,用户相关信息可以在文件/etc/passwd中查看到

权限管理:

在使用 Windows 的时候我们很少接触到用户权限,最多就是打开某个软件出问题的时候会
选择以“管理员身份”打开。
对于一个文件通常有三种权限:读 (r) 、写 (w) 和执行 (x) ,使用命令“ ls-l ”可以查看某个目
录下所有文件的权限信息,如图

 

Linux磁盘管理基本概念 

Linux 的磁盘管理体系和 Windows 有很大的区别,在 Windows 下经常会遇到“分区”这个
概念,在 Linux 中一般不叫“分区”而叫“挂载点”。“挂载点”就是将一个硬盘的一部分做
成文件夹的形式,这个文件夹的名字就是“挂载点”,不管在哪个发行版的 Linux 中,用户是绝
对看到不到 C 盘、 D 盘这样的概念的,只能看到以文件夹形式存在的“挂载点” .
文件 /etc/fstab 详细的记录了Ubuntu中硬盘分区的情况,如图
有一行“ /wason/dev/sda1duringinstallation ”,意思是根目录“ / ”是在 /dev/sda1
上的,其中“ / ”是挂载点,“ /dev/sda1 ”就是我们装 Ubuntu 系统的硬盘。由于我们的系统是安
装在虚拟机中的,因此图 2.8.1.1 没有出现实际的硬盘。可以通过如下命令查看当前系统中的磁盘:
打印出所有以/dev/sd开头的设备文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/376005.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue3.0

一、Vue3.0介绍 1、Vue3.0介绍 在学习Vue3.0之前,先来看一下与Vue2.x的区别 会从如下几点来介绍 源码组织方式的变化Composition API性能提升Vite Vue3.0全部使用TypeScript进行重写,但是90%的API还是兼容2.x,这里增加了Composition API也就是组合A…

电动汽车雷达技术概述 —— FMCW干扰问题(第二篇)

此图片来源于网络 1、雷达干扰问题 此图表示道路上的典型场景。 两辆支持雷达的汽车相互通过。 在过去,这是不太可能的事件。 然而,随着越来越多的77千兆赫雷达汽车 在道路中行驶,这种事件发生的可能性变得越来越高。 因此,一个…

华为数通方向HCIP-DataCom H12-821题库(单选题:441-460)

第441题 下面是一台路由输出的信息,关于这段信息描述正确的是 <R1>display bgp peerBGP local router ID : 2.2.2.2Local AS number : 100Total number of peers : 2 Peers in established state : 0Peer V AS MsgRcvd MsgSent OutQ Up/Down …

【JavaScript】Js中一些数组常用API总结

目录 前言 会改变原数组 push() pop()和shift() unshift() splice() sort() reverse() 不会改变原数组 slice() concat() filter() forEach() toString join(分隔符&#xff09; 小结 前言 Js中数组是一个重要的数据结构&#xff0c;它相比于字符串有更多的方法…

Android7.0-Fiddler证书问题

一、将Fiddler的证书导出到电脑&#xff0c;点击Tools -> Options -> HTTPS -> Actions -> Export Root Certificate to Desktop 二、下载Window版openssl&#xff0c; 点击这里打开页面&#xff0c;下拉到下面&#xff0c;选择最上面的64位EXE点击下载安装即可 安…

node cool-admin 后端宝塔面板看代码日志

1.需求 我在处理回调问题的时候 就是找不到问题&#xff0c;因为不像本地的代码 控制台能够直接打印出来问题&#xff0c;你是放在线上了 所以那个日志不好打印 我看网上都说是 直接用一个loger.js 打印 日志 放到代码文件里 这种方法也许有用 但是对我这框架cool来说 试了没有…

使用 Kubernetes,基础设施层面如何优化?分享一些解决方案

重点内容 搭配 SmartX 自主研发的 Kubernetes 服务、分布式存储、Kubernetes 原生存储等产品&#xff0c;用户既可基于 SmartX 超融合构筑全栈 Kubernetes 基础设施&#xff0c;也可选择为部署在裸金属、其他虚拟化平台或混合环境的 Kubernetes 集群提供持久化存储支持。 文末…

基于YOLOv8的暗光低光环境下(ExDark数据集)检测,加入多种优化方式---DCNv4结合SPPF ,助力自动驾驶(一)

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文主要内容:详细介绍了暗光低光数据集检测整个过程&#xff0c;从数据集到训练模型到结果可视化分析&#xff0c;以及如何优化提升检测性能。 &#x1f4a1;&#x1f4a1;&#x1f4a1;加入 DCNv4结合SPPF mAP0.5由原始的0.682提升至…

金融行业专题|证券超融合架构转型与场景探索合集(2023版)

更新内容 更新 SmartX 超融合在证券行业的覆盖范围、部署规模与应用场景。新增操作系统信创转型、Nutanix 国产化替代、网络与安全等场景实践。更多超融合金融核心生产业务场景实践&#xff0c;欢迎阅读文末电子书。 在金融行业如火如荼的数字化转型大潮中&#xff0c;传统架…

[Python进阶] 制作动态二维码

11.1 制作动态二维码 二维码&#xff08;QR code&#xff09;是一种二维条形码&#xff08;bar code&#xff09;&#xff0c;它的起源可以追溯到20世纪90年代初。当时&#xff0c;日本的汽车工业开始使用一种被称为QR码的二维条码来追踪汽车零部件的信息。 QR码是Quick Respo…

品牌如何营造生活感氛围?媒介盒子分享

「生活感」简而言之是指人们对生活的感受和意义&#xff0c;它往往没有充斥在各种重要的场合和事件中&#xff0c;而是更隐藏在细碎平凡的生活场景中。在营销越来越同质化的当下&#xff0c;品牌应该如何打破常规模式&#xff0c;洞察消费情绪&#xff0c;找到更能打动消费者心…

Python(20)正则表达式(Regular Expression)中常用函数用法

大家好&#xff01;我是码银&#x1f970; 欢迎关注&#x1f970;&#xff1a; CSDN&#xff1a;码银 公众号&#xff1a;码银学编程 正文 正则表达式 粗略的定义&#xff1a;正则表达式是一个特殊的字符序列&#xff0c;帮助用户非常便捷的检查一个字符串是否符合某种模…

14. 【Linux教程】文件压缩与解压

文件压缩与解压 前面小节介绍了如何对文件和目录删除、移动操作&#xff0c;本小节介绍如何使用命令对文件和目录进行压缩与解压操作&#xff0c;常见的压缩包格式有 .bz2、.Z、.gz、.zip、.xz&#xff0c;压缩之后的文件或目录占用更少的空间。 1. tar 命令介绍 下面列举 ta…

【C++】基础知识讲解(命名空间、缺省参数、重载、输入输出)

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343&#x1f525; 系列专栏&#xff1a;http://t.csdnimg.cn/eCa5z 目录 命名空间 命名空间的定义 命名空间的使用 命名空间的嵌套使用 C输入&输出 std命名空间的使用惯例&…

阿里云服务器centos_7_9_x64位,3台,搭建k8s集群

目录 1.环境信息 2.搭建过程 2.1 安装Docker源 2.2 安装Docker 2.3 安装kubeadm&#xff0c;kubelet和kubectl 2.4 部署Kubernetes Master(node1) 2.5 安装Pod网络插件&#xff08;CNI&#xff09; 2.6 加入Kubernetes Node 2.7 测试kubernetes集群 3.部署 Dashboard…

webrtc native api的几个要点

文章目录 基本流程状态回调类sdp的中媒体行pc对象 基本流程 webrtc native的接口&#xff0c;主要就是围绕着PeerConnection对象&#xff0c;一个PeerConnection对象它代表了一次音视频会话。 那么通过PeerConnection对象建立音视频通话&#xff0c;包括如下步骤&#xff1a; …

回归预测 | Matlab实现POA-BP鹈鹕算法优化BP神经网络多变量回归预测

回归预测 | Matlab实现POA-BP鹈鹕算法优化BP神经网络多变量回归预测 目录 回归预测 | Matlab实现POA-BP鹈鹕算法优化BP神经网络多变量回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab实现POA-BP鹈鹕算法优化BP神经网络多变量回归预测&#xff08;完整源码…

光伏板安装角度有什么讲究?

随着太阳能技术的日益普及&#xff0c;光伏板&#xff08;也称为太阳能电池板&#xff09;已成为我们日常生活中不可或缺的一部分。在安装光伏板时&#xff0c;选择合适的安装角度是一个至关重要的环节&#xff0c;它直接影响到光伏系统的效率和发电量。本文将探讨光伏板安装角…

RabiitMQ延迟队列(死信交换机)

Dead Letter Exchange&#xff08;死信交换机&#xff09; 在MQ中&#xff0c;当消息成为死信&#xff08;Dead message 死掉的信息&#xff09;后&#xff0c;消息中间件可以将其从当前队列发送到另一个队列中&#xff0c;这个队列就是死信队列。而 在RabbitMQ中&#xff0c;由…

Android14音频进阶:MediaPlayerService如何启动AudioTrack 上篇(五十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…