Linux
让我们荡起双脚
信言不美,美言不信。
善者不辩,辩者不善。
知者不博,博者不知。
圣人不积,既以为人己愈有,既以与人己愈多。
天之道,利而不害;圣人之道,为而不争。
展开
-
那些你不知道的linux命令
1.g++(gcc) -save-temps [filename]会一次性得到链接文件,汇编文件,可执行文件.2.当每次出现这句话时,"test.cpp" E212: Can't open file for writing,说明该明文不可写,或者你没有权限,可以esc进入低行命令模式,执行w !sudo tee test.cpp(文件名),强制写入文件中。3.bc作为原创 2015-04-03 09:32:47 · 752 阅读 · 0 评论 -
shell脚本编程(快速排序)
#!/bin/bash#shell脚本编程之快速排序的实现(以最右边为元点的思想)#a=(8 5 10 3 2 93 4 1 2 3 40 9 61 8 6 29)a=(0 0 0 0 1 2 3 3 4 4 8 28 30495 921 43716)temp=buff=#交换函数swap(){ buff=${a[$1]} a[$1]=${a[$2原创 2015-04-21 09:05:47 · 3695 阅读 · 0 评论 -
Shell脚本编程
1.编写shell 脚本,计算1-100 的和;#!/bin/bashsum=0;for((i=0;i<=100;i++)){sum=$(( $sum + $i ))}echo $sum2)编写shell 脚本,要求输入一个数字,然后计算出从1 到输入数字的和,要求,如果输入的数字小于1,则重新输入,直到输入正确的数字为止;#!/bin/bashnumsave=0read -p "原创 2015-06-16 23:48:10 · 1386 阅读 · 2 评论 -
Shell脚本[运算表达式,条件控制语句]
#!/bin/bash#你值得收藏的四则表达式运算。 val1=1val2=1val3=1val4=1val5=1val6=1val7=1let val1++((val2++))val3=$(($val3+1))val4=`expr $val4 + 1 `val5=`bc<<<$val5+1`val6=`echo "$val6+1"|bc`val7=$[ $val7+1原创 2015-06-26 22:31:24 · 2198 阅读 · 0 评论 -
Shell脚本递归打印指定目录中所有目录文件
#!/bin/bash#递归打印当前目录下的所有目录文件。 PRINTF(){ls $1 | while read linedo [ -d $1/$line ] && { DIR="$1/$line" echo $DIR } DIR1=`dirname $DIR`#求路径。 A=`ls -F $DIR1 | g原创 2015-06-27 21:51:52 · 4041 阅读 · 1 评论 -
Shell脚本之数组
#!/bin/bash#你必须知道的shell里面关于数组的操作。arr=("hello" "word" "you" "are" "a" "good" "boy")#arr=(`ls`)#我喜欢这个方法。echo "-------for----------------"for I in ${arr[@]}do echo $Idoneecho "--------for------原创 2015-07-01 13:35:48 · 798 阅读 · 0 评论 -
Shell脚本编程篇
#!/bin/bash#斐波那契数列#不要用递归,深度大于30就老火了。function fun_test(){ if [ $1 -lt 3 ];then echo 1 return fi sum1=1 sum2=1 let count=$1-2 sum=0 while [ $count -gt 0 ];原创 2015-07-02 21:27:31 · 776 阅读 · 0 评论 -
Shell脚本编程之函数篇
首先让我们来看看两种函数的返回值获取方式:#!/bin/bash#函数返回值获取测试。function fun_test(){ #在函数内部是不能有其他的任何一条打印语句。 echo 100}val=$(fun_test) echo $val另外一种:#!/bin/bash#函数返回值获取测试。function fun_test(){ return 100原创 2015-06-30 22:13:12 · 688 阅读 · 1 评论 -
进程间通信:信号量
//main.cpp#include <iostream>#include <semaphore.h>#include <pthread.h>#include <string.h>#include <signal.h>#include <stdlib.h>#define _SIZE_ 10using namespace std;void EXIT(int arg)//注册信号处理函数原创 2015-08-09 03:36:04 · 736 阅读 · 0 评论 -
共享内存:全双工匿名管道
//main.cpp#include #include #include #include using namespace std;//两个进程共享驻留在内核中的信息,每次访问共享信息的操作就涉及系统调用。 void EXIT(int arg){ cout<<"SIGINT "<<"is quit"<<endl; exit(0);}int Write(int fd,c原创 2015-08-09 21:22:07 · 1440 阅读 · 0 评论 -
linux:共享内存
#include #include #include #include #include #include using namespace std;struct shared_use_st{ int flags; char buff[1000];};int main(){ void *shared_memory = NULL; int shmid = shmget((原创 2015-08-24 15:28:03 · 610 阅读 · 0 评论 -
linux中select网络通信
//ser.cpp#include <iostream>#include <fcntl.h>#include <sys/socket.h>#include <sys/select.h>#include <unistd.h>#include <arpa/inet.h>#include <netinet/in.h>#include <string.h>#define IP "127.0.原创 2015-08-11 23:53:30 · 660 阅读 · 0 评论 -
shell脚本编程(合并排序)
#!/bin/bash#shell脚本排序之合并排序a=(1 3 5 7 9)b=(2 4 6 8 10 12 14)c=n=5m=7i=0j=0k=0while [ $i -lt $n -a $j -lt $m ];do if test ${a[$i]} -gt ${b[$j]};then c[$k]=${b[$j]} j=$(($j+1)) k=$(($k+原创 2015-04-21 08:38:38 · 732 阅读 · 0 评论 -
gdb调试的一些基本操作
1.g++ -g filename (生成a.out可调试程序)2.gdb a.out(进入调试界面)3.b+行号(默认包含main函数的文件);b+filename:行号(指定文件中设置断点).4.info + b (查看所有断点)5.d + NUM(info b得到断点的编号NUM),删除断点编号是NUM的断点。6.p + 变量名(打原创 2015-04-09 16:33:17 · 648 阅读 · 0 评论 -
exec函数簇的使用
#include#include using namespace std;int main(int argc,char *argv[]){ execl("/bin/ls","-l",NULL);//1 execv("/bin/ls",&argv[1]);//2 execle("/bin/ls","-l",(char *)0,NULL);//3 execve("/bin原创 2015-04-18 11:52:56 · 827 阅读 · 0 评论 -
shell脚本编程(严格的终端格式控制,美丽的输出字体颜色)
#!/bin/bash##下面是字体输出颜色及终端格式控制#字体色30-37echo -e "\033[30m黑色字\033[0m"echo -e "\033[31m红色字\033[0m"echo -e "\033[32m绿色字\033[0m"echo -e "\033[33m黄色字\033[0m"echo -e "\033[34m蓝色字\033[0m"echo -e "\033原创 2015-04-22 09:47:25 · 1549 阅读 · 0 评论 -
nemiver调试器的使用(GDB图形界面)
Nemiver 是一款基于 GTK+ 的用于C/C++程序的图形化的独立调试器,它以GDB作为其后端。最令人赞赏的是其速度和稳定性,nemiver是一个非常可靠,具备许多优点的调试工具。$ sudo apt-get install nemiver(安装是自动加载的。)启动Nemiver的命令:$g++ -g [filename]//获得可调试文件。$nember a.out原创 2015-04-02 16:09:13 · 2278 阅读 · 0 评论 -
vim(中多行注释和删除多行注释)。
---都在ESC模式下:1.vim中多行注释。(1).按下Ctrl+v,进入列模式;(2).在需要注释行首开始选择到指定位置结束。(使用上下键来需要确定操作行数)(3).按下“I”,进入插入模式;(4).然后输入注释符(“//”,“#”等);2.删除多行注释:(1).按下Ctrl+v,进入列模式;(2).选定要取消的注释符;(3).按下“x”或者“d”;原创 2015-04-07 14:17:45 · 708 阅读 · 0 评论 -
linux命令(find中-a,-o,not的用法)
sudo find /etc -size +1M -exec echo {} \;#在/etc目录下找文件大小在1M以上的文件并且显示,文件用换行符隔开。sudo find /etc -size +1M | xargs echo#达到-exec相同的功能但是用空格分开寻找到的文件。#-exec后面的{} \;是不能少的。find 紧跟的是指定开始寻找的绝对路径,我取当前路径。find原创 2015-04-15 08:31:24 · 13915 阅读 · 0 评论 -
linux命令(while,shell参数的用法)
#!/bin/bash while IFS=: read name1 name2 name3 name4 #IFS是从文件读取内容时指定的分割符号,将a中的内容以:分开的部分分别赋值给相应变量. do echo $name1 '|' $name2 '|' $name3 '|' $name4 done <a #反引号与$()的功能是命令替换,将反引号或$()中的字原创 2015-04-15 08:35:46 · 4405 阅读 · 0 评论 -
shell脚本添加用户删除用户删除文件的脚本实现
#/bin/bash#DEBUG=0ADD=0DEL=0RM=0while [ $# -gt 0 ]docase $1 in -v|-verbose) DEBUG=1 shift ;;-h|--help)#帮助文档 echo "`basename $0` --add LIST --del LIST -h|--help --rm LIST" exit 0 ;;--原创 2015-04-20 12:38:31 · 1709 阅读 · 0 评论 -
shell脚本排序(冒泡排序)
#/bin/basha=(9 84 51 0 345 1 2 34 1 0) #自己定义一个数组temp=for((i=0;i<10;i++)){ for((j=i;j<10;j++)) { x=${a[$i]} if test $x -ge ${a[$j]} then temp=${a[$i]} a[$i]=${a[$j]} a[$原创 2015-04-20 08:30:05 · 3788 阅读 · 2 评论 -
来腾讯已经一年了,大家加油。
转眼已经到腾讯一年了,我依然每天坚持写自己的总结 希望大家都可以每天加油,每天都是一个崭新的开始,都是一个新的起点。原创 2016-08-30 19:57:32 · 1079 阅读 · 3 评论