Linux学习——⽂件
1.常见Linux⽬录名称
2.遍历⽬录
(1)绝对⽂件路径
⽤户可在虚拟⽬录中采⽤绝对⽂件路径引⽤⽬录名。绝对⽂件路径定义了在虚拟⽬录结构中 该⽬录的确切位置,以虚拟⽬录的根⽬录开始,相当于⽬录的全名。 绝对⽂件路径总是以正斜线(/)作为起始,指明虚拟⽂件系统的根⽬录。因此,如果要指 向usr⽬录所包含的bin⽬录下的⽤户⼆进制⽂件,可以使⽤如下绝对⽂件路径: /usr/bin 使⽤绝对⽂件路径可以清晰表明⽤户想切换到的确切位置。要⽤绝对⽂件路径来切换到⽂件 系统中的某个特定位置,只需在cd命令后指定全路径名:
注意,在上⾯的例⼦中,提⽰符中⼀开始有⼀个波浪号(~)。在切换到另⼀个⽬录之后,这 个波浪号被/usr/bin替代了。CLI提⽰符正是⽤它来帮助你跟踪当前所在虚拟⽬录结构中的位置。 波浪号表明shell会话位于你的主⽬录中。在切换出主⽬录之后,如果提⽰符已经进⾏了相关配置 的话,绝对⽂件路径就会显⽰在提⽰符中。
如果没有配置好提⽰符来显⽰当前shell会话的绝对⽂件路径,也可以使⽤shell命令来显⽰所 处的位置。pwd命令可以显⽰出shell会话的当前⽬录,这个⽬录被称为当前⼯作⽬录。pwd命令 的⽤法如下:
可以使⽤绝对⽂件路径切换到Linux虚拟⽬录结构中的任何⼀级,还可以从Linux虚拟⽬录中的任何⼀级跳回主⽬录:
(2)相对⽂件路径
相对⽂件路径允许⽤户指定⼀个基于当前位置的⽬标⽂件路径。相对⽂件路径不以代表根⽬ 录的正斜线(/)开头,⽽是以⽬录名(如果⽤户准备切换到当前⼯作⽬录下的⼀个⽬录)或是 ⼀个特殊字符开始。假如你位于home⽬录中,并希望切换到Documents⼦⽬录,那你可以使⽤cd 命令加上⼀个相对⽂件路径:
上⾯的例⼦并没有使⽤正斜线(/),⽽是采⽤了相对⽂件路径将当前⼯作⽬录从 /home/tongtong改
为/home/tongtong/Documents,⼤⼤减少了输⼊内容。 另外,此例中还要注意的是,如果提⽰符经过配置可以显⽰出当前⼯作⽬录,它就会⼀直显 ⽰波浪号。这表明当前⼯作⽬录位于⽤户home⽬录之下。
可以在任何包含⼦⽬录的⽬录中使⽤带有相对⽂件路径的cd命令。也可以使⽤⼀个特殊字符 来表⽰相对⽬录位置。 有两个特殊字符可⽤于相对⽂件路径中:  单点符(.),表⽰当前⽬录;  双点符(..),表⽰当前⽬录的⽗⽬录。
双点符在⽬录层级中移动时⾮常便利。如果你处在在主⽬录下的Documents⽬录中,需要切 换到主⽬录下的Downloads⽬录,可以这么做:
双点符先将⽤户带到上⼀级⽬录,也就是⽤户的主⽬录,然后/Downloads这部分再将⽤户带 到下⼀级⽬录,即Downloads⽬录。必要时⽤户也可⽤多个双点符来向上切换⽬录。
3.⽂件和⽬录列表
(1)基本列表功能
ls命令最基本的形式会显⽰当前⽬录下的⽂件和⽬录:
如果没安装彩⾊终端仿真器,可⽤带-F参数的ls命令轻松区分⽂件和⽬录。使⽤-F参数可 以得到如下输出:
-F参数在⽬录名后加了正斜线(/),以⽅便⽤户在输出中分辨它们。
要把隐藏⽂件和普通⽂件及⽬录⼀起显⽰出来,就得⽤到-a参数。下⾯是⼀个带有-a参数 的ls命令的例⼦:
所有以点号开头的隐藏⽂件现在都显⽰出来了。注意,有三个以.bash开始的⽂件。它们是bash shell环境所使⽤的隐藏⽂件。
-R参数是ls命令可⽤的另⼀个参数,叫作递归选项。它列出了当前⽬录下包含的⼦⽬录中 的⽂件。如果⽬录很多,这个输出就会很长。以下是-R参数输出的简单例⼦:
(2)处理⽂件
1)创建⽂件
你总会时不时地遇到要创建空⽂件的情况。例如,有时应⽤程序希望在它们写⼊数据之前, 某个⽇志⽂件已经存在。这时,可⽤touch命令轻松创建空⽂件。
2)删除⽂件
迟早有⼀天,你得删除已有的⽂件。不管是清理⽂件系统还是删除某个软件包,总有要删除 ⽂件的时候。 在Linux中,删除(deleting)叫作移除(removing)①。bash shell中删除⽂件的命令是rm。rm 命令的基本格式⾮常简单。
注意,-i命令参数提⽰你是不是要真的删除该⽂件。bash shell中没有回收站或垃圾箱,⽂件 ⼀旦删除,就⽆法再回。因此,在使⽤rm命令时,要养成总是加⼊-i参数的好习惯。 也可以使⽤通配符删除成组的⽂件。别忘了使⽤-i选项保护好⾃⼰的⽂件。
rm命令的另外⼀个特性是,如果要删除很多⽂件且不受提⽰符的打扰,可以⽤-f参数强制 删除。⼩⼼为妙!
(3)处理⽬录
1)创建⽬录
在Linux中创建⽬录很简单,⽤mkdir命令即可:
系统创建了⼀个名为New_Dir的新⽬录。注意,新⽬录长列表是以d开头的。这表⽰New_Dir 并不是⽂件,⽽是⼀个⽬录。
可以根据需要批量地创建⽬录和⼦⽬录。但是,如果你想单单靠mkdir命令来实现,就会得 到下⾯的错误消息:
要想同时创建多个⽬录和⼦⽬录,需要加⼊-p参数:
mkdir命令的-p参数可以根据需要创建缺失的⽗⽬录。⽗⽬录是包含⽬录树中下⼀级⽬录的 ⽬录。
2)删除⽬录
删除⽬录之所以很棘⼿,是有原因的。删除⽬录时,很有可能会发⽣⼀些不好的事情。shell 会尽可能防⽌我们捅娄⼦。删除⽬录的基本命令是rmdir。
默认情况下,rmdir命令只删除空⽬录。得先把⽬录中的⽂件删掉,然后才能在空⽬录上使⽤rmdir命令。
rmdir并没有-i选项来询问是否要删除⽬录。这也是为什么说rmdir只能删除空⽬录还是有 好处的原因。 也可以在整个⾮空⽬录上使⽤rm命令。使⽤-r选项使得命令可以向下进⼊⽬录,删除其中 的⽂件,然后再删除⽬录本⾝。
(4)查看⽂件内容
1)查看整个⽂件
cat命令 cat命令是显⽰⽂本⽂件中所有数据的得⼒⼯具。
还有⼀些可以和cat命令⼀起⽤的参数  -n参数会给所有的⾏加上⾏号。
这个功能在检查脚本时很有⽤。如果只想给有⽂本的⾏加上⾏号,可以⽤-b参数。
shell创建文件并写入内容
最后,如果不想让制表符出现,可以⽤-T参数。
-T参数会⽤^I字符组合去替换⽂中的所有制表符。
more命令
cat命令的主要缺陷是:⼀旦运⾏,你就⽆法控制后⾯的操作。为了解决这个问题,开发⼈ 员编写了more命令。more命令会显⽰⽂本⽂件的内容,但会在显⽰每页数据之后停下来。我们 输⼊命令more /etc/bash.bashrc⽣成如图中所显⽰的内容。
more命令显⽰了⼀个标签,其表明你仍然在more程序中以及你现 在在这个⽂本⽂件中的位置。这是more命令的提⽰符。
less命令
从名字上看,它并不像more命令那样⾼级。但是,less命令的命名实际上是个⽂字游戏(从 俗语“less is more”得来),它实为more命令的升级版。它提供了⼀些极为实⽤的特性,能够实 现在⽂本⽂件中前后翻动,⽽且还有⼀些⾼级搜索功能。 less命令的操作和more命令基本⼀样,⼀次显⽰⼀屏的⽂件⽂本。除了⽀持和more命令相 同的命令集,它还包括更多的选项。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。