2017-12月上月 下月一、2017-12-011、为了调试网元,很不幸,今日几台PC串口好像都坏了。主要工作电脑串口无反应,一台 linux 机器串口装了 SecureCRT,但是只有一次出现能读不能写的情况,其它场景下读都不行。换了一台作为 Jenkins 看板机的 linux ,费了好大力气,才把系统弄好,可惜系统是 CentOS7.2,比为之准备的 CentOS-Everything 版本更高。于是造成无法安装 SecureCRT, 所幸 可以利用源码编译/安装 minicom-2.3.tar.gz 和putty-0.63.tar.gz,两者都只要 ./configure && make && make install2、 linux 电池故障,需要更改系统时间,否则编译失败3、强制关闭 minicom 后,再次打开 minicom会提示 ttyS0 Locked,解决办法4、linux CentOS7 的 Everything.iso 配置然后 yum install CCache,却报错,要求导入公钥:解决办法:此时再安装 SecureCRT:rpm -ivh scrt-7.3.3-779.rhel6-64.x86_64.rpm却报错,说要求依赖 python 2.6 的库。如果能用,此 secureCRT 的破解办法为:securecrt_crack.pl5、失手把 VIM 弄坏,又得重新装上2017-12-09[12:23] U盘数据恢复大师程言超U盘出现大小为0的情况,出于好奇,专业的问题。拿过来研究试图解决之。上午花了半天才找到一个破解的 U盘数据恢复大师[12:24]但是仍然无法操作大小为0的U盘。[20:59]检查快速扩容盘工具软件:mydisktest.zip,只有一次检测出结果,但是多数情况下无法正常检测,而且win7下无法修复2017-12-13[21:15]坡道起步,可以加油门,或者如果有溜车迹象,应该立即踩刹车,然后从头再来。空调一定要关掉,否则动力不足,容易熄火。[21:17] win7 怎样断开 samba[21:18]win7 更改 samba 账号[21:20] linux putty 怎样更改字体[21:22]linux 添加新用户,添加 samba 账号[21:28] ftpget[21:29] linux ls -l 命令,怎样修改时间格式[21:37] linux 串口工具 minicom-2.3.tar.gz 的使用[21:52]wireshark 抓到的包,怎样重新发送2017-12-14[20:32] ftpget / ftpput[20:34]判断文件是否正常[20:37] excel 使用技巧,可以很大程度上提高工作效率2017-12-15[20:07] CentOS IP配置[20:50] 怎样在外网访问家中主机[20:52] 一个漂亮的 union 用法2017-12-20[20:34]使用 strtok 解析 csv 文件,遇到连续的逗号',‘情况[30:37] vim 指定行数范围内行首插入[20:38]vim 选中单词[20:40] linux 上安装 jenkins[20:49] 查看 linux 版本详细信息[20:51] 利用 jenkins.war 启动 jenkins 的痛苦历程[21:18] source insight 字体突然变量的原因找到[21:19] jenkins.war 2.89 添加从节点,费了太大力气[22:36]百般无奈之下,只得将自己的 web 发布在 coding.net 上,但是巨大的资源文件,还得等玩客云到来之后,才能再次部署2017-12-23[7:36]继GITHUB项目之后,又发现github wiki 也是个好东西[10:03]考虑到自已的域名已经购买一年半多,尚未使用,今日正式使用起来国内网站备案,由于这个原因,迟迟没有使用。另外,寻找服务器也是一个麻烦事,今日正式使用 github1、在自己的工程目录中,创建一个 index.html2、开启自己的 github 主页并为之更改域名,用自己的,而不是github默认的3、自己填写域名的出处4、等上几分钟,自己新配置的域名生效,访问之[11:22]github 完整操作[11:31] 每次都要手动输入用户名/密码,甚是烦人对于在 windows 下的 git,应该用到的配置是这样的[11:57]昨日工作中的问题1、CentOS 7 默认 gcc/g++ 版本是 4.8.2,要怎样升级到 6.2.0 ?[21:06] debian 8 jessie 默认不带 sz /rz 功能,需要自己安装1、首先下载安装包,lrzsz-0.12.20.tar.gz2、tar -xf lrzsz-0.12.20.tar.gz解压之,然后 ./configure && make && make install3、安装之后,生成的可执行文件是lrz lsz,需要自己将其重命令为 sz rz4、或者不重命令,而是创建快捷方式,快捷方式的名称为sz / rz 指向 lsz / lrz[21:00] 将家中 CentOS5.5 和 CentOS7 的 gcc 都升级为 gcc-6.2.0,最大便捷之处是家中可以连外网2017-12-24[8:12]别人做的基于 bootstrap 的表格代码[11:14] 又发生 jenkins 无法登录的问题2017-12-25[14:54]git config[14:56] linux 各种压缩包解压[15:58] 删除指定名称的文件/文件夹[15:59] linux 漂亮 的命令行风格我们只需在最后一行加保存退出,使文件生效什么是PS1"\h、\u、\W"是什么"\e[36m、\e[0m"又是什么[16:03] C语言命令行,解析用到长选项编译并运行之:[17:05]GCJ .IMG_171225_170644.JPG[17:08] Jenkins rest api[17:12]splint整理[17:13] curl 整理[20:30]各种C语言版测试框架、C语言资源大全总结[9:58]解决 CentOS yum 本地库不生效问题[13:52]linux 向所有终端发消息,广播消息[20:35] gerrit 添加一台新主机[14:55] ls ../a.txt -lh 会以多少M/K来显示[17:59] linux ls 命令只显示一行的方法2017-12-26[22:20] C语言的一个测试框架 check,点击下载[22:22]各种C语言测试框架,何其全面[22:25] 又是 samba, 不同的PC配置还有所不同[22:29] linux 下 vim 打开文件出现 ^M 的问题[22:34] lcov 有最新版本 lcov-1.9,今日安装受了不少苦[22:35] mockcpp的安装及依赖包也需要及早备份。今日主要苦头都在这几个上面[22:37]这些都是前研究的 python 发 lotus 邮件的资料2017-12-27[20:15]创建用户时,有时用户以`## 开头,很奇怪,没有生成相应的用户主目录[20:23] 试图升级 debian8 到 debian 9一、首先将本地版本升级,中间间或需要按Y确定二、将软件源改为Debian 9的stretch,禅宗原来的Debian 8是用jessie表示的:三、升级系统版本[21:30]得到 curl 最权威的使用说明everything-curl.pdf2017-12-29[4:08]日语曾经花过点时间,不能就此全部忘记[4:09]昨日主要目标是实现 shttpd 服务器的演示版本1、实现增加/删除元素2、实现所有元素查询3、[4:17] debian 不支持ll命令解决办法[4:35] debian 想查找哪个进程占用 80 端口,然后kill 掉,好难[6:04] 得到一个小工具,可以把代码覆盖率自动统计出来,比 lcov 更加简洁,gcovr-3.3.tar.gz一、安装二、准备演示代码comm.h :a.c :b.c :三、代码编译,正常的C项目编译,携带 gcov 信息四、用 gcovr 统计出覆盖率五、要怎样部署到 jenkins 上,没有研究出来上月 顶部 下月
date -s "2017-12-01 12:03:30"
xxxxxxxxxx#ls /var/lock#kill 0#sudo minicom ==>>成功启动,如不成功,可考虑重启系统
xxxxxxxxxx#mkdir /mnt/cdrom#mount -o loop ./CentOS-Everything.iso /mnt/cdrom-------------------------------------------#vi /etc/yum.repos.d/CentOS-Media.repo[cdrom]name=[CDROM]baseurl=file:///mnt/cdromgpgcheck=1 #可以不开enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CENTOS-7
xxxxxxxxxxrpm --import public.gpg.key
xxxxxxxxxx#rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
rpm -ivh scrt-7.3.3-779.rhel6-64.x86_64.rpm却报错,说要求依赖 python 2.6 的库。如果能用,此 secureCRT 的破解办法为:securecrt_crack.pl先把原来的 vim 都卸载掉:
xxxxxxxxxxrpm -qa | grep vimrpm -e vim-x11-7.4.160-1.el7.x86-64 #普通卸载rpm -e --nodeps vim-minimal #强制卸载然后再利用 everything.iso包将 vim 安装回来
xxxxxxxxxxyum install vim本来进展顺利,但是安装到 vim-comm-7.4.160-1.el7.x86_64.rpm 时,提示需要一个 gpgkey:/etc/pki/rpm-gpg/RPMvM-GPG-KEY-CENTOS-7,因找不到而中止安装于是我将原有的 RPM-GPG-KEY-CENTOS-7 复制了一份,叫做 RPvM-GPG-KEY-CENTOS-7,然后竟然验证成功
ubuntu 上默认安装的是 vim.tiny,是一个简化版的 vim ,功能不全,不支持高亮
症状:首先插上U盘时,右边的预览窗口,可以列出U盘中的文件列表。也能显示U盘为28.8G。但是U盘自检完成后,就变成了0,文件列表也消失了。
据说将U盘格式改为 RAW格式可解决,但是如何更改其格式?
windows+run 输入:control keymgr.dll,然后将相应连接删除,然后重启PC。
windows + run 输入:control keymgr.dll,找到相应连接,编辑,改账号,改密码
putty -fn 20 -sl 500 -->> -fn 字体 / -sl scrool lines
putty --help
1、useradd -u 544 -d /home/testuser -g users -m testuser
2、#smbpasswd -a testuser
3、编辑smb.conf, 添加如下内容:
xxxxxxxxxx[testuser]path = /home/testuserbrowseable = yessecurity = sharewriteable = yesvalid users= testusercreate mode= 0777force create mode = 0777force directory mode = 0777
ftpget -v -u user -p pwd remote_ip local_file remote_file
1、#ls -l --time-style=long-iso 就是我要的格式
xxxxxxxxxxAdministrator@WINDOWS-EQN68ID ~$ ls -l --time-style=long-iso总用量 8-rwxr-xr-x 1 Administrators None 1694 2016-10-18 06:40 AutoTest.pem-rwxr-xr-x 1 Administrators None 1694 2016-10-16 09:33 AutoTestInstance.pemdrwxr-xr-x+ 1 Administrator None 0 2017-01-14 21:16 packagedrwxr-xr-x+ 1 Administrator None 0 2017-01-30 14:56 perl5drwxr-xr-x+ 1 Administrator None 0 2017-04-03 12:51 study还有 iso、full-iso 等格式
2、采用这种方法,定制日期格式,vi /etc/profile
xxxxxxxxxxexport TIME_STYLE='+%Y/%m/%d %H:%M:%S'然后输入命令:source /etc/profile
1、本地工具:minicom-2.3.tar.gz
2、直接 ./configure && make && make install
3、 minicom的使用
A、首次使用,输入 minicom -s,进入配置界面
B、选中
serial port setup,输入A则选中设备。==》输入E则配置波特率==》配置为115200 8N14、选中主界面
Modem and dialing,有A、B、K中个选项。5、选中主界面
save setup as dfl,将其保存为默认配置6、如果启动失败,则删除文件 /var/lock/LCK..ttyS0
7、 minicom 只有输出,无法输入的问题:
原来是 serial port setup 下面的
F-Hardware Flow Control被不小心打开,将其关闭即可,两个Flow Control都要关闭8、minicom 的优势:
纯字符界面,远程就可以操作,比 putty 方便多了
1、Colasoft packet player
可以把 wireshark 的抓包重新发送
2、colasoft packet builder
可以编辑新的包,然后发送
ftpget -v -u user -p pwd remote_ip local_name remote_file
ftpput -v -u user -p pwd remote_ip remote_file local_file
xxxxxxxxxxstruct stat statbuf;if (OK != stat("file_name", &statbuf)){printf("file download failed!\n");}
1、从其它 sheet 引用单元格数据:
=sheet_dictionary!I4 ==>>即引用人家I4单元格的数据
先制作字典:
![]()
2、下拉菜单制作,内容为公司,以及不同公司的不同产品
3、产品 product 某一个单元格,设定输入为指定列
A、首先要建立对应关系,即公司对应的产品
最后手动输入
=INDIRECT($A3)
B、实际应用
1、配置IP
xxxxxxxxxx#vi /etc/sysconfig/network-script/ifcfg-eth0DEVICE=eth0BOOTPROTO=staticHWADDR=;#这里是相应网卡的物理地址,通常如果检查到网卡的话就不用输入了ONBOOT=yesIPADDR=192.168.1.123NETRMASK=255.255.255.0NETWORK=192.168.1.0BROADCAST=192.168.1.255GATEWAY=192.168.1.2542、重启网络
/sbin/service network restart
/etc/init.d/network reload
3、一句话配置IP
xxxxxxxxxx# ifconfig eth0 192.168.1.12 netmask 255.255.255.0 up4、网关修改
xxxxxxxxxx# route add default gw 192.168.1.2# route del default gw 192.168.32.15、打开/关闭网关
xxxxxxxxxx# ifconfig eth0 up# ifconfig eth0 down6、编辑DNS
xxxxxxxxxx# vi /etc/resolv.conf# nameserver 61.147.37.1# nameserver 61.177.7.17、编辑网关
xxxxxxxxxx# vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=vmlinuxGATEWAY=192.168.1.2548、smb.conf 标准配置
x[global]dos charset = GB2312unix charset = GB2312display charset = GB2312directory mask = 0777force directory mode = 0777directory security mask = 0777force directory security mode = 0777create mask = 0777force create mode = 0777security mask = 0777force security mode = 0777workgroup = homedirnetbios = homedirserver string = linux samba serversecurity = userusername map = /etc/samba/smbusers[WishCell]path = /home/WishCellbrowseable = yessecurity = sharewriteable = yesvalid users = WishCellcreate mode = 0777force create mode = 0777force directory mode = 07779、关闭防火墙,重启 samba
xxxxxxxxxx# setenforce 0# sudo systemctl stop firewall.service && sudo systemctl disable firewall.service# systemctl status smb.service10、创建新用户,并为其设置 samba
xxxxxxxxxx# useradd WishCell //如果不满意,删除之:userdel WishCell# passwd WishCell //设置密码# smbpasswd -a WishCell //设置 samba# 然后编辑 /etc/samba/smb.conf
coding.net :
xxxxxxxxxx# curl 115.174.107.177:8080/web/daily_work/2017/2017-12.html -o 2017-12.html但是怎样才能将整个 web 目录下载到本地?
xxxxxxxxxxtypedef union{WORD32 devIdx;struct {WORD32 portIdx;WORD32 slaveID;};}MyDevType;int main(){MyDevType devType;memset(&devType, 0, sizeof(devType));devType.devIdx = 5; //这个值会被下一行覆盖devType.portIdx = 32;devType.slaveID = 27;printf("devType.devIdx = %d\n", devType.devIdx);printf("devType.portIdx= %d\n", devType.portIdx);printf("devType.slaveID= %d\n", devType.slaveID);return 0;}
程序运行结果:
此时 strtok 会将多个‘,,,'当作一个看待,于是造成无法正常解析的情况,所以应该先将其转化为 ',|,|,',然后再正常解析
xxxxxxxxxx:69,87s/EXPECT/Good/g1、
v + e选中单词2、
v + e + y选中单词并复制3、
v + e + p选中单词,并被新的粘贴内容替代
1、启动 jenkins
xxxxxxxxxxjava -jar /usr/local/src/jenkins.war2、停止 jenkins 直接 ctrl + c
3、jenkins 默认端口为 8080,常用配置参数如下
xxxxxxxxxx--httpPort --ajp13Port# 指定端口java -jar /usr/local/src/jenkins.war --httpPort=8081--daemon # 以后台任务形式启动jenkins--logfile # 指定jenkins启动日志路径mkdir /var/log/jenkinsjava -jar /usr/local/src/jenkins.war --logfile=/var/log/jenkins/jenkins.log4、调用内嵌的Winstone应用服务器运行Jenkins
1、调用Winstone应用服务器来重启或关闭Jenkins,需要启动Jenkins时指定controlPort选项,示例:
xxxxxxxxxxjava -jar /usr/local/src/jenkins.war --controlPort=80015、首次启动遇到的问题
此时应该当红色路径中的内容 COPY 到页面上即可
xxxxxxxxxx# lsb_release -a #然后才能找到相应的 everything 包
jenkins 版本发布路径:
http://updates.jenkins-ci.org/download/war/,用最新版本 2.97
#java -jar jenkins.tar --controlPort=8001xxxxxxxxxx启动之后,访问 web 页面,得到报错:HTTP ERROR: 503Problem accessing /. Reason:service UnavailablePowered by Jetty://==>>百度求助,说是 tomcat 没有启动。
在 centos 7.0上,执行命令
xxxxxxxxxx#whereis tomcat成功找到,运行之,
# tomcat start,出了一条打印,以为是错误。于是将 nginx-1.9.2 引入到系统,只执行三条语句 :./configure && make && make install即安装成功
nginx 默认端口为80, 而 tomcat 默认端口为 8080,试验的时候竟然发现 nginx 和 tomcat 都成功了
于是还是用 tomcat,因为这种搭配比较多。
jenkins.war 的启动方法有两种:
1、 #java -jar jenkins.war --httpPort=80 --controlPort=8001
2、将 jenkins.war 复制到 tomcat 的 webapps 目录下,然后在浏览器中输入 http://10.63.180.93:8080/jenkins , 然后 tomcat 会自己把 jenkins.war 包解压
两种方法没有什么本质上的不同
jdk1.8点击下载 安装
xxxxxxxxxx由于使用了新版本的 jenkins.war, 要求必须使用 jdk1.8于是下载之,得到 jdk1.8.0_131.tar.gz首先将之前的版本卸载:# rpm -qa | grep java #卸载之前,先看看有哪些版本要删除卸载 OpenJDk# rpm -e --nodeps tzdata-java-2014b-1.el7.norch# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.71...# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.71...安装新的 jdk1.8.0_131# mkdir -p /usr/lib/jvm# tar -zxvf jdk1.8.0_131.tar.gz -C /usr/lib/jvm然后设置环境变量# vi /etc/profile增加如下内容:# export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131# export JRE_HOME=${JAVA_HOME}/jre# export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib# export PATH=${JAVA_HOME}/bin:${PATH}执行 profile# source /etc/profile最后确认版本是否安装成功# java --version
因为 Document Options 中,Document type 内容为
C source file时,对应的过滤器被无意间删除了,将其加上*.c,*.h即可
[21:56]终于勉强搞定
需要自己动手下载的工具,及先后顺序:
structs.hpi credentials.hpi ssh-credentials.hpi ssh-slaves.hpi
[22:34]尝试在自己的虚拟机上建立从节点,可以建立,但是 deb ian 无 java, CentOS5.5 也安装 jdk1.8失败。

xxxxxxxxxxAdministrator@WINDOWS-EQN68ID /cygdrive/e/study/git/git_hub/daily_work_wiki$ git clone https://github.com/HateIron/HateIron.wiki.git正克隆到 'HateIron.wiki'...remote: Counting objects: 3, done.remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0展开对象中: 100% (3/3), 完成.检查连接... 完成。Administrator@WINDOWS-EQN68ID /cygdrive/e/study/git/git_hub/daily_work_wiki$ lsHateIron.wiki$ git commit -m "add HateIron.wiki"*** Please tell me who you are.Run git config --global user.email "you@example.com" git config --global user.name "Your Name"to set your account's default identity.Omit --global to set the identity only in this repository.fatal: unable to auto-detect email address (got 'Administrator@WINDOWS-EQN68ID.( none)')
xxxxxxxxxxAdministrator@WINDOWS-EQN68ID /cygdrive/e/study/git/git_hub/daily_work_wiki/HateIron.wiki$ touch readme.md$ lsHome.md readme.md$ git add .$ git push -u origin master$ git logcommit a17f7ae3968a05667184e8dc8af87b703b1c54f6Author: HateIron <15900748704@139.com>Date: Sat Dec 23 07:27:19 2017 +0800 try to add one filecommit 51dcdf33799ee58e49dd7858d0a6dfcc334dc3bcAuthor: HateIron <158047182@qq.com>Date: Sat Dec 23 07:18:11 2017 +0800 Initial Home page





xxxxxxxxxx git init git pull https://github.com/HateIron/HateIron.git git remote add origin https://github.com/HateIron/HateIron.git $ cat .git/config[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true[user] email = "15900748704@139.com" name = HateIron[remote "origin"] url = https://github.com/HateIron/HateIron.git fetch = +refs/heads/*:refs/remotes/origin/*[branch "master"] remote = origin merge = refs/heads/master git addgit commit -m "commit some changes"$ git push -u origin masterUsername for 'https://github.com':Password for 'https://HateIron@github.com':对象计数中: 30, 完成.Delta compression using up to 24 threads.压缩对象中: 100% (30/30), 完成.写入对象中: 100% (30/30), 1.76 MiB | 486.00 KiB/s, 完成.Total 30 (delta 2), reused 0 (delta 0)remote: Resolving deltas: 100% (2/2), completed with 2 local objects.To https://github.com/HateIron/HateIron.git f1e54eb..421df36 master -> master分支 master 设置为跟踪来自 origin 的远程分支 master。再次修改git pullgit add .git push$ git pushUsername for 'https://github.com':Password for 'https://HateIron@github.com':对象计数中: 3, 完成.Delta compression using up to 24 threads.压缩对象中: 100% (3/3), 完成.写入对象中: 100% (3/3), 405 bytes | 0 bytes/s, 完成.Total 3 (delta 1), reused 0 (delta 0)remote: Resolving deltas: 100% (1/1), completed with 1 local object.To https://github.com/HateIron/HateIron.git 421df36..ba64af1 master -> master如果还未添加远程地址,可以输入一下命令:
xxxxxxxxxxgit remote add origin https://username:password@git.oschina.net/diligentyang/ysy107lab.git如果已添加远程地址,直接编辑 .git/config
打开个人文件夹,一般为C:\Documents and Settings\用户名,其中有一个.gitconfig的文件
xxxxxxxxxx[credential]helper=store
人家的说明:
https://www.cnblogs.com/lzpong/p/5755678.html获取 gcc-6.2.0镜像的方法:
curl https://ftp.gnu.org/gcc/gcc-6.2.0/gcc-6.2.0.tar.bz2 -o gcc-6.2.0.tar.bz2
tar -xf lrzsz-0.12.20.tar.gz解压之,然后 ./configure && make && make installlrz lsz,需要自己将其重命令为 sz rzsz / rz指向 lsz / lrzxxxxxxxxxx# ln -s lrz rz# ln -s lsz sz快捷方式,可以用命令行查看出来
xxxxxxxxxxroot@debian:/usr/local/bin# ls -ltotal 1224-rwxr-xr-x 3 root staff 201820 Nov 16 14:14 lrb-rwxr-xr-x 3 root staff 201820 Nov 16 14:14 lrx-rwxr-xr-x 3 root staff 201820 Nov 16 14:14 lrz-rwxr-xr-x 3 root staff 210848 Nov 16 14:14 lsb-rwxr-xr-x 3 root staff 210848 Nov 16 14:14 lsx-rwxr-xr-x 3 root staff 210848 Nov 16 14:14 lszlrwxrwxrwx 1 root staff 3 Nov 16 14:16 rz -> lrzlrwxrwxrwx 1 root staff 3 Nov 16 14:16 sz -> lsz
主要流程,参考自`https://www.cnblogs.com/lzpong/p/5755678.html,人家写的极为详细,照做就行
1、想办法弄到 gcc-6.2.0.tar.bz2,从
[http://ftp.gnu.org/gnu/gcc ](http://ftp.gnu.org/gnu/gcc)下载也行2、下载供编译需求的依赖项
xxxxxxxxxx参考文献[1]中说:这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。# cd gcc-6.2.0# ./contrib/download_prerequisites家中电脑可以很方便的到网上下载,但是公司环境,不允许连接外网。很蹩脚对照一下家中安装成功的机器,看看脚本是怎样安排下载下来的工具的:[wishcell@localhost gcc-6.2.0]$ lllrwxrwxrwx. 1 root root 9 Dec 15 04:49 gmp -> gmp-4.3.2drwxrwxrwx. 15 server wheel 4096 Jan 7 2010 gmp-4.3.2-rw-r--r--. 1 root root 1897483 Dec 15 04:49 gmp-4.3.2.tar.bz2lrwxrwxrwx. 1 root root 8 Dec 15 04:53 isl -> isl-0.15drwxrwxr-x. 9 wishcell wishcell 8192 Jun 11 2015 isl-0.15-rw-r--r--. 1 root root 1574964 Dec 15 04:53 isl-0.15.tar.bz2lrwxrwxrwx. 1 root root 9 Dec 15 04:50 mpc -> mpc-0.8.1drwxrwxrwx. 5 wishcell wishcell 4096 Dec 7 2009 mpc-0.8.1-rw-r--r--. 1 root root 544950 Dec 15 04:50 mpc-0.8.1.tar.gzlrwxrwxrwx. 1 root root 10 Dec 15 04:38 mpfr -> mpfr-2.4.2drwxrwxrwx. 5 1114 1114 8192 Nov 29 2009 mpfr-2.4.2-rw-r--r--. 1 root root 1077886 Dec 15 04:38 mpfr-2.4.2.tar.bz2.......[wishcell@localhost gcc-6.2.0]$原来脚本将下载下来的目录先解压,然后再创建快捷方式,去掉版本号# tar -xf gmp-4.3.2.tar.bz2# tar -xf isl-0.15.tar.bz2# tar -xf mpc-0.8.1.tar.gz# tar -xf mpfr-2.4.2.tar.bz2## ln -s gmp-4.3.2 gmp# ln -s isl-0.15 isl# ln -s mpc-0.8.1 mpc# ln -s mpfr-2.4.2 mpfr然后步骤果然可以正常往下进行3、建立一个目录供编译出的文件存放
xxxxxxxxxx# mkdir gcc-build-6.2.0# cd gcc-build-6.2.04、 生成Makefile文件, 这里的
c,c++一定要小写,否则会安装失败xxxxxxxxxx# ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib5、 编译,耗时最长的操作,高配虚拟机用了大约85分钟,这里的6核只用了4核,浪费许多时间,然后在 debian 8 jessie 安装,它配置了14核10G内存,总共用时约33分钟
xxxxxxxxxx# make -j4# -j4 选项是make对多核处理器的优化,如果不成功请使用 make,相关优化选项可以移步至参考文献[2]。root@debian:/packages/gcc-6.2.0/gcc-build-6.2.0# date > log ; make -j14 >> log 2>&1 ; date >> loglog 的内容为:Sat Dec 23 09:50:37 EST 2017........Sat Dec 23 10:23:12 EST 20176、 安装,然后可以看到 gcc-6.2.0已经被安装到 /usr/local/bin 里面
xxxxxxxxxxroot@debian:/packages/gcc-6.2.0/gcc-build-6.2.0# make installroot@debian:/packages/gcc-6.2.0/gcc-build-6.2.0# ls /usr/local/bin | grep gccgccgcc-argcc-nmgcc-ranlibi686-pc-linux-gnu-gcci686-pc-linux-gnu-gcc-6.2.0i686-pc-linux-gnu-gcc-ari686-pc-linux-gnu-gcc-nmi686-pc-linux-gnu-gcc-ranlibroot@debian:/packages/gcc-6.2.0/gcc-build-6.2.0#7、 重启,然后查看gcc版本
gcc -vdebian 8 jessie,为何 g++ 成功而 gcc 没有安装成功?
xxxxxxxxxxroot@debian:/packages/gcc-6.2.0/gcc-build-6.2.0# gcc -vUsing built-in specs.COLLECT_GCC=gccTarget: i586-linux-gnuConfigured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-i386 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-i386 --with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-targets=all --enable-multiarch --with-arch-32=i586 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=i586-linux-gnu --host=i586-linux-gnu --target=i586-linux-gnuThread model: posixgcc version 4.9.2 (Debian 4.9.2-10)root@debian:/packages/gcc-6.2.0/gcc-build-6.2.0# g++ -vUsing built-in specs.COLLECT_GCC=g++COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i686-pc-linux-gnu/6.2.0/lto-wrapperTarget: i686-pc-linux-gnuConfigured with: ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilibThread model: posixgcc version 6.2.0 (GCC)root@debian:/packages/gcc-6.2.0/gcc-build-6.2.0#
CentOS5.5,为何 g++ 成功而 gcc 没有安装成功?
xxxxxxxxxx[root@localhost lib64]# gcc -vUsing built-in specs.Target: x86_64-redhat-linuxConfigured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=x86_64-redhat-linuxThread model: posixgcc version 4.1.2 20080704 (Red Hat 4.1.2-48)[root@localhost lib64]# g++ -vUsing built-in specs.COLLECT_GCC=g++COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/6.2.0/lto-wrapperTarget: x86_64-pc-linux-gnuConfigured with: ../configure --enable-checking=release --enable-language=C,C++ --disable-multilibThread model: posixgcc version 6.2.0 (GCC)CentOS 7 gcc/g++ 都成功
xxxxxxxxxx[root@localhost gcc-6.2.0]# gcc -vUsing built-in specs.COLLECT_GCC=gccCOLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/6.2.0/lto-wrapperTarget: x86_64-pc-linux-gnuConfigured with: ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilibThread model: posixgcc version 6.2.0 (GCC)[root@localhost gcc-6.2.0]# g++ -vUsing built-in specs.COLLECT_GCC=g++COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/6.2.0/lto-wrapperTarget: x86_64-pc-linux-gnuConfigured with: ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilibThread model: posixgcc version 6.2.0 (GCC)[root@localhost gcc-6.2.0]#8、 写个C++11 特性的程序段测试,可以成功编译运行
xxxxxxxxxx# g++ -std=c++11 -o tryCpp11 tryCpp11.cc[wishcell@localhost c++11]$ ./firstuppercase letters in: Hello World!9、升级gcc,生成的动态库没有替换老版本gcc的动态库
源码编译升级安装了
gcc后,编译程序或运行其它程序时,有时会出现类似/usr/lib64/libstdc++.so.6: versionGLIBCXX_3.4.21' not found的问题。这是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc`最新版本的动态库替换系统中老版本的动态库即可解决。9.1 CentOS运行以下命令检查动态库
strings /usr/lib64/libstdc++.so.6 | grep GLIBC从输出可以看出,
gcc的动态库还是旧版本的。说明出现这些问题,是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库。debian 则用这条命令
root@debian:/packages/gcc-6.2.0/gcc-build-6.2.0# strings /usr/local/lib/libstdc++.so.6 | grep GLIBC
9.2 执行以下命令,查找编译
gcc时生成的最新动态库xxxxxxxxxx[root@localhost gcc-build-6.2.0]# find / -name "libstdc++.so*"将上面的最新动态库
libstdc++.so.6.0.22复制到/usr/lib64目录下.xxxxxxxxxx# cd /usr/lib64# cp /root/Downloads/gcc-6.1.0/gcc-build-6.1.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 ./对于 debian 8 jessie,是这样操作的,看来 debian 是一台32位虚拟机:root@debian:/packages/gcc-6.2.0/gcc-build-6.2.0# cd /usr/local/libroot@debian:/usr/local/lib# cp /packages/gcc-6.2.0/gcc-build-6.2.0/stage1-i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 ./
9.3 删除原来软连接
xxxxxxxxxx# rm -rf libstdc++.so.6
9.4 将默认库的软连接指向最新动态库
xxxxxxxxxx# ln -s libstdc++.so.6.0.22 libstdc++.so.6
9.5 默认动态库升级完成。重新运行以下命令检查动态库
xxxxxxxxxx# strings /usr/lib64/libstdc++.so.6 | grep GLIBC
http://blog.csdn.net/wangmei4968/article/details/48437175
直接找到相关配置文件,找到
<useSecurity>true</useSecurity>,将其改为 false 即可xxxxxxxxxx[root@localhost packages]# vi /root/.jenkins/config.xml<?xml version='1.0' encoding='UTF-8'?><hudson><disabledAdministrativeMonitors/><version>2.97</version><installState><isSetupComplete>true</isSetupComplete><name>RUNNING</name></installState><numExecutors>2</numExecutors><mode>NORMAL</mode><useSecurity>true</useSecurity><authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/><securityRealm class="hudson.security.SecurityRealm$None"/><disableRememberMe>false</disableRememberMe><projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/><workspaceDir>${JENKINS_HOME}/workspace/${ITEM_FULL_NAME}</workspaceDir><buildsDir>${ITEM_ROOTDIR}/builds</buildsDir><markupFormatter class="hudson.markup.EscapedMarkupFormatter"/><jdks/><viewsTabBar class="hudson.views.DefaultViewsTabBar"/><myViewsTabBar class="hudson.views.DefaultMyViewsTabBar"/><clouds/><scmCheckoutRetryCount>0</scmCheckoutRetryCount><views><hudson.model.AllView><owner class="hudson" reference="../../.."/><name>all</name><filterExecutors>false</filterExecutors><filterQueue>false</filterQueue><properties class="hudson.model.View$PropertyList"/></hudson.model.AllView></views><primaryView>all</primaryView><slaveAgentPort>-1</slaveAgentPort><disabledAgentProtocols><string>JNLP-connect</string><string>JNLP2-connect</string></disabledAgentProtocols><label></label><crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer"><excludeClientIPFromCrumb>false</excludeClientIPFromCrumb></crumbIssuer><nodeProperties/><globalNodeProperties/></hudson>
xxxxxxxxxx# git config --global user.name "zhou.WishCell" ==>>设置用户名# git config --blobal user.email "zhou.WishCell@139.com" ==>>设置邮箱# git commit --amend --author="zhouWishCell<zhou.WishCell@139.com"==>>修改本地入库的用户名# git push origin HEAD:ref/for/master ==>>将代码推送到指定服务器
xxxxxxxxxx# tar -zxvf xx.tar.gz# tar -jxvf xx.tar.bz2# xz -d xx.tar.x2# lzip -d xx.tar.lz# unzip xx.zip# unrar xx.rar
xxxxxxxxxxfind -type d | grep .svn$ | xargs rm -ffind ./ -name '\*.exe' -type f -print -exec rm -rf {};"-type f " 表示类型为文件" -print " 输出查找到的文件目录名最主要的是 "-exec",它后面跟着一条需要执行的命令,表示将 find 出来的文件或目录执行该命令.命令后面是一对 {},后面一个空格和一个分号
xxxxxxxxxx[debian@localhost ~]$ vi .bash_profile 1 # .bash_profile 2 3 # Get the aliases and functions 4 if [ -f ~/.bashrc ]; then 5 . ~/.bashrc 6 fi 7 8 # User specific environment and startup programs 9 10 PATH=$PATH:$HOME/bin11 12 export PATH xxxxxxxxxxexport PS1="\e[36m\u\e[0m@\e[32m\h\e[0m: \e[34m\W\e[0m\$ " xxxxxxxxxx[debian@localhost ~]$ . .bash_profile
先看这条命令export PS1="\e[36m\u\e[0m@\e[32m\h\e[0m: \e[34m\W\e[0m\$ "
PS1是Linux用来设置命令提示符的环境变量
\u :当前用户的账号名称
\u :当前用户的账号名称
\H :完整的主机名称
\u :当前用户的账号名称
\H :完整的主机名称
\h :主机名
\u :当前用户的账号名称
\H :完整的主机名称
\h :主机名
\w :完整的工作目录名称
\u :当前用户的账号名称
\H :完整的主机名称
\h :主机名
\w :完整的工作目录名称
\W :当前工作目录名称
\u :当前用户的账号名称
\H :完整的主机名称
\h :主机名
\w :完整的工作目录名称
\W :当前工作目录名称
\$ :提示字符,root为# ,普通用户为$
其它
\d :日期
\d :日期
\t :显示时间为24小时格式
\d :日期
\t :显示时间为24小时格式
\T :显示时间为12小时格式
\d :日期
\t :显示时间为24小时格式
\T :显示时间为12小时格式
\A :显示时间为24小时格式
\e[36m 是ANSI控制码,又叫VT100系列控制码,用于在字符显示系统中控制光标移动和字符色彩等
ANSI控制码开始的标志都为ESC[,ESC对应ASCII码表的033(八进制),\033来输入ESC,\033[36m即为ESC[36m
在Linux里\033[等同于\e[,故用\e[36m
颜色代码
| 背景色 | 字体色 |
|---|---|
| 40: 黑 | 30: 黑 |
| 41: 红 | 31: 红 |
| 42: 绿 | 32: 绿 |
| 43: 黄 | 33: 黄 |
| 44: 蓝 | 34: 蓝 |
| 45: 紫 | 35: 紫 |
| 46: 深绿 | 36: 深绿 |
| 47: 白色 | 37: 白色 |
ANSI控制码
| 控制码 | 说明 |
|---|---|
\033[30m -- \033[37m | 设置前景色 |
\033[40m -- \033[47m | 设置背景色 |
\033[0m | 关闭所有属性 |
\033[1m | 设置高亮度 |
\033[4m | 下划线 |
\033[5m | 闪烁 |
\033[7m | 反显 |
\033[8m | 消隐 |
export PS1="\[\e[36m\]\u\[\e[0m\]@\[\e[32m\]\h\[\e[0m\]: \[\e[34m\]\ W\[\e[0m\]\$ "
应该收敛\[\e[36m\],\e[36m这是一个整体,应该[]起来
xxxxxxxxxxint main(int argc, char **argv){ int opt; int digit_optind = 0; int option_index = 0; char *optstring = "a:b:c:d" ; static struct option long_options[] = { {"reqarg", required_argument, NULL, 'r'}, {"noarg", no_argument, NULL, 'n'}, {"optarg", optional_argument, NULL, 'o'}, {0, 0, 0, 0 }, }; while ((opt=getopt_long(argc, argv, optstring, long_options, &option_index)) != -1) { printf("opt = %c\n", opt); printf("optarg = %s\n", optarg); printf("optind = %d\n", optind); printf("argv[optind - 1] = %s\n", argv[optind - 1]); printf("option_indecx = %d\n", option_index); } return 0;} xxxxxxxxxxdebian@debian: getopt$ ./a.out adebian@debian: getopt$ ./a.out odebian@debian: getopt$ ./a.out ordebian@debian: getopt$ ./a.out ddebian@debian: getopt$ ./a.out -d # 这是一个短选项 -dopt = doptarg = (null)optind = 2argv[optind - 1] = -doption_indecx = 0debian@debian: getopt$ ./a.out --r # 这是一个长选项,要求携带参数./a.out: option '--reqarg' requires an argumentopt = ?optarg = (null)optind = 2argv[optind - 1] = --roption_indecx = 0debian@debian: getopt$ ./a.out --r a=3 # 这是一个长选项,要求携带参数opt = roptarg = a=3optind = 3argv[optind - 1] = a=3option_indecx = 0debian@debian: getopt$ debian@debian: getopt$ ./a.out --n # 这是一个长选项,不需要携带参数opt = noptarg = (null)optind = 2argv[optind - 1] = --noption_indecx = 1debian@debian: getopt$ ./a.out --n tt # 这是一个长选项,不需要携带参数opt = noptarg = (null)optind = 2argv[optind - 1] = --noption_indecx = 1debian@debian: getopt$ ./a.out --o u # 这是一个长选项,参数可选opt = ooptarg = (null)optind = 2argv[optind - 1] = --ooption_indecx = 2debian@debian: getopt$ ./a.out --o u=9 # 这是一个长选项,参数可选opt = ooptarg = (null)optind = 2argv[optind - 1] = --ooption_indecx = 2debian@debian: getopt$
http://www.thisiscool.com/gcc_mingw.htm
代码路径: c:\thisiscool-gcc\examples\gcj-examples [root@10 java]# gcj --main=HelloWorld HelloWorld.java -o HelloWorld
IMG_20171225_170822.JPG
http://blog.chinaunix.net/uid-1483387-id-76561.html
xxxxxxxxxxlcov -d ../dir1 -d dir2 -d dir3 -c -o /usr/local/nginx/html/PrjLcovDir/Prj.infogenhtml -o /usr/local/nginx/html/PrjLcovDir/ /usr/local/nginx/html/PrjLcovdir/Prj.info
https://www.kafan.cn/edu/4148601.html
http://shashanzhao.com/archives/1188.html
http://blog.csdn.net/benpaobagzb/article/details/50783423
xxxxxxxxxx# mkdir /mnt/cdrom# mount -o loop /packages/CentOS7-Everything.iso /mnt/cdrom# vi /etc/yum.repos.d/CentOS7-Media.repo[cdrom]name=cdrombaseurl=/mnt/cdrom ==>>千万不能写成 file:///mnt/cdromgpgcheck=1enabled=1
xxxxxxxxxx# wall "'this is msg"
IMG_20171225_203550.JPG
# ls -lh | head -n 1 ==>>表示只显示1行 # ls -lh | sed -n 1p ==>>表示显示第一行 # ls -lh | awk 'NR==1' ==>> 表示第一行,改为2则为第二行
check,点击下载https://github.com/libcheck/check/releases
https://en.wikipedia.org/wiki/List_of_unit_testing_frameworks
xxxxxxxxxxfirewall-cmd --permanent --add-port=137/tcpfirewall-cmd --permanent --add-port=138/tcpfirewall-cmd --permanent --add-port=139/tcpfirewall-cmd --permanent --add-port=445/tcpfirewall-cmd --permanent --add-port=901/tcpsetenforce 0systemctl restart smb.service[root@ samba]/usr/sbin/setstatus -vSELinux status: enabled# 设置 SELinux 成为 permissive 模式# entenforce 1setenforce 0# 永久关闭# vi /etc/selinux/config将 SELinux=enforcing 改为 SELinux=disabled最后需要重启才能生效重启后如果还不生效,需要重启一下 samba 服务 systemctl restart smb.service
^M 的问题1、据说 vim 下输入:
%s/^M$//g可以将^M清除掉。但我功能尚浅,没有成功2、利用 dos2unix 工具处理
dos2unix filename在一般的安装光盘
CentOS7-Everything-1708.iso中,都会有这个小工具。# cd /mnt/cdrom/Packages # ls | grep dos2unix # rpm -ivh dos2unix-6.3.3-7.el7.x86_64.rpm 然后就可以正常的使用 然后批量使用: find ./ -name *.c -type f -print0 | xargs -0 dos2unix
多数验证都能发邮件成功
xxxxxxxxxx用useradd创建了一个新用户,但是当切到这个用户的时候终端下不像往常显示的那样【user@hostname ~】$,而是只显示一个$符,并且目录,脚本等也不会用特殊的颜色标识出来。查了查资料,得以解决。 首先先应该查看/etc/passwd该配置文件中,你新建的用户用的是不是bash,不是的话就改过来. ...... ....... 36 lightdm:x:117:124:Light Display Manager:/var/lib/lightdm:/bin/false 37 hplip:x:118:7:HPLIP system user,,,:/var/run/hplip:/bin/false 38 debian:x:1000:1000:debian,,,:/home/debian:/bin/bash 39 WishCell:x:1001:1001::/home/WishCell:/bin/bash 40 server:x:1002:1002::/home/server:/bin/sh # 发现其它 useradd 的用户都有此问题 41 wishcell:x:1003:1003::/home/wishcell:/bin/bash # 将此行改为 bash 然后在该用户的家目录下查看隐藏文件里有没有.bashrc和.profile这两个文件(ub下用ls -A可以显示出来),没有的话将/etc/skel中的复制过来,要记得修改这两个文件的权限以及拥有者。 再执行下边两条命令:(我是以新建的用户身份角度说明的)
Y确定 xxxxxxxxxx# aptitude update && sudo aptitude upgrade xxxxxxxxxxroot@debian:/home/server# sed s/jessie/stretch/ /etc/apt/sources.list | sudo tee /etc/apt/sources.listdeb http://mirrors.163.com/debian/ stretch main non-free contribdeb http://mirrors.163.com/debian/ stretch-updates main non-free contribdeb http://mirrors.163.com/debian/ stretch-backports main non-free contribdeb-src http://mirrors.163.com/debian/ stretch main non-free contribdeb-src http://mirrors.163.com/debian/ stretch-updates main non-free contribdeb-src http://mirrors.163.com/debian/ stretch-backports main non-free contribdeb http://mirrors.163.com/debian-security/ stretch/updates main non-free contribdeb-src http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib
xxxxxxxxxxdeb-src http://mirrors.163.com/debian-security/ stretch/updates main non-free contribroot@debian:/home/server# aptitude update && aptitude dist-upgradeIgn http://mirrors.163.com stretch InReleaseGet: 1 http://mirrors.163.com stretch-updates InRelease [91.0 kB]Get: 2 http://mirrors.163.com stretch-backports InRelease [91.8 kB]Get: 3 http://mirrors.163.com stretch/updates InRelease [63.0 kB]Get: 4 http://mirrors.163.com stretch Release.gpg [2,434 B] Get: 5 http://mirrors.163.com stretch-updates/non-free Sources [32 B]Get: 6 http://mirrors.163.com stretch-updates/contrib Sources [32 B]Get: 7 http://mirrors.163.com stretch-updates/non-free i386 Packages [32 # 但是最终还是失败了Get: 35 http://mirrors.163.com stretch/non-free Translation-en [79.2 kB] Get: 36 http://mirrors.163.com stretch-backports/main Sources [148 kB] Fetched 20.3 MB in 37s (537 kB/s) W: Failed to fetch http://mirrors.163.com/debian/dists/stretch-backports/main/source/Sources: Hash Sum mismatchE: Some index files failed to download. They have been ignored, or old ones used instead.E: Couldn't rebuild package cache

[5:19]为了找到一款可用的 bootstrap 版本,浪费了近 20 分钟,才找到
ll命令解决办法 xxxxxxxxxx如果想让debian也支持 ll 命令的话则需要修改用户目录下面的.bashrc 配置文件cd #进入当前用户目录vim .bashrc #使用vim 编辑.bashrc配置文件我们找到这样几行# You may uncomment the following lines if you want `ls' to be colorized:# export LS_OPTIONS='--color=auto'# eval "`dircolors`"# alias ls='ls $LS_OPTIONS'# alias ll='ls $LS_OPTIONS -l'# alias l='ls $LS_OPTIONS -lA'我们之间把alias ll=’ls $LS_OPTIONS -l’前面的#号去掉,如下# You may uncomment the following lines if you want `ls' to be colorized:export LS_OPTIONS='--color=auto'# eval "`dircolors`"# alias ls='ls $LS_OPTIONS'alias ll='ls $LS_OPTIONS -l'alias l='ls $LS_OPTIONS -lA'然后保存退出还有个办法就是# cd# echo "alias ll='ls -l'" >> ~/.bashrc && source ~/.bashrc其实意思都是相同的。都是 编辑了.bashrc 配置文件,只不过第二个方法是输出命令到.bashrc的。最后# source ~/.bashrc
xxxxxxxxxxroot@debian:/home/debian/study/web-server/shttpd/src# netstat -apn | grep '80 'unix 3 [ ] STREAM CONNECTED 21080 595/dbus-daemon unix 3 [ ] STREAM CONNECTED 1780 1266/su root@debian:/home/debian/study/web-server/shttpd/src# kill 595然后就好了,感觉上比 CentOS 差好多。至少易用性,可读性不佳
xxxxxxxxxx# tar -xf gcovr-3.3.tar.gz# cd gcovr# python setup.py install或者(我没有试过)# sudo easy_install gcovr xxxxxxxxxx int my_add(int a, int b); void my_print(int a); xxxxxxxxxxint main() { int ret = 0; int a = my_add(3,4); if (a > 0) { ret = 1; } else { ret = 0; } my_print(a); return ret;} xxxxxxxxxxint my_add(int a, int b){ return a+b;}void my_print(int a){ printf("my_print says %d\n", a);} xxxxxxxxxxGCC :CFLAGS += -O0 --coverageLDFLAGS += -lgcovLLVM ClangCFLAGS += -O0 -fprofile-arcs -ftest-coverage[wishcell@localhost gcovr]$ gcc -o test -I ./ -O0 --coverage a.c b.c[wishcell@localhost gcovr]$ ./test my_print says 7 xxxxxxxxxx# gcovr -r . --xml -o coverage.xml# gcovr -r ./ --html -o coverage.html