随笔分类 - Linux
摘要:转载自:http://blog.csdn.net/feiyinzilgd/article/details/5609157对于Unix系列的操作系统,大多都有v节点。但是对于linux来说,只有通用的i节点,却没有v节点。下面来探讨一下,linux下的i节点。 linux中,文件查找不是通过文件名称来查找的。实际上是通过i节点来实现文件的查找定位的。我们可以形象的将i节点看做是一个指针fip。当文件存储到磁盘上去的时候,文件肯定会存放到一个磁盘位置上,可以这样想象,既然文件数据是存放在磁盘上的,如果我们知道这个文件数据的地址,当我们想要读写文件的时候,我们是不是直接使用这个地址去找到文件就可以了
阅读全文
摘要:UNIX环境高级编程---文件描述符浅析最近看到一本书叫《UNIX环境高级编程》,网上称这本书被誉为UNIX编程“圣经”,对所有不同层次UNIX/LINUX程序员是一本不可缺少的参考书。自己最近恰好看到GLIB中IOChannel这部分,关于linux的IO这块很不清楚,先研究完这本书再说。文件描述符是一个小的非负整数,内核用以标识一个特定进程正在存访的文件。当内核打开一个现存文件或创建一个新文件时,它就返回一个文件描述符。当读、写文件时,就可使用它。说白了就是我们通常使用的句柄一个意思。一、文件描述符----文件表----v节点结构三者的联系既然文件描述符标识特定进程正在访问的文件,那进程跟
阅读全文
摘要:Linux下建议的命名规则如下。(1)变量名必须有一定的意义,并且意义准确。例如有一个变量用于保存图书的数目,可以命名为number_of_book或者num_of_book。不建议使用i,因为它没有意义。也不建议使用number或book,因为意义不准确。(2)不建议大小写混用。如定义一个计数变量,int nCount;这在Windows中是一个很好的变量名,其中nCount的首字母n用来说明这个变量的类型是int。但在Linux下不建议大小写混合使用,一般标识符只由小写字母,数字和下划线构成。(3)在失去意义的情况下,尽量使用较短的变量名。例如有一个变量,用于暂时存储一个计数值,把变量命名
阅读全文
摘要:UNIX Programming FAQ 中文版 v0.1.0 http://www.linuxforum.net/books/upfaq/book1.htm
阅读全文
摘要:[命令详解] Netstat命令用法Netstat命令用法?Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一用于检验本机各端口的网络连接情况。如果你的计算机有时候接受 到的数据报会导致出错数据删除或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收 的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。Netstat的一些常用选项: netstat -s——本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如We...
阅读全文
摘要:它主要的用法和详解!(netstat -na 命令),本文主要是说Linux下的netstat工具,然后详细说明一下各种网络连接状态。netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort -nr1.netstat命令详解其实我常用的是 netstat -tnl | grep 443 (查看443端口是否被占用),如果有当前是root用户,我喜欢用netstat -pnl | grep 443 (还可显示出占用本机443端口的进程PID)。netstat功能说明:显示网络状态。语 法:netstat [-acCeFghilMnNoprstuvVwx].
阅读全文
摘要:1.启动ssh服务root@linuck:/#/etc/init.d/ssh start 2.生成密钥KEY root@linuck:/#ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key root@linuck:/#ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key root@linuck:/#sshd-generate 本文出自 “ynhu33” 博客,请务必保留此出处http://ynhu33.blog.51cto.com/412835/638834
阅读全文
摘要:几种去除^M的方法1、 cat filename1 | tr -d "\r" > newfile2、 sed -e "s/^V^M//" filename > outputfilename3、vi: 用vi打开文件1. 按ESC键2. 输入 :%s/^M//g (wenhao测试此方式可用)确定 ^M是使用 "CTRL-V CTRL-M" 而不是字面上的 ^M。这个正则式将替换所有回车符前的 ^M为空($是为了保证^M出现在行尾)4、一些linux版本有 dos2unix 程序,可以用来祛除^M5、用vim输入 :set
阅读全文
摘要:有时候关闭软件后,后台进程死掉,导致端口被占用。下面以JBoss端口8083被占用为例,列出详细解决过程。解决方法:1.查找被占用的端口netstat-tlnnetstat-tln|grep8083netstat -tln 查看端口使用情况,而netstat -tln | grep 8083 则是只查看端口8083的使用情况2.查看端口属于哪个程序?端口被哪个进程占用lsof-i:80833.杀掉占用端口的进程kill-9进程id 转自:http://taoistwar.iteye.com/blog/701704
阅读全文
摘要:通过昨天的资料搜集、对比、安装、阅读文档和使用,对git有了初步的了解!这些内容在我的上一篇文章中都有,就不在赘述了!今天老大让我结合我们的项目和使用细节写一个文档给实验室的同学。一直工作在linux下,就把文档先写在我的blog里吧!Git安装以及使用Git 管理个人文档1.1 Git 安装Git的最新版本可以在http://git-scm.com/下载,它是基于命令行操作的,网上也有第三方开发的相应GUI可供下载,因为我比较喜欢命令行操作,所以没有对GUi下载和安装,有兴趣的同学可以自己试试。网上也有相应的文章和资料可供参考!安装之前首先确保相应的依赖包已经安装,主要有以下几个:zlibl
阅读全文
摘要:在多任务操作系统环境中,如果一个进程尝试对正在被其他进程读取的文件进行写操作,可能会导致正在进行读操作的进程读取到一些被破坏或者不完整的数据;如果两个进程并发对同一个文件进行写操作,可能会导致该文件遭到破坏。因此,为了避免发生这种问题,必须要采用某种机制来解决多个进程并发访问同一个文件时所面临的同步问题,由此而产生了文件加锁方面的技术。早期的 UNIX 系统只支持对整个文件进行加锁,因此无法运行数据库之类的程序,因为此类程序需要实现记录级的加锁。在 System V Release 3 中,通过 fcntl 提供了记录级的加锁,此后发展成为 POSIX 标准的一部分。本文将基于 2.6.23
阅读全文
摘要:http://bbs.chinaunix.net/thread-41603-1-1.html这里说的比较好.
阅读全文
摘要:getopt_long支持长选项的命令行解析,使用man getopt_long,得到其声明如下: #include <getopt.h> int getopt_long(int argc, char * const argv[], const char *optstring, const struct option *longopts, int *longindex); int getopt_long_only(int argc, char * const argv[], const char *optstring, const struct option *longopts,
阅读全文
摘要:1.文件类型输入输出操作的对象为外部的硬件设备、内存、硬盘上面的文件等等,linux系统将这些输入输出操作的对象都抽象成文件的概念例如外部的硬件设备对应硬盘上的一个设备文件,所以真正输入输出操作的对象就是文件。linux(和UNIX)的文件类型:(1)普通文件:一些常规文件、可执行程序和任何其它你想要的东西。(2)目录(3)符号链接文件:文件中的内容是所指向的文件全路径,不包括字符串结束字符’\0’。下面的两种文件类型是设备文件类型,对于外部的硬件设备或虚拟的软件设备,都抽象成一个个文件。设备文件有两种:(4)字符设备文件:例如像终端,有一些字符设备可以绕过内核缓冲区,在一次I/O操作中输入输
阅读全文
摘要:gcc这个大名鼎鼎的编译器软件,如果你用UNIX类系统,当然包括Linux,一定要知道。gcc - GNU project C and C++ compiler1、基本用法一般用作C语言编译器时是gcc,而用作C++语言编译器时是g++。其语法结构为: gcc [-c|-S|-E] [-std=standard] [-g] [-pg] [-Olevel] [-Wwarn...] [-pedantic] [-Idir...] [-Ldir...] [-Dmacro[=defn]...] [-Umacro]...
阅读全文
摘要:当您经常使用某个系统时,往往会陷入某种固定的使用模式。有时,您没有养成以尽可能最好的方式做事的习惯。有时,您的不良习惯甚至会导致出现混乱。纠正此类缺点的最佳方法之一,就是有意识地采用抵制这些坏习惯的好习惯。本文提出了 10 个值得采用的 UNIX 命令行习惯——帮助您克服许多常见使用怪癖,并在该过程中提高命令行工作效率的好习惯。下面列出了这 10 个好习惯,之后对进行了更详细的描述。采用 10 个好习惯要采用的十个好习惯为: 在单个命令中创建目录树。更改路径;不要移动存档。将命令与控制操作符组合使用。谨慎引用变量。使用转义序列来管理较长的输入。在列表中对命令分组。在 find 之外使用 xar
阅读全文
摘要:前序:... 1一、 版本... 1二、 基本编译... 2三、 SQLITE操作入门... 2(1) 基本流程... 2(2) SQL语句操作... 4(3) 操作二进制... 8(4) 事务处理... 10四、 给数据库加密... 10五、 后记... 25 前序:Sqlite3 的确很好用。小
阅读全文
摘要:1.0 总览 SQLite3是SQLite一个全新的版本,它虽然是在SQLite 2.8.13的代码基础之上开发的,但是使用了和之前的版本不兼容的数据库格式和API. SQLite3是为了满足以下的需求而开发的: 支持UTF-16编码. 用户自定义的文本排序方法. 可以对BLOBs字段建立索引. 因
阅读全文
摘要:SQLite是一款开源嵌入式文件型数据库,这个主要是和其他一些C/S架构的关系型数据库比较而来的,比如MySQL等。 说他是嵌入式,因为SQLite的所有功能全部包装在一个dll中,我们只需要使用其中的导出接口就可以操作SQLite数据库,这样使得数据存储功能能够很方便的集成进用户的程序中,并运行在
阅读全文
摘要:C/C++语言中调用 sqlite 的函数接口来实现对数据库的管理(创建数据库、创建表格、插入数据、查询、数据、删除数据等)。首先要编译好sqlite的库文件 : libsqlite3.a libsqlite3.la libsqlite3.so libsqlite3.so.0 libsqlite3.
阅读全文

浙公网安备 33010602011771号