02_linux系统命令
一、绝对路径与相对路径
1.以 ./ 开始的路径名是相对路径
2.以 / 开始的路径是绝对路径.
相对路径:会随着用户当前所在的目录发生改变.
绝对路径:不会根据用户所在的路径而改变.


3.gcc 编译器
编译器把高级语言(C语言/JAVA语言/C++语言)生成二进制代码的一种工具.gcc 是专用于编译C语言的工具.
C语言程序生成可执行文件的过程

a、预处理 -E
预处理:进行宏展开,把所有的宏定义进行替换,把以 # 开头的语句进行替换.
#define MAX 100 宏定义
#include <stdio.h> 头文件 file main.c #查看当前文件的属性
main.c: C source, ASCII text #C语言源文件,ascii文本文件 预处理命令:
gcc main.c -o main.i -E
b、编译 -S
编译:把高级C语言 编译成 编程汇编语言 file main.s
main.s: assembler source, ASCII text #汇编语言 编译命令:
gcc main.i -o main.s -S
c、汇编 -c
汇编:把 ascii 文本编程 二进制文本file main.o
main.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped #64位二进制文件 汇编命令:
gcc main.s -o main.o -c
d、链接
链接:把标准库添加到二进制代码中file main
main: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter </lib64/ld-linux-x86-64.so.2>,
BuildID[sha1]=263e66632eda4c8f62795dcabd2e87a2ba088bc9, for GNU/Linux 3.2.0, not stripped 可执行二进制文件 gcc hello.o -o hello -lc -lgcc
gcc main.o -o main #链接标准库,但是c 与 gcc 是默认的标准库可写可不写
-lc -lgcc
补充命令:
// 查看编译器的版本:
gec@ubuntu:~$ gcc -v// 将源码 a.c 编译生成程序 a
gec@ubuntu:~$ gcc a.c -o a// 编译源码的时候打开所有的警告
gec@ubuntu:~$ gcc a.c -o a -Wall// 编译源码的时候指定自定义头文件
// xxx/xxx为自定义头文件所在路径
gec@ubuntu:~$ gcc a.c -o a -I xxx/xxx// 编译源码的时候指定自定义库文件
// yyy/yyy为自定义库文件所在路径,name为库名称
gec@ubuntu:~$ gcc a.c -o a -L yyy/yyy -lname// 编译源码的时候指定运行时自定义库文件所在路径
// zzz/zzz为自定义库文件在运行时的所在路径
gec@ubuntu:~$ gcc a.c -o a -Wl,-rpath=zzz/zzz
二、ssh 文件互传协议
在linux系统下文件互传的方式有很多,例如:共享文件夹,samba,tftp,ftp,nfs .... 但是这些方式只能传输文件无法远程控制,所以
最新方式是利用 ssh 进行远程控制与传输文件.
SSH(Secure Shell,安全外壳协议)是一种用于安全远程登录和其他网络服务的加密协议。
SSH 通过加密通信来保护数据在传输过程中的安全性,广泛应用于系统管理、文件传输和远程命令执行等场景。
1.关闭Windows防火墙

测试能否与目标主机ping通
ping 192.168.59.88 #测试与88 主机的同学是否接通gec@PC-20240429TQJF:~$ ping 192.168.59.88
PING 192.168.59.88 (192.168.59.88) 56(84) bytes of data.
64 bytes from 192.168.59.88: icmp_seq=1 ttl=128 time=3.13 ms 显示速率则证明已经接通
64 bytes from 192.168.59.88: icmp_seq=2 ttl=128 time=0.887 ms
2.安装ssh 服务器与客户端
sudo apt-get update #更新软件列表sudo apt-get install openssh-server #安装服务器端 sudo apt-get install openssh-client #安装客户端 重启ssh 服务器 sudo /etc/init.d/ssh start #开启ssh服务器 sudo /etc/init.d/ssh restart #重启ssh服务器
提示:ubuntu 20.04 服务器有bug 无法提供对方登录.
所以要安装22版本以上的ubantu才行
3.利用ssh 进行远程登录

成功登录后就会显示对方的主机信息

4.scp 传输文件
上传文件:
scp 文件名 用户名@目标ip地址:绝对路径 例子:上传一个 main.c 文件到gec用户 ip为192.168.59.1 的主机,并放入 /home/gec 目录
scp main.c gec@192.168.59.1:/home/gec下载文件:
scp 用户名@目标ip地址:文件的绝对路径 ./ 例子:下载用户为 gec 服务器地址为 192.168.59.1 的主机下的 /home/gec/main.c 文件到当前目录
scp gec@192.168.59.1:/home/gec/main.c ./
三、linux命令文档安装方法
1.下载u-tools 工具
uTools官网 - 新一代效率工具平台
2.进入插件市场安装linux命令文档

3.快速查找命令使用方法
alt + 空格

linux基础命令
ls 查看当前目录下的文件
1. ls ==> 列出当前目录的文件名
2. ls -l ==> 列出文件详情
3. ls -a ==> 列出文件名(含隐藏文件)
4. ls -la ==> 列出文件详情(含隐藏文件)
5. ls /etc ==> 列出指定目录 /etc 的文件名
6. ls -lh ==> 列出文件详情文件大小用 单位表示linux目录文件的特点:
蓝色:目录
绿色:可执行文件
白色:一般性文件,如文本文件,配置文件等
红色:压缩文件或归档文件
浅蓝色:链接文件
红色闪烁:链接文件存在问题
黄色:设备文件
青黄色:管道文件
alias 取别名
作用:简化较长的命令。
alias c='clear' #给clear 命令取一个别名为 c 永久生效的配置流程:
vi ~/.bashrc #1.打开配置文件 alias c='clear' #2.添加到文件末尾 ,并保存退出 :wq source ~/.bashrc #3.重新加载文件
cd 切换目录
cd /etc ==> 切换到 /etc
cd ==> 切换到家目录
cd - ==> 切换到刚刚去过的地方
cd .. ==> 切换到上一级目录
cd ../.. ==> 切换到上上级目录
date 查看当前日期
date #查看当前的时间
date +"%Y-%m-%d" #查看时间格式为 2025-02-25
date +"%Y-%m-%d %H:%M:%S" #查看时间格式为 2025-02-25 15:13:29date -s 2025-02-27 #设置日期 date -s 16:50:00 #设置时间date -s "2025-02-27 16:50:00" #设置日期时间
dpkg命令
是Debian Linux系统用来安装、创建和管理 .deb 软件包的实用工具。

dpkg -i package.deb # 安装包
dpkg -r package # 删除包
echo 输出文本
echo "hello world" #输出字符串"hello world"echo $PATH #输出PATH 环境变量值 ✔️
四、⭐man 帮助手册
man man 查看帮助手册说明

man 1 ls #查看shell命令的使用
man 2 open #查看系统调用open函数使用
man 3 strlen #查看库调用strlen函数使用
man 3 srand 查看随机数产生的方法
man 2 time 查看时间函数
#include <stdlib.h>
#include <stdio.h>
#include <time.h>int main(int argc, char *argv[])
{// 获取秒数数作为随机因子unsigned int seed = time(NULL);srand(seed); // 设置一个随机因子,如果一个随机因子是相同的,那么产生的随机数也是一样的!unsigned int r = rand(); // 产生随机数printf("%d\n", r%91 + 10 ); // 打印随机数
}修改上述代码,产生 10 - 100 以内的随机数!
1、其他命令
pwd 输出当前所在目录sort 对文本内容排序输出
root@[mail text]# cat sort.txt #直接读取文本
aaa:10:1.1
ccc:30:3.3
ddd:40:4.4
bbb:20:2.2
eee:50:5.5
eee:50:5.5[root@mail text]# sort sort.txt #排序输出文本
aaa:10:1.1
bbb:20:2.2
ccc:30:3.3
ddd:40:4.4
eee:50:5.5
eee:50:5.5uniq 去掉重复行
gec@ubuntu:~$ uniq file.txt
gec@PC-20240429TQJF:code$ cat my.txt
aaaaa
aaaaa
bbbbb
bbbbb
ccccc
ccccc
gec@PC-20240429TQJF:code$ uniq my.txt
aaaaa
bbbbb
cccccwhich 查看命令所在路径
gec@PC-20240429TQJF:code$ which ls
/usr/bin/ls| 管道符号
将前面命令的输出,成为后面命令的输入:cmd1 | cmd2gec@PC-20240429TQJF:code$ ls
a.out main main.c main.i main.o main.s my.txt 随机数.c
gec@PC-20240429TQJF:code$ ls | sort -r 👉将当前目录下的文件,按反序列出
随机数.c
my.txt
main.s
main.o
main.i
main.c
main
a.out

2、 文件管理命令
⭐mv 移动或重命名文件
gec@PC-20240429TQJF:~$ mv main.c new.c #重命名
gec@PC-20240429TQJF:~$ mv new.c dir/ #把文件移动到dir目录中⭐cp 拷贝文件或者目录
gec@ubuntu:~$ cp file1 file2 ==> 将文件file1复制为file2
gec@ubuntu:~$ cp dir1/ dir2/ -r ==> 将目录dir1/复制为dir2/⭐touch 创建普通文件
gec@PC-20240429TQJF:~$ touch main.c⭐mkdir/rmdir 创建/删除目录
gec@PC-20240429TQJF:~$ mkdir dir #创建一个目录
gec@PC-20240429TQJF:~$ mkdir mycode/mytest/mylib -p #创建多级目录 gec@PC-20240429TQJF:~$ rmdir mycode/ #删除一个空目录
gec@PC-20240429TQJF:~$ rm mycode/ -r #删除一个非空目录⭐rm 删除普通或目录文件
gec@ubuntu:~$ rm file
gec@ubuntu:~$ rm -r dir/⭐find 查找linux系统中的文件 find /home -name "*.txt" 👉1.查找/home目录下 以 .txt 结尾的文件 find ./ -name "*.txt" -o -name "*.pdf" 👉2.查找./当前目录下 以 .txt 或 .pdf 结尾的文件 find . -type 类型参数 👉根据文件类型查找f 普通文件
l 符号连接
d 目录
c 字符设备
b 块设备
s 套接字
p Fifofind /lib -type l 👉3.查找/lib 目录下的链接文件 find /lib -type f -size +10k 👉4.查找/lib 目录中大于 10K 的普通文件
文件大小单元:
b —— 块(512字节)
c —— 字节
w —— 字(2字节)
k —— 千字节
M —— 兆字节
G —— 吉字节-----------------下述命令了解即可------------------------------------gec@ubuntu:~$ cat file.txt ==> 显示文本文件内容 head/tail 释义:查看指定文件的头部/尾部内容
gec@ubuntu:~$ head -n 6 file.txt #显示前面6行
gec@ubuntu:~$ tail -n 6 file.txt #显示后面6行less 分屏上下翻页浏览文件内容
more 显示文件内容,每次显示一屏 od 查看二进制文件
od -t d1 文件名 #以ascii的形式输出 grep 搜索一个文本中的内容grep "stdio.h" main.c #查找main.c3 文件中是否包含字符串stdio.hgrep 'apple' /usr -rn #在/usr中查找包含apple的文件 diff 比较两个文件的差异
diff file1 file2 ==> 检测文件file1和file2的差异信息
diff dir1/ dir2/ -urN ==> 检测目录dir1/和dir2/的差异信息gec@ubuntu:~$ wc ==> 计算从键盘输入的数据,以ctrl+d结束
gec@ubuntu:~$ wc file.txt ==> 计算文件file.txt的数据
3、 ⭐tar 压缩与解压命令
Linux下最常用的压缩包格式是:
.tar.bz2
.tar.bz
.tar.gz
.tar.xz
.ziptar 命令的可选参数:
x 👉 解压
c 👉 压缩
z 👉 对应bz格式文件
j 👉 对应bz2格式文件
v 👉 压缩信息是否可视
f 👉 file 文件 解压命令:
tar -xvf ????.tar.xz
tar -xvf ????.tar.gz
tar -xjvf ????.tar.bz2
tar -xzvf ????.tar.bz压缩命令:
tar -cvf ????.tar.gz 压缩文件名
tar -cvf ????.tar.xz 压缩文件名
tar -czvf ????.tar.bz 压缩文件名
tar -cjvf ????.tar.bz2 压缩文件名打包并压缩: tar -jcvf [目标文件名].tar.bz2 [原文件名/目录名]
解压并解包: tar -jxvf [原文件名].tar.bz2
注:小写j代表用bzip2算法来压缩/解压。指定解压目录
tar -xvf 解压的压缩包 -C 指定的目录
4、zip 格式压缩包
sudo apt-get install zip #安装zip 解压工具 gec@ubuntu:~$ zip a.zip file dir/ ==> 将指定的文件和目录压缩成a.zip
gec@ubuntu:~$ unzip a.zip ==> 解压a.zip
5、权限管理命令
chmod 修改文件的权限 chown 修改文件所有者
gec@PC-20240429TQJF:~$ sudo chown jack main.c
gec@PC-20240429TQJF:~$ ls -l main.c
-rw-rw-r-- 1 jack gec 0 Feb 26 10:15 main.cchgrp 修改文件所属组
gec@PC-20240429TQJF:~$ sudo chgrp jack main.c
gec@PC-20240429TQJF:~$ ls -l main.c
-rw-rw-r-- 1 jack jack 0 Feb 26 10:15 main.cadduser 添加新的用户
gec@PC-20240429TQJF:home$ sudo adduser jack
Adding user `jack' ...su 切换用户
gec@PC-20240429TQJF:home$ su jack
Password:addgroup 添加用户组
delgroup 删除用户组
gec@ubuntu:~$ sudo addgroup gec ==> 添加用户组gec
gec@ubuntu:~$ sudo delgroup gec ==> 删除用户组gec
检查是否成功请 cat /etc/group deluser 删除用户
gec@PC-20240429TQJF:~$ sudo deluser jack
[sudo] password for gec:
Removing user `jack' ...
Warning: group `jack' has no more members.
Done.
至此,希望看完这篇文章的你有所收获,我是Bardb,译音八分贝,道友,下期见!
相关文章:
02_linux系统命令
一、绝对路径与相对路径 1.以 ./ 开始的路径名是相对路径 2.以 / 开始的路径是绝对路径. 相对路径:会随着用户当前所在的目录发生改变. 绝对路径:不会根据用户所在的路径而改变. 3.gcc 编译器 编译器把高级语言(C语言/JAVA语言/C语言)生成二进制代码的一种工具.gcc 是专用…...
【leetcode hot 100 11】移动零
一、暴力解法:两个 for 循环,外层循环遍历所有可能的左边界,内层循环遍历所有可能的右边界 class Solution {public int maxArea(int[] height) {int max_area0;for(int i0; i<height.length; i){for(int ji1; j<height.length; j){in…...
AI绘画软件Stable Diffusion详解教程(2):Windows系统本地化部署操作方法(专业版)
一、事前准备 1、一台配置不错的电脑,英伟达显卡,20系列起步,建议显存6G起步,安装win10或以上版本,我的显卡是40系列,16G显存,所以跑大部分的模型都比较快; 2、科学上网࿰…...
轨迹控制--odrive的位置控制---负载设置
轨迹控制 此模式使您可以平滑地使电机旋转,从一个位置加速,匀速和减速到另一位置。 使用位置控制时,控制器只是试图尽可能快地到达设定点。 使用轨迹控制模式可以使您更灵活地调整反馈增益,以消除干扰,同时保持平稳的运…...
【安卓逆向】逆向APP界面UI修改再安装
1.背景 有一客户找到我,说能不能把APP首页的底部多余界面去掉。 逆向实战 想要去除安卓应用软件中的内容,需要对APP逆向进行修改再打包。 通过工具 MIT管理器工具 提取APK包,点击apk文件,点击查看反编译apk。 搜索关键字。这里关键…...
SAP Webide系列(7)- 优化FreeStyle新建项目预设模板
目录 一、背景 二、优化目标 三、定位调整点 四、调整步骤 五、效果展示 六、附言 一、背景 在每次通过Webide进行FreeStyle方式自开发SAP UI5应用的时候,新建项目,得到的模板文件都是只有很少的内容(没有路由配置、没有设置默认全屏等…...
python读取sqlite温度数据,并画出折线图
需求: 在Windows下请用python画出折线图,x轴是时间,y轴是温度temperature 和体感温度feels_like_temperature 。可以选择县市近1小时,近1天,近1个月的。sqlite文件weather_data.db当前目录下,建表结构如下…...
URL 对字母大小写敏感么?
URL 的不同部分对大小写的敏感性不同: 协议部分: 不区分大小写 例如:http:// 和 HTTP:// 被视为相同域名部分(主机名): 不区分大小写 例如:example.com 和 ExAmPle.CoM 被视为相同路径部分 例如:example.c…...
【Linux网络编程】高效I/O--select/poll服务器
目录 多路转接之select select服务器实现 获取连接 handlerEvent select服务器代码链接 select的优缺点 多路转接之poll poll服务器实现(select服务器改写) poll的优缺点 多路转接之select select的作用 I/O的本质 等 拷贝 多路转接就是通过同时等待多个文件描述…...
2024年第十五届蓝桥杯大赛软件赛省赛Python大学A组真题解析
文章目录 试题A: 拼正方形(本题总分:5 分)解析答案试题B: 召唤数学精灵(本题总分:5 分)解析答案试题C: 数字诗意解析答案试题A: 拼正方形(本题总分:5 分) 【问题描述】 小蓝正在玩拼图游戏,他有7385137888721 个2 2 的方块和10470245 个1 1 的方块,他需要从中挑出一些…...
C语言实战项目(1)---------->猜数字游戏
在学习完循环和选择结构之后,我们可以做一个猜数字游戏。在此项目之前,如果还不会C语言的if语句、switch语句等组成选择结构的语句,while循环、for循环、do-while循环等组成循环结构的语句。可以参考我之前的博客: C语言…...
web理论总结
1.网页;可以承载各种网址应用和信息的容器,所有可视化的内容都会通过网页展示给用户。 2.网页主要由文字,图像和超链接等元素构成。还可以包含音频,视频以及动画等。 网页分为静态网页,动态网页大部分网页静动结合。…...
Failed to start The PHP FastCGI Process Manager.
报错如下: Job for php-fpm.service failed because the control process exited with error code. See "systemctl status php-fpm.service" and "journalctl -xe" for details. 2月 25 21:49:00 nginx systemd[1]: Starting The PHP FastC…...
001 Kafka入门及安装
Kafka入门及安装 文章目录 Kafka入门及安装1.介绍Kafka的基本概念和核心组件 2.安装1.docker快速安装zookeeper安装kafka安装 添加topic删除topickafka-ui安装 来源参考的deepseek,如有侵权联系立删 1.介绍 Kafka的基本概念和核心组件 Kafka是分布式流处理平台&a…...
【paddle】详解 padde.autograd.backward
目录 backward二次函数案例paddle 代码pytorch 代码 backward paddle.autograd.backward(tensors, grad_tensorsNone, retain_graphFalse)[源代码] 参数 tensors (list[Tensor]) – 将要计算梯度的 Tensors 列表。Tensors 中不能包含有相同的 Tensor。grad_tensors (None|list…...
飞腾腾锐D2000 + OpenHarmony 4.1release部署deepseek大模型
简介 1.1 飞腾腾锐D2000 飞腾腾锐D2000是一款面向桌面应用的高性能通用处理,集成8个飞腾自主研发的高能效处理器核FTC663,兼 容64位ARMv8指令集并支持ARM64和ARM32两种执行模式,支持单精度、双精度浮点运算指令和ASIMD处理 指令,主…...
【REST2SQL】15银河麒麟系统下达梦数据库部署REST2SQL
【REST2SQL】01RDB关系型数据库REST初设计 【REST2SQL】02 GO连接Oracle数据库 【REST2SQL】03 GO读取JSON文件 【REST2SQL】04 REST2SQL第一版Oracle版实现 【REST2SQL】05 GO 操作 达梦 数据库 【REST2SQL】06 GO 跨包接口重构代码 【REST2SQL】07 GO 操作 Mysql 数据库 【RE…...
晶体管输出光耦和逻辑输出光耦
晶体管输出光耦(非线性)和逻辑输出光耦(线性)的区别: 逻辑输出光耦的电流传输特性曲线是非线性的,适合于开关信号的传输,不适合于传输模拟量; 光电晶体管输出光耦的电流传输特性是线…...
智能生活综合平台需求规格说明书
一、引言 1.1 编写目的 本需求规格说明书旨在明确智能生活综合平台的功能、性能、用户界面等方面的需求,为平台的开发、测试和部署提供详细的指导,确保平台能够满足用户在社交、购物、教育、医疗、政务等多个领域的智能生活需求,提升用户的…...
绕过过滤order by
一、常见绕过技术 1、注释符截断 利用注释符(如 --、#)截断后续查询,消除过滤逻辑的影响。 ORDER BY 1-- 若原查询为 SELECT * FROM table ORDER BY 用户输入,注入后可能忽略后续过滤逻辑。 2、大小写混淆/编码绕过 若过滤是大…...
计算机网络之传输层(传输层的功能)
一、数据分段与重组 传输层从会话层接收数据,并将其分割成较小的数据段,以适应网络层的最大传输单元(MTU)限制。在目的端,传输层负责将这些数据段重新组合成原始数据,确保数据的完整性和正确性。 二、端口…...
面试八股文--数据库基础知识总结(1)
1、数据库的定义 数据库(DataBase,DB)简单来说就是数据的集合数据库管理系统(Database Management System,DBMS)是一种操纵和管理数据库的大型软件,通常用于建立、使用和维护数据库。数据库系统…...
优化 Flink 消费 Kafka 数据的速度:实战指南
在使用 Flink 消费 Kafka 数据时,你可能会遇到 消费速率较慢 的问题。本文将从 Kafka 并行消费、批量拉取、Checkpoint 频率、Consumer Poll 速率 以及 Flink 任务 Slot 资源 等多个方面,详细解析如何优化 Flink 消费 Kafka 的速度。 🔥 1. 增…...
轮式机器人在复杂地形中如何选择合适的全局路径规划算法?
已思考完成 收起 嗯,用户问的是轮式机器人在复杂地形中如何选择合适的全局路径规划算法。首先,我需要理解复杂地形可能带来的挑战,比如崎岖的路面、动态障碍物、非结构化环境等等。轮式机器人在这里的运动控制需要考虑地形通过性、稳定性&…...
数据结构与算法:动态规划dp:买卖股票相关力扣题(下):309. 买卖股票的最佳时机含冷冻期、714. 买卖股票的最佳时机含手续费
309. 买卖股票的最佳时机含冷冻期 首先我们要明确,如果全程只能买卖一次或者允许买卖多次,那么我们就没必要记录无操作这个状态。 如果买卖的次数为k(k≥2),那么我们才要记录无操作这个状态,以此来区分具体…...
[uboot][stm32]配置LTDC屏幕
文章目录 前提dts设备树修改Kconfig日志打印后记 https://github.com/wdfk-prog/u-boot 前提 手上刚好有块屏幕,尝试在uboot中点亮一下使用前请使用其他手段点亮该屏幕确保屏幕的完好再进行操作.确保配置的参数及引脚是可用的. dts设备树修改 ltdc状态修改为重定向前绑定,另…...
机试刷题_1614. 括号的最大嵌套深度【python】
1614. 括号的最大嵌套深度 class Solution:def maxDepth(self, s: str) -> int:maxD 0if not s:return maxDstack []for char in s:if char(:stack.append(char)maxD max(maxD,len(stack))elif char) :stack.pop()return maxD...
VM虚拟机安装与配置Ubuntu Linux操作系统详细教程~
一、下载VM虚拟机 VMware16.0.zip百度网盘下载链接:https://pan.baidu.com/s/1-l-CcAVNINqhRLSiQ26R7w?pwd=tznn 提取码: tznn 二、软件介绍 VMware(虚拟机)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,通过它可在一台电脑上同…...
2025年2月科技热点深度解析:AI竞赛、量子突破与开源革命
引言 2025年的科技领域持续呈现爆发式增长,AI大模型竞争白热化、量子计算商业化加速、开源工具生态繁荣成为本月最受关注的议题。本文结合最新行业动态,从技术突破、商业布局到开发者生态,全面解析当前科技热点,为读者提供深度洞…...
免费PDF工具
Smallpdf.com - A Free Solution to all your PDF Problems Smallpdf - the platform that makes it super easy to convert and edit all your PDF files. Solving all your PDF problems in one place - and yes, free. https://smallpdf.com/#rappSmallpdf.com-解决您所有PD…...
