声明
本博客所记录的关于正点原子i.MX6ULL开发板的学习笔记,(内容参照正点原子I.MX6U嵌入式linux驱动开发指南,可在正点原子官方获取正点原子Linux开发板 — 正点原子资料下载中心 1.0.0 文档),旨在如实记录我在学校学习该开发板过程中所遭遇的各类问题以及详细的解决办法。其初衷纯粹是为了个人知识梳理、学习总结以及日后回顾查阅方便,同时也期望能为同样在学习这款开发板的同学或爱好者提供一些解决问题的思路和参考。
内容来源:笔记中的所有问题及解决方法均来自于我在实际操作开发板、研读相关资料(包括但不限于正点原子官方教程、技术文档、论坛交流,AI等)以及与老师和同学探讨过程中的真实经历。我尽力保证内容的准确性和可靠性,但由于个人知识水平和实践经验有限,若存在错误或不严谨之处,恳请各位读者批评指正。
责任声明:虽然我力求提供有效的问题解决办法,但由于开发板使用环境、硬件差异、软件版本等多种因素的影响,我的笔记内容不一定适用于所有情况。对于因参考本笔记而导致的任何直接或间接损失,我不承担任何法律责任。使用本笔记内容的读者应自行承担相关风险,并在必要时寻求专业技术支持。
1.1概念
Shell 是一个应用程序,它负责接收用户输入的命令,然后根据命令做出相应的动作, Shell 负责将应用层或者用户输入的命令传递给系统内核,由操作系统内核来完成相应的工作,然后将结果反馈给应用层或者用户。
2.1 shell命令
Shell 命令的格式如下:
command: Shell 命令名称。options:选项,同一种命令可能有不同的选项,不同的选项其实现的功能不同。argument: Shell 命令是可以带参数的,也可以不带参数运行。
使用鼠标右键选择终端/Ctrl+Alt+T打开终端,以ls命令为例
“ls”命令用来打印出当前目录下的所有文件和文件夹,而“ls -l”同样是打印出当前目录下的所有文件和文件夹,但是此命令会列出所有文件和文件夹的详细信息,比如文件大小、拥有者、创建日期等等。最有一个“ls /usr”是用来打印出目录“/usr”下的所有文件和文件夹。
Shell 命令支持自动补全功能,只需要输入命令的前面一部分字母,然后按下 TAB 键,如果只有一个命令匹配的话就会自动补全这个命令剩下的字母,如果有多个命令匹配的话,在按下一次 TAB 键就会列出所有匹配的命令。
2.1.1常用的shell命令
1、目录信息查看命令 ls,
Shell 下文件浏览命令为 ls,格式如下:
ls [选项] [路径]
ls 命令主要用于显示指定目录下的内容,列出指定目录下包含的所有的文件以及子目录, |
它的主要参数有: |
-a:显示所有的文件以及子目录,包括以“.”开头的隐藏文件
-l:显示文件的详细信息,比如文件的形态、权限、所有者、大小等信息
-t:将文件按照时间排序
-A:和-a一样,但不列出当前目录(.)和父目录(..)
-R:递归列出所有文件,包括子目录
Shell 命令里面的参数是可以组合在一起用的,比如组合“-al”就是显示所有文件的详细信息。
2. 目录切换命令cd
要想在 Shell 中切换到其它的目录,使用的命令是 cd,命令格式如下:
cd [路径]
路径就是我们要进入的目录路径 cd / 进入根目录 cd/ usr 进入到/usr cd .. 进入上一级目录 cd ~ 切换到当前用户主目录 |
3、当前路径显示命令 pwd
pwd 命令用来显示当前工作目录的绝对路径,不需要任何的参数
4、系统信息查看命令 uname
要查看当前系统信息,可以使用命令 uname,命令格式如下:
uname [选项]
-r:列出当前系统的具体内核版本号
-s:列出系统内核名称
-o:列出系统信息
5、清屏命令 clear
clear 命令用于清除终端上的所有内容,只留下一行提示符。
6、切换用户执行身份命令 sudo(常用)
Ubuntu(Linux)是一个允许多用户的操作系统,其中权限最大的就是超级用户 root,有时候我们执行一些操作的时候是需要用 root 用户身份才能执行,比如安装软件。通过 sudo 命令可以使我们暂时将身份切换到 root 用户。当使用 sudo 命令的时候是需要输入密码的,这里要注意输入密码的时候是没有任何提示的!命令格式如下:
sudo [选项] [命令]
-h 显示帮助信息
-l 列出当前用户可执行和不可执行的命令
-p 改变询问密码的提示符
假如我们现在要创建一个新的用户 test,创建新用户的命令为“adduser”,创建新用户的权限只有 root 用户才有,在装系统的时候创建的那个用户是没有这个权限的,所以创建新用户的话需要使用“sudo”命令以 root 用户执行“adduser”这个命令。
7、添加用户命令 adduser
此命令需要 root 身份去运行,配合sudo命令使用。命令格式如下:
adduser [参数] [用户名]
常用的参数:
-system 添加一个系统用户
-home DIR DIR表示用户的主目录路径
-uid ID ID表示用户的uid
8、删除用户命令 deluser
删除用户使用命令“deluser”,命令参数如下
deluser [参数] [用户名]
常用的参数:
-system 删除一个系统用户
-remove-home删除用户的主目录
-remove-all-files 删除与用户相关的所有文件
-backup 备份用户信息
9、切换用户命令 su
“sudo”是以 root 用户身份执行一个命令,并没有更改当前的用户身份,所有需要 root 身份执行的命令都必须在前面加上“sudo”。命令“su”可以直接将当前用户切换为 root 用户。在 root 用户下,所有的命令都可以无障碍执行,不需要在前面加上“sudo”,“su”命令格式如下:
su [选项] [用户名]
常用选项参数如下:
-c -command 执行指定的命令,执行完毕后恢复原用户身份
-login 改变用户身份,同时改变工作目录和PATH环境变量
-m 改变用户身份的时候不改变环境变量
-h 显示帮助信息
先使用命令“sudo su”切换到 root 用户, su 命令不写明用户名的话默认切换到 root 用户。然后输入密码,密码正确的话就会切换到 root 用户,可以看到切换到 root 用户以后提示符的“@”符号前面的用户名变成了“root”,表示当前的用户是 root 用户。并且以“#”结束。要切换回原来的用户,使用命令“sudo su 用户名”即可,
注意!!由于 root 用户权限太大,稍微不注意就可能删除掉系统文件,导致系统奔溃,因此强烈建议大家,不要以root 用户运行 Ubuntu。当要用到root 身份执行某些命令的时候使用“sudo”命令即可。
10、显示文件内容命令 cat
命令格式如下:
cat [选项] [文件]
主要参数如下:
-n 由1开始对所有行进行编号
-b 和-n类似,但并不对空白行编号
-s 当遇到连续两个行以上空白行的话就合并为一个行空白行
11、显示和配置网络属性命令 ifconfig
ifconfig 是一个跟网络属性配置和显示密切相关的命令,通过此命令我们可以查看当前网络属性,也可以通过此命令配置网络属性,比如设置网络 IP 地址等等,此命令格式如下:
ifconfig interface options | address
主要参数:
interface 网络接口名称
up 开启网络设备
down 关闭网络设备
add 设置网络IP地址
netmask add 子网掩码
在 Ubuntu 下修改网卡 IP 地址是需要 root 用户权限的。
12、系统帮助命令 man
通过“man”命令可以查看其它命令的语法格式、主要功能、主要参数说明
等, “man”命令格式如下: |
man [命令名]
13、 系统重启命令 reboot
使用 Shell 命令“reboot”来重启系统,直接输入命令“reboot”然后点击回车键即可
14、系统关闭命令 poweroff
使用命令“reboot”可以重启系统,使用命令“poweroff”就可以关闭系统,在终端中输入命令“poweroff”然后按下回车键即可关闭 Ubuntu 系统
15、软件安装命令 install
install 既可以指系统自带的 install 命令,也可能你想问的是使用apt系列命令来安装软件包。 |
格式如下: 系统自带的install命令主要用于将文件复制到指定目录,并且可以设置文件的权限、所有者等属性。其基本语法如下: |
install [选项] 源文件 目标文件
使用apt系列命令安装软件包
在 Ubuntu 中,apt是常用的软件包管理工具,可用于安装、更新、删除软件包等操作。
sudo apt update # 更新软件包列表,获取最新的软件包信息
sudo apt install nginx # 安装 nginx 软件包
若要卸载已安装的软件包
sudo apt remove nginx
如果要同时删除软件包的配置文件,可以使用apt purge命令:
sudo apt purge nginx