![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 84
liefyuan
一招鲜吃变天!
展开
-
【Linux】软链接和硬链接
在更新文件时,通过创建一个指向新版本的硬链接,在更新完成后,删除原始文件,并重命名硬链接,可以确保在更新过程中文件处于有效和完整的状态。版本控制:在开发过程中,软链接可以用于指向特定版本的文件或目录,当需要更新的时候,只需更新软链接指向最新版本,而不需要修改所有引用该文件的地方。要注意的是,如果目标文件或目录存在于不同的文件系统,软链接依然可以被创建,但之后删除目标文件时,软链接会指向一个不存在的目标。通过使用硬链接,可以轻松地创建目标文件的多个备份版本,而这些备份文件共享相同的物理存储空间。原创 2023-12-22 10:43:28 · 208 阅读 · 0 评论 -
进入Linux系统第一步可以做的事情
不同的Android系统版本支持的命令有所不同,可通过下面命令查看当前手机所支持的dump服务,需先进入adb shell,再执行如下命令。-i或–hardware-platform:输出硬件平台或"unknown";-p或–processor:输出处理器类型或"unknown";-o或–operating-system:输出操作系统名称;-r或–release:显示操作系统的发行编号;-s或–sysname:显示操作系统名称;-m或–machine:显示电脑类型;-v:显示操作系统的版本;原创 2023-08-24 23:18:06 · 176 阅读 · 0 评论 -
【进阶知识】显示管理器,窗口管理器,桌面环境/桌面管理器,显示服务器
进阶知识,在Linux的一个应用场景是个人电脑、个人PDA、移动交互设备,这些都会涉及到,显示管理、窗口管理、桌面环境、显示服务器等等,相对于一个还在用busybox、Buildroot构建散装操作系统的嵌入式Linux开发人员来说,上面的四个概念是令人震惊的、令人颅内高潮的。原创 2023-05-10 18:15:11 · 2818 阅读 · 0 评论 -
最有趣的类比介绍:什么是 Linux,为什么有 100 种 Linux 发行版?
当您刚开始使用 Linux 时,很容易不知所措。您可能只知道 Windows,但现在您想使用 Linux,因为您读到更好,因为它更安全,而且您无需购买许可证即可使用 Linux。但是当你开始下载和安装 Linux 时,你会发现 Linux 不是一个单一的实体。有Ubuntu、Fedora、Linux Mint、elementary 和数百个其他“Linux 变体”。问题是它们中的一些看起来和其他的一样。如果是这样,为什么会有这么多 Linux 操作系统?翻译 2022-09-08 22:40:00 · 676 阅读 · 0 评论 -
Ubuntu换源
源目录:/etc/apt/source.listvim 替换::%s/test/testValue/gc如要用于其他版本,把 focal 换成其他版本代号即可: 20.04:focal;18.04:bionic;16.04:xenial;14.04:trusty。ubutu默认都是main restricted universe multiverse这四个级别,对应更新设置的如下选项对应自己的Ubuntu版本改名字:ubuntu 版本名字14.04trusty1原创 2022-05-17 00:21:27 · 183 阅读 · 0 评论 -
嵌入式Linux:使用sysfs控制PWM
文章目录一、概述设备树配置二、命令行三、用户空间应用代码测试一、概述从上一篇嵌入式Linux:Qt5+触摸屏+点灯(使用sysfs控制gpio)第一次使用了sysfs控制GPIO现在使用同样的方式控制PWM。设备树配置配置sun8i-v3s.dtsipwm0_pins: pwm0 { pins = "PB4"; function = "pwm0"; }; pwm1_pins: pwm1{原创 2022-04-28 00:25:15 · 3089 阅读 · 0 评论 -
Linux内核模块
文章目录1、Linux内核模块简介一个最简单的模块(module)2、Linux内核模块程序结构1、Linux内核模块简介 Linux内核的整体架构本就非常庞大,其包含的组件也非常多,而我们怎样把需要的部分都包含在内核中呢? 如果把需要的所有功能都编译到Linux内核中。这会导致两个问题,一是生成的内核会很大,二是如果我们要在现有的内核中新增或删除功能,将不得不重新编译内核。 有没有另一种机制可使得编译出的内核本身并不需要包含所有功能,而这些功能需要被使用的时候,其对应的代码被动态地加载到内核中呢?原创 2022-04-20 01:28:11 · 1567 阅读 · 0 评论 -
Linux内核版本介绍与查询
文章目录Linux内核(Linux kernel)简介Linux内核版本号1、在CentOS下如:2、在Ubuntu下如:3、在ARM Cortex-A7内核的嵌入式Linux开发板下内核版本分类查看Linux内核版本命令查看Linux系统版本的命令本文作者: Jason hu本文链接: http://jasonhzy.github.io/2019/02/05/linux-kernel-version/Linux内核(Linux kernel)简介 Linux内核版本命名在不同时期有着不同的规范转载 2022-03-14 09:47:51 · 13118 阅读 · 0 评论 -
U-Boot--bootcmd和bootargs参数
文章目录前言bootcmdbootargsbootargs常用的参数前言bootcmd uboot 倒计时结束以后就会执行 bootcmd 中的命令bootargs 保存着 uboot 传递给 Linux 内核的参数bootcmdbootargsbootargs常用的参数console console 用来设置 linux 终端(或者叫控制台),也就是通过什么设备来和 Linux 进行交互,是串口还是 LCD 屏幕?如果是串口的话应该是串口几等等。这里设置 console 为 ttymx原创 2021-10-19 12:17:41 · 5960 阅读 · 4 评论 -
NanoPi M1 Plus:Allwinner H3使用lichee源码编译Linux-3.4 BSP
文章目录前言一、使用Linux-3.4 BSP准备工作安装交叉编译器编译lichee源码单独编译U-boot单独编译Linux内核清理lichee源码二、编译出错错误:make: *** [scripts] Error 2 ERROR: build kernel Failed三、编译成功之后的事NanoPi M1 Plus:Allwinner H3 搭建编译环境、编译Uboot、编译Linux Kernel–失败Kernel跑不起来 经过上一篇的尝试,我放弃了编译主线uboot和Kernel。前言原创 2021-10-17 23:06:55 · 1006 阅读 · 1 评论 -
NanoPi M1 Plus:Allwinner H3 搭建编译环境、编译主线Uboot、编译主线Linux Kernel 4.14、加Matrix2‘8屏、加Qt
文章目录参考:主线Linux零、组件来源一、搭建编译环境二、使用编译环境编译uboot下载Uboot三、使用编译环境编译Linux Kernel参考:Building U-boot and Linux for H5/H3/H2+/zh主线Linux Mainline即主线的意思,Linux内核的开发分为Linus维护的主线、其他开发分支以及各种稳定版本。开发分支最终都会统一提交到Linus维护的主线中。 最新版本的U-boot和主线Linux内核已经支持了全志的H3/H5 CPU,我们在最新版本的原创 2021-10-01 19:24:33 · 3470 阅读 · 1 评论 -
交叉编译器 arm-linux-gnueabi,arm-linux-gnueabihf,arm-none-linux等的区别
目录一、ABI 和 EABI1) ABI2) EABI二、 gnueabi 相关的两个交叉编译器:gnueabi 和 gnueabihf三. 拓展阅读四、arm工具的具体介绍1)arm-none-eabi-gcc2)arm-none-linux-gnueabi-gcc3)arm-eabi-gcc4)armcc5)arm-none-uclinuxeabi-gcc 和 arm-none-symbianelf-gcchttps://www.cnblogs.com/wybliw/p/11437191.html一原创 2021-10-01 12:07:22 · 2086 阅读 · 0 评论 -
Linux--基本常识--Vim/Vi常用命令
文章目录进入vimvim配置移动光标屏幕滚动插入文本删除命令复制粘贴撤销搜索与替换书签visual模式行方式命令宏窗口操作文件及其他进入vimvim配置移动光标屏幕滚动插入文本删除命令复制粘贴撤销搜索与替换书签visual模式行方式命令若不指定n1,n2,则表示将整个文件内容作为command的输入 |宏窗口操作文件及其他...原创 2021-07-03 11:16:07 · 135 阅读 · 0 评论 -
Linux--dd命令
文章目录一、dd命令的解释参数注释:二、dd应用实例三、/dev/null和/dev/zero的区别3.1使用/dev/null3.2使用/dev/zero一、dd命令的解释dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2参数注释:使用方法描述举例if=文件名输入文件名,缺省为标准输入。即指定源文件if=input fileof=文件名输出文件名,缺转载 2021-05-23 10:07:21 · 1344 阅读 · 0 评论 -
Linux--基本常识--操作系统常用命令
文章目录一、文件和目录1. cd命令2. pwd命令3. ls命令4. cp 命令5. mv命令6. rm 命令二、查看文件内容7. cat命令三、文件搜索8. find命令四、文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消9. chmod 命令10. chown 命令11. chgrp 命令五、文本处理12. grep 命令13. paste 命令14. sort 命令15. comm 命令六、打包和压缩文件16. tar 命令七、系统和关机八、进程相关的命令17. jps命令18.原创 2021-04-12 23:06:25 · 181 阅读 · 0 评论 -
Linux系统--理解inode
目录inode是什么inode的内容inode的大小https://mp.weixin.qq.com/s/T3OOmNQ6riHFV6Ww95pqvQ inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。 我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽象成一个简单概念,从而大大简化用户接口。inode是什么 理解inode,要从文件储存说起,文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区转载 2021-03-11 23:15:11 · 201 阅读 · 0 评论 -
嵌入式Linux--Lichee Pi Zero原理图分析
目录一、电源电路EA3036方案:输入:5.0V,输出:3.3V--1.8V--1.2VXC6206方案:输入:3.3V,输出:3.0V原理图下载地址一、电源电路V3s需要的电压有:3.3V3.0V1.8V1.2VEA3036方案:输入:5.0V,输出:3.3V–1.8V–1.2VXC6206方案:输入:3.3V,输出:3.0V...原创 2021-02-28 09:41:06 · 2422 阅读 · 0 评论 -
嵌入式Linux--Lichee Pi Zero系统烧录方式
目录dd镜像烧录分区镜像烧录SPI Flash系统烧录Win32DiskImage一键镜像烧录指南Zero系统烧录荔枝派Zero的系统烧录主要分以下几种:dd镜像烧录分区镜像烧录SPI Flash系统烧录Win32DiskImage一键烧录方式 Zero能够烧录的系统目前有Linux,Camdroid,Openwrt等,甚至能够运行去掉图形界面的低版本安卓,今后随着广大荔枝派爱好者开发,将会有更多可供烧录的系统面世。dd镜像烧录分区镜像烧录简介:一步步来的镜像烧录原创 2021-02-27 18:04:54 · 1118 阅读 · 2 评论 -
嵌入式Linux--全志V3s--NOR Flash的使用(二)移植Nor Flash
目录一、上电失败二、移植nor flash1、配置Uboot支持2、配置Linux Kernel支持重新编译U-Boot和Kernel1、编译U-Boot2、编译Kernel3、打包烧录成功上电嵌入式Linux–全志V3s–NOR Flash的使用(一)一、上电失败在嵌入式Linux–全志V3s–NOR Flash的使用(一)详细的描述了所有的操作,但是最后还是上电失败!打印信息如下:U-Boot SPL 2017.01-rc2-00073-gdd6e874-dirty (Feb 06 2021原创 2021-02-07 18:27:53 · 4497 阅读 · 0 评论 -
嵌入式Linux--全志V3s--NOR Flash的使用(一)
目录全志V3s简介板子介绍全志芯片的USB下载模式:fel模式sunxi-fel的操作全志V3s简介SPI Flash 系统编译板子介绍上图使用的是荔枝派 zero 上面焊接了一个 芯天下的Nor Flash型号为:XT25F128B也就是16MByte。全志芯片的USB下载模式:fel模式全志芯片的启动很有特点的,有一个usb下载模式称为fel模式:TF卡和spi flash 同时没有可启动镜像也就是说你不插卡,且焊接的是新的或者没有有效镜像的spi flash,那就上电自动进入fel原创 2021-02-07 01:13:56 · 9843 阅读 · 5 评论 -
Linux 内核空间与用户空间
目录内核空间和用户空间为什么需要区分内核空间与用户空间内核态与用户态如何从用户空间进入内核空间整体结构总结另一种说法一、4G地址空间解析二、虚拟地址空间分配及其与物理内存对应图三、物理内存分配图内核空间和用户空间 对 32 位操作系统而言,它的寻址空间(虚拟地址空间,或叫线性地址空间)为 4G(2的32次方)。也就是说一个进程的最大地址空间为 4G。操作系统的核心是内核(kernel),它独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证内核的安全,现在的操作系统一转载 2020-08-31 22:28:24 · 4441 阅读 · 0 评论 -
Python--Flask+MySQL
安装MySQL查看是否存在MySQL:rpm -qa | grep mysql普通删除MySQL:rpm -e mysql强力删除MySQL:rpm -e --nodeps mysql查看提供的mysql数据库版本:yum list | grep mysql安装MySQL数据库:yum install -y mysql-server mysql mysql-devel查看安装好的数据库:原创 2016-12-14 16:57:28 · 667 阅读 · 0 评论 -
Linux--进程--僵尸进程
杀死僵尸进程:查看进程:ps aux | grep 名字查看僵尸进程:ps -A | grep defunct直接使用kill -9 4301是杀不死状态为Z+的。 这时就要看看僵尸进程的详细进程(主要看看这个僵尸进程的父进程),杀死僵尸进程的父进程。 - 查看僵尸进程的详细详细:ps -ef | grep defunct | more - 下面的图片中:user—PID—PPID原创 2017-06-24 18:17:24 · 428 阅读 · 0 评论 -
Flask--物联网应用(二)-ESP8266网页调试系统
为了将ESP8266连上服务器,就有必要写一个网页调试系统,将ESP8266连上服务器进行通信转移到网页上去。一、Flask调用C程序并读取输出信息到网页上去1、首先调用Python的OS模块进行调用C语言可执行模块 配置config.py#encoding: utf-8import os# __file__ refers to the file settings.pyAPP_ROOT =原创 2017-06-21 11:49:25 · 2071 阅读 · 0 评论 -
Linux--CentOS6.5--打开防火墙
centos iptables 的input链默认只允许ssh、icmp以及内部环回端口通过。其余链皆为ACCEPT。使用下述命令开放端口。 iptables -I INPUT -p tcp –dport 端口 -j ACCEPTiptables -I INPUT -p udp –dport 端口 -j ACCEPT /etc/rc.d/init.d/iptables save转载 2017-06-22 10:33:27 · 1002 阅读 · 0 评论 -
Linux--CentOS-完整安装Java
一般来说,安装Java有两种方式,rpm安装和官网下载tgz包安装。我用后一种: http://www.cnblogs.com/shihaiming/p/5809553.html原创 2017-06-22 09:31:00 · 317 阅读 · 0 评论 -
Flask-物联网应用(一)
自从学习了Flask之后就尝试,将我之前物联网加入到Flask框架上去。具体为:在Flask框架的网站上搭建一个物联网连接调试系统。具体实现为一个调试网页。在Flask框架的网站上完成一个物联网的监视系统。原创 2017-06-21 10:23:10 · 2246 阅读 · 0 评论 -
Linux--增加用户、添加用户组
增加用户:useradd -d /usr/username -m username为用户增加密码:passwd username新建工作组:groupadd groupname将用户添加进工作组:usermod -G groupname username删除用户:userdel username原创 2017-06-19 15:26:18 · 43606 阅读 · 0 评论 -
C语言--常用函数(一)
参考博客:http://blog.sina.com.cn/s/blog_4c8a2a870100qgq7.htmlatof() 将字符串转换为双精度浮点型值 atoi() 将字符串转换为整型值 atol() 将字符串转换为长整型值 strtod() 将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字 strtol() 将字符串转换为长整值,并原创 2017-04-27 23:03:58 · 603 阅读 · 0 评论 -
Linux--FTP服务器搭建
参考博客:http://www.linuxidc.com/Linux/2013-07/88131.htm原创 2017-07-16 15:31:58 · 584 阅读 · 0 评论 -
腾讯云--搭建Discuz论坛
1、准备LAMP环境LAMP是Linux、Apache、MySQL和PHP的缩写,是Discuz论坛系统依赖的基础运行环境。所以首先要准备LAMP环境。 (1)安装MySQL使用yum安装MySQL:yum install mysql-server -y安装完成后,启动MySQL服务:service mysqld restart设置MySQL的密码:usr/bin/mysqladmin -u原创 2017-08-24 10:11:09 · 1668 阅读 · 0 评论 -
Linux--常用操作(二)
1、查看操作系统的版本# lsb_release -aLSB Version: :core-4.1-amd64:core-4.1-noarchDistributor ID: CentOSDescription: CentOS Linux release 7.4.1708 (Core) Release: 7.4.1708Codename: Core2、查看内存信息1、free...原创 2018-12-12 18:48:05 · 216 阅读 · 0 评论 -
Linux--升级Python3
1、确定Python版本[root@izj6cb2khkpzmfo4s7nbl4z ~]# pythonPython 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2Type "help", "copyright", "credits" or &quo原创 2018-12-15 10:38:55 · 5064 阅读 · 0 评论 -
Linux--安装Flask环境
刚刚把系统自带的Python2升级到了Python3,所以,有很多东西需要记录一下:pip 使用的是 Python2pip3 使用的是 Python3Python2的目录是:/usr/bin/old_pythonPython3的目录是:/usr/local/bin/python3.61、安装virtualenv使用yum安装yum install python-virtuale...原创 2018-12-15 12:21:06 · 11665 阅读 · 0 评论 -
Linux--防火墙操作
sudo firewall-cmd --add-port=1431/tcp --permanentsudo firewall-cmd --add-port=1431/udp --permanent重启服务(打开端口之后一定要重启防火墙)sudo firewall-cmd --reload列出已经打开的端口firewall-cmd --list-all...原创 2019-07-31 09:55:29 · 194 阅读 · 0 评论 -
C语言--工具函数(一)--字符数组中插入字符串
一、指定位置插入一个字符#include "stdafx.h"#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 100char query[] = "insert into babyData values(,'yuanlifu',37.5,0,22,0,55,0,10,0,12,0,23,0,now());";voi转载 2017-04-24 23:59:56 · 11917 阅读 · 0 评论 -
Linux--进程间通信-共享内存-信号量
shm_write.c#include <stdio.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/shm.h>#include <sys/sem.h>#include <errno.h>#define MAX_LEN 512struct shm_def{ char buf[MAX_LEN];};uni原创 2017-04-24 19:55:40 · 531 阅读 · 0 评论 -
Linux--网络编程(二)UDP编程
UDP编程 数据报通信;对于数据报通信的服务器端来说,它不必再在一个端口上侦听,以等待建立连接,而只需生成一个端口描述符,并且把这个端口描述符绑定到本地地址上就可以了。UDP网络编程具体的操作流程为: socket() 使用系统调用socket()来获得文件描述符,该调用的声明格式为:#include <sys/types.h>#include <sys/socket.h>int socke原创 2017-03-19 17:10:35 · 589 阅读 · 0 评论 -
Linux--C语言操作数据库(一)插入数据
各种渠道去找有关于使用C语言操作数据库的资料,好辛苦,弄出来了!数据库部分首先创建一张表create table children(childno int not null unique,fname varchar(20),age int); 然后插入一组数据insert into children values(1,'yuanlief',23); 查询select *from children原创 2017-03-19 23:25:29 · 4928 阅读 · 0 评论 -
Linux--网络编程(三)TCP编程
数据流通信 数据流套接口是可靠的面向连接的通信数据流。如果套接口中以“1,2”的顺序放入两数据,它们在另一端也会以“1,2”的顺序到达,它们也可以被认为是无错误的传输。TCP编程流程函数介绍socket() 使用系统调用socket()来获取文件描述符,该调用的声明格式如下:#include <sys/types.h>#include <sys/socket.h>int socket(int d原创 2017-03-19 20:17:33 · 419 阅读 · 0 评论