Linux
图灵AI云
格物致知
展开
-
pid-max设置多少合适之原理
之前我读源码可能不仔细,“当时认为主机内核的pid-max是不需要修改的,因为已经是最大值了,这个值改大了也没有用,和主机的cpu物理核数有关,这个值是系统在开机的时候会帮我们设置成最大值。因为每核最大值是1024,比如我们32核的机器就是1024*32,也就是系统会设置成32768,40核机器就是40960,所以不需要修改,改小可以,改大改了也没有效果。”但是,刚仔细看了下代码,这个要看long字节大小 ,也就是操作系统版本,如果long是大小4字节的,就是,如果是64的可以到2^22/* * T原创 2022-02-18 11:24:00 · 1452 阅读 · 0 评论 -
shell 多行注释详解
可以采用 HERE DOCUMENT 特性,实现多行注释,比如<<COMMENT...COMMENT举例如下:#!/bin/bashecho "Say Something"<<COMMENT your comment 1 comment 2 blahCOMMENTecho "Do something else"原创 2016-07-21 12:46:04 · 92985 阅读 · 3 评论 -
centos 7 使用 163 yum 源
这篇文章介绍如何使用 163 yum 源。一般是下载 .repo 源即可,但有时候我们需要安装一些额外的包,就需要下载 Extra Packages for Enterprise Linux (EPEL) 源, 比如我们需要用 yum 安装 ansible ,就需要安装 epel 。安装 repo 源。repo 源一般包括 base, updates, Extras 三部分。 $ cd /e原创 2016-06-15 20:13:38 · 5789 阅读 · 0 评论 -
用颜色显示两个文件的不同 (diff, colordiff, vim -d)
我们经常需要比较两个文件或者多个文件的差异并用颜色显示出来,则可以通过如下的方法:下载 colordiff diffoldnew|colordiff diff old new | colordiff colordiff old new使用 vim vim−doldnew vim -d old new vimdiff file1 file2 file3 … (vimdiff 就是原创 2016-06-13 11:15:30 · 7965 阅读 · 0 评论 -
centos 升级 kernel 从 3.10.0 到 4.6.1-1.el7.elrepo
[一 6月 06 17:34:50 root@chenqiang-worker-dev006-shgq.xxx ~]# uname -r 3.10.0-327.10.1.el7.x86_64[一 6月 06 17:35:33 root@chenqiang-worker-dev006-shgq.xxx ~]# rpm -qa | grep kernel kernel-3.10.0-327.18.2原创 2016-06-06 17:42:13 · 5926 阅读 · 2 评论 -
如何用 tmpwatch 删除某个目录下的特定文件
tmpwatch 是一个很好用的命令,centos 6 等系统一般自带,但 centos 7 开始 tmpwath 被 systemd 的 tmpfiles.d 下的 *.conf 文件来替换,有兴趣的可以去研究,这里先讲一下 tmpwatch ,它可以在某种情况下很好的替代 cron 与 find, rm -rf /dir 配合使用来删除文件的方式。比如,我们假设有一个目录 /data/mesos原创 2016-05-31 11:30:40 · 1746 阅读 · 0 评论 -
设置git使用vim作为编辑器
git 默认使用emacs作为编辑器,我们可以如下任何一种方式来使用VIM在git config中设置core.editor: git config --global core.editor "vim"在环境变量中设置GIT_EDITOR: export GIT_EDITOR=vim如果不仅希望git使用vim, 还想其他的程序也使用则可以如下设置: 注意:如下两个标准的环境变量其实不是原创 2016-02-24 11:24:53 · 55593 阅读 · 4 评论 -
vim复制时保留原有格式
我们一般会从某个地方,比如网页或者其他的VIM中复制文本信息,但发现粘贴后,格式完全变了。 解决方法: 在执行前进行: :set paste 操作 执行后也可以关闭它: :set nopaste 如果想看它的详细情况,还可以: :h paste原创 2016-02-19 14:21:12 · 8209 阅读 · 0 评论 -
ntpd vs. ntpdate
ntpdate快要过时了,它是调整时间,比较野蛮,如果不是对时间同步特别要求高,不建议使用。 nptd是校准时间,这个不会立即生效,会慢慢的将时间校正过来。原创 2016-02-02 17:56:09 · 550 阅读 · 0 评论 -
centos7中如何让网卡名不被改变
我们需要修改/etc/default/grub, 并添加 net.ifnames=0 biosdevname=0 到 GRUB_CMDLINE_LINUX这个变量。执行grub2-mkconfig进行测试。执行grub2-mkconfig -o /boot/grub2/grub.cfg让修改生效。原创 2016-03-02 10:09:57 · 560 阅读 · 0 评论 -
CFS Bandwidth Control
CFS Bandwidth Control=====================[ This document only discusses CPU bandwidth control for SCHED_NORMAL. The SCHED_RT case is covered in Documentation/scheduler/sched-rt-group.txt ]CFS转载 2015-11-24 16:20:36 · 1429 阅读 · 0 评论 -
rpmbuild spec文件的注释问题
请注意:以#开头的一行为注释,如果在注释里加%会产生错误,如%prep,应该加上两个%,即%%prep原创 2015-11-17 14:08:26 · 2899 阅读 · 0 评论 -
wifi 万能钥匙面试题目
1. 使用linux c++,实现一个client和server,要求对功能做一些简单的封装,设计成几个简单的类,使用Makefile进行依赖管理;2. client使用连接池技术管理与服务器的通信,主线程间隔1s从连接池中取到一个连接,发送到server端,请求的格式为json,其中只有一个key为id;3. server使用epoll+多线程进行设计,工作线程取到client的请求后,响应一原创 2015-05-29 10:21:47 · 4244 阅读 · 2 评论 -
gitlab或github下,a开发者fork了b开发者的项目后,如果b开发人员更新代码后,a开发者如何获得更新?
命令行流程如下:1. 首先要先确定一下是否建立了主repo的远程源:git remote -v2. 如果里面只能看到你自己的两个源(fetch 和 push),那就需要添加主repo的源:git remote add upstream URL git remote -v然后你就能看到upstream了。3. 如果想与主repo合并:git fetch upstream git merge原创 2015-10-14 10:05:16 · 1364 阅读 · 0 评论 -
moreutils 知多少 -bash: sponge: command not found
大多数 Unix 老手都知道 GNU core utilities从那些我们几乎每天使用到的 ls, cp, ln, rm, touch, tail, wc 等等,到我们不常使用的 tsort, tac, factor, seq 等,除了这些 Unix 工具包,我发现还有一个包对我们的日常工作提供重大帮助,那就是: moreutils安装在讲解这个工具包中的每个工具时,我可以告诉大...翻译 2016-07-18 14:56:03 · 1663 阅读 · 0 评论 -
Linux添加自定义命令方法
在我们需要进行Linux开发的时候,有时候需要添加自定义的命令,这样可以有效提高工作效率。 那么如何做到呢? 这里假设我需要完成一个功能,并自定义这个命令为findme: 在当前目录下查找包含输入的关键字的文件有哪些,并以颜色标志出来。则可以将如下代码(当然还可以完善代码以完成更多的功能)到~/.bashrc中。 # Find the keyword quickly.function fin原创 2016-02-19 14:13:08 · 2536 阅读 · 0 评论 -
如何生成 markdown 文档的内容索引
目前很多文档都是用 markdown 格式编写,并且以代码的形式托管在 GitLab 上, 同时,使用 gh-md-toc 来生成文档目录。但是,gh-md-toc 会直接将结果打印到 stout,而我们想要直接将其添加到文档头部, 而不是从 stdout 再复制粘贴,然后还要格式化空行。显然,我们需要将这段文字添加到文件的头部,并且删除第一行空行,在最后一行添加一行空行。 这样肯定不便捷,原创 2016-07-18 15:04:12 · 6718 阅读 · 0 评论 -
Linux CentOS 使用命令设置网络代理
设置全局代理,方法如下:修改 /etc/profile 文件,添加下面内容: http_proxy=http://username:password@yourproxy:8080/ ftp_proxy=http://username:password@yourproxy:8080/ export http_proxy export ftp_proxy如果没有密码限制,则以上内容可以修改为以下转载 2015-11-19 17:02:27 · 17858 阅读 · 0 评论 -
ssh-copy-id 的使用方法
服务器时常需要配置无密码的登录方式,最一般的设置方式如下:# ssh-keygen# cat ~/.ssh/id_rsa.pub | ssh user@server "cat - >> ~/.ssh/authorized_keys"其实这方法已经很简单了,不过我总记不清如何正确拼写authorized_keys这个文件名。还好Linux系统里缺省都包含一个名为ssh-copy-id的工具:# ty原创 2017-05-06 11:19:27 · 5788 阅读 · 0 评论 -
sudo: Sorry, you must have a tty to run sudo Error on a Linux and Unix
通过运行visudo ,找到Defaults requiretty,并注释掉,即可解决。原创 2017-03-30 14:33:35 · 445 阅读 · 0 评论 -
df 命令结果显示的 Size 不等于 Avail + Used
[root@dmdb2 log]# df -h Filesystem Size Used Avail Use% Mounted on /dev/cciss/c0d0p1 9.7G 538M 8.7G 6% / /dev/cciss/c0d0p6 503G 35G 442G 8% /opt /dev/cciss/c0d0p5 9转载 2017-02-03 15:37:44 · 1343 阅读 · 0 评论 -
zmodem transfer canceled by remote side
单纯的执行 rz xx_file 一般不会有什么问题, 但是如果碰到传输文件中有控制字符等即会出现 zmodem transfer canceled by remote side 错误,解决方法是: 使用 rz -e 命令即可。原创 2017-02-17 19:40:26 · 1301 阅读 · 0 评论 -
lsblk 命令使用
lsblk 默认是树形方式显示:$lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 2.7T 0 disk ├─sda1 8:1 0 1.3M 0 part ├─sda2 8:2 0 400M 0 part /boot├─sda3 8:3 0 390.6G 0原创 2017-02-17 17:22:47 · 7672 阅读 · 0 评论 -
yum upgrade和yum update的区别
Linux升级命令有两个分别是yum upgrade和yum update, 这个两个命令是有区别的:yum -y update升级所有包同时也升级软件和系统内核yum -y upgrade只升级所有包,不升级软件和系统内核实验分别测试 yum -y upgrade和yum -y update升级前系统版本: centos5.5 内核版本: 2.6.18-194.el5 升级前做过简单配置转载 2017-01-09 15:58:42 · 16533 阅读 · 0 评论 -
vim delete
x - delete current character dw - delete current word dd - delete current line 5dd - delete five linesd$ - delete to end of line d0 - delete to beginning of line:1,.d delete to beginning of原创 2016-10-29 14:15:16 · 491 阅读 · 0 评论 -
在 Linux/UNIX/BSD 中如何查找前 10 大文件和目录
我们怎么样在像 Linux 或者 Unix 这样的类似系统中查找前 10 大文件和目录?通常我们有必要需要知道哪些文件或者目录正在吞噬着磁盘空间。更进一步来说,就是需要在文件系统中的特定目录如 /tmp, /var 或者 /home 下查找。这篇文章将帮助我们在文件系统中查找最大的文件或目录。这里没有简单的命令让我们在 Linux/UNIX/BSD 文件系统中找到最大的文件/目录。但我们可以通过如下翻译 2016-06-24 13:00:49 · 3299 阅读 · 0 评论 -
如何用 yum 的一个包替换另一个包
有的时候我们发现在安装 yum 包的时候有冲突,通常有几种解决方法:方法一:使用 yum 的交互模式进行。# yum shell>> remove <package>> repo disable <repo ID of not required package>> install <package>> run> exit方法二:采用 swap 自动进行yum swap -- remov原创 2016-08-01 15:31:25 · 1881 阅读 · 0 评论 -
kdumpctl: No memory reserved for crash kernel.
kdump 是一种 kernel crash dump 的机制,它可以在内核 crash 时保存系统的内存信息用于后续的分析。kdump 是基于 kexec 的。 crash 是一个用于交互式地分析正在运行的 Linux 系统或者 kernel crash 后的 core dump 数据的工具。记录一下问题及其解决方法:在 centos7 中的 kdump.service 服务一直不能正常启动,如原创 2016-07-19 14:30:46 · 8093 阅读 · 0 评论 -
linux c++ 服务器端开发面试必看书籍
由于很多朋友希望加入到Linux c++服务器端开发的队伍中,本人就结合自己的面试经历并整理了自己阅读的相关书籍,同大家分享,一起进步。人个认为以下是进入这个方向的必看书籍。一、算法基础系列 1、《数据结构基础(C语言版)》朱仲涛 译2、《剑指Offer》3、《编程之美》4、《编程珠玑》5、《CareerCup-Top 150 Questions 4th》6、《[算法导论].(美国)Cormen.原创 2016-01-24 16:04:09 · 20005 阅读 · 3 评论 -
rpmbuild SPEC语法
1.The RPM system assumes five RPM directoriesBUILD:rpmbuild编译软件的目录RPMS:rpmbuild创建的binary RPM所存放的目录SOURCES:存放源代码的目录SPEC:存放spec文件的目录SRPMS:rpmbuild创建的source RPM所存放的目录2.rpm内建的宏在文件/usr/lib/rpm/转载 2015-11-13 11:39:14 · 8064 阅读 · 0 评论 -
linux下怎么查看ssh的用户登录日志
原文地址:http://tieba.baidu.com/f?kz=1103749664linux下登录日志在下面的目录里: cd /var/log 查看ssh用户的登录日志: less secure linux日志管理: 日志简介 日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有:转载 2015-09-24 17:05:34 · 15530 阅读 · 0 评论 -
Linux下查看内核、CPU、内存及各组件版本的命令和方法
Linux下查看内核、CPU、内存及各组件版本的命令和方法Linux查看内核版本: uname -a more /etc/*release more /etc/RedHat-release more /proc/version查看C转载 2015-10-27 10:34:38 · 3407 阅读 · 0 评论 -
/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found
原因是没有GLIBCXX_3.4.15版本,或是更高的版本。 输入命令查询一下结果:[root@localhost ~]# strings /usr/lib/libstdc++.so.6 | grep GLIBCXX GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GL原创 2015-09-21 17:26:26 · 1094 阅读 · 0 评论 -
wget ERROR 404: Not Found.
[root@chenqiang-master-dev001-shgq downloads]#wget http://mirror.bit.edu.cn/apa che/zookeeper/zookeeper-3.4.3/zookeeper-3.4.3.tar.gz –2015-09-29 16:28:05– http://mirror.bit.edu.原创 2015-09-29 16:38:45 · 28524 阅读 · 2 评论 -
cpuacct (CPU Accounting Controller)
CPU Accounting ControllerThe CPU accounting controller is used to group tasks using cgroups and account the CPU usage of these groups of tasks.The CPU accounting controller supports multi-hierarchy gr原创 2015-09-28 11:30:48 · 2368 阅读 · 0 评论 -
ssh自动添加hostkey到know_hosts
当我们用ssh连接到其他linux平台时,会遇到以下提示:The authenticity of host ‘git.sws.com (10.42.1.88)’ can’t be established. ECDSA key fingerprint is 53:b9:f9:30:67:ec:34:88:e8:bc:2a:a4:6f:3e:97:95. Are you sure you want原创 2015-09-25 14:13:29 · 10153 阅读 · 0 评论 -
linux sed 批量替换字符串
比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做:sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`解释一下:-i 表示inplace edit,就地修改文件-r 表示搜索子目录-l 表示输出匹配的文件名这个命令组合很强大,要注意备份文件。(1)se转载 2015-07-03 10:55:09 · 561 阅读 · 0 评论 -
Astyle使用方法
Astyle是一个命令行工具,使用方法 astyle [options] SourceFile1 SourceFile2 SourceFile3 […]example:格式一个文件 astyle –style=linux /home/user/project/foo.cpp 递归地格式cpp和h文件 astyle –style=linux –recursive /home/u原创 2015-05-26 10:10:16 · 3249 阅读 · 0 评论 -
当笔记本是无线连接网络时,如何正确配置virtualbox的上网问题
Virtualbox很多的时候需要配置网络,现在给出我自己的一些配置经验。 其实virtualbox的网络连接上网的方式有很多种,大家可以度娘具体知晓,本人比较中意桥接方式,因为它可以使虚机具体独立同级别的网络环境。废话少说,言归正转。如下图所示,我们采用桥接网卡的连接方式,并选中具体的无线物理网卡类型及型号。 查看物理机网络 ipconfig /all 3. 配置虚拟机的网络 注意:设原创 2015-05-19 10:34:18 · 18884 阅读 · 1 评论 -
[经典]浅析Linux IO技术体系
1 基本概念 IO操作是程序设计里的一个重头戏,尤其是在Linux中,管道、网络等设备都看成了文件描述符,因此IO对于Linux程序设计更加重要。近年来,随着Nginx、lighttpd等新型高性能web服务器的广泛使用,其内部采用的epoll、异步IO等IO模型逐渐走入了人们的视野。本文将探究Linux各个IO模型的来龙去脉、基于原理与相互之间的联系,并进行IO效率与性能的简要分析转载 2015-06-02 11:06:46 · 550 阅读 · 0 评论