“这是我参与8月更文挑战的第9天,活动详情查看:8月更文挑战”
Linux命令
1 什么是嵌入式
嵌入式是以应用为中心、计算机技术为基础、软硬件可裁剪对功耗,体积,成本有严格要求的专用计算机系统
Linux:是一个操作系统()Ubuntu是Linux的一个发行版本
Linux自身是一个内核,Linux内核五大功能: 1.文件管理 2.内存管理 3.进程管理(应用工程师) 4.设备管理(驱动工程师) 5.网络管理(应用工程师)
Linux下一切皆文件:Linux下所有的资源都是以文件形式操作的,(o\r\w\c)
Linux 是多任务、多用户、分时操作系统
Linux命令:ls\cd\cp\mv\touch\mkdir\rm\cat\echo
命令的本质就是 一个可执行程序
2 软件包管理
首先判断自己 Ubuntu是否能够连接网络 终端输入
ping www.baidu.com
在线安装(联网的情况下)
sudo apt-get install 要安装的软件名
sudo apt-get download 要下载的软件包
64位操作系统 可以 sudo apt install 要安装的软件名
在线安装代码雨
sudo apt-get install cmatrix
下载软件包
ubuntu 的软件包 是 .deb 为后缀
redhat 的软件包 是 .rpm 为后缀
Linux下载路径 在 /var/cache/apt/archives$ 下 在线安装 会检查软件安装的依赖包
离线安装
无需联网 但必须要有 软件包 而且不会检查安装依赖 (容易出现安装不成功现象)
sudo dpkg -i 要安装转的软件包名
cmatrix_1.2a-5build3_amd64.deb
cmatrix_ 1.2a- 5build3 _amd64 .deb
软件名 版本号 修订版本号 适用系统 后缀
软件卸载
在线安装 用在线卸载方式
sudo apt-get autoremove 软件名
离线安装 用离线卸载方式
sudo dpkg -r 软件名
3 压缩与及压缩
Linux下
压缩针对的是 文件
归档针对的是 目录
归档
tar 空格 参数 空格 要归档或压缩成的文件名 空格 源文件名
归档的好处,把文件数目变少了,有利于降多个文件作为电子邮件附件发送,以及备份文件。
| 命令 | 功能 |
|---|---|
| -c | 创建归档 |
| -v | 显示归档\解压过程 |
| -f | 创建和释放的文件名 |
| -x | 释放归档 |
eg:lib 目录
tar -cvf lib.tar lib //将lib目录归档成 lib.tar
tar -xvf lib.tar //将 lib.tar 归档文件 释放
压缩
压缩:利用算法讲文件有损或者无损地处理,以达到保留最多文件信息,而令文件体积变小。
压缩的好处是节约硬盘空间,以及减小电子邮件附件的大小,提高传输效率。
gzip 压缩生成 .gz | 解压 gunzip xxx.gz
bzip2 压缩生成 .bz2 | 解压 bunzip2 xxx.bz2
xz 压缩生成 .xz | 解压 unxz xxx.xz
eg:1.txt文件
gzip 1.txt 生成 1.gz 压缩文件
bzip2 1.txt 生成 1.bz2 压缩文件
xz 1.txt 生成 1.xz 压缩文件
归档压缩
先归档再进行压缩
归档压缩:在归档命令 参数 -c 基础上添加 压缩参数 再加入 vf
| 命令 | 功能 |
|---|---|
| -z | 归档压缩成 .gz |
| -j | 归档压缩成 .bz2 |
| -J | 归档压缩成 .xz |
eg: lib目录
sudo tar -czvf lib.gz lib
将lib目录归档并压缩成 lib.gz
sudo tar -cjvf lib.tar.bz2 lib
sudo tar -cJvf lib.tar.xz lib
解压归档
解压释放归档:在归档命令 参数 -x 基础上添加 压缩参数 在加入 vf
sudo tar -xzvf lib.gz 解压 .gz
sudo tar -xjvf lib.tar.bz2 解压 .bz2
sudo tar -xJvf lib.tar.xz 解压 .xz
4 修改文件权限
chmod 空格 “参数” 空格 “要修改权限的文件名”
| 参数 | 含义 |
|---|---|
| -u | 用户 |
| -g | 组 |
| -o | 其他用户 |
| -a | 全部 |
| 权限 | 作用 |
|---|---|
| - | 无权限 |
| r | 读 |
| w | 写 |
| x | 执行 |
eg:1.txt 文件
chmod u+w 1.txt //文件所属用户添加 写权限
chmod g-r 1.txt //文件所属组 减少 读权限
chmod o-w 1.txt //文件其他用户 减少写权限
5 链接文件
命令 ln
| 命令 | 作用 |
|---|---|
| - | 普通文件 |
| b | 块设备文件 |
| s | 套接字文件 |
| p | 管道文件 |
| l | 链接文件 |
| c | 字符设备文件 |
| d | 目录文件 |
5.1 硬链接和软链接
链接文件分为 软链接文件 和 硬链接文件 软连接文件类似于 Windows中的 快捷方式
创建硬链接文件
ln 源文件 要生成的硬链接文件名
ln XXX SSS 创建 XXX 文件的 硬链接文件 取名为 SSS
ln -s 源文件 要生成的硬链接文件名
ln 1.txt hh//创建 1.txt文件的硬链接 hh
创建软连接文件
ln -s 1.txt ss //创建1.txt文件的 软连接文件 ss
软硬链接的对比
| 硬链接文件 | 软连接文件 |
|---|---|
| 硬链接文件的创建会==改变==源文件和子文件数 | 软连接文件的创建==不改变==源文件和子文件数 |
| 源文件与 硬链接文件 ionde 一致 | 软连接文件 的 iNode号 与源文件不同 |
| 源文件或硬链接文件数据修改相互影响 | 源文件或软连接文件数据修改相互影响 |
| 删除源文件硬链接文件依然==有效== | 如果源文件删除软连接文件==无效== |
📍inode就是索引节点,它用来存放档案及目录的基本信息,包含时间、档名、使用者及群组等。
6 查看文件命令
| 命令 | 作用 |
|---|---|
| ls > filename | 将ls打印的输出结果 重定向到 filename |
| cat file1 > file2 | 将 cat file1 的结果 重定向到 file2;如果file2 不存在 则创建 |
| > | 数据重定向 |
| >> | 追加 |
| diff file1 file2 | 比较两个文件内容是否一致;一致无打印;不一致打印 对应的行号及内容 |
| head | 默认打印 文件的前 10行 可以通过参数修改 |
| head filename | 打印filename文件 前 10 行的内容到终端 |
| head -n filename | 打印filename文件 前 n 行 |
| tail | 默认打印 文件的后 10行 到终端 可以通过参数修改 |
| tail filename | 打印filename文件 后 10 行的内容到终端 |
| tail -n filename | 打印filename文件 后 n 行 |
| cat /etc/passwd > file | 将 /etc/passwd 数据重定向到 当前路径 file 文件中 |
📝练习:通过 head 和 tail 将 file文件的 第 20行内容 显示到终端
head -20 file | tail -1
将 file 前 20 行拿到 作为 tail 的输入 参数 -1 那 20 行的最后一行,结果就是 file 文件的 第 20行 ,管道 |。
7 文件内容搜索
-
grep
grep 空格 "要查找的内容" 空格 查找的文件 空格 -Rn
grep "systemd" file -Rn //搜多"systemd" 在file文件中 出现的位置//并打印行号 -R 表示搜索全部 当前路径下所有目录都会检索
-n 显示行号
指定文件名 则在指定文件内搜索
📢注意:\ :转义符,grep 检索字符串 [ ] 当做特殊符号处理 所以需要转义 a[10]
8 用户管理
Linux是多用操作系统,添加用户 adduser 用户名 ,去换用户 到 root 用户下
su root 或 sudo -i
新添加的用户 没有 sudo 权限 需要配置 /etc/sudoers
添加 新用户 操作权限
因为 /etc/sudoers 文件是只读文件 需要修改文件权限
📢注意:*****切勿 chmod 777 /etc/sudoers chmod u+w /etc/sudoers
vi /etc/sudoers- 复制 root ALL=(ALL:ALL) ALL
- 粘贴到 root ALL=(ALL:ALL) ALL 下边
- 将新复制的行 root 改成新用户名 即可
- 保存退出
退出root用户
exit 或 su linux
切换到 新用户
su 新用户名 新用户可以 用 sudo