Linux及C语言高级[9](Linux高级命令)

765 阅读6分钟

“这是我参与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 liblib目录归档并压缩成 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