嵌入式Linux中文站

ftrace:跟踪你的内核函数!

阅读(255)

大家好!今天我们将去讨论一个调试工具:ftrace,之前我的博客上还没有讨论过它。还有什么能比一个新的调试工具更让人激动呢? 这个非常棒的 ftrace 并不是个新的工具!它大约在 Linux 的 2.6 内核版本中就有了,时间大约是在 2008 年。这一篇是我用谷歌能找到的最早的文档。因此,如果你是一个调试系统的老手,可能早就已经使用它了! 我知道,ftrace 已经存在了大约 2.5 年了(LCTT 译注:距本文初次写作时),但是还没有真正的去学习它。假设我明天要召开一个专题研究会,那么,关于 ftr

剖析内存中的程序之秘,快来看吧!

阅读(317)

内存管理是操作系统的核心任务;它对程序员和系统管理员来说也是至关重要的。在接下来的几篇文章中,我将从实践出发着眼于内存管理,并深入到它的内部结构。虽然这些概念很通用,但示例大都来自于 32 位 x86 架构的 Linux 和 Windows 上。这第一篇文章描述了在内存中程序如何分布。 在一个多任务操作系统中的每个进程都运行在它自己的内存沙箱中。这个沙箱是一个 虚拟地址空间 virtual address space ,在 32 位的模式中它总共有 4GB 的内存地址块。这些虚拟地址是通过内核 页表 pa

超全的 Linux 机器的渗透测试命令备忘表

阅读(345)

如下是一份 Linux 机器的渗透测试备忘录,是在后期开发期间或者执行命令注入等操作时的一些典型命令,设计为测试人员进行本地枚举检查之用。 此外,你还可以从这儿阅读到许多关于渗透测试的文章。 命令 描述 netstat -tulpn 在 Linux 中显示对应了进程ID(PID)的网络端口。 watch ss -stplu 通过套接字实时观察 TCP, UDP 端口。 lsof -i 显示确认了的连接。 macchanger -m MACADDR INTR 在 KALI Linux 上修改 MAC 地址。

在 Linux 上模拟系统负载

阅读(164)

系统管理员通常需要探索在不同负载对应用性能的影响。这意味着必须要重复地人为创造负载。当然,你可以通过专门的工具来实现,但有时你可能不想也无法安装新工具。 每个Linux发行版中都自带有创建负载的工具。他们不如专门的工具那么灵活,但它们是现成的,而且无需专门学习。 CPU 下面命令会创建 CPU 负荷,方法是通过压缩随机数据并将结果发送到 /dev/null : cat /dev/urandom | gzip -9 /dev/null 如果你想要更大的负荷,或者系统有多个核,那么只需要对数据进行压缩和解压就

在 Ubuntu 上体验 LXD 容器

阅读(231)

本文的主角是容器,一种类似虚拟机但更轻量级的构造。你可以轻易地在你的 Ubuntu 桌面系统中创建一堆容器! 虚拟机会虚拟出整个电脑让你来安装客户机操作系统。 相比之下 ,容器 复用 了主机的 Linux 内核,只是简单地 包容 了我们选择的根文件系统(也就是运行时环境)。Linux 内核有很多功能可以将运行的 Linux 容器与我们的主机分割开(也就是我们的 Ubuntu 桌面)。 Linux 本身需要一些手工操作来直接管理他们。好在,有 LXD(读音为 Lex-deeh),这是一款为我们管理 Linu

如何在Linux上让一段时间不活动的用户自动登出

阅读(147)

让我们想象这么一个场景。你有一台服务器经常被网络中各系统的很多个用户访问。有可能出现某些用户忘记登出会话让会话保持会话处于连接状态。我们都知道留下一个处于连接状态的用户会话是一件多么危险的事情。有些用户可能会借此故意做一些损坏系统的事情。而你,作为一名系统管理员,会去每个系统上都检查一遍用户是否有登出吗?其实这完全没必要的。而且若网络中有成百上千台机器,这也太耗时了。不过,你可以让用户在本机或 SSH 会话上超过一定时间不活跃的情况下自动登出。本教程就将教你如何在类 Unix 系统上实现这一点。一点都不难

这里有一百道Linux笔试题,能拿90分以上的都去了BAT

阅读(364)

本套笔试题共100题,每题1分,共100分。(参考答案在文章末尾) 1. cron 后台常驻程序 (daemon) 用于: A. 负责文件在网络中的共享 B. 管理打印子系统 C. 跟踪管理系统信息和错误 D. 管理系统日常任务的调度 2. 在大多数Linux发行版本中,以下哪个属于块设备 (block devices) ? A. 串行口 B. 硬盘 C. 虚拟终端 D. 打印机 3. 下面哪个Linux命令可以一次显示一页内容? A. pause B. cat C. more D. grep 4. 怎样

Linux下的文件I/O编程

阅读(345)

导读 linux下C语言对于文件的操作,我们会经常用到fopen(),fclose(),fwrite(),fread(),fgets()等一系列库函数,基本和是和windows下学习C语言一样的,其实这些库函数就是在linuxx下对系统调用函数的封装,因此这里只介绍系统函数下的文件操作函数。 (一).open()打开文件 #include sys/types.h#include sys/stat.h#includeint open(const char *pathname, int flags); 参数1