Linux 中的文件分为 Hard Link 和 Symbolic Link 两种。Hard Link 文件又被称为硬链接文件、实体链接文件,Symbolic Link 文件则常被称为符号链接、软链接文件。
ln 命令用来在文件之间建立链接。在介绍 ln 命令前,让我们先来搞清楚究竟什么是硬链接,什么又是软链接。
的目录并同时删除其内容 rm -rf dir1 dir2 同时删除两个目录及它们的内容 mv dir1 new_dir 重命名/移动 一个目录 cp file1 file2 复制一个文件 cp dir/* . 复制一个目录下的所有文件到当前工作目录 cp -a /tmp/dir1 . 复制一个目录到当前工作目录 cp -a dir1 dir2 复制一个目录 ln -s file1 lnk1 创建一个指向文件或目录的软链接 ln file1 lnk1 创建一个指向文件或目录的物理链接 touch -t 0712250000 file1 修改一个文件或目录的时间戳 - find / -name file1 从 '。binnagios 可执行程序所在目录etcnagios 配置文件所在目录sbinnagios cgi 文件所在目录,也就是执行外部命令所需文件所在的目录sharenagios网页文件所在的目录libexecnagios 外部插件所在目录varnagios 日志文件、lock 等文件所在的目录var/archivesnagios 日志自动归档目录var/rw用来存放外部命令文件的目录。c/c++下sqlite编程参考文件:a introduction to the sqlite c/c++ interface找到安装sqlite的路径:我们的sqlite3的库文件目录是:/usr/local/sqlite3/lib //我的机子安装目录文件名是sqlite-3.3.6可执行文件 sqlite3 的目录是: /usr/local/sqlite3/bin头文件 sqlite3.h 的目录是: /usr/local/sqlite3/include编译指南:现在编译:[root@localhost dada]# gcc c3.c -o c3opendbsqlite.c:11:21: sqlite3.h:没有那个文件或目录opendbsqlite.c: in function `main':opendbsqlite.c:19: `sqlite3' undeclared (first use in this function)//这是由于没有找到头文件的原因。
也就是说,文件名存储在目录中,inode 号执行文件存储的内容,文件名和 inode 之间有一个对应关系。那么多个文件名可不可以同时指向同一个 inode 呢?答案是可以的,这就是硬链接!从本质上来说,硬链接只是在目录下新添加了一个文件名,这个文件名与一个已有文件的 inode 相关联。让我们也通过 /etc/crontab 文件来进行观察:
$ ll -i /etc/crontab 131213 -rw-r--r-- 1 root root 722 Nov 16 2017 /etc/crontab
使用 ln 命令在当前目录下创建一个 /etc/crontab 文件的硬链接,然后观察其文件属性:
$ sudo ln /etc/crontab . $ ll -i /etc/crontab crontab 131213 -rw-r--r-- 2 root root 722 Nov 16 2017 crontab 131213 -rw-r--r-- 2 root root 722 Nov 16 2017 /etc/crontab