
Linux/Unix
文章平均质量分 76
FlushHip
凝视深渊
展开
-
Linux_文件与目录属性
Linux中有一句名言,“所有的东西都是文件”。那么我们对文件和目录的了解就要透彻深入了。在Shell中,我们输入命令:ls -al。这个命令的意思就是列举当前目录下所有的文件(包括隐藏的)并且列出长数据串,包含文件的属性及权限等数据。第一列就是文件的权限,可以看到“drwxr-x—”,“-rwxr-x—”等字符串。那么这段字符串有何意义呢?这串字符串的长度为10,第一个表示文件的种类,‘原创 2016-03-29 19:25:07 · 584 阅读 · 0 评论 -
聊聊实现C++跨平台ping函数及ICMP请求回显数据包解析
ping我们经常使用,大多数的时候是在命令行ping下IP地址,然后一堆输出。程序中有时候也会用ping函数,那么ping是如何实现的呢。计算机网络告诉我们,ping函数是基于ICMP协议实现的,而ICMP协议又是基于IP协议弄的(ICMP作为IP协议的数据部分传输)。ping通过ICMP协议中的类型8和代码0来搞的,这个类型和代码的组合在ICMP协议中表示请求回显。如果能正常回显,那么返回...原创 2018-11-12 17:26:59 · 3719 阅读 · 4 评论 -
Windows/Linux中C++对于系统函数发生错误时的调试方法(调试Windows/Linux下创建原始socket失败返回-1)
调用系统API时,经常会由于操作不当导致系统函数调用发生错误,而系统API也是比较友好的,会给你一些特殊的返回值,普遍返回-1,同时,会设置一些变量,表示错误类型。在Windows中,调用GetLastError,可以得到最近的调用失败的错误码;在Linux中,“全局变量”errno记录了最近调用失败的错误码。这里纠正一下,errno其实并不是全局变量,errno的作用是thread local...原创 2018-11-12 16:02:57 · 1902 阅读 · 0 评论 -
Linux/Windows下C++设置线程名字方便多线程调试
C++多线程编程,调试是一个大问题,原因之一就是,线程名字继承了父进程的名字,因此导致同一段代码的不同线程名字一样;而且还会导致线程的名字怪怪的,不好看。因此,如果在代码中可以设置线程的名字就好了,这样在调试中就可以看到期望的线程名字,这样便于调试。由于编写跨平台代码,因此,线程设置名字对Windows和Linux来说都很重要,这里分别来讲下。Windows在Visual Studio调试...原创 2018-10-12 11:12:51 · 5896 阅读 · 0 评论 -
Linux和类Unix终端命令行实用快捷键大杂烩
这些快捷键之前用过一些,确实可以提升工作效率,但是没有一个系统的学习过程,都是某一个操作觉得很不爽了,就去查一下有没有快捷键可以做到同样的操作。前几天女朋友送了一个HHKB,60键的键盘在命令行中着实有些不方便,因此这些快捷键就对我的工作效率有很大的提升。再次强调一遍,快捷键不一定快捷,因人和情况而定。这篇博客是一篇笔记,总结和记录只用,参考了网上的其他文章(博客最后会列出来)再加上自己的亲自...原创 2018-08-18 15:48:54 · 970 阅读 · 0 评论 -
Linux和类Unix终端命令行字符删除与撤销
这篇博客的内容其实没有那么重要,只要你会了Linux和类Unix终端命令行光标移动,就可以通过移动光标位置同时使用退格键删除就行了。删除字符删除的快捷键就是上面的这张图片,参考下Linux和类Unix终端命令行光标移动中的图片就能看懂了。撤销删除Ctrl + _, 这就是撤销, 这个撤销操作和Vim中的u与Windows下的Ctrl + z有一些不一样,它以删除作为为历...原创 2018-08-18 14:32:17 · 11455 阅读 · 6 评论 -
Linux和类Unix终端命令行光标移动
上两天换了个HHKB,很早之前就听说用这款键盘在Linux或Mac下开发很高效,确实,我用Vim的时候确实很高效,但是在用终端命令行的时候就不是那么回事了。HHKB是60键的键盘,因此,方向键得用Fn组合其他键才能出来,而命令行中方向键是如此重要,比如你的命令打错了一个字符,你得移动到那个字符上,这个时候就有点不舒服了,本来HHKB设计出来就是为了让手指移动更少的距离,结果我还得去按F...原创 2018-08-18 12:55:19 · 3208 阅读 · 4 评论 -
Linux与设置环境变量相关的库函数API
Linux中环境变量的获取和设置还是很方便的,在命令行中敲env命令就可以打印出当前的所有环境变量。flushhip@flushhip-virtual-machine:~$ env | grep $PATHPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/game...原创 2018-08-11 09:38:11 · 1335 阅读 · 0 评论 -
字符串字典树判重Linux内核代码风格
背景:LeetCode - 127. Word Ladder 解决: 简单的广搜,用C++真的太好实现了,STL确实强大,但是用C语言来写呢?其实关键点就在于字符串如何判重,STL里的set可以搞,但是注意C里面没有这个东西,所以要么我们自己手写一个红黑树来实现set(红黑树不好写!很麻烦),要么就使用字典树(这个确实相对来说好些得多)。写这个题其实也是自己想多学学C语言中一些高级的东西,所以就原创 2017-05-04 00:17:13 · 880 阅读 · 0 评论 -
Linux_Chrome出现Adobe Flash Player is out of date解决方法
我只用过两个linux的发行版,Ubuntu和Centos。在安装Google的Chrome后都有出现Adobe Flash Player is out of date的问题。在网上也参考了很多方法,但是还是不行,最后自己想着它不是过期了吗,那我们给他安装一个新的就好了啊。 Chrome浏览器用的播放器插件是PepperFlashPlayer。而且是内置的。寻常的在命令行下安装的这个插件貌似起不到原创 2016-12-14 13:50:30 · 5245 阅读 · 1 评论 -
Linux_编程_命令行心形图案生成
先看一张效果图: 其实这个东西很简单的,不过我们首先要知道,爱心的曲线方程,图中的这种爱心曲线方程的标准形式是:(x2+y2−1)3−x2y3=0(x2+y2−1)3−x2y3=0(x^2+y^2-1)^3-x^2y^3=0而图中就是两条曲线中间填上阴影就好了,那么在这个方程的标准形式上加上一些缩放比例就得到了公式:(Ax2+By2−1)3−Bx2y3=0(Ax2+By2−1)3−Bx2y3...原创 2016-12-16 09:20:34 · 10754 阅读 · 0 评论 -
Linux_命令_文件内容查阅
1.直接查看文件内容[cat、tac、nl] :catParameter : 参数 作用 -b 显示行号,空白行不标行号 -n 显示行号,空白行标行号 -E 将结尾的段行字符$显示出来 -T 将[Tab]按键显示出来 -v 显示一些看不出来的特殊字符 -A 相当于[-vET],列出特殊字符而非空白tacName : 作用同cat,但是反向输出,原创 2016-11-26 09:31:11 · 672 阅读 · 0 评论 -
Linux_命令_ls
Name : ls - 查看目录内容 Man : Parameter : 参数(常用) 作用 -a 全部文件,包括隐藏文件,图形界面中可按Crtl + H显示隐藏文件 -b 目录本身,而不列出目录中的文件 -f 不排序,默认是按文件名进行排序 -F 根据文件、目录信息给与附加的数据结构,Eg : *:代表可执行文件; /:代表目录; =:代表so原创 2016-11-24 20:55:09 · 537 阅读 · 0 评论 -
Linux_编程_批量修改文件名
上两天刚开始接触UNIX高级环境编程,这是我看了前四章写的第一个实践有用的程序,功能是批量把后缀为.ans的文件修改成后缀为.out的文件。运行的时候建议切换到root用户下执行这个程序,后续我会写更多实用的程序。Process : 通过opendir打开一个目录,再用readdir以此读取这个目录中的目录项,把后缀为.ans的文件名存到一个数组中,再遍历这个数组,调用rename改变文件的后原创 2016-11-29 20:17:37 · 924 阅读 · 0 评论 -
Linux_BASH中组合按键、通配符、特殊符号
组合按键 组合按键 执行结果 Ctrl + C 终止当前命令 Ctrl + Z 暂停当前命令 Ctrl + D EOF,输入结束 Ctrl + M Enter Ctrl + U 删除目前命令输入的所有文字 Ctrl + S 暂停屏幕输出 Ctrl + Q 回复屏幕输出 这些是Linux发行版自己设置的组合键,已被大多用户所接受,当原创 2016-11-08 12:30:52 · 1196 阅读 · 0 评论 -
Windows/Linux下C++对于UUID的跨平台封装
Universally Unique Identifier,UUID,通用唯一识别码。是用于计算机体系中以识别信息数目的一个128位标识符,这个东西很有用,在分布式系统中经常用于标识一个结点。根据标准方法生成,不依赖中央机构的注册和分配,UUID具有唯一性,这与其他大多数编号方案不同。重复UUID码概率接近零,可以忽略不计。UUID是128位,16个字节,可以用32个HEX进制的数字表示。标准的...原创 2018-12-19 16:29:28 · 6400 阅读 · 1 评论