
linux
文章平均质量分 51
Chen-ky
这个作者很懒,什么都没留下…
展开
-
shell练习题
== 左右两边一定要有空格 输入生日(0502),计算距离生日的时间 now=`date +%m%d`year=`date +%Y`if [ "$time_birth" == "$now" ]; then echo "happy birthday"elif [ "$time_birth" -gt "$now" ]; then day1=`date --date="$yea原创 2017-03-21 10:02:01 · 743 阅读 · 0 评论 -
ubuntu网络设置
pip install 总是出现pip connection failure: cannot fetch index base URL http://pypi.python.org/simple/,造成安装不了软件包,真的很头疼。。。。找了一圈问题,发现连eth0网卡都没有,网络根本就不连通,网站也上不了问题一. ifconfig之后只显示lo,没有看到eth0问题二. ifconfig之后显示et原创 2017-09-12 11:50:30 · 791 阅读 · 0 评论 -
Cannot add PPA: 'ppa:'. Please check that the PPA name or format is correct
使用了网络代理的情况下,出现了这样的问题,首先使用了网络上提到的两种方法: 发生这种错误主要有两种原因。一种是您电脑中的CA证书已经损坏,或者是您的网络设置了一个代理重新安装一下CA证书: sudo apt-get install --reinstall ca-certificates如果上面的命令不起作用,可能是网络使用了一个代理设置。要略过代理设置,使用sudo命令并加上参数E,就像下面原创 2017-11-02 09:49:46 · 6761 阅读 · 2 评论 -
linux 备份和快照 timeshift的安装和使用
使用虚拟机的时候可以很方便的使用快照,但是如果直接使用的是linux的主机的话,应该如何进行备份呢,毕竟如果操作有问题,重新安装系统是很麻烦的事情。根据网上的推荐,找到了一款叫timeshift的软件,地址:https://github.com/teejee2008/timeshift,这里面有详细的安装说明安装对于Ubuntu and Linux Mint: 执行sudo apt-add-rep原创 2017-11-02 09:58:09 · 5927 阅读 · 1 评论 -
network namespace 介绍和ip netns 命令的使用
network container linuxlinux 网络虚拟化: network namespace 简介By cizixs February 10, 2017 CommentTweetLike+1network namespace 是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自的网络栈信息。不管是虚拟机还是容器,运行的时候转载 2017-11-04 17:09:15 · 5800 阅读 · 0 评论 -
Linux查看内存命令及其对命令显示的解释
我们通过Linux查看内存free命令查看机器空闲内存时,会发现free的值很小。下面我们就来了解学习下Linux查看内存的命令和对这些命令的解释,这样大家更能够深刻理解我们的Linux查看内存命令在Linux下查看内存我们一般用free命令:[root@scs-2 tmp]# freetotal used free shared buffer转载 2018-01-13 11:08:18 · 13241 阅读 · 0 评论 -
进程间通信(IPC)介绍
进程间通信(IPC)介绍 进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。以Lin转载 2018-01-15 10:57:35 · 264 阅读 · 0 评论 -
Linux进程间通信——使用信号
一、什么是信号用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中的进程捕获到这个信号然后作出一定的操作并最终被终止。信号是UNIX和Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。通常信号是由一个错误产生的。但它们还可转载 2018-01-15 13:49:19 · 231 阅读 · 0 评论 -
linux 信号 为什么使用sigaction而非signal
所有希望能用相同方式处理信号的多次出现,最好用sigaction.信号只出现并处理一次,可以用signal.signal函数每次设置具体的信号处理函数(非SIG_IGN)只能生效一次,每次在进程响应处理信号时,随即将信号处理函数恢复为默认处理方式.所以如果想多次相同方式处理某个信号,通常的做法是,在响应函数开始,再次调用signal设置,如下图: int sig_int(); //My si原创 2018-01-15 13:50:57 · 651 阅读 · 0 评论 -
linux 多线程信号总结
linux 多线程信号总结1. 在多线程环境下,产生的信号是传递给整个进程的,一般而言,所有线程都有机会收到这个信号,进程在收到信号的的线程上下文执行信号处理函数,具体是哪个线程执行的难以获知。也就是说,信号会随机发个该进程的一个线程。2 signal函数BSD/Linux的实现并不在信号处理函数调用时,恢复信号的处理为默认,而是在信号处理时阻塞此信号,直到信号处理函数返回。其他实现可能在调用转载 2018-01-15 15:12:22 · 753 阅读 · 0 评论 -
linux中使用信号--sigwait()和pthread_sigmask()
1. sigwait函数:sigwait等一个或者多个指定信号发生。 它所做的工作只有两个:第一,监听被阻塞的信号;第二,如果所监听的信号产生了,则将其从未决队列中移出来(这里实时信号和非实时信号又有区别,体现在取出的顺序等,具体自己取网上查,这里不再详述)。sigwait并不改变信号掩码的阻塞与非阻塞状态。 在POSIX标准中,当进程收到信号时,如果是多线程的情况,我们是无法确转载 2018-01-15 15:13:57 · 1274 阅读 · 0 评论 -
/etc/bashrc和/etc/profile
导读 在一般的 linux 或者 unix 系统中, 都可以通过编辑 bashrc 和 profile来设置用户的工作环境, 很多文章对于 profile 和 bashrc 也都有使用, 但究竟每个文件都有什么作用和该如何使用呢? 首先我们来看系统中的这些文件, 一般的系统可能会有/etc/profile/etc/bashrc~/.bashrc~/.profile而如果系统是 u转载 2018-01-18 10:38:03 · 492 阅读 · 0 评论 -
脚本的四种执行方法
方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:代码如下:cd /data/shell./hello.sh./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容转载 2018-01-18 11:12:50 · 47996 阅读 · 0 评论 -
自旋锁与互斥锁的区别
POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(Critical Section)进行保护(另一种常用的同步机制是barrier)。Pthreads提供了多种锁机制:(1转载 2018-01-19 10:07:36 · 538 阅读 · 0 评论 -
UNIX环境高级编程学习环境搭建---apue.h
本菜刚刚学习UNIX下高级编程,无奈搭建本书编程环境时遇到不少问题。幸好网上有各种大神的解决办法让我最终解决了问题。在这里感谢为LINUX开源操作系统奋斗的大神。不过话说回来,网上大都是针对UNIX高级编程第二版的头文件搭建,现在对于第三版来说,有些过时,因为很对针对linux的make文件已经改变了很多。话不多说,下面就来看看具体的搭建过程:(本人用的操作系统是ubuntu 14.04LTS)转载 2018-04-12 10:11:57 · 1186 阅读 · 0 评论 -
kubernetes minikube kubectl的安装 绝对良心
捣鼓了整整两天的kubernetes的安装,试了很多的方案,换了很多系统,试了很多方案,但是经常出现 还有跑起来了,但是显示的一直是ContainerCreating,其实本质原因还是下面这种: 镜像拉不下来这么些种种错误,但是归结起来就是:GFW的锅,基本都是网络问题,真的没有什么话说,所做的种种都是为了从各种层面去绕开墙的封锁不要使用运行在虚拟机上的linux去安装kubernete原创 2017-11-02 10:55:41 · 12186 阅读 · 1 评论 -
Linux软连接和硬链接
1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。【硬连接】 硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种原创 2017-09-29 22:33:13 · 260 阅读 · 0 评论 -
linux 压缩解压缩命令
tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到转载 2017-03-23 09:45:59 · 241 阅读 · 0 评论 -
linux ubuntu 安装VirtualBox
下载相应版本的virtualbox下载链接是:http://download.virtualbox.org/virtualbox/5.1.14/virtualbox-5.1_5.1.14-112924~Ubuntu~yakkety_amd64.deb#下载 deb包$ sudo wget http://download.virtualbox.org/virtualbox/5.1.14/virtua转载 2017-09-04 20:32:56 · 1624 阅读 · 0 评论 -
Unix网络编程(第三版) 代码环境搭建 unp.h的引入
首先下载 unpv13e.tar.gztar zxvf unpv13e.tar.gz./configurecd libmakecd ../libgaimakecd .. // 回到主目录// 修改unp.hvim lib/unp.h // 修改 #include "../config.h" 为 #include "config.h"// 拷贝头文件sudo cp config.h原创 2017-08-23 23:35:42 · 954 阅读 · 1 评论 -
linux后台进程的查看和终止
加上&,使任务在后台执行 jobs查看后台运行的进程,jobs -l可以查看PID 进程的状态可以是running, stopped, Terminatedkill pid可以结束指定pid的后台进程原创 2017-08-24 00:05:18 · 1065 阅读 · 0 评论 -
unix网络编程——time 服务器和客户端的实现
客户端程序#include "unp.h"int main(int argc,char **argv){ int sockfd, n; char recvline[MAXLINE + 1]; struct sockaddr_in servaddr; if (argc != 2) err_quit("error1"); if ((sockfd =原创 2017-08-24 00:08:10 · 367 阅读 · 0 评论 -
linux网络编程中INADDR_ANY的含义
INADDR_ANY选项 网络编程中常用到bind函数,需要绑定IP地址,这时可以设置INADDR_ANY INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”。也就是表示本机的所有IP,因为有些机子不止一块网卡,多网卡的情况下,这个就表示所有网卡ip地址的意思。 比如一台电脑有3块网卡,分别连接三个网络,那么这台电脑就有3转载 2017-08-24 00:13:33 · 764 阅读 · 0 评论 -
MTU,窗口大小和mss的区别
MTU: Maximum Transmit Unit,最大传输单元,即物理接口(数据链路层)提供给其上层(通常是IP层)最大一次传输数据的大小;以普遍使用的以太网接口为例,缺省MTU=1500 Byte,这是以太网接口对IP层的约束,如果IP层有<=1500 byte 需要发送,只需要一个IP包就可以完成发送任务;如果IP层有> 1500 byte 数据需要发送,需要分片才能完成发送,这些分片有一个转载 2017-08-24 10:16:04 · 12591 阅读 · 0 评论 -
《UNIX 网络编程》 第三章课后习题第三题
试写一个名为inet_pton_loose的函数,它能处理如下情形:如果地址族为AF_INET且inet_pton返回0,那就调用inet_aton看是否成功;类似地,如果地址族为AF_INET6且inet_pton返回0,那么就调用inet_aton看是否成功,若成功返回其IPv4映射的IPv6地址。#include <stdio.h> #include <stdlib.h> #inclu转载 2017-08-31 08:43:51 · 672 阅读 · 0 评论 -
MSL、TTL及RTT的区别
1、 MSL 是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。TCP报文 (segment)是ip数据报(datagram)的数据部分,具体称谓请参见《数据在网络各层中的称呼》一文;2、ip头中有一个TTL域,TTL是 time to live的缩写,中文可以译为“生存时间”,这个生存时间是转载 2017-08-31 11:22:08 · 11287 阅读 · 3 评论 -
ssh scp出现 Permission denied (publickey,gssapi-with-mic,gssapi-keyex)问题
解决方法修改目标服务器中 /etc/ssh/sshd_config 中的参数: 将PasswordAuthentication no中的“no”改为yes,如果有注释,将注释去掉之后service sshd restart 重启sshd服务就可以了。原创 2017-09-26 08:41:27 · 15229 阅读 · 0 评论 -
利用iso制作本地yum源 http制作yum源镜像服务器
1.制作本地源镜像(1)将iso文件进行挂载,一般是挂载在/mnt目录下mount centos.iso /mnt(2)配置yumcd /etc/yum.repos.d/mkdir bakmv *repo bak/vim local.repo编辑内容为[mnt] name=mntbaseurl=file:///host/mntgpgcheck=0 enabled=1(3)进行验证yum原创 2017-09-30 21:54:14 · 2837 阅读 · 0 评论 -
rpm与yum 基础 常见命令
rpmrpm -ivh 包的路径+包名.rpm 其中参数-i为安装 -v显示信息 -h显示进度条。这三个参数基本捆绑使用rpm的路径不单可以是本地磁盘也可以是ftp服务器的目录rpm -i --force 软件包名.rpm 强制安装当某个包已经安装后 但是因为某种问题需要重新安装就可以用这个命令。rpm -i --nodeps 软件包名.rpm 当某个包安装的时候提示有依赖关系的时候加上这原创 2017-09-30 22:29:02 · 490 阅读 · 0 评论 -
Unix/Linux下的/etc目录
/etc目录用于存放Linux/Unix系统的配置文件,/etc里的配置文件非常关键,所以要经常备份(备份方法见文章末尾),这样不管你是重装系统还是因为系统坏掉,都能快速的恢复到早先的配置状态。文章“etc” 和“理解 Linux 配置文件”,对etc目录下的所有文件都有了一个详细的解释,可以用于查阅。这里主要写一下/etc目录下几个常用的配置文件。/etc/profile/etc/profile里转载 2017-10-02 17:45:54 · 594 阅读 · 0 评论 -
Failed to fetch bzip2:/var/lib/apt/lists/partial/ Hash sum mismatch E: Some index files fail
进入ubuntu software center 选择software sources 在其他软件中将对勾勾掉; 关闭窗口; sudo apt-get update即可原创 2017-10-11 10:37:41 · 540 阅读 · 0 评论 -
Ubuntu 14.04 更换源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份sudo vim /etc/apt/sources.list #修改将如下内容覆盖原先的内容deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiversedeb http://mir原创 2017-10-11 12:15:24 · 2405 阅读 · 0 评论 -
linux 测试网络带宽时延 命令
mtr 测试丢包率和时延 一般在windows 来判断网络连通性用ping 和tracert,ping的话可以来判断丢包率,tracert可以用来跟踪路由,在Linux中有一个更好的网络连通性判断工具,它可以结合ping nslookup tracert 来判断网络的相关特性,这个命令就是mtrmtr -h usage: mtr [-hvrctglspni46] [–help] [–vers原创 2017-10-10 23:01:50 · 18221 阅读 · 0 评论 -
iperf参数与丢包率的关系
带宽测试通常采用UDP模式,因为能测出极限带宽、时延抖动、丢包率。经常使用的参数例子如下: iperf -b 1m -u -c 10.0.0.1 -t 0.1 -l 30影响丢包率的因素:带宽值:使用iperf生成并发送数据,在数据包长度固定的情况下(L默认为1470字节),带宽越大,每秒钟发送的数据包越多。当链路延时较大时,每秒发送的数据包数量太多时会造成比较大的丢包率 包的长度:-l 可以设置原创 2017-10-11 16:02:15 · 9580 阅读 · 0 评论 -
Cgroup - Linux 的 IO 资源隔离
转载自 https://www.v2ex.com/t/251497 前辈的博客写得很赞,学习到很多Linux 的 IO 隔离跟内存管理那部分复杂度类似, IO 的资源隔离要讲清楚也是比较麻烦的。这部分内容都是这样,配置起来简单,但是要理解清楚确没那么简单。这次是跟 Linux 内核的 IO 实现有关系。对于 IO 的速度限制,实现思路跟 CPU 和内存都不一样。 CPU 是针对进程占用时间的...转载 2018-04-26 19:52:34 · 5151 阅读 · 0 评论