- 博客(40)
- 资源 (2)
- 收藏
- 关注
转载 程序算法与人生选择
原文链接:http://coolshell.cn/articles/8790.html每年一到要找工作的时候,我就能收到很多人给我发来的邮件,总是问我怎么选择他们的offer,去腾讯还是去豆瓣,去外企还是去国内的企业,去创业还是去考研,来北京还是回老家,该不该去创新工场?该不该去thoughtworks?……等等,等等。今年从7月份到现在,我收到并回复了60多封这样的邮件。我更多帮他们
2012-12-31 18:56:44 461
原创 查看文件中内容的命令
1、直接查看文件的内容 cat(concatenate):主要的功能就是将一个文件的内容连续显示在屏幕上。 cat [选项] 文件名称-b 列出行号,只显示非空白行的行号-n 列出行号,连同空白行的行号一起显示 tac(反向列出):对照cat,由最后一行到第一行反向在屏幕上显示出来。 tac 文件名称 nl(添加行号显示):默认的情
2012-12-31 18:37:32 1572
原创 与操作目录相关的几个命令
1、特殊的目录 . :表示当前的目录,也可用"/."来表示; .. :表示上一层目录,也可用"../"来表示; - :代表前一个工作目录 ~ :代表当前用户的主文件夹 ~account :代表account这个用户的主文件夹2、cd ---change directory 切换目录 cd 目录的绝对路径/相对路径3、pwd
2012-12-31 18:33:18 482
原创 绝对路径与相对路径的问题
以往是始终没有搞明白,区分不清楚,现在o啦!1、绝对路径 一定由根目录(/)开始写起的文件名或目录名称的路径。2、相对路径 不是由根目录(/)而是相对于目前路径的文件名或目录名称的路径,它是 一种相对位置,相对于目前工作目录的路径。3、在每个目录下都有"."、".." . :表示当前的目录,也可用"/."来表示; .. :表示上一层
2012-12-31 18:29:01 541
原创 林纳斯定律
林纳斯定律(Linus' Law)以Linux创始人林纳斯·托瓦兹(Linus Torvalds)的名字来命名,所指的是“足够多的眼睛,就可让所有问题浮现”(given enough eyeballs, all bugs are shallow);更正式地来说即是“只要有足够的测试员及共同开发者,所有问题都会在很短时间内被发现,而且能够很容易被解决”。
2012-12-20 17:05:15 734
原创 Linux中有哪些文件种类
我们应该有个基本的认识,任何设备在Linux中都是文件,连数据通信的接口 也有专门的文件负责。-rwxrwxrwx---------- 可用file 命令查看文件的文件类型。文件包括:1、普通文件(regular file)2、纯文本文件(ASCII)3、二进制文件(binary)4、数据格式文件(data)5、目录(directory):第一个
2012-11-29 22:55:47 3220
原创 Linux中权限对文件与目录的意义何在
了解Linux文件与目录权限,对于他们的管理,比如在一个大型的公司中, 不同层次的、不同部门的工作人员对文件的需求服务是不同的;对于团队的开发来说,有利于项目的管理;更重要的是对于数据安全性的维护与保护,等等。再说前面已经谈到怎样修改文件/目录的属性与权限,那么接下来聊聊 文件/目录权限的意义。1、权限之对于文件 前面有说过,数据的写入是在磁盘的盘片上;那么文
2012-11-29 22:46:32 565
原创 如何改变Linux文件的属性与权限
1、既然想改变文件按/目录的属性或权限,那么怎么查看文件或目录的权限/属性? 用ls(list)命令,其中常用的选项 -a, --all 不隐藏任何以. 开始的项目 -A, --almost-all列出除. 及.. 以外的任何项目 -l 使用较长格式列出信息 -i, --inode 显示每个文件的inode 号 --full-time 以完整的时间格式显示
2012-11-29 22:38:47 410
原创 Linux文件权限与属性 的简单说明
用命令ls(list) -l,可以显示文件的详细的相关信息,包括权限与属性。 如:dr-xr-xr-x. 2root root 409610月 17 18:34 bin 从上面7列中我们可以稍加分析,得到相关的信息:下面的7个字段都是文件的属性,其中就包括文件的权限。 字段1 文件的类型与权限(permission)文件的类型:目录(d)、一般
2012-11-29 22:31:10 482
原创 在Linux中与日期、计算有关的几个命令
1、显示日期与时间的命令:date date [选项] [+显示时间格式] 选项:-d,--date=字符串 显示指定字符串所描述的时间,而非当前时间 时间格式:%Y 年份%m 月份(01-12)%d 按月计的日期(例如:01)%H 小时(00-23) %M 分(00-59)%S 秒(00-60)%s 自UTC 时间 1970
2012-11-29 22:25:27 600
原创 忘记root密码解决方法一
不需要重新安装Linux,只需以单用户模式登录即可更改root的帐号密码。以GRUB引导加载程序为例:1、将系统重启,迅速按任意键进入GRUB管理程序的菜单界面,按下"e" 进入GRUB的编辑模式;2、将光标移到kernel这一行,再次按下"e"进入kernel这行的编辑界面中, 然后在该界面的尾部输入:[space]+single;3、按下[Enter]确定后,按下b就可
2012-11-29 22:23:07 363
原创 在线求助man page和info page以及其中的功能键
在终端按两次Tab 键可查看当前Linux系统有多少个命令。在/usr/share/man 这个目录中有man page 的文件数据。在/usr/share/info 这个目录有info page 的文件数据。在/usr/share/doc 这个目录下有其他的帮助文件,不是man/info page的文件格式。(1)在用man查询命令的具体信息时,要注意在第一行出现的数字的意义
2012-11-29 00:21:32 781
原创 Linux的开机流程与主引导分区(MBR)的简单分析
这里虽然只是简单的对Linux开机流程的阐述,但是管中窥豹,从这里也可简单的对Windows的开机了解一二。 对开机流程的了解与理解,有利于加深我们对系统的的理解。1、Linux整个开机流程到操作系统之前的简单步骤: a、BIOS:开机主动执行的韧体,会认识第一个可开机的设备; b、MBR:第一个可开机设备的第一个扇区内的主引导分区快,内包含引导加载程序;
2012-11-29 00:15:19 1202
原创 Vim命令之终结篇
这一次又特意对Vim/Vi的常用命令做了一次比较全面的总结,虽然花了两三个小时,但是觉得还是值得的。前面总结使用Vim/Vi的命令,可能有一些杂乱,这一次就进一步的小结一下,并且将之前没有总结到的,但是绝对有用的命令补充完整,希望对自己有用,对大家有也一点小小的用处,谢谢^_^!!!(⊙o⊙)在Linux下熟悉并掌握最少一个文本编辑器是比不可少的,因为在Linux绝大部分的配置文件是以
2012-11-07 00:34:30 588
原创 Linux的磁盘分区
为何要进行磁盘分区?我们可以想象一下,在Windows中如果不对磁盘分区,只有一个C盘;那么我们的Windows操作系统和其他的所有的数据都只能放在这一个盘里,这绝对回造成很恐怖的事情,大家可以想象一下。比如:操作系统坏了,无法启动、想重装操作系统等等,那么其他的数据怎么办?有的数据对我们来说是非常重要的,造成数据不能很好的归类与整理………… 这些都不是我们能够承受与忍受的。因
2012-11-04 19:57:04 362
原创 操作系统是干什么的小疑惑?
以往其实对操纵系统(比如Windows、Unix、Linux等)是干什么的不是很清楚,只知道我们能够运用操作系统诸如Windows,在其上做我们想做的些事情,不知道它的实质。但庆幸的是,在看Linux相关书的时候,对操作系统是干什么的有了一个简单的认识。 那么操作系统有何作用? 我们知道计算机是有一堆硬件所组成,为了更好的控制这些硬件资源,操作系统就应运而生了。
2012-10-25 18:26:23 979 3
原创 唠叨一二
在之前的一段长时间里,一直在学习、捡起以往学习时没有学到的地方,可以说是经历了几个月的时间,但还只是一小段的总结;因为有些事情让我明白,没有一个夯实的基础,做起事来总觉得不得心应手。之前所总结的都是C/C++基础的,面向过程的知识方面,所有的程序例子都是在Linux下用 Vi编辑器中编写的,所以才有Vi方面的命令的总结,也是对自己的一种自我肯定与鞭策吧!对于C++来说,最重要的当然
2012-10-25 18:19:26 376
原创 值传递与址传递的简单应用与分析
/*要学会分析,看清楚到底是值传递还是址传递 *指针作为函数的形参,将一个变量的地址传递给被调用的函数 *由于虚实结合是采取单向的"值传递"方式,只能从实参向形参传数据,形参值的改变无法回传给实参 * 我们是希望指针所指向的变量值发生变化(而不是指针的指向发生变化),这样函数调用结束后, *这些变量值的变化会保留下来 * 调用函数时不会改变实参指针变量的值,但可以改变实参指针
2012-10-23 19:29:59 437
原创 C中输入格式的控制
这是之前学习的时候总结的,犹豫之下还是将其帖出来!/*scanf *跳过所有的空白字符,直到遇到非空白字符为止; *scanf("格式串",地址表(&)) --- 输入的值放在地址表中 * 在scanf的格式串中,如果放入了其它非空白字符,在输入是要求按原样输入; *因此,最好在scanf的格式串中不要添加非空白字符,只放格式占位符即可。 * 对于字符 %c 占位符,在用s
2012-10-23 19:26:34 636
原创 该何时使用引用与const
/* *函数的形参,函数的返回值,它们的类型问题 * 我们应该知道,一个函数的形参是由实参初始化的,一个函数的返回值是由return 后 *的值初始化的;因此,如果将函数形参和返回值类型声明为引用类型,则它们会共占用同一内存 *空间,而不是在内存中另开辟空间储存所要的数据(此为复制),这样同一变量的修改可以同步, *提高程序效率。 *//*在C++中,如果函数的形参不用
2012-10-23 19:21:47 421
原创 成员指针的运用续(地址与成员变量的输出)
/* * 如何定义结构体成员变量(类成员变量)指针?如何输出结构体成员变量(类成员变量)的地址? *输出结构体成员变量(类成员变量)的几种方法 */#include using namespace std;#include struct Person{string name;double salary;int age;};int main()
2012-10-18 13:08:28 340
原创 成员指针的定义与简单应用(成员变量地址的问题)
/* * 成员指针的一些问题 * 成员指针可以让我们能够访问数据成员中的某一单独的成员 * 成员指针的定义: * ElemType struct_name::*mp; */#include using namespace std;#include struct Student{int NumID;int age;int height;void
2012-10-18 13:02:08 384
原创 main函数中两个参数的基本含义
/* *在主函数main(int argc,char* argv[]) 括号中一些参数的问题 */#include using namespace std;//平常主函数int main()没有将参数带上,但可以接收参数,只是不做处理//argc ---> 接收命令行上字符串的个数(字符串之间空格隔开)/*shell在调用main函数的时候,它会将命令行字符
2012-10-18 12:43:40 1820
原创 Vi中一些实用的命令(中)
替换(在命令行模式) 1、r --- 只会替换当前光标所在的字符 2、R --- 可以逐个替换光标所在字符及其后的字符 字母大小写转换(在命令行模式)1、~ --- 即可将大写字母转换为小写字母,将小写字母转换为大写字母 模式匹配(在底层模式)1、/和? --- 在其后输入要查找的内容,然后回车便可找到匹配的内容用n 向下查找匹配的内容
2012-10-18 12:14:37 526
转载 女人和计算机
有的女人就像Windows,虽然很优秀,但是安全隐患太大。 有的女人就像UNIX,她条件很好,然而不是谁都能玩的起。 有的女人就像C#,长的很漂亮,但是家务活不行。 有的女人就像C++,她会默默的为你做很多的事情。 有的女人就像JAVA,只需一点付出她就会为你到处服务。 有的女人就像JAVA script,虽然对她处处小心但最终还是没有结果。 有的女人就像汇编,虽然很麻烦,
2012-10-12 16:23:52 356
原创 函数指针的应用
注意:函数指针与指针函数的区别函数指针:T (*p)(parameter……)指针函数:T* p(parameter……)/* *指针与函数、函数指针 * 函数也是在内存中执行的,因此也有地址,函数的大小不是由函数返回类型决定的, *函数地址不允许其做数学运算,但可以对函数地址赋值和调用函数。 * 函数名就是函数的地址,也是函数开始执行的地方。 */#i
2012-09-28 18:43:12 391
原创 C中的动态内存分配
在C++中是使用new 和 delete 来进行动态内存分配的,尽量减少(或不用)下面C中动态内存分配在C++中的使用。/* *动态内存分配的问题 * 在C语言中用的是: *****(注意:malloc、calloc、realloc返回的值void* 类型,因此在使用时,要有显示的类型转换) * void* malloc(size_t size) * 在堆内存中分配一块内
2012-09-28 18:24:04 1221
原创 使用数组时注意的一些问题
/* *数组注意的一些问题 */#include using namespace std;int main(){ const int ArraySize = 5; //对数组中元素初始化,而没有初始化的元素在默认的情况下会用数值0填充,代表的是空字符(NULL或\0) int arr[ArraySize] = {10,3,5}; //数组名,表示的是第
2012-09-28 18:08:50 16049
原创 C++中显示的类型转换
C++是希望用户能够尽最大的定义正确的类型,而少用显示的类型转换,以致不用显示的类型转换/* *C++显示的强制类型转换,区别与C *static_cast --- 数值类型之间、有一方是void* 的指针类型之间 *const_cast --- 用于临时去掉const、volatile限制 *reinterpret_cast --- 任意两种指针类型之间,指针与数值类型之间
2012-09-28 18:01:13 655
原创 Vi中一些实用的命令(上)
这些实用的Vi命令是自己在用vi学习编程过程中经常用到的,于是就将稍微总结了一下!!!^_^ 命令行模式、插入模式与底层模式 ESC键使我们能够在各种模式之间相互切换。 命令行模式 拷贝与粘贴1、yy --- 复制当前光标所在的这一行2、[n]yy --- 复制当前光标开始的n行3、p(小写)--- 用于将复制的内容粘贴到光标所在行的下一行4、
2012-09-28 17:52:52 726
转载 如何学好C++语言(摘自酷壳)
原文链接:http://coolshell.cn/articles/4119.htmlC++是最难的语言。这个世界上最难的编程语言可能非C++莫属了。你千万不要以为几天就可以学好C++,C++的学习曲线是相当BT的,你可以看看这篇文章。C++是一门很自由的语言,自由到了有点BT和恐怖的地步。我甚至认为C++并不是一门成熟的编程语言,因为太容易犯错了。所以,你一定要在一开始就要有很小心谨
2012-09-17 19:40:26 622 1
原创 C风格类型的字符串在C++中的应用
/* *字符串常量(即字符串字面量)的一些问题 *处理字符串的一些函数 */#include using namespace std;#include int main(){/* 字符串字面量在内存中也是以字符数组存放,并以'\0'结尾; 如果想输出字符串字面量中的某个字符或从某个字符开始的子字符串时,可将 该字符串字面量当作数组名使用,并配以
2012-09-17 19:31:46 685
原创 怎样用指针给一组无序的数据排序
/* *对于一组凌乱的数据,如何给它们排序? *可用指针将它们(地址)组合成一个数组,然后进行比较 */#include using namespace std;int main(){const int a = 10, b = 45, c = 23, d = 78, e = 90, f = 7;const int* p[6] = {&a, &b, &c,
2012-09-17 19:28:42 810
原创 指针的简单应用(三) 之指针与数组续
/* *数组、指针、数组指针、指针数组的问题 */#include using namespace std;int main(){/*arr是数组,有5 个元素,每个元素的类型是int*(地址类型), 每个元素是指针变量,存放的是地址(即指针),即:指针数组*/int* arr[5]; //p是一个指针,指向有5 个元素的int数组(指向的是整个数组,
2012-09-17 19:25:57 2140
原创 指针的简单应用(二) 之指针与数组
/* *将指针变量作函数参数(形参)接收数组地址 *C++编译系统将形参数组名一律当作指针变量来处理 *比如: * void func(int array[],int n) * void func(int* array,int n) *上面两种方式是等价的; * 因为在调用函数的时,系统会建立一个指针变量array,用来 *存放从主调函数传递过来的实参数组首元素的地
2012-09-17 19:23:41 300
转载 优秀程序员的十个习惯(摘自酷壳)
在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer)。经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作。但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个条目成为你的习
2012-09-11 12:19:30 527
原创 指针的简单应用(一)
/* *指针的应用,一般与数组、字符串联系的比较紧密。 *指针永远存放的是地址; *在内置类型、自定义的数据类型后面加上 * ---> 则这种类型为地址类型,比如:int* 、char* …… */#include using namespace std;#include #include int main(){ char str[] = "Love Y
2012-09-11 12:14:32 434
原创 C++风格字符串(一)
/* *C++字符串中的各种函数 */#include using namespace std;#include int main(){ /* //调用字符串的构造函数初始化 //1、string(); 构造一个空串 string str1; cout //2、string( const char *str ); //以st
2012-09-11 12:11:36 290
原创 在某本书上看到的编程十问
问题一、作为一个C/C++程序员,你的所有子程序代码都封装在函数体内,你知道还有其它类型的子程序否(C/C++不同,许多语言还有另外一种类型的子程序成为过程)? 问题二、你是否知道过程子程序和函数子程序之间的区别? 问题三、你是否学习过如何解析一个表达式,考虑到操作符的优先级? 问题四、你是否知道术语先行EOF(look-ahead EOF)和非先行EOF(non-look-ahead
2012-09-02 23:46:02 332
原创 指针的一些基础的东东
指针,其实用的熟透的话,是个非常好的东东;因此,初来乍到的人,看到强盗、无敌而又可爱的她是那么的束手无策,像是什么看到了刺猬而无从下口,让人肝%@#寸*&^~的,不知然多少人抓乱了头发,掉了多少头发,心里暗暗发誓,俺就不信你的鞋,就要把你搞定不可,然后就咔咔咔…… 嗯,不错,其实,指针就这样,咋样呢? 我们也要区分内存单元地址和内存单元内容。 我们在程序中
2012-09-02 23:40:23 353
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人