linux
文章平均质量分 65
行走的帝企鹅
努力变强吧
展开
-
检查动态链接库依赖
一般可以使用ldd命令查看应用程序的动态链接库依赖对于其他架构的程序,可以使用readelf命令来查看动态链接库依赖arm-linux-gnueabi-readelf -a mkfs.ext4 | grep "Shared library:"原创 2022-05-05 22:03:41 · 1330 阅读 · 0 评论 -
ip数据包转发和iptables
Linux内核数据包转发功能和iptables的关系内核数据包转发(路由)功能是内核将从A网卡接收到的目的地址不是自身地址的ip数据包通过B网卡发送出去的功能(即路由器的功能)。使用以下命令即可开启内核对ipv4数据包的路由功能# 如果有sysctl命令sysctl net.ipv4.ip_forward=1# 如果没有sysctl命令echo 1 > /proc/sys/net/ipv4/ip_forward内核将根据路由表将接收到的非自身ip的数据包按照路由表中的规则进行转发,转发原创 2022-05-02 00:19:37 · 2435 阅读 · 0 评论 -
Linux中c程序命令行参数解析
在Linux中,较为复杂的C程序命令行参数的解析通常使用getopt, getopt_long以及getopt_long_only来进行,如下所示。#include <unistd.h>int getopt(int argc, char *const argv[], const char *optstring);extern char *optarg;extern int optind, opterr, optopt;#include <getopt.原创 2021-07-28 19:51:43 · 946 阅读 · 0 评论 -
Linux内核模块开发
Linux内核模块开发1. 源代码文件结构 下面是一个最基本的内核模块源代码结构,任何模块项目都需要包含这些内容#include <linux/module.h>/*模块初始化函数*/static int module_init_func(void) { return 0;}/*模块卸载函数*/static void module_exit_func(void){}module_init(module_init_func);module_exit(mo原创 2020-10-17 20:46:05 · 308 阅读 · 0 评论 -
Linux内核密码学API--对称密码
Linux内核密码学API–对称密码 当我们做Linux内核或者内核模块开发需要使用密码算法时,通常使用Linux内核集成的密码学套件是比较方便的。常用的密码学算法可以分为三类:对称密码算法,非对称密码算法和消息摘要(单向哈希)算法,这篇博客将主要介绍如何使用Linux内核的对称密码算法API。1. 头文件 使用Linux内核的对称密码API时,需要以下头文件// 包含对称密码(symmetric key)算法API(该文件内部包含了linux/crypto.h所以无需再次引入linux/cry原创 2020-10-02 11:25:31 · 1140 阅读 · 0 评论 -
Makefile学习笔记2
Makefile学习笔记2 这篇博客将介绍在Makefile中调用其他Makefile的方式并进一步介绍Makefile中的变量以及一些简单的通用编译规则的编写。1. 在Makefile中调用其他Makefile 当我们的源文件在多个目录中的时候给每个目录编写一个Makefile来编译该目录下的源代码是一个不错的方式,这就需要我们顶层目录的Makefile能够调用下层目录的Makefile,通常,我们使用如下命令进行。sub_target: lower_level_dir make -C lo原创 2020-09-21 08:20:08 · 275 阅读 · 0 评论 -
Makefile学习笔记1
Makefile学习笔记11. Makefile简介 gnu make(后面简称make)是一种自动化的构建工具,一般用于从源代码构建可执行程序。 make根据Makefile中编写的规则来处理构建过程中各种文件之间的依赖关系并自动执行构建过程。2. Makefile的基本结构 在Makefile中,最主要的内容就是描述依赖关系以及构建命令,下面是一个最简单的Makefile。hello_world : hello_world.c gcc hello_world.c -o hello_原创 2020-09-10 08:39:35 · 246 阅读 · 0 评论 -
ssh反向代理
如果需要在外网远程登录到内网的主机,就需要反向代理,我们可以使用ssh的断口转发功能来实现反向代理,从而在外网登录到内网主机说明要实现反向代理,需要一台有公网ip的主机,为了描述方便,我们需要被远程登录的那台主机为内网主机,用于做代理的有公网ip的那台服务器为外网主机,此外的称为其他主机。我们想要实现的是其他主机能够远程登录到内网主机。远程转发在内网主机上使用ssh开启远程转发ssh...原创 2019-10-07 15:57:53 · 5824 阅读 · 2 评论 -
no login shell和login shell
no login shell和login shell在启动和退出时会执行不同的脚本文件从而影响shell中的环境变量,本文根据bash的文档描述了两种shell启动时自动执行的脚本文件的区别。什么是nologin shell和login shell?按照bash文档的说法,login shell是第0个参数以-开头或者有一个参数为-login的shell。A login shell i...原创 2019-09-08 21:19:31 · 898 阅读 · 0 评论 -
linux系统的定时任务--cron
0x1 cron简介cron是Linux系统中用于执行计划任务的程序,利用cron可以实现在指定的时间周期性的执行某些任务。0x2 crontab文件cron执行的任务由crontab类型的配置文件指定,crontab文件的基本格式如下:# 注释# 设置MAILTO则cron会把每条命令的输出信息通过邮件发送给指定用户SHELL=指定运行命令的shellPATH=指定环境变量PATH...原创 2019-07-19 22:30:01 · 359 阅读 · 0 评论 -
linux应用图标
1. 简介linux桌面环境下生成应用图标和应用菜单项的方式是使用一种Desktop Entry文件。在应用界面显示的应用都有对应的Desktop Entry, 其文件后缀名为.desktop,一般位于$XDG_DATA_DIRS/applications/目录下。其中$XDG_DATA_DIRS是一个环境变量,储存了放置应用程序.desktop文件的目录.january@january-P...原创 2019-02-18 13:07:47 · 2983 阅读 · 0 评论 -
Linux编辑环境变量
环境变量PATH其实就是一个bash下的变量,储存了一些路径,当执行指令时会从PATH的路径中搜索对应可执行文件。 通过设置.profile文件可以编辑环境变量(需要注销后再次登录才会生效),修改用户主目录下的.profile文件仅对当前用户生效;修改/etc/.profile对所有用户生效 示例【在.profile文件行尾添加,等号两边不要留空格】 PATH=$PATH:原创 2017-08-30 22:11:51 · 266 阅读 · 1 评论