Unix/Linux
文章平均质量分 85
普通网友
这个作者很懒,什么都没留下…
展开
-
C语言编写获取Linux本地目录及本机信息的小程序及获取系统内存、cpu、硬盘等信息实例
展示目录的小程序展示指定目录的小程序:#include <unistd.h>#include <stdio.h>#include <dirent.h>#include <string.h>#include <sys/stat.h>#include <stdlib.h>void printdir(char *dir,int depth){ DIR *dp; struct dirent *entry; st...原创 2021-04-30 11:44:29 · 573 阅读 · 0 评论 -
详细的vsftpd配置文件讲解
vsftpd作为一个主打安全的FTP服务器,有很多的选项设置。下面介绍了vsftpd的配置文件列表,而所有的配置都是基于vsftpd.conf这个配置文件的。本文将提供完整的vsftpd.conf的中文说明。学习本文的内容将有助于你初步了解vsftpd的配置文件,但针对具体情况还需要制定具体的配置方法。51CTO推荐专题:vsftpd入门——安装、配置、案例与常见问题vsftpd的配置文件 /etc/vsftpd/vsftpd.conf 主配置文件 .原创 2021-04-21 14:17:40 · 1662 阅读 · 0 评论 -
ROS2 Dashing源码编译和安装
ROS2 Dashing源码编译和安装安装前的准备 1 2 3 4 5 官方教程: https://index.ros.org/doc/ros2/Installation/Dashing/Linux-Development-Setup/ 环境信息: UBUNTU18.04LTS 可选项:安装系统备份和恢复工具timeshift,避免发生灾难性错误后无法恢复,使用方法:链接 修改DNS(有助于避免安装过程中频.原创 2020-08-12 13:29:31 · 1049 阅读 · 0 评论 -
设计模式之单例模式
Recently I've bumped into a realization/implementation of the Singleton design pattern for C++. It has looked like this (I have adopted it from the real life example):// a lot of methods are omitted原创 2015-10-14 18:49:59 · 562 阅读 · 0 评论 -
linux 下关于用户的操作
Linux 的账号与群组管理员的工作中,相当重要的一环就是『管理账号』啦!因为整个系统都是你在管理的, 并且所有一般用户的账号申请,都必须要透过你的协助才行!所以你就必须要了解一下如何管理好一个服务器主机的账号啦! 在管理 Linux 主机的账号时,我们必须先来了解一下 Linux 到底是如何辨别每一个使用者的! 使用者标识符: UID 与 GID虽然我们登陆 Li原创 2015-10-27 20:11:27 · 1207 阅读 · 0 评论 -
linux sort,uniq,cut,wc命令详解
sortsort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。sort语法[root@www ~]# sort [-fbMnrtuk] [file or stdin]选项与参数:-f :忽略大小写的差异,例如 A 与 a 视为编码相同;-b :转载 2015-10-27 19:42:16 · 438 阅读 · 0 评论 -
linux vi(vim)常用命令汇总(转)
前言首先介绍一下 vim vi 是 unix/linux 下极为普遍的一种文本编辑器, 大部分机器上都有 vi 有各种变种, 在不同的机器上常用不同的变种软件 其中 vim 比较好用也用得比较广泛 vim 是 Vi IMproved 的缩写, 表示更好的 vi 本文就说些其中比较有用, 比较常用的命令, 若能熟练运用这些命令, 那么会发现编辑文件很大帮助,尤其是做开发的人员,能快速的提高开发效转载 2015-10-27 20:01:00 · 514 阅读 · 0 评论 -
curl 相关资料总结
Linux下使用curlCurl是Linux下一个很强大的http命令行工具,其功能十分强大。1)读取网页$ curl linuxidc.com">http://www.linuxidc.com2)保存网页$ curl http://www.linuxidc.com > page.html $ curl -o page.htmlhttp://www.linuxidc原创 2015-10-27 16:55:25 · 628 阅读 · 0 评论 -
学会用core dump调试程序错误(转)
前言 最近在项目中遇到大型程序出现SIGSEGV ,一直不知道用core dump工具来调试程序,花了近一周的时间,才定位问题,老大很生气,后果很严重,呵呵,事后仔细学习了这块的知识,了解一点core dump的知识。 在使用半导体作为内存的材料前,人类是利用线圈当作内存的材料(发明者为王安),线圈就叫作core ,用线圈做的内存就叫作“core memory”。(线圈的单词应该是c转载 2015-10-27 19:56:38 · 513 阅读 · 0 评论 -
linux 下文件的搜寻(转)
which (寻找『运行档』)[root@www ~]# which [-a] command选项或参数:-a :将所有由 PATH 目录中可以找到的命令均列出,而不止第一个被找到的命令名称 分别用root与一般帐号搜寻 ifconfig 这个命令的完整档名[root@www ~]# which ifconfig/sbin/ifconfig 用 root转载 2015-10-27 20:05:05 · 643 阅读 · 0 评论 -
linux 下常用的文件和目录操作命令(转)
cdpwdmkdirrmdirlscprmmvcattacnl morelessheadtailtouch cd (变换目录)我们知道vbird这个使用者的家目录是/home/vbird/,而root家目录则是/root/,假设我以root身份在 Linux系统中,那么简单的说明一下这几个特殊的目录的意义是:[ro转载 2015-10-27 20:06:22 · 1108 阅读 · 0 评论 -
linux grep命令详解
简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更转载 2015-10-27 19:41:18 · 487 阅读 · 0 评论 -
实用make最佳实践
一、前言Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作。而makefile 文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系。然而make的命令"博客精深",对于初学者来说,真是望而生畏,这篇文章不是make详解,只是讲解实用makefile的编写和使用。在li转载 2015-10-27 19:54:55 · 433 阅读 · 0 评论 -
linux fcntl()函数
linux fcntl()函数 功能描述:根据文件描述词来操作文件的特性。 #include int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock); [描述]原创 2015-09-14 14:55:21 · 491 阅读 · 0 评论 -
linux下tar.gz、tar、bz2、zip等解压缩、压缩命令汇总
tar命令详解-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到原创 2015-09-11 10:11:36 · 633 阅读 · 0 评论 -
五个 Linux 下用户空间的调试工具
根据定义,调试工具是那些那些使我们能够监测、控制和纠正其他程序的程序。我们为什么应该用调试工具呢? 在有些情况下,运行一些程序的时候我们会被卡住,我们需要明白究竟发生了什么。 例如,我们正在运行应用程序,它产生了一些错误消息。要修复这些错误,我们应该先找出为什么产生这些错误的消息和这些错误消息从哪里产生的。 一个应用程序可能突然挂起,我们必须了解其他什么进程同时在运行。我们可能还必须弄清楚原创 2015-07-22 22:53:59 · 400 阅读 · 0 评论 -
Linux下C编程知识整理
Linux下C编程概要第一个问题,假设我是一个初学者,我需要学习的第一个知识并非C语言本身,而是可供我编辑、编译、验证乃至调试C语言程序的编程环境,如果你没有一个合适的编程环境,那么C语言的学习将是空中楼阁,无从谈起。因此我们的第一个任务便是搭建一个属于自己的编程平台,由于针对Linux编程,我推荐大家直接使用Linux系统,Linux系统有许多发行版,选择一个易用的就行了,比如我转载 2015-07-22 23:31:18 · 1389 阅读 · 0 评论 -
C++内存池实现
利用C/C++开发大型应用程序中,内存的管理与分配是一个需要认真考虑的部分。本文描述了内存池设计原理并给出内存池的实现代码,代码支持Windows和Linux,多线程安全。内存池设计过程中需要考虑好内存的分配与释放问题,其实也就是空间和时间的矛盾。有的内存池设计得很巧妙,内存分配与需求相当,但是会浪费过多的时间去查找分配与释放,这就得不偿失;实际使用中,我们更多的是关心内存分配的速度,而不是内存的原创 2015-07-22 22:55:34 · 384 阅读 · 0 评论 -
Linux常用命令大全
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpui原创 2015-09-24 14:28:10 · 416 阅读 · 0 评论 -
linux awk命令详解
简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfred Aho转载 2015-10-27 19:44:12 · 503 阅读 · 0 评论 -
linux下网卡bonding配置随笔
bonding技术 centos7配置bonding centos6配置bonding一、bonding技术bonding(绑定)是一种linux系统下的网卡绑定技术,可以把服务器上n个物理网卡在系统内部抽象(绑定)成一个逻辑上的网卡,能够提升网络吞吐量、实现网络冗余、负载等功能,有很多优势。bonding技术是linux系统内核层面实现的,它是一个内核模块(驱动)。使用它需要系统有...原创 2019-09-24 15:39:33 · 964 阅读 · 0 评论 -
CentOS 7下使用virt-install命令安装KVM虚拟机
开篇熟悉内容:virsh常用命令: virsh start x 启动名字为x的非活动虚拟机 virsh list --all 列出虚拟机 virsh create x.xml 创建虚拟机(创建后,虚拟机立即执行,成为活动主机) virsh suspend x 暂...原创 2019-09-23 15:27:53 · 2646 阅读 · 0 评论 -
SQLite应用之实例代码
目录一、获取表的Schema信息二、常规数据插入三、高效的批量数据插入四、数据查询一、获取表的Schema信息 1). 动态创建表。 2). 根据sqlite3提供的API,获取表字段的信息,如字段数量以及每个字段的类型。 3). 删除该表。 见以下代码及关键性注释:#include <sqlite3.h>#include...原创 2019-06-05 14:43:08 · 2407 阅读 · 0 评论 -
SQLite剖析之编程接口详解
前言 使用过程根据函数大致分为如下几个过程:sqlite3_open() sqlite3_prepare() sqlite3_step() sqlite3_column() sqlite3_finalize() sqlite3_close() 这几个过程是概念上的说法,而不完全是程序运行的过程,如sqlite3_column()表示的是对查询获得一行里面的数据的列的各个操作...原创 2019-06-05 14:42:24 · 385 阅读 · 0 评论 -
SQLite安装、编译与应用
什么是 SQLite SQLite是一款轻量级的、基于文件的嵌入式数据库,实现自包容、零配置、支持事务的SQL数据库引擎。与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下,只要确保SQLite的二进制文件存在即可开始创建、连接和使用数据库。第一个Alpha版本诞生于2000年5月,直到今天已经成为最流行的嵌入式数据库,包括Google在内的许多公司在其桌...原创 2019-06-05 14:41:28 · 544 阅读 · 0 评论 -
SQLite剖析之数据类型
许多SQL数据库引擎(除SQLite之外的各种SQL数据库引擎)使用静态、严格的数据类型。对于静态类型,一个值的数据类型由它的容器,即存储这个值的列来决定。SQLite则使用更加通用的动态类型系统。在SQLite中,一个值的数据类型被关联到这个值本身,而不是它的容器。SQLite的动态类型系统向后兼容一般静态类型系统的数据库引擎。在某种意义上,工作在静态类型数据库上的SQL声明也同样能工作在SQL...原创 2019-06-05 14:38:29 · 626 阅读 · 0 评论 -
Linux-如何限制普通用户的磁盘使用空间-磁盘配额
Linux-磁盘配额quota磁盘配额满足条件1、 内核大于等于2.42、 对用户或组设置3、 对一个单独的文件系统操作实验环境:一、修改/etc/fstab 设置/分区 支持磁盘配额功能(也可以设置其他分区)这样设置是永久性的,系统启动不受影响。修改完成之后,重新挂载/分区,让内核重新读取/etc/fstab文件通过quotacheck –cugm命令...原创 2019-05-21 15:34:30 · 9313 阅读 · 0 评论 -
CentOS 6.5(x64) 和Redhat6.5操作系误删libc
系统类型:CentOS 6.5(x64)启动提示:Kernel panic - not syncing: Attempted to kill init背景:因为误删了 libc.so.6 -> libc-2.12.so的软连接(图1),没想到很多命令不能用了。 原来linux 很多shell命令都离不开 libc.so.6接下来重启系统进去之后就一直报Kernel panic - ...原创 2019-04-24 14:23:49 · 557 阅读 · 0 评论 -
Git拆分子目录作为新仓库并保留log记录
第一步:创建远程独立的空仓库在Git服务器端操作:git init --bare <GIT仓库绝对路径>chown -R git:git <GIT仓库绝对路径>示例:git init --bare /home/myRepo/test_sub.gitchown -R git:git /home/myRepo/test_sub.git第二步:克隆需要...原创 2019-04-24 14:16:40 · 1179 阅读 · 0 评论 -
find 命令使用方法详细总结和示例
Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的...原创 2019-04-24 14:13:36 · 6485 阅读 · 1 评论 -
I/O复用之Select模型
I/O复用之Select模型I/O复用使得程序能够同时监听多个文件描述符,但是,他本身也是阻塞的,并且当一个或多个文件描述符准备就绪时,如果不采用其他措施,程序只能按顺序处理其中的每个文件描述符。如果要使程序能够并行运行,只能使用多进程或多线程的方式。Linux下实现I/O复用的系统调用主要有select、poll和epoll,下面将详细介绍select的系统调用。Select...原创 2019-04-24 14:04:04 · 419 阅读 · 0 评论 -
在map中保存struct,及map的文件输入输出
用函数的方法实现:从map输出到文件,map的value是struct#include#include#include#includeusing namespace std;struct studentID { string name; string address;};studentID MakeStuden转载 2015-11-30 14:57:41 · 2652 阅读 · 0 评论 -
C++11学习总线及相关资料----悲惨了好多天,奉献了!
C++ 11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda的语法形式如下: [函数对象参数] (操作符重载函数参数) mutable或exception声明 ->返回值类型 {函数体} 可以看到,Lambda主要分为五个部分:[函数对象参数]、(操作符重载函数参数)、mutable或exception声明、->返回值类型原创 2015-10-14 18:39:48 · 2080 阅读 · 0 评论 -
linux常用c函数 进程操作篇
atexit(设置程序正常结束前调用的函数) 相关函数 _exit,exit,on_exit 表头文件 #include 定义函数 int atexit (void (*function)(void)); 函数说明 atexit()用来设置一个程序正常结束前调用的函数。当程序通过调用exit()或从main中返回时,参数function所指定的函数会先被调用原创 2015-07-22 22:51:39 · 435 阅读 · 0 评论 -
读C++ Primer 之句柄类
我们知道C++中最令人头疼的当属指针,如果您申请了对象却没有释放它,时间一长就会造成系统崩溃,大量的内存溢出使得您的程序的健壮性出现问题而句柄类就是为了能够解决这一问题而出现的,句柄类有点类似于智能指针。好了,废话不多说,我们来看代码首先我们来看 sample.h文件的代码:/* * author:xizero00 * mail:xizero00@163.com转载 2015-07-22 23:21:36 · 497 阅读 · 0 评论 -
epoll使用详解(精髓)
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且转载 2015-07-28 10:38:03 · 2100 阅读 · 2 评论 -
socket阻塞与非阻塞,同步与异步、I/O模型 .
1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回转载 2015-07-28 10:55:09 · 698 阅读 · 0 评论 -
Linux网络编程select模型的实现
简单的使用linux下的select模型实现了一个http的server#include #include #include #include #include #include #include #include #include #define LISTENQ 5 #define OPEN_MAX 1024#define SERV_PORT转载 2015-07-28 10:50:13 · 886 阅读 · 0 评论 -
学习网站
http://www.cnblogs.com/Wiseman/default.html?page=5原创 2015-06-12 22:09:00 · 450 阅读 · 0 评论 -
C语言 大文件读写
http://blog.chinaunix.net/u1/33412/showart_397173.html内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,只是内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而非系统的页文件,而且在对该文件进行操作之前必须首先对文件进行映射,就如同将整个文件从磁盘加载到内存。由此可以看出,使用内转载 2015-05-06 12:48:35 · 5139 阅读 · 0 评论