LINUX - 技术教程文章

《Linux内核分析》实验一【图】

陈智威,《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 课堂学习笔记:作业截图:汇编代码堆栈分析:总结:计算机的工作是通过一系列的代码使其硬件能够按照所编写的指令进行运行,而此次实验就是具体介绍了一下Linux的运行方式,用汇编的语言,即更贴切计算机的语言来向我们介绍了计算机是如何进行工作的。 原文:http://www.cnblogs.com/vioczw/p/5225692.html

Linux Debugging: 使用GDB来理解C++ 对象的内存布局(多重继承,虚继承)【图】

前一段时间再次拜读《Inside the C++ Object Model》 深入探索C++对象模型,有了进一步的理解,因此我也写了四篇博文算是读书笔记:Program Transformation Semantics (程序转换语义学)The Semantics of Copy Constructors(拷贝构造函数之编译背后的行为)The Semantics of Constructors: The Default Constructor (默认构造函数什么时候会被创建出来)The Semantics of Data: Data语义学 深入探索C++对象模型 这些文章都获...

linux如何修改主机名

很多人使用hostname 主机名 来修改,其实这个只是做为暂时的,重启后将恢复到原来的名字.很多人说修改/etc/hosts文件,其实这个文件里的主机名只是为来提供给dns解析的.如果你用不上dns,只需要修改主机名,那修改这个没用.其实是修改这个文件etc/sysconfig/network这个文件里的主机名.NETWORKING=yesHOSTNAME=主机名------------------------------------------------------------------------记得重启!!!---------------------------...

[Linux] 解决终端显示乱码问题【代码】【图】

【背景】公司弄了两台新的虚拟机,用来将原先都部署在一台机器上的JIRA, Fisheye, Confluence迁移到这两台机器上,使用SecureCRT进行登录,使用相关命令时,一台出现乱码,另外一台正常显示,使用vim时,也是一样,所以来总结总结乱码问题的解决方法。【解决】1. 两台相关截图第一台第二台2. 在网上找到方法说是需要修改/etc/sysconfig/i18n,比较两台机器上的这个文件内容,发现乱码机器为空,非乱码机器为如下:#LANG="zh_CN.UT...

Linux c++ 统计函数调用时间【图】

写一个小程序来统计函数调用时间,简单明了直接看代码,有三个文件,FunTimer.h , FunTimer.cpp ,FunTimerMan.cpp 分别如下:FunTimer.h文件#ifndef _FUNTIMER_H #define _FUNTIMER_H#include <iostream> #include <sys/time.h> #include <string> using namespace std;class FunTimer {public:FunTimer();FunTimer(string funName);~FunTimer();private: string funName;timeval _start;timeval _end;};/**方法一#include <iost...

Linux消息队列【代码】

1 #include <stdio.h> 2 #include <sys/types.h> 3 #include <sys/ipc.h> 4 #include <sys/msg.h> 5 #include <errno.h> 6 #include <string.h>7 #include <stdlib.h>8 9int msg_key = 1234; 1011struct MsgNode 12{ 13long nMsgType; 14char sBuf[256]; 15}; 1617int main(int argc,char** argv) 18{ 19int nMsgId = 0; 20if((argc == 2) && (strcmp(argv[1],"c") == 0)) 21 { 22 nMsgId = msgget(msg_key,I...

linux使用mail发送外部smtp邮件【代码】

linux使用mail发送外部smtp邮件第一章 说明参考资料:http://coolnull.com/2614.html linux自带的mail可以实现外部smtp发邮件。不需要本地配置postfix,sendmail邮件服务器,配置整套下来确实需要点时间。环境:IP主机名操作系统备注192.168.120.130db130CentOS release 6.10 (Final) 第二章 实现2.1 关闭本机的sendmail服务或者postfixservice sendmail stop chkconfig sendmail offservice postfix stop chkconfig postfix off# ...

linux下coredump学习【图】

参照 https://www.cnblogs.com/alantu2018/p/8468879.html 1、查看linux下coredump是否开启在linux上coredump默认是关闭的,可以通过ulimit -c查看,如果输出为0,则代表coredump没有开启。可以使用 ulimit -c unlimited开启,再用ulimit -c查看,结果为unlimited;但这种操作只能对当前终端有效,想让coredump持久开启,需修改vim /etc/security/limits.conf文件为如下内容再执行ulimit -c unlimited命令,打开新的终端再执行ulim...

Linux信号实践(4) --可靠信号【图】

Sigaction#include <signal.h> int sigaction(int signum, const struct sigaction *act,struct sigaction *oldact);功能: sigaction函数用于改变进程接收到特定信号后的行为。参数 第一个参数为信号的值,可以为除SIGKILL及SIGSTOP外的任何一个特定有效的信号(为这两个信号定义自己的处理函数,将导致信号安装错误) 第二个参数是指向结构sigaction的指针,在结构 sigaction的实例中,指定了对特定信号的处理,可以为空,进...

12.Linux中外接显示器分辨率不匹配的问题【图】

原文地址:https://blog.csdn.net/openrd/article/details/51417313发现一款arandr的工具。arandr是一款可以为ubuntu提供设置显示器分辨率以及扩展方式的GUI工具。使用ubuntu下安装命令: [html] view plain copy sudo apt-get install arandr 安装完成后在终端中输入arandr出现如下图所显示的界面这时候只要调整一下LVDS1和VGA1的位置点击左上角的勾号,发现就变过来了。注意,因为我的外扩显示器是使用VGA接口连接的。所以这里显...

每天一个linux命令(12):more命令

more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。1.命令格式:more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ] 2.命令功能:more命令和cat的功能一样都是查看文件里...

Linux安装Monaco字体【代码】

Linux安装字体的方式其实很简单,就是调用fc-cache -f -v命令,其实我们可以什么都不添加直接调用这个命令可以看到它会去/usr/share/fonts/truetype等目录以及你自己的个人用户目录~/.fonts/ ~/.local/share/fonts ~/.fontconfig ~/.cache/fontconfig等目录进行字体文件ttf的索引查找,当查找到字体之后就完成了字体的添加。 所以很简单了,上网下载monaco.ttf文件,将它放到上述提到的任意文件夹中,然后运行一把fc-cache -f...

Linux性能诊断工具 - vmstat/iostat/mpstat/ifstat/dstat

vmstat:虚拟内存状况–swpd free buff cache si so in cs参考:http://www.cnblogs.com/ggjucheng/archive/2012/01/05/2312625.htmliostat:io状况avgqu-sz await svctm参考:http://blog.csdn.net/dbanote/article/details/17784429mpstat: cpu状况sys usr iowait参考:http://blog.csdn.net/evils798/article/details/7524474ifstat:网络状况–in outdstat:所有资源统计汇总–资源汇总参考:http://blog.csdn.n...

环境准备—之—linux下安装svn【代码】【图】

借鉴自http://www.cnblogs.com/liuxianan/p/linux_install_svn_server.html 这个很详细,但不是我的风格https://blog.csdn.net/bluishglc/article/details/42245065 安装,使用yum安装svn服务[root@bogon /]# yum install subversiongroupadd svn #为运行svn设置专用的用户组,非必须操作,但推荐useradd -d /var/svn -g svn svn #为运行svn设置专用的用户,同时指定home目录为:/var/svn 非必须操作,但推荐passwd svn #为运行svn...

Linux与云计算——第二阶段 第二章:DHCP服务器架设【图】

Linux与云计算——第二阶段Linux服务器架设第二章:DHCP服务器架设650) this.width=650;" src="/upload/getfiles/default/2022/11/9/20221109022145383.jpg" title="摄图网-高端的数据中心.jpg" />1.配置DHCP服务器配置DHCP ( Dynamic Host Configuration Protocol ) 服务器. DHCP使用UDP端口67.[1] 安装并配置DHCP服务器.[root@demo ~]# yum -y install dhcp [root@demo ~]# vim /etc/dhcp/dhcpd.conf # 创建一个新文件# 指定域名...

如何创建Linux Initrd

Linux初始RAM磁盘(initrd)是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程。initrd文件中包含了各种可执行程序和驱动程序,它们可以用来挂载实际的根文件系统,然后再讲这个initrd RAM磁盘卸载,并释放内存。在很多嵌入式Linux系统中,initrd就是最终的根文件系统。创建Linux initrd的 大致流程如下:1、格式化一个Ramdisk;2、加载文件系统内容到Ramdisk;3、将Ramdisk作为根文件系统。initrd主要由两个...

linux网络编程----->高并发--->select多路I/O复用服务器【代码】【图】

做网络服务的时候并发服务端程序的编写必不可少。前端客户端应用程序是否稳定一部分取决于客户端自身,而更多的取决于服务器是否相应时间够迅速,够稳定. 常见的linux并发服务器模型;多进程并发服务器多线程并发服务器select多路I/O转接服务器poll多路I/O转接服务器epool多路I/O转接服务器. 本次主要讨论select多路I/O转接服务器模型: 650) this.width=650;" src="/upload/getfiles/default/2022/11/10/2022111006483...

Linux操作系统中内存buffer和cache的区别--从free命令说起(转)

原文链接:http://os.51cto.com/art/200709/56603.htm我们一开始,先从Free命令说起。Freefree 命令相对于top 提供了更简洁的查看系统内存使用情况:$ freetotal used free shared buffers cachedMem: 255268 238332 16936 0 85540 126384-/+ buffers/cache: 26408 228860Swap: 265000 0 265000Mem:表示物理内存统计 -/+ buffers/cached:表示物理内存的缓存统计 Swap:表示硬盘上交换分区的使用情况,这里我们不去关心。系统的总...

linux 使用proxychains连接代理服务器

1. 下载:git clone https://github.com/rofl0r/proxychains-ng.git2. 编译安装三部曲:./configuremakemake installmake install-config3. 配置vim /usr/local/etc/proxychains.conf原文:http://www.cnblogs.com/lian4187/p/4880918.html

linux——网络配置文件【图】

IP/NETMASK/GW/DNS等属性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE路由相关配置文件:/etc/sysconfig/network-scripts/route-IFACE  说明:fcfg-IFACE通过大量参数定义接口属性。可使用VIM直接编辑。也可使用(CENTOS6)system-config-network(set up),(CENTOS7):nmtui 命令修改。ifcfg-IFACE配置文件参数:  DEVICE:次文件对应的设备的名称。  TYPE:接口类型,常见的有Ethernet,BRIDGE  UUID:此设备的...

linux 监控服务器流量【代码】

linux 监控服务器流量#!/bin/bash ethn=$1whiletruedo RX_pre=$(cat /proc/net/dev | grep $ethn | sed‘s/:/ /g‘ | awk‘{print $2}‘) TX_pre=$(cat /proc/net/dev | grep $ethn | sed‘s/:/ /g‘ | awk‘{print $10}‘) sleep1 RX_next=$(cat /proc/net/dev | grep $ethn | sed‘s/:/ /g‘ | awk‘{print $2}‘) TX_next=$(cat /proc/net/dev | grep $ethn | sed‘s/:/ /g‘ | awk‘{print $10}‘) clearecho -e "\t R...

DHCP服务过度方案(linux+dhcpd+failover)【图】

一 现状分析随着公司家属区接入用户的数量不断增加,以及公司网络的结构不断的复杂,静态ip地址的管理方式显得极不协调。不但配置麻烦管理不便也会造成额外的工作负担,因此对家属区提供dhcp服务十分必要。经过对公司网络环境的研究以及现有资源的整合发现在不增加设备的前提下能够对用户提供有限的dhcp服务,但这会为将来在整个企业网中实现dhcp动态分配地址积累丰富的经验。可以先在家属区进行试点在逐步推广到全公司家属区乃至...

5.linux帐号管理与权限设定

/etc/passwd/etc/group/etc/shadow/etc/gshadow/etc/default/useradd/etc/login.defs/etc/kel/*/etc/pam.d/passwd -----PAM密码管理机制所在的位置/etc/skel ----home目录基准参考目录/etc/sudoers ----该档案中记录着可以执行sudo命令的帐号 修改/etc/passwd中的帐号信息会导致文档属性无法显示拥有者的姓名,取而代之的是UID,因为系统无法在/etc/passwd找到对应用户的- b. 通过修改/etc/pas...

linux 操作系统级别监控 TOP命令【图】

Top命令是Linux下一个实时的、交互式的,对操作系统整体监控的命令,可以对CPU、内存、进程监控。 是Linux下最常用的监控命令。第一行是任务队列信息1 user 当前登录用户数load average: 0.01, 0.01, 0.00 系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:Tasks: 96 total 进程总数1 running 正在运行的进...

Linux档案权限与档案绝对、相对路径【图】

Linux档案权限650) this.width=650;" src="/upload/getfiles/default/2022/11/11/20221111104852214.jpg" title="1.jpg" width="660" height="158" border="0" hspace="0" vspace="0" />650) this.width=650;" src="/upload/getfiles/default/2022/11/11/20221111104852519.jpg" title="2.jpg" width="660" height="528" border="0" hspace="0" vspace="0" />650) this.width=650;" src="/upload/getfiles/default/2022/11/11/20...

linux 命令之 pushd、popd、dirs,以及栈的基础知识【代码】【图】

栈的定义 栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表插入、删除这些操作的一端为栈顶(Top),另一端称为栈底(Bottom)。当表中没有元素时称为空栈。栈为一种先进后出的数据结构。或者称为后进先出栈的修改需要遵循先进后出的原则。每次删除(退栈)的总是当前栈中”最新”元素(最后入栈的元素),而最先插入的元素是被放在栈的底部,要最后才能删除。 如图所示,元素是以 a1,a2,…,a(n-1),an的顺序入栈,退栈的顺序则是 a...

linux命令集

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /d...

Linux测试时加速系统时间脚本【代码】

#!/bin/bashset -e set -uinterval=2 step=28resetDate=`date +‘%Y-%m-%d %H:%M:00‘`date -s "${resetDate}"while((0<1)) do sleep ${interval} date -s "`date` +${step} sec"done本文出自 “zl1030的记录” 博客,请务必保留此出处http://zl1030.blog.51cto.com/274507/1956097原文:http://zl1030.blog.51cto.com/274507/1956097

Linux如何设置dns【图】

首先打开dns设置文档 空的dns文档如图所示 键入图片中的文本保存即可设置了自己的dns 保存后推出即可。原文:http://www.cnblogs.com/idmask/p/4714765.html

老男孩Linux运维及架构师课程会员卡上线了!

老男孩Linux运维及架构师课程会员卡上线了!和身价千万的老男孩老师成就一生师徒关系,不容错过!老男孩老师会员卡课程套数和时长在51CTO所有会员卡老师里排名第一(共133套课程,2575课时,总时长31765分钟 )http://edu.51cto.com/member/id-23.html会员卡促销活动(上线后3个月内) 1、赠老男孩老师的近期新书1本2、购买会员日起1年内报名对应的线下面授课程,学费直降3000元3、前20名会员和老男孩成为终生真正师徒关系(不仅仅...