易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux下的软链接和硬链接的不同【转】

今天编译BlueZ的时候,突然间发生了一个创建 硬链接失败 ,脑海里跳出了了一个什么是硬链接的概念,一时间还真回答不上来,google了下,发现这篇博文描述的很清晰,转载之,以备忘...
链接——是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。
Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。
我们首先来了解一下几个名词。
索引节点(inode)
要了解链接,我们首先得了解一个概念,叫索引节点(inode)。在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号,我们可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问。系统是通过索引节点(而不是文件名)来定位每一个文件。
硬链接(Hard Link)
硬链接说白了是一个指针,指向文件索引节点,系统并不为它重新分配inode。
可以用:ln命令来建立硬链接。
引用
ln [options] existingfile newfile
ln [options] existingfile-list directory
用法:
第一种为”existingfile”创建硬链接,文件名为”newfile”。
第二种在”directory”目录中,为” existingfile-list”中包含的所有文件创建一个同名的硬链接。
常用可选[options]:-f 无论”newfile”存在与否,都创建链接。-n 如果”newfile”已存在,就不创建链接。
软链接(Soft Link)
软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。和win下的快捷方式差不多。
可以用:ln -s 命令来建立软链接。
引用
ln -s existingfile newfile
ln -s existingfile-list directory
下面我们用一个实例来说明硬链接和软链接。
现在目录下有两个文件,一个名为AAA,一个名为BBB。
引用
$ ls -il
963922 -rw-r--r-- 1 ocean ocean 92 2007-05-18 15:46 AAA
963923 -rw-r--r-- 1 ocean ocean 95 2007-05-18 15:46 BBB
首先先做一个AAA的硬链接。
引用
$ ln AAA AAAhard
$ls -il
963922 -rw-r--r-- 2 ocean ocean 92 2007-05-18 15:46 AAA
963922 -rw-r--r-- 2 ocean ocean 92 2007-05-18 15:46 AAAhard
963923 -rw-r--r-- 1 ocean ocean 95 2007-05-18 15:46 BBB
这里


相关文档:

Linux信号列表

运行如下命令,可看到Linux支持的信号列表:
$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) S ......

linux文件类型

linux中,通过
ls -al
显示的属性中,第一个就标志文件类型。通常有一下几种情况:
[ - ]----普通文件
[ d]----目录
[ l ]----连接文件
[ b]----块设备
[ c ]----字符设备
[ s ]----套结字
[ p ]----管道 ......

linux ls只是列出文件夹

ls -l|grep ^d    ----列出当前目录下的文件夹
ls -l|grep ^d|grep "tmp"  ----列出当前目录下明子含有"tmp"的文件夹
for dir in `ls -l ~/dxy/|grep ^d | awk '{print $9}'`  ---- awk '{print $9}' ,只print 文件夹的名字
do
echo "==== $dir"
cd ~/dxy;cd ......

Linux 远程登录服务:telnet和ssh

Linux 远程登录服务:telnet和ssh
通常情况下远程登录我们使用telnet服务,Red Hat
Linux带有telnet服务器的软件包,我们需要安装telnet-server和xinetd两个软件包:
[root@rh73 ~]# rpm -ivh
/mnt/cdrom/RedHat/RPMS/telnet-server-0.17-20.i386.rpm
[root@rh73 ~]# rpm -ivh
/mnt/cdrom/RedHat/RPMS/xinetd-2.3.4-0 ......

[Pthread] Linux程序调试的基石(二)


3. GDB的实现
GDB是GNU发布的一个强大的程序调试工具,用以调试C/C++程序。可以使程序员在程序运行的时候观察程序在内存/寄存器中的使用情况。它的实现也是基于ptrace系统调用来完成的。

原理是利用ptrace系统调用,在被调试程序和gdb之间建立跟踪关系。然后所有发送给被调试程序的信号(除SIGKILL)都会被gdb截 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号