1 Star 0 Fork 0

musnows/Linux_Raspberry

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Raspberry-Practice

仓库简介

折腾树莓派4b开发板的代码

现在开始用腾讯云CentOS开始系统的学习Linux指令,相关Linux测试使用的代码也会放在本仓库中,不再另外开辟新仓库

仓库内容

  • 部分代码是在win平台下用VS写了之后传过去的
  • 用树莓派来练习git指令,而不使用git可视化工具。避免实习后不了解git指令。
  • exp文件夹内为树莓派基础实验的学习,包括了wiringPi库的函数知识
  • vim文件夹内为使用vim编辑器学习linux操作的代码,尝试摆脱图形化桌面,只用命令行进行操作

后续考虑学习使用树莓派搭建个人博客、个人nas等操作的流程

CSDN博客专栏“没事就吃树莓派”,记录学习过程👉点我

Git指令学习

学习git指令的博客👉点我

cd home/pi/xxx //打开文件路径
ls //显示当前路径下的文件

git pull//从远程仓库拉取代码
git status//当前本地仓库状态,有没有发生更改

git add xxx //添加xxx文件夹中需要上传的文件到缓存区
git commit -m "xxxxx"//此部分会和仓库push时的注释同步
git push//推送到远程仓库

git reset --soft //撤回git commit –m
git reset --mix //撤回git commit –m和git add
git reset --hard //回退git commit –m、git add和工作区
git reset --hard HEAD~X //将本地commit回退X个版本
//这个操作会删除本地文件的已有更改,建议备份当前文件后再进行操作
git status -sb //清空缓存区

仓库状态码git status -s 解析

git status -s//更详细地显示文件状态

A //表示本地新增的文件(远程仓库没有)
C //文件的一个新拷贝
D //本地删除的文件(远程仓库还有)
M //表示文件有发生更改
R //文件被重命名
T //文件类型被修改
U //文件没有被合并(这部分不是了解)

22-06-16:看到了这篇关于git上传信息填写规范的文章【链接】,我感觉有必要学习一下,并在之后的git提交中使用相同的格式,方便自己查看,和其他用户查看。

提交格式:type(scope):message

vim编辑器

安装vim

sudo apt-get install vim

需要注意的是,vim编辑器下不能使用CTRL+S来保存文件,因为在linux中这个快捷键的作用是暂停该终端,整个系统都会卡住,这时候使用CTRL+Q取消暂停就可以了。

以下是命令模式下的一些文本批量化操作

yy 复制当前行,nyy复制n行
p  粘贴再当前行的后面,np粘贴n次剪贴板的内容
dd 剪切(删除)当前行,ndd操作n行
u  撤销
ctrl+r  重做
shift+g 光标快速定位到文本末尾
gg 光标快速移动到文本头
n+shift+g 光标定位到文本的第n行
shift+4 光标定位到该行末尾
shift+6 光标定位到该行开头
w,b   以单词为单位进行移动光标
h,j,k,l  左、下、上、右
shift+`  大小写快速切换
r   替换光标所在处的字符,支持nr
shift+r  批量化替换
x  删除光标所在处的字符,nx删除n个

vim进入插入模式的快捷键有a i o,分别对应不同的功能(见博客)

vim编辑器中底行模式的一些操作如下

:w   "只保存
:q   "不保存退出
:wq  "保存并退出
:reg "打开vim的寄存器面板
:syntax on "开启语法高亮
:set nu    "显示行号
:set nonu  "取消行号显示
:set tabstop=4 "设置tab的缩进,默认为8
:set softtabstop=4 "softtabstop是“逢8空格进1制表符”,前提是你tabstop=8
:set shiftwidth=4 "设置程序自动缩进所使用的空格长度
:set autoindent "自动对齐上一行
:set mouse=a "设置鼠标模式,默认是a

上面的一些配置,如果需要写入vimrc配置文件,需要先把:和注释都去掉

部分内容参考这篇博客👉传送门

Linux系统语句学习

cd home/pi/xxx #打开文件路径
ls        #显示当前路径下的文件
ls -a     #显示当前路径下的文件,包括隐藏文件
ls -l     #每一行只显示一个文件夹
ll        #和ls -l等价
cat xxx #显示xxx文本文件的内容

mkdir NAME       #创建单个文件夹
mkdirs NAME1/NAME2... #创建文件夹NAME1以及它的子文件夹NAME2

mv test.c ./VimTest #移动当前目录下的test.c文件到下一级目录中
mv test.c ../VimTest #移动当前目录下的test.c文件到上一级目录中
mv test.c ~/VimTest #移动test.c文件到初始目录中
#需要注意的是,如果待移动的目录中没有这个文件夹,那就会把test.c移动之后改名为VimTest,而不会自动创建一个VimTest文件夹
#所以mv指令也用于重命名文件

rm NAME1     #删除NAME1文件(注意是文件)
rm -r NAME2  #递归删除NAME2文件夹以及它里面的内容
rm -rf NAME3 #强制删除文件夹NAME3,不提示选项
#r表示是递归;f表示force强制

使用rm -rf /的时候,请注意你自己在做什么。虽然大家经常拿这个语句开玩笑“从删库到跑路” 但是在正式工作的时候,机会只有一次,删库跑路是有法律责任的


又学了一招,如何把某个文件路径下的其他文件移动到一个子文件夹中

mv  `ls |grep -v TestRefer|xargs` ./TestRefer

如下图,我把所有文件都移动到了TestRefer文件夹中

ps循环监控脚本

我们可以使用一个监控脚本来更方便的监控进程的结果

while :; do ps jax | head -1 && ps jax | grep test | grep -v grep;sleep 1; echo "########################"; done

上面这个语句的作用是,每一秒执行一次ps jax | head -1 && ps jax | grep test | grep -v grep命令,直到我们使用ctrl+c终止进程

需要注意分隔符,while后面的是:;不要写成双冒号!

日志记录

  • 22.03.02:出现上传后gitee没有统计小绿点的问题,查看官方帮助文档才发现,是邮箱设置有问题。大部分地方的邮箱不分大小写,但是git里面配置的邮箱需要小写,需要和gitee邮箱设置里面的邮箱同步。关于该问题的官方帮助文档

  • 22.03.04:安装了树莓派下的markdown编辑器ReTextRemarkable。前者竟然连代码块还有> 引用的注释都无法正常渲染出来(可能需要做一些设置),还是第二个软件好用一点。树莓派安装md编辑器的参考博客

  • 22.03.14:linux环境下无法使用windows.h头文件,需要使用sleep函数时,要引用头文件unistd.h,同时需要注意linux环境下的sleep函数的单位是秒,而VS下是毫秒

  • 22.04.01:linux环境下gcc编译器使用delay函数也需要引用unistd.h头文件,而Geany编译器可以直接编译通过,无需引用该头文件。

  • 22.04.06:linux下gcc编译.h文件会报错,编译链接的时候无需编译头文件。

  • 22.04.10:softPwmWrite函数可以遵循标准RGB表格来设置RGBled的颜色。这里有一个关于该函数参数的疑惑,但是一直没有得到解决👉传送门

  • 22.04.12:今天尝试安装了vim编辑器,遇到了很多问题,好在现在网上有很多解决方法,最后都顺利搞定了! 博客记录

  • 22.04.16:之前尝试了好久,都不能把vim里面的东西复制到windows下(比如复制代码到win下方便写博客)现在能确定是vim没有+和*号寄存器的问题,换源、修改vimrc配置文件等等操作都试过了,依旧不得行,放弃了。【注:不确定是安装vim的方式有问题,还是树莓派4b的系统和vim不太兼容的问题。到此打住吧,不然需要浪费太多时间弄这个,不值得!与其折腾在vim里面如何复制,不如Xftp直接打开源文件复制。到头来发现最简单的方法反而是最好的】

  • 22.05.03:我使用了cpolar实现了内网穿透,并让朋友在远程成功连接了树莓派。这个软件的操作可以让树莓派摇身一变,成为一个远程的Linux服务器。可玩性也就更高了!不过现在都在学校里呆着,暂时还不需要远程操控树莓派。不过可以共享给朋友,让他练习一下Linux指令和编译操作。博客记录

  • 22.05.06:今天配置好了腾讯云的CentOS7.6的Linux使用环境,和树莓派有一定差距,但是主要内容都是相同的。而且我新学了一个cat指令(显示文本文件的内容)这个指令可以直接解决之前vim编辑器的复制问题。

    但很快新的问题就出现了,vim编辑器内代码并没有乱码,但是cat出来的内容不完整,有部分乱码(其实复制成RTF格式后粘贴到win下是无乱码的)搜了几个教程并没有解决这个问题 同时我还发现原本设置好的git的SSH密匙,每一次重新登录终端就会被重置,这是为什么?

  • 22.05.07:现在使用git账户和密码的global config设置解决了这个问题,可以愉快使用了!

  • 22.06.20: ssh的问题已经找到,是一个莫须有的配置操作导致的。去掉那个操作反而就是正确的情况了!博客已经更新相关内容!链接

空文件

简介

折腾树莓派和学习Linux操作的代码 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/musnows/raspberry-practice.git
git@gitee.com:musnows/raspberry-practice.git
musnows
raspberry-practice
Linux_Raspberry
master

搜索帮助

Cb406eda 1850385 E526c682 1850385