linux 命令链接?linux建立软连接命令

各位老铁们,大家好,今天由我来为大家分享linux 命令链接,以及linux建立软连接命令的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

linux ln 连接命令怎么用

ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最常用的参数是-s,具体用法是:ln–s源文件目标文件。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln–s/bin/less/usr/local/bin/less

-s是代号(symbolic)的意思。

两点注意:

第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;

第二,ln的链接又软链接和硬链接两种,软链接就是ln–s****,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln****,没有参数-s,它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

如果你用ls察看一个目录时,发现有的文件后面有一个@的符号且文件或文件夹的颜色和别的不一样,那就是一个用ln命令生成的文件,用ls–l命令去察看,就可以看到显示的link的路径了。

指令详细说明:

指令名称: ln

使用权限:所有使用者

使用方式: ln [options] source dist,其中 option的格式为:

[-bdfinsvF] [-S backup-suffix] [-V{numbered,existing,simple}]

[--help] [--version] [--]

说明: Linux/Unix档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种:硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。

ln source dist是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。

不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

-f:链结时先将与 dist同档名的档案删除

-d:允许系统管理者硬链结自己的目录

-i:在删除与 dist同档名的档案时先进行询问

-n:在进行软连结时,将 dist视为一般的档案

-s:进行软链结(symbolic link)

-v:在连结之前显示其档名

-b:将在链结时会被覆写或删除的档案进行备份

-S SUFFIX:将备份的档案都加上 SUFFIX的字尾

-V METHOD:指定备份的方式

--help:显示辅助说明

--version:显示版本

范例:

将档案 yy产生一个 symbolic link: zz

1

ln-s yy zz

将档案 yy产生一个 hard link: zz

1

ln yy xx

PS:如果想要删除链接,则像普通文件一样直接rm链接名称即可。

linux 怎么使用链接的文件

链接:一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。

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

下面我们用一个实例来说明硬链接和软链接。

现在目录下有两个文件,一个名为file1,一个名为file2。

引用

$ ls–il

1052671-rw-r--r-- 1 Leanx Leanx 0 2010-03-29 13:46 file1

1052670-rw-r--r-- 1 Leanx Leanx 0 2007-03-29 13:46 file2

首先先做一个file1的硬链接。

引用

$ ln file1 file1hard

$ls–il

1052671-rw-r--r-- 2 Leanx Leanx 0 2010-03-29 13:46 file1

1052670-rw-r--r-- 1 Leanx Leanx 0 2010-03-29 13:46 file12

1052671-rw-r--r-- 2 Leanx Leanx 0 2010-03-29 13:46 file1hard

这里我们注意在创建链接前,file1显示的链接数目为1,创建链接后

1.file1和file1hard的链接数目都变为2。

2.file1和file1的inode号是一样的,都是1052671。

3.file1和file1hard显示的文件大小也是一样,都是0B。

可见进行了ln命令的操作结果:file1和file1hard是同一个文件的两个名字,它们具有同样的索引节点号和文件属性,建立文件file1的硬链接,就是为 file1的文件索引节点在当前目录上建立一个新指针。你可以删除其中任何一个,如rm file1,每次只会删除一个指针,链接数同时减一,只有将所有指向文件内容的指针,也即链接数减为0时,内核才会把文件内容从磁盘上删除。

尽管硬链接节省空间,也是Linux系统整合文件系统的传统方式,但是存在一些不足之处:

1.不允许给目录创建硬链接。

2.不可以在不同文件系统的文件间建立链接。

接着我们做一个指向file2的软链接,软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。

引用

$ ln-s file2 file2soft

$ ls–il

总用量 0

1052671-rw-r--r-- 2 Leanx Leanx 0 2010-03-29 13:34 file1

1052670-rw-r--r-- 1 Leanx Leanx 0 2010-03-29 13:35 file2

1053313 lrwxrwxrwx 1 Leanx Leanx 5 2010-03-29 13:45 file2soft-> file2

1052671-rw-r--r-- 2 Leanx Leanx 0 2010-03-29 13:34 file1hard

从上面链接后的结果可以看出来软链接与硬链接,区别不仅仅是在概念上,在实现上也是完全不同的。

区别:

1.硬链接原文件/链接文件公用一个inode号,说明他们是同一个文件,而软链接原文件/链接文件拥有不同的inode号,表明他们是两个不同的文件;

2.在文件属性上软链接明确写出了是链接文件,而硬链接没有写出来,因为在本质上硬链接文件和原文件是完全平等关系;

3.链接数目是不一样的,软链接的链接数目不会增加;

4.文件大小是不一样的,硬链接文件显示的大小是跟原文件是一样的。而这里软链接显示的大小与原文件就不同了,file2大小是0B,而file2soft是5B。

总之,建立软链接就是建立了一个新文件。当访问链接文件时,系统就会发现他是个链接文件,它读取链接文件找到真正要访问的文件。

当然软链接也有硬链接没有的缺点,因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。

链接linux cmd使用什么命令

linux查看网络链接状况命令

netstat参数如下:

-a显示所有socket,包括正在监听的。

-c每隔1秒就重新显示一遍,直到用户中断它。

-i显示所有网络接口的信息,格式同“ifconfig-e”。

-n以网络IP地址代替名称,显示出网络连接情形。

-r显示核心路由表,格式同“route-e”。

-t显示TCP协议的连接情况。

-u显示UDP协议的连接情况。

-v显示正在进行的工作。

netstat-an| grep LISTEN

0.0.0.0的就是每个IP都有的服务,写明哪个IP的就是绑定那个IP的服务。

2. netstat-tln

用来查看linux的端口使用情况

3./etc/init.d/vsftp start

是用来启动ftp端口~!

4. netstat

查看已经连接的服务端口(ESTABLISHED)

5. netstat-a

查看所有的服务端口(LISTEN,ESTABLISHED)

6. sudo netstat-ap

查看所有的服务端口并显示对应的服务程序名

7. nmap<扫描类型><扫描参数>

例如:

nmap localhost

nmap-p 1024-65535 localhost

nmap-PT 192.168.1.127-245

当我们使用netstat-apn查看网络连接的时候,会发现很多类似下面的内容:

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 52 218.104.81.152:7710 211.100.39.250:29488 ESTABLISHED 6111/1

显示这台服务器开放了7710端口,那么这个端口属于哪个程序呢?我们可以使用lsof-i:7710命令来查询:

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

sshd 1990 root 3u IPv4 4836 TCP*:7710(LISTEN) 54com.cn

这样,我们就知道了7710端口是属于sshd程序的。

=================================================

下面这个语句是一个非常好的查看TCP连接状态的语句:

netstat-n| awk'/^tcp/{++S[$NF]} END{for(a in S) print a, S[a]}’

返回结果示例:

LAST_ACK 5

SYN_RECV 30

ESTABLISHED 1597

FIN_WAIT1 51

FIN_WAIT2 504

TIME_WAIT 1057

以下是各种状态的描述

CLOSED:无连接是活动的或正在进行

ESTABLISED:已建立连线的状态;

SYN_SENT:发出主动连线(SYN标志)的连线封包;

SYN_RECV:接收到一个要求连线的主动连线封包;

FIN_WAIT1:该插槽服务(socket)已中断,该连线正在断线当中;

FIN_WAIT2:该连线已挂断,但正在等待对方主机回应断线确认的封包;

TIME_WAIT:该连线已挂断,但 socket还在网路上等待结束;

LISTEN:通常用在服务的监听 port!可使用『-l』参数查阅。

CLOSING:两边同时尝试关闭

TIME_WAIT:另一边已初始化一个释放

LAST_ACK:等待所有分组死掉

阅读剩余
THE END