5、Linux 相关
子辰曦
这个作者很懒,什么都没留下…
展开
-
linux下测试程序运行时间
time测试程序执行时间结果含义real 0m0.003suser 0m0.000ssys 0m0.002sreal,就是整个运行这个进程从一开始到结束的整个时间(时钟墙)user,是指在运行这个进程中花在用户模式下的时间,即不包括内核的运行时间sys,是指在运行这个进程,花在内核调用的时间,而不是代码库调用user+sys=这个进程花的时间但是real则包原创 2015-02-06 18:10:39 · 4111 阅读 · 0 评论 -
gzip: stdin: invalid compressed data--format violated 解决
使用 tar 命令出现如下错误:gzip: stdin: invalid compressed data--format violatedtar: Child returned status 1tar: Error is not recoverable: exiting now第一次遇到这种问题,还以为是文件损坏了,结果把那个3.1G 的压缩文件又重新下载了一次,问题依旧,google 一下立原创 2016-01-28 19:46:45 · 32177 阅读 · 3 评论 -
ubuntu 安装 paramon 集群监控前台
去年写了篇装 paramon 前台的文章,没想到过了一年再去官网,发现居然没有支持 Ubuntu 的 deb 安装包了 T_T,只有 rpm 包,,,简单思考了下,脑子里浮现了一个想法, rpm 可以转换成 deb 包吗?借助搜索引擎,发现还真有这种东西存在,太神奇,,,下面再次记录安装全部过程。alien安装使用 alien sudo apt-get install alienalien xxx原创 2016-02-02 22:13:14 · 796 阅读 · 0 评论 -
bash alias 终极使用方法
1. alias对常用而有经常忘记的 shell 指令,我一般都会使用 alias 重定义一个命令放到 ~/.zshrc 里面,但是这种方式对于无法解决需要输入参数的 shell 命令。比如下面的命令:find . -type f -exec grep -Ho style.css {} \; | uniq是很实用的一个命令,从当前目录的所有文件中需找字符 style.css 并打印文件名因为这条长原创 2016-03-16 10:48:25 · 3673 阅读 · 1 评论 -
ubuntn 桌面环境高效使用终极教程
今天发现了一款神器,解决了我平常使用 Ubuntu 过程中遇到的所有桌面配置问题。以后重装 ubuntu 或者时在其他公司电脑上使用 ubuntu 就可以立马配置成自己熟悉的桌面环境了。这款软件叫 Unity tweak tool,桌面环境的前端配置工具。切换器每次使用 Alt + Tab 切换窗口时,都会有一个“显示桌面”的图标占据一格,很浪费切换器的空间。现在设置起来就很简单,还可以查看相应的快原创 2016-03-10 10:24:39 · 683 阅读 · 0 评论 -
shell 脚本调试技巧
最近写了一些简单的 shell 脚本,采用逐行检测的方式调试,效率实在是太低了。在看书和网上查资料的时候,找到了一些比较高效的调试技巧,在此做一个总结。1. sh 命令参数script 在执行前最怕的就是出现语法错误,对此我们可以通过 sh 的相关参数进行判断。$ sh [-nvx] scripts.sh参数:-n : 不要执行 script, 仅查询语法问题-v :在执行前,先将 scrip原创 2016-04-09 16:25:58 · 502 阅读 · 0 评论 -
linux命令行版有道词典
搜素 shell 脚本做有趣的事时发现了一个非常给力的脚本,实现命令行翻译英文单词。通过抓取有道词典网页代码,截取想要的信息,格式化输出到命令行。搞定!对柯林斯英汉双解大词典的内容比较偏爱,截取了他的释义和例句。#!/bin/bashARGS=1E_BADARGS=65TEM_FILE="/tmp/dict.tmp"if [ $# -ne "$ARGS" ] then echo "U原创 2016-04-09 17:19:13 · 1353 阅读 · 0 评论 -
优雅的浏览 man 手册页
TUI (teminal UI)直接在终端下执行命令:$ man [num] <command>彩色输出如果想让man 手册页彩色输出,可以使用工具 most步骤:安装:sudo apt-get most更改环境变量,~/.bashrc 或 ~/.zshrc 文件中加入export PAGES="most"浏览man [num] <command>效果如下图所示:GUI 浏览Ubuntu 自带原创 2015-11-20 23:31:15 · 871 阅读 · 0 评论 -
zsh 简单高效使用技巧
1. 补全zsh 的命令补全功能非常强大,可以补齐路径,补齐命令,补齐参数等。(请问你记住 tar 的所有参数了吗,只要 tar -加 tab 键)按下 tab 键显示出所有待选项后,再按一次 tab 键,即进入选择模式,进入选择模式后,按 tab 切向下一个选项,按 shift+tab 键切向上一个选项,ctrl+f/b/n/p 可以向前后左右切换以前杀进程是 ps aux | grep xxx原创 2016-04-09 22:53:00 · 2431 阅读 · 0 评论 -
clang llvm 源码编译安装
由于安装 vim 插件 youcompleteme 需要使用到 clang llvm 系统,所以我在公司的开发机上通过源码形式安装了 clang llvm。安装方式与普通软件源码安装类似,由于依赖较多,需要组织一些源码包的目录结构。详细过程如下:1. 下载llvm的源代码wget http://llvm.org/releases/3.6.0/llvm-3.6.0.src.tar.xztar xf原创 2016-05-24 11:53:57 · 14709 阅读 · 0 评论 -
vim 插件 youcompleteme full install
下载 youcompleteme 源码git clone https://github.com/Valloric/YouCompleteMe.git下载后执行下面命令下载第三方依赖,执行命令后发现 third_part 目录下面多了很多东西cd YouCompleteMegit submodule update --init --recursive安装 CMake我是通过源码安装的,安装步骤也很简原创 2016-05-24 14:25:44 · 9492 阅读 · 0 评论 -
cygwin 安装以及配置
cygwin是一个很不错的工具,它可以支持完成一些在linux下的常用操作。下面我们介绍 cygwin 的安装,到官网下载 setup.exe 文件,这个程序可以寻找 cygwin 所需第三方源。这里我们先下载主要的包代码,这些文件下载后会一直保留着,下次安装可以选择本地安装,就不用每次都是从网上下载(如果下载全部包将会占用13G硬盘空间),然后通过 setup.exe 安装。参考http://bl原创 2016-05-24 11:37:23 · 6617 阅读 · 0 评论 -
ssh 跳转登录
ssh -p port name@ip 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub登录远程主机并执行命令http://www.chenyudong.com/archives/expect-non-interactive-ssh-login-password-authentication.htmlhttp://www.ruanyifeng.com原创 2016-05-25 17:16:17 · 6332 阅读 · 0 评论 -
apt-cyg 代理设置
apt-cyg上周在公司的电脑上装好了 cygwin,但是死活都用不了 apt-cyg,可是镜像源用浏览器却能正常访问。搁置了一周,今天总算解决了这个问题,原来是公司内部的网络设置了 http 代理。解决方案如下:编辑 .bashrc 修改,加入代理环境变量export http_proxy=http://YouProxyIP:portsource 一下,就可以正常使用 apt-cyg 了。参考:原创 2016-06-01 10:42:10 · 1110 阅读 · 0 评论 -
Linux 无 root 权限安装 zsh
神器 zsh 不解释,谁用谁知道。下面介绍如何在无 root 权限的远程服务器上安装使用 zsh。downloadmkdir ~/tmpcd ~/tmpwget http://sourceforge.net/projects/zsh/files/zsh/5.0.7/zsh-5.0.7.tar.gz/download解压tar xzvf zsh-5.0.7.tar.gz编译cd ~/tmp/原创 2015-12-20 01:47:55 · 6194 阅读 · 3 评论 -
共享内存批量删除
Linux中通过API函数shmget创建的共享内存一般都是在程序中通过shmctl来释放的,但是有时为了调试程序,开发人员可能通过ctrl + c等方式来发送中断信号结束程序,这个时候,程序申请的共享内存就不能得到释放,当然,如果程序没有改动的话,第二次重新运行程序时仍然会使用上次申请的内存。但是我们总希望每次程序结束就能释放掉申请的共享内存。使用 ipcs -m 查看当前共享内存使用情况,使用原创 2016-06-23 16:03:14 · 5377 阅读 · 0 评论 -
Ubuntu Nginx 通过包管理器安装与卸载
源码编译安装过 nginx 后修改配置文件与 path 环境变量都比较麻烦。索性使用 apt-get 包管理器安装。由于nginx不能动态添加模块,所以会经常安装和卸载、升级。apt-get 安装nginx方法sudo apt-add-repository ppa:nginx/developmentsudo apt-get updatesudo apt-get install nginxapt-原创 2015-12-08 22:24:13 · 732 阅读 · 0 评论 -
Ngnix 启动失败,提示端口被占用
尝试启动 ngnix 服务器时,出现如下错误[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)表示有其他进程占用了 80号 端口。使用如下命令查看占用端口的使用情况:netstat -ntpl使用如下命令,直接杀掉 80 号端口的进程:sudo fuser -k 80/tcp现在可以正常启动 ngnix 服务器了:s原创 2015-12-07 01:53:10 · 634 阅读 · 0 评论 -
freebsd 代码移植时 gcc 相关bug
在移植linux代码到 freebsd 系统时,出现各种错误。现将所有错误一一罗列下来,并给出相关的解决方案。to_string is not a member of std编辑如下文件 test.cpp#include <string>using namespace std;int main(){ string s = std::to_string(42); cout <<原创 2015-11-21 02:35:38 · 1078 阅读 · 0 评论 -
Archlinux 折腾记录及感受(上)
Archlinux 折腾记录及感受(上) 没装过十次以上Linux,别说你玩过Linux。第一次听说Archlinux还是在几周前,对命令行安装系统的敬畏、少而碎片化的空闲时间以及糟糕的校园网络环境使我没有勇气与精力去折腾。这次卸掉Ubuntu,倒腾起Archlinux,不是自己闲着蛋疼。主要是,ubuntu的桌面实在是太臃肿,用起来有种windows的感觉,可又没有win方便,定制性也不够强原创 2015-04-05 01:05:11 · 2873 阅读 · 0 评论 -
Archlinux 折腾记录及感受(中)
Archlinux 折腾记录及感受(中)看到Arch从本地硬盘启动,并能成功连上wifi,心情无比激动。然而,这仅仅只是开始。接下来,需要配置基本的图形界面,浏览器,字体,输入法,窗口管理器,文件管理器…定制一个专属于自己轻量级操作系统。基本系统配置创建一个日常使用的桌面用户,并给用户添加root权限以及使用zsh作为终端# pacman -S zsh# useradd -m -g users原创 2015-04-06 13:13:28 · 3494 阅读 · 0 评论 -
安装配置openmpi
主要安装步骤分为如下5步,看完这些后,回过头去看安装包里的INSTALL文件,收获会更多。下载、解压openmpi到官网下载最新版本后、解压tar -xvf openmpi-xxxcd openmpi-xxx配置,- -prefix选项表示安装目录./configure --prefix="/opt/openmpi"Build 安装, -j 选项表示编译使用的核心数make -j 4 all有原创 2015-04-17 17:05:53 · 3966 阅读 · 0 评论 -
vim入门使用与配置
vim相关知识积累,持续更新中。常用按键一般模式n1,n2s/word1/word2/gn1行与n2行间寻找word1,替换为word21,$s/word1/word2/g第一行到最后一行寻找word1,替换为word2N[Enter] 向下移动n行0 : 移动到该行最后一个字符$ : 移动到该行第一个字符G : 最后一行gg : 首行x&原创 2015-05-16 01:00:09 · 1062 阅读 · 0 评论 -
排查源码编译错误的一些技巧
源码编译时有错误出现在 Linux 下是很正常的事,关键是要懂得查看错误信息。一般 Linux 下的错误主要是由路径、权限、链接库造成的,可以针对这些内容进行筛选,找出出错的原因并加以解决。对于编译一些时间长,输出多的库或程序,可以使用 make 2>&1 | tee build.log 来在文件和控制台同时输出 标准输出、标准错误输出 然后在log日志文件中直接搜索/error /ERROR /A原创 2015-05-16 01:05:20 · 3433 阅读 · 0 评论 -
Linux 下基本的查找命令和查看信息
查找命令和硬件信息查看是日常系统管理、维护最常的操作。下面就 Linux 的基本查找命令做一个简要的比较,并列举一些常用的硬件信息查看命令。man 常用选项-k 知道功能、不知道名称-f 知道名称、不知道功能各种查找命令比较whereis 查找命令的可执行文件、源文件、man page路径whatis 读取命原创 2015-06-07 00:18:12 · 1691 阅读 · 0 评论 -
Linux 中 shell 变量 $#,$@,$0,$1,$2 的含义解释:
变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 $@原创 2015-06-07 00:19:37 · 1037 阅读 · 0 评论 -
warning:deprecated conversion from string constant to 'char *'
warning:deprecated conversion from string constant to ‘char *’ 解决方案#include <iostream>using namespace std;int fuc(char *a){ cout << a << endl;}int main(){ fuc("hello");}Linux 环境下当GCC版本比较高原创 2015-06-07 00:42:24 · 2455 阅读 · 0 评论 -
Linux 系统任务有关命令
fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的& 最经常被用到 这个用在一个命令的最后,可以把这个命令放到后台执行ctrl + z 可以将一个正在前台执行的命令放到后台,并且暂停jobs 查看当前有多少在后台运行的命令fg 将后台中的命令调至前台继续运行 如果后台中有多个命令,可以用 fg %jobnumb原创 2015-06-07 00:40:30 · 1150 阅读 · 0 评论 -
ubuntu 技巧
Ubuntu自带了可以打开PDF的文档编辑器,如GIMP和文档查看器,但这些自带的文档编辑器并不是很好用,搜索功能不够强大,并且无法对文档进行注释、高亮以及下划线标记。由于在WIN下对foxit的产品感觉很满意,并且知道它也为linux做了一个PDF查看器,于是google了一下foxit deb,发现真的有ubuntu版,于是安装了下来。Install对应有32位和64位版。下面提供64位安装方法原创 2015-10-17 16:20:36 · 1001 阅读 · 0 评论 -
linux 下载安装 Scientific Toolworks Understand
Scientific Toolworks Understand for linux 这个软件我找了很久了,一直没有找到合适能装的。现在这款能在linux上顺利运行的版本,共享给需要的TX们。觉得这款软件在linux下很好用。系统版本:64位下载地址:part1:http://download.csdn.net/detail/look85/5604217part2:http://download.cs原创 2015-10-22 22:54:26 · 4261 阅读 · 0 评论 -
转换 Github-Favored Markdown 成 PDF
在 Ubuntu 可以下使用 vim 很方便地编辑 Markdown 格式的文件。但是由于需要提交报告,不得不转换 md 文件到 pdf。要求支持Github-Favored Markdown特性:由于Github-Favored Markdown 对代码高亮支持比较好,所以这里要求支持Github-Favored Markdown特性。可以完全在命令行模式下完成:从编辑到转换过程足够简单解原创 2015-11-15 16:58:47 · 2018 阅读 · 0 评论 -
避免SSH连接因超时闲置断开
用SSH过程连接电脑时,经常遇到长时间不操作而被服务器踢出的情况,常见的提示如: Write failed: Broken pipe这是因为如果有一段时间在SSH连接上无数据传输,连接就会断开。解决此问题有两种方法。schem 1在客户端设置方法很简单,只需在客户端电脑上编辑(需要root权限)/etc/ssh/ssh_config,并添加如下一行: ServerAliveInterv原创 2015-11-15 16:10:48 · 788 阅读 · 0 评论 -
Nginx 学习笔记
nginx 以小巧,并发能力强而著称,其运行速度非常快。下面以示例介绍我的学习过程。第一次尝试使用Nginx,对其原理和使用方式都是摸索式的进行,所以所有测试都在本机完成。一、源码编译安装wget http://nginx.org/download/nginx-1.7.1.tar.gz为了不至于与 sudo apt-get nginx 的安装目录搞混淆,在这里我指定安装目录为/home/david/原创 2015-12-07 03:02:22 · 472 阅读 · 0 评论 -
zsh不兼容的坑-zsh:no matches found
在 zsh 下使用 find 命令查找指定目录下所有头文件时出现问题:find . -name *.hno matches found: *.h后来查看了一些资料才知道,这是由于zsh导致的。具体原因:因为zsh缺省情况下始终自己解释这个 *.h,而不会传递给 find 来解释。解决办法:在~/.zshrc中加入: setopt no_nomatch, 然后进行source .zshrc命令原创 2016-07-31 15:50:22 · 22024 阅读 · 3 评论