linux命令ln的用法 linux中ln命令的用法

linux ln命令详解ln是中一个非常重要命令 。它的功能是为某一个文件在另外一个位置建立一个同步的链接,这个命令最常用的参数是-s,具体用法是:
ln
-s
源文件
目标文件
-s

symbolic的意思 。
例:ln
-s
/lib/lsb
/usr/lj
即:在usr目录下建立指向/lib/lsb目录的lj文件 。

我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录 , 放上该文件,然后在其它的
目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间 。例如:ln
-s
/bin/less
/usr/local/bin/less-s
是代号(symbolic)的意思 。这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生
相同的变化;第二,ln的链接又软链接和硬链接两种,软链接就是ln
-s
**
**,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间 , 硬链接ln
**
**,没有参数-s,
它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化 。软链接是可以跨分区的,但是硬链接只能在同一分区
内 。如果你用ls察看一个目录时 , 发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件 , 用ls
-l命令去察看,就可以看到显示的link的路径了当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,
我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间 。例如:ln
-s
/bin/less
/usr/local/bin/less
Linux基本命令-2021-0717 [root@localhost~]#ls-l
总用量44
-rw------.1 ----root ---- root--------12071 月1418:18anaconda-ks.cfg
权限--引用计数所有者 -- 所属组---大小-- 文件修改时间文件名
ls[选项][文件名或目录名]
选项:
-a :显示所有文件
--color=when:支持颜色输出
-d :显示目录信息,而不是目录下的文件
-h :人性化显示﹐按照我们习惯的显示文件大小
-i :显示文件的i节点号
-l:长格式显示
pwd 命令是查询当前所在的目录的绝对路径
选项:
-L (默认值)打印环境变量"$PWD"的值,可能为符号链接 。
-P 打印当前工作目录的物理位置 。
mkdir是创建目录的命令
选项:
-Z:设置安全上下文,当使用SELinux时有效;
-m或--mode:建立目录的同时设置目录的权限;
-p或--parents:若所要建立目录的上层目录目前尚未建立 , 则会一并建立上层目录;
rmdir是删除空目录的命令
-p: 递归删除目录
touch 是 创建空文件或修改文件的时间戳
[root@localhost~]#touch[选项]文件名
-a:或--time=atime或--time=access或--time=use只更改存取时间;
-c:或--no-create不建立任何文件;
-d:时间日期 使用指定的日期时间,而非现在的时间;
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:或--time=mtime或--time=modify只更该变动时间;
-r:参考文件或目录把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:日期时间使用指定的日期时间,而非现在的时间;
--help:在线帮助;
--version:显示版本信息 。
stat 是查看文件详细信息的命令,而且可以看到文件的这三个时间戳
选项:
-L:支持符号连接;
-f:显示文件系统状态而非文件状态;
-t:以简洁方式输出信息;
cat 命令用来查看文件内容
选项:
-A: 相当于-vET 选项的整合,用于列出所有隐藏符号
-E: 列出每行结尾的回车符$
-n: 显示行号
-T: 把 Tab 键用^I显示出来
-v: 列出特殊字符
more 是分屏显示文件的命令
less 是分行显示文件的命令
用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页 。要退出less程序,应按Q键 。
选项:
-e:文件内容显示完毕后,自动退出;
-f:强制显示文件;
-g:不加亮显示搜索到的所有关键词 , 仅显示当前显示的关键字,以提高显示速度;
-l:搜索时忽略大小写的差异;
-N:每一行行首显示行号;
-s:将连续多个空行压缩成一行显示;
-S:在单行显示较长的内容,而不换行显示;
-x数字:将TAB字符显示为指定个数的空格字符 。
head 是用来显示文件开头的命令
选项:
-c --bytes=[-]NUM显示前NUM字节;如果NUM前有"-",那么会打印除了文件末尾的NUM字节以外的其他内容 。
-n, --lines=[-]NUM显示前NUM行而不是默认的10行;如果NUM前有"-",那么会打印除了文件末尾的NUM行以外的其他行 。
-q, --quiet, --silent不打印文件名行 。
-v, --verbose总是打印文件名行 。
-z, --zero-terminated行终止符为NUL而不是换行符 。
tail 是用来显示文件末尾的命令
选项:
-c, --bytes=NUM输出文件尾部的NUM(NUM为整数)个字节内容 。
-f, --follow[={name|descript}]显示文件最新追加的内容 。“name”表示以文件名的方式监视文件的变化 。
-F与 “--follow=name --retry” 功能相同 。
-n, --line=NUM输出文件的尾部NUM(NUM位数字)行内容 。
--pid=进程号与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令 。
-q, --quiet, --silent当有多个文件参数时 , 不输出各个文件名 。
--retry即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件 。使用此选项时需要与选项“--follow=name”连用 。
-s, --sleep-interal=秒数与“-f”选项连用,指定监视文件变化时间隔的秒数 。
-v, --verbose当有多个文件参数时,总是输出各个文件名 。
ln 是用来为文件创建链接的命令
[root@localhost~]#ln[选项]源文件目标文件
选项:
-s: 建立软链接文件 。如果不加“-s”选项,则建立硬链接文件
-f: 强制 。如果目标文件已经存在,则删除目标文件后再建立链接文件
-d, -F, --directory创建指向目录的硬链接(只适用于超级用户)
-f, --force强行删除任何已存在的目标文件
-i, --interactive覆盖既有文件之前先询问用户
-L, --logical取消引用作为软链接的目标
-n, --no-dereference把软链接的目的目录视为一般文件
-P, --physical直接将硬链接到软链接
-r, --relative创建相对于链接位置的软链接
-s, --symbolic对源文件建立软链接
硬链接特征:
源文件和硬链接文件拥有相同的 Inode 和 Block
?修改任意一个文件,另一个都改变
?删除任意一个文件,另一个都能使用
?硬链接标记不清 , 很难确认硬链接文件位置,不建议使用
?硬链接不能链接目录
?硬链接不能跨分区
软链接特征:
?软链接和源文件拥有不同的 Inode 和 Block
?两个文件修改任意一个,另一个都改变
?删除软链接,源文件不受影响;删除源文件,软链接不能使用
?软链接没有实际数据,只保存源文件的 Inode,不论源文件多大 , 软链接大小不变
?软链接的权限是最大权限lrwxrwxrwx.,但是由于没有实际数据,最终访问时需要参考源文
件权限
?软链接可以链接目录
?软链接可以跨分区
?软链接特征明显,建议使用软连接
rm 是强大的删除命令,不仅可以删除文件,也可以删除目录
[root@localhost~]#rm[选项]文件或目录
选项:
d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程 。
cp 是文件或目录用于复制的命令
[root@localhost~]#cp[选项]源文件目标文件
选项:
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制软链接时,把目标文件或目录也建立为软链接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接 , 而非复制文件;
-p:保留源文件或目录的属性;
-r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立软链接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作 。
mv 是用来对文件或目录重新命名,或者将文件移动至其他目录
[root@localhost~]#mv[选项]源文件目标文件
选项:
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户 , 如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件 。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动 。这样可以避免误将文件覆盖 。
--strip-trailing-slashes:删除源文件中的斜杠“ / ”;
-S后缀:为备份文件指定后缀 , 而不使用默认的后缀;
--target-directory=目录:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作 。
[root@localhost~]#ls-linstall.log
-rw-r--r--.1rootroot247721 月1418:17install.log
第一列的权限位如果不计算最后的“.” , 则共有 10 位 。
第 2~4 位代表文件所有者的权限 。
chmod 用来变更文件或目录的权限
[root@localhost~]#chmod[选项]权限模式文件名
选项:
-c, --changes:当文件的权限更改时输出操作信息 。
--no-preserve-root:不将'/'特殊化处理,默认选项 。
--preserve-root:不能在根目录下递归操作 。
-f, --silent, --quiet:抑制多数错误消息的输出 。
-v, --verbose:无论文件是否更改了权限,一律输出操作信息 。
--reference=RFILE:使用参考文件或参考目录RFILE的权限来设置目标文件或目录的权限 。
-R, --recursive:对目录以及目录下的文件递归执行更改权限操作 。
用户身份
首先,读、写、执行权限对文件和目录的作用是不同的 。
目录的可用权限其实只有以下几个 。
chown 是修改文件和目录的所有者和所属组的命令
[root@localhost~]#chown[选项]所有者:所属组文件或目录
选项:
-c或——changes:效果类似“-v”参数 , 但仅回报更改的部分;
-f或--quite或——silent:不显示错误信息;
-h或--no-dereference:只对软链接的文件作修改,而不更改其他任何相关文件;
-R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-v或——version:显示指令执行过程;
--reference=参考文件或目录:把指定文件或目录的拥有者与所属群组全部设成和参考文件或目录的拥有者与所属群组相同;
普通用户不能修改文件的所有者 , 哪怕自己是这个文件的所有者也不行
普通用户可以修改所有者是自己的文件的权限
chgrp 是修改文件和目录的所属组的命令
[root@phato ~]# chgrp [选项] 所属组 文件或目录
-R 递归式地改变指定目录及其下的所有子目录和文件的所属的组
-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
-f或--quiet或——silent:不显示错误信息;
-h或--no-dereference:只对符号连接的文件作修改 , 而不是该其他任何相关文件;
-H如果命令行参数是一个通到目录的软链接,则遍历软链接
-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
-L:遍历每一个遇到的通到目录的软链接
-P:不遍历任何符号链接(默认)
-v或——verbose:显示指令执行过程;
--reference=参考文件或目录:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;
umask 是显示或设置创建文件的权限掩码 。我们需要先了解一下新建文件和目录的默认最大权限 。
我们在这里按照权限字母来讲解 umask 权限的计算方法 。我们就按照默认的 umask 值是 022来分别计算一下新建文件和目录的默认权限吧 。
Linux软链接和硬链接的区别之ln命令详解1. 先来了解一下Linux数据是如何保存和查询的
对操作系统来说,数据分为两种:1. 用户数据 (user data) 2.元数据 (metadata) 。用户数据就是保存和记录文件的内容 。比如一个1M的ppt文件,500K的txt文件 。这都属于用户数据 。这个文件总有属性吧 , 比如大小、修改时间、访问时间、创建时间、存储的位置(文件所在的inode)、文件创建者等等信息 。这些属性信息或者理解为汇总信息,我们称它为元数据 。一句话,用户数据是文件的真实内容 , 而元数据则是汇总信息 。
在 Linux 中,元数据中的 inode 号(inode 号即索引节点号)才是文件的唯一标识而非文件名 。文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据块 。
2. 查看文件对应的inode号
134474678 latest.tar.gz
linux查看文件对应的inode号
可以看出latest.tar.gz这个文件, inode 号是134474678,Linux查找读写该文件时,以为个inode号码为标识 , 而不是文件名 。文件名类似于网站域名 , 仅仅是方便人类记忆 。
也就是说, inode134474678有一个硬链接,它就是latest.tar.gz 。
3. 根据inode号查找对应的文件
那么,问题来了,系统上有没有第二个文件,它的inode号码也是13447467 。
使用find查找一下:
查找结果如下:
/root/latest.tar.gz
/root/latest2.tar.gz
linux根据inode号查找对应的文件
硬盘上真的有第二个文件它的inode号码也是134474678,像这种情况,我们认为inode134474678有两个硬链接 。当然 , 这是本文作者提前准备好的 。
为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link) 。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处 。
4. 确认硬链接的数量
查看一下文件latest.tar.gz
输出结果如下:
-rwxr-xr-x. 2 root root 8743850 Oct 11 15:00 latest.tar.gz
请留意输出的结果中的数字2,表示该文件存在2个硬链接 。
正常情况下,一个inode只有一个链接 , 如下例
输出结果:
-rw-r--r--. 1 root root 9 Nov 21 11:39 abc.txt
请留意输出的结果中的数字1,表示该文件只存在1个硬链接,默认情况下,文件都是只有一个硬链接的 。
5. 查看软链接
再来看一个文件
lrwxrwxrwx. 1 root root 15 Sep 26 15:57 /dev/stdout - /proc/self/fd/1
linux查看软链接
我们发现,/dev/stdout实际上指向另一个文件/proc/self/fd/1 , 这就是软链接 。类似于Windows系统上的快捷方式 。
6. 软链接与硬链接的区别
6.1 软链接特点
6.2 硬链接特点
ln链接符原理如下:
Linux ln链接符原理图
7. 创建文件的链接
Linux ln命令是一个非常重要而且常用命令,它用于为文件或者目录创建链接 。
7.1 创建软链接
创建一个文件,用于演示软链接 。
创建软链接示例:
检查结果:
输出文件属性
lrwxrwxrwx. 1 root root 8 Nov 26 17:48 soft123.txt - soft.txt
linux创建软链接
可以看出这个文件指向当前目录soft.txt,配置成功 。7.2 创建硬链接
创建一个文件,用于演示硬链接 。
创建硬链接,没有使用选项
检查结果:
输出文件属性:
-rw-r--r--. 2 root root 0 Nov 26 17:47 hard123.txt
linux创建硬链接
留意以上输出数字2,表明该文件有2个副本 。
8. 总结
ln命令可以创建文件的副本,也可以创建软链接 。
LINUX LN命令 怎么操作最直接的方式就是在终端中 man ln然后就是详细说明 。
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件 。
使用方式 : ln [options] source dist,其中 option 的格式为 :[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定 。
不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间 。
-f : 链结时先将与 dist 同档名的档案删除
-d : 允许系统管理者硬链结自己的目录
-i : 在删除与 dist 同档名的档案时先进行询问
-n : 在进行软连结时 , 将 dist 视为一般的档案
-s : 进行软链结(symbolic link)
-v : 在连结之前显示其档名
-b : 将在链结时会被覆写或删除的档案进行备份
-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
-V METHOD : 指定备份的方式
--help : 显示辅助说明
--version : 显示版本
ln是什么意思?LN(指自然对数,自然对数是以常数e为底数的对数,记作lnN(N0) 。在物理学,生物学等自然科学中有重要的意义,一般表示方法为lnx 。数学中也常见以logx表示自然对数 。
可以从自然对数最早是怎么来的来说明其有多“自然” 。以前人们做乘法就用乘法 , 很麻烦,发明了对数这个工具后,乘法可以化成加法 。
当然后来数学家对这个数做了无数研究,发现其各种神奇之处,在对数表中出现并非偶然 , 而是相当自然或必然的 。因此就叫它自然对数底了 。
扩展资料:
在1614年开始有对数概念,约翰·纳皮尔以及Jost Bürgi在6年后,分别发表了独立编制的对数表,当时通过对接近1的底数的大量乘幂运算,来找到指定范围和精度的对数和所对应的真数,当时还没出现有理数幂的概念 。
1742年William Jones才发表了幂指数概念,按后来人的观点,Jost Bürgi的底数1.0001相当接近自然对数的底数e , 而约翰·纳皮尔的底数0.99999999相当接近1/e 。
实际上不需要做开高次方这种艰难运算,约翰·纳皮尔用了20年时间进行相当于数百万次乘法的计算,Henry Briggs建议纳皮尔改用10为底数未果 , 他用自己的方法于1624年部份完成了常用对数表的编制 。
【linux命令ln的用法 linux中ln命令的用法】linux命令ln的用法的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux中ln命令的用法、linux命令ln的用法的信息别忘了在本站进行查找喔 。

    推荐阅读