Arduino、BeagleBoneBlack、树莓派、Debian Linux 学习手记
1、USB上网
用本地连接给BBB的那个网口做Internet共享,一点确定就蓝屏,蓝屏了十次以后我打算放弃了,期间还想着重装系统。后来试了试交叉网线,居然成功了,也因此发现了问题所在。享受Internet共享的那个网口,它在被提供服务时IP会被迫变成192.168.137.1,而BBB的那个网口可不允许你做这种事情,它的默认IP必须是192.168.7.1。所以,这种改动直接让驱动程序崩溃了,导致了蓝屏。所以,用多增一个新的网口来做这个事情是可行的。但是,但是,但是,应该也有人可以直接用BBB的那个USB网口来通过Internet连接访问互联网,因为从各种教程来看,确实看起来可行,只是我这里做不到。
TZ='Asia/Shanghai'; export TZ
ifconfig eth0 192.168.137.2
/sbin/route add default gw 192.168.137.1
2、时区时钟
tzselect命令选一通就差不多了,剩下的是调成24小时制的问题。
网上看到说在/etc/default/locale里添加LC_TIME=en_DK.UTF-8,这当然可以搞定,但是en_DK不觉得看着难受么。我试了试就用中国的zh_CN,也可以达到目的。毕竟AM和PM不是中国的,所以就想了这招,直接修改LC_TIME=zh_CN.UTF-8,实测可以,这样心里舒服一点。另外,ntpdate命令没有就安装ntpdate包。
3、root用户shell没有颜色
拷贝有颜色用户的.bashrc文件即可。
4、Linux关机时提示A stop job is running for ..导致关机慢。
/etc/systemd/system.confDefaultTimeoutStartSec=30s
DefaultTimeoutStopSec=30ssystemctl daemon-reload
PS:BBB串口问题困扰了我很久,原来是设置的10s太短了,还是设置为30s吧。
5、Linux分区的讲究
HOWTO: Multi Disk System Tuning: Introduction
6、设置登录root用户桌面(图形界面)
vim /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf在最后一行添加greeter-show-manual-login=true修改root用户配置文件 vim /root/.profile修改mesg n 所在行为 tty -s && mesg n || true
7、文件占用空间
du -h --max-depth=1du -h -d1
8、cp复制、rm删除目录下的所有文件(目录)
cp -a /dir/* /mnt/ 不包括隐藏文件cp -a /dir/. /mnt/ 包括隐藏文件
注意就是那个点很关键,如果用*的话就只拷贝正常文件了。
cp -r /[路径]/.[^.]* 只拷贝隐藏文件,如:cp -r ./.[^.]* /home/test211/
删除当前目录下所有隐藏文件rm -rf .*
删除当前目录下所有普通文件rm -rf *
一起删的,还不知道
删除目录下的所有目录,除了普通文件find . -name d -print -exec rm -rf {} \;这个我觉得不是好方法,但现在只能想到它,以后知道再加吧。
9、开启SSH服务的root登录
/etc/ssh/sshd_config 这里别搞错了,
还有一个ssh_config配置客户端的文件
PermitRootLogin yes
PermitEmptyPasswords yes
systemctl restart ssh
10、history命令使用
使用
!n
重复执行第n条命令使用
!!
重复执行上条命令使用
!字符串
重复执行最后一条以该字符串开头的命令使用
!$
重复执行上一条命令最后一个参数
11、kernel with non-retpoline compiler
CONFIG_RETPOLINE=n
12、值得安装的一些软件
查看硬件的图形工具:hwinfo
查看系统基本信息:neofetch
艺术字生成器:figlet、toilet
ASCII艺术框:boxes,在配置文件中查看设计样式 /etc/boxes/boxes-config
诗词:fortune-mod和fortunes-zh
结合上面的boxes工具就可以做出那些曾经以为很难搞的酷酷的东西。
/usr/games/fortune | boxes -d mouse -a c
放在.bashrc文件中
Last login: Sat Nov 19 09:43:31 2022 from 192.168.7.1.--, .--,( ( \.---./ ) )'.__/o o\__.'{= ^ =}> - <__________________.""`-------`"".__________________
/ \
\ A visit to a strange place will bring fresh work. /
/ \
\___________________________________________________/___)( )(___(((__) (__)))
debian@BBB:~$
更多详尽的内容可以参考这里,很有趣,但我没那么多时间来学习。40个有趣的Linux命令行彩蛋和游戏
13、默认不支持exfat,安装exfat-utils,立竿见影。
14、默认系统自动软件升级的那两个软件叫做update-manager和update-notifier
15、Option "UseDisplayDevice" "DFP"
16、bash linux-gnueabi-gcc not found
64位系统需要安装32位支持库,lib32stdc++,后面还有个版本号,比如ib32stdc++6
不知道这招能不能解决另一个错误?——
CONFIG_X86_X32 enabled but no binutils support
17、多行合并成一行
cat file | xargs echo //自动会用空格分开,非常好用awk '{printf $0" "}' //不加空格就全部黏在一起
18、国内镜像 sources.list 还是阿里云好点
deb http://mirrors.aliyun.com/debian/ buster main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib
deb http://mirrors.aliyun.com/debian-security buster/updates main
deb-src http://mirrors.aliyun.com/debian-security buster/updates main
deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
19、远程图形界面(VNC和RDP)
默认vnc是连接不上的,问题出在用户主目录下没有 .Xresources文件,用touch命令建立后然后多试几遍就OK了。日志和启动脚本都在主目录的.vnc目录下,内容不复杂,看一看。不要被xrdb找不到吓到,它在的,不是它的问题,不用试图重装它。
PS:初始化是先用vncpasswd设定密码。
或者,装RDP简单,用Windows远程桌面访问,貌似还更好。
20、列出已安装的软件包大小,以便清理空间
dpkg-query -Wf '${Installed-Size}\t${Package}\n'|sort -n放到.bashrc里起别名的话就得转义:
alias dpkg-sort="dpkg-query -Wf '\${Installed-Size}\t\${Package}\n' | sort -n"
21、查找一分钟前修改过的文件
find . -mmin -1
22、确定apt update修改了哪些文件
其实就是用上一条命令发现的,结论如下:
/var/lib/apt/lists/partial 这是空目录
/var/cache/apt/pkgcache.bin和/var/cache/apt/srcpkgcache.bin 这两个文件30MB
23、开机启动一条自己的命令或者程序
还是修改/etc/rc.local好使,不要直接上update-rc.d来添加服务,没必要。
apt update >/dev/null 2>&1 &/usr/local/bin/bak_cfg.sh &
24、motion软件,刚装上是用不了的
先看看版本,再看看说明书
/usr/share/doc/motion/motion_guide.html#Basic_Setup
配置项各版本之间差别很大
Version 3.2 |
Version 3.4 |
Version 4.0 |
Current Version |
area_detect |
area_detect |
area_detect |
area_detect |
auto_brightness |
auto_brightness |
auto_brightness |
auto_brightness |
brightness |
brightness |
brightness |
brightness |
thread |
thread |
camera |
camera |
webcam_localhost改为stream_localhost
target_dir是/var/lib/motion
设置端口号,不要用已占用的8080。stream_port 8081 webcontrol_port 8089
调一下分辨率,帧数 width 1024 height 768
这样搞才能行,这个软件其实很复杂的!
PS:占用资源太大,玩不起,卸载了。留给那些树莓派玩家去耍吧,不过它耗的是CPU,还不是内存,内存还有许多空闲。也许是可以优化设置,不过我不深究了……
25、想把对一个系统进行配置过的文件平时都保存下来,以备将来万一重装时节约大量劳动。
还想让它每次开机运行,不过我想再优化一下就是没变的就不要拷贝了(加了cp -u命令,不知道结果如何,-u是为了源文件更新才拷贝,-p是为了保持权限),先休息一下。
1 #!/bin/sh2 export DIR_CFG="/mnt/MMC/SCK_config"3 #export DIR_CFG="/media/debian/rootfs/SCK_config"4 export LST_CFG="scripts/bak_cfg.lst"5 FILE=$DIR_CFG/$LST_CFG6 7 sudo mount /dev/mmcblk1p1 /mnt/MMC 2> /dev/null8 9 if [ $# -eq 0 ]; then10 xargs -a $FILE -n1 -i cp -p -u {} $DIR_CFG11 echo "Bakuped to $DIR_CFG."12 elif [ $# -eq 1 ]; then13 realpath -e $1 >> $FILE14 if [ $? -eq 0 ]; then15 echo "New Config File:[$1] added to $FILE" 16 sort -u $FILE -o $FILE17 fi18 fi
解释一下xargs那里:1、-a选项直接带文本文件,就不用cat再管道了;2、-n1是为了一行一行处理;3、-i是为了引用参数,只有这样才能让{}可以取代前面搞出来的东西,否则xargs默认会把所有东西放在最后最后最后;
26、把dmesg内容里的时间戳转换成人类可理解的格式,直接复制了网上代码,只做了测试能用。
#!/bin/shif [ $# -ne 1 ];thenecho "input an dmesg time"exit 1
fiunix_time=`echo "$(date +%s) - $(cat /proc/uptime | cut -f 1 -d' ') + ${1}" | bc`
echo ${unix_time}
date -d "@${unix_time}" '+%Y-%m-%d %H:%M:%S'
27、dd命令终于有进度条了
dd if=/dev/zero of=/dev/null status=progress
28、BBB的Debian最新镜像地址
Debian 10.x (Buster) - Monthly Snapshots - General Discussion - BeagleBoardDebianBuster All these example Snapshots can be written to a microSD with: balenaEtcher ArchitectureCompatible DevicesAM335xBeagleBone, BeagleBone Black, BeagleBone Black Wireless, PocketBeagleAM335xBe…https://forum.beagleboard.org/t/debian-10-x-buster-monthly-snapshots/31203
Debian 11.x (Bullseye) - Monthly Snapshots - General Discussion - BeagleBoardNetworkWe migrated from connman to Debian Systemd-Networkd debian@BeagleBone:~$ sudo networkctl IDX LINK TYPE OPERATIONAL SETUP 1 lo loopback carrier unmanaged 2 eth0 ether routable configured …https://forum.beagleboard.org/t/debian-11-x-bullseye-monthly-snapshots/31280
也不知道以前是怎么搜出来的,这个地址我从各种链接都找不到,还好以前收藏了,这个地方发布的镜像就是我现在用的,非常好非常好,真正的最新。
29、BBB自己的源 --- GPG error: Optional enable
Beagleboard:BeagleBoneBlack Debian - eLinux.org
wget https://rcn-ee.com/repos/debian/pool/main/r/rcn-ee-archive-keyring/rcn-ee-archive-keyring_2016.04.24~bpo70+20160424+1_all.deb
sudo dpkg -i rcn-ee-archive-keyring_*_all.debAdd repo to /etc/apt/sources.listsudo sh -c "echo 'deb [arch=armhf] Index of /debian wheezy main' >> /etc/apt/sources.list"
sudo sh -c "echo '#deb-src [arch=armhf] Index of /debian wheezy main' >> /etc/apt/sources.list"Update packages:sudo apt-get update
sudo apt-get upgrade
sudo apt-get install npm c9-core-installer --reinstall
30、BBB的System Reference Manual
SRM是在官方git上放着的,官方网站上反而没有。
https://github.com/beagleboard/beaglebone-black/archive/master.zip
https://github.com/beagleboard/beaglebone-black.git
31、apt和dpkg安装软件时如何解决依赖关系
史上最硬核的 Linux 依赖问题解决方案最近正好在研究dpkg和rpm,对Linux依赖有了更深的认识。在网上看了很多,所有docker、虚拟机、编https://mp.weixin.qq.com/s/SAdwtziZnKaNJ2sSEZPnjw
这个已经写得很好了。看看吧。
32、查看文件系统block大小
stat -f /
tune2fs -l
blockdev --getbsz /dev/sda1
33、linux下查看Markdown文件(README.md)
Releases · charmbracelet/glow · GitHubRender markdown on the CLI, with pizzazz!
Arduino、BeagleBoneBlack、树莓派、Debian Linux 学习手记相关推荐
- Linux 学习手记(1):命令行BASH的基本操作
1. Shell 是什么 Shell(壳)是用户与操作系统底层(通常是内核)之间交互的中介程序,负责将用户指令.操作传递给操作系统底层. Shell一般分为:图形化Shell(GUI).命令行Shel ...
- Linux 学习手记(6): 磁盘、分区、MBR与GPT
1. 磁盘在LINUX中的表示 Linux所有设备都被抽象为一个文件,保存在/dev目录下 设备名称一般为hd[a-z]或者sd[a-z]([a-z]为分区号),如:hda.hdb.sda.sdb I ...
- Linux 学习手记(5):使用Vim文本编辑器
Vim是从vi发展而来的文本编辑器.vi是Linux及类Unix系统中主流的命令行文本编辑器,Vim 除了对vi功能上进行了加强,还加入了对GUI的支持.绝大多数的Linux系统上均安装了vim,vi ...
- Python语言学习:Python语言学习之硬件交互应用(arduino、树莓派等)相关的简介、案例应用之详细攻略
Python语言学习:Python语言学习之硬件交互应用(arduino.树莓派等)相关的简介.案例应用之详细攻略 目录 Python与硬件交互应用 1.适合运行python的嵌入式硬件系统 1.1. ...
- Arduino VS 树莓派:哪个才是你的菜?
假设你正在寻找一台微型计算机,它能够驱动一台激光炮塔向彩色气球射击--作为一名极客,你可能常会幻想到类似的场景.那么你很可能已经听说过Arduino和树莓派(Raspberry Pi)了,但是却拿不定 ...
- (五)Debian Linux中部署Spring Boot + Vue的前后端分离项目详细过程(arm64/aarch64架构下)
专题系列往期文章目录 (一)移动端安卓手机改造成linux服务器&Linux中安装软件踩坑历险记 (二)Debian Linux系统中安装oracle JDK1.8详细过程(arm64/aar ...
- AM335X的汇编语言与c语言,X86汇编语言学习手记 -- 汇编和C协同
X86汇编语言学习手记(3) 2004年12月 在X86汇编语言学习手记(1)(2)中,可以看到栈(Stack)作为进程执行过程中数据的临时存储区域,通常包含如下几类数据: 局部变量 函数调用的返回地 ...
- 树莓派开发6-配置树莓派的Linux内核
文章目录 配置树莓派的Linux内核 树莓派Linux内核编译 文件系统 Linux内核驱动基础框架 驱动测试步骤 树莓派学习笔记,本文图片文字皆为转述 配置树莓派的Linux内核 驱动两种加载方式: ...
- 树莓派基于 Linux 的 Windows XP 现已可用
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 白开水不加糖 来源 | https://www ...
最新文章
- 算法时间复杂度lg是多少_算法时间复杂度空间复杂度(附github)
- 由mysql分区想到的分表分库的方案
- 洛谷——P1042 乒乓球
- mysql-proxy 2进制版本安装
- PHP 数组排序函数sort,rsort,ksort,krsort,asort,arsort区别
- java 抓取百度新闻,java中使用jdom生成百度新闻抓取的xm
- 名词解释:什么是RSS? [转贴]
- 思科网院Packet Tracer实验(二)IOS基本配置
- django开发个人博客系统
- 多网卡时如何使用源地址ping目的地址,检测网络连通性。
- 笔记1-P2P后台管理系统
- GWAS数据分析流程—SNP、Indel注释
- 链表结点定义---指针指向结点
- 高级程序猿是如何练成的
- baked light+bake indirect+sampling lightmap
- kstest 检验数据是否符合正态分布
- 2020-11-04 prototype
- Redhat Linux无显示器无键盘无鼠标启动,并提供远程服务
- 如何用小程序快速创业?
- os.system返回值大全
热门文章
- Linux如何卸载软件
- 国家自然科学基金查阅
- oracle 使用,Oracle 使用
- centos7 修改连接数_centos7+rsyslog+loganalyzer+mysql 搭建rsyslog日志服务器 - 夜空守望者2020...
- 合并m3u8文件 okfun文件夹 .ok文件
- 一文读懂图像数据的标准化与归一化
- 如何搭建一个超级好用的JavaWeb框架?
- Entity Framework DbContext对一个Entity 进行更新。
- iOS-音频播放 AVAudioPlayer
- MySQL单机并发量_mysql百万并发量-MySQL集群能支持100万个并发请求吗