医学教育网,网易音乐-伊顿公学寻访手记,英国最佳高中

你学习了有关目录和拜访目录的权限是怎么作业的。你在这些文章中学习的大多数内容都可运用于文件
-- Paul Brown

在之前的该系列的部分中,你学习了有关目录[1]拜访目录[2]的权限[3]是怎么作业的。你在这些文章中学习的大多数内容都可运用于文件,除了怎么让一个文件变成可履行文件。

因而让咱们在开端之前先处理这个问题。

不需求 .exe 扩展名

在其他操作体系中,一个文件的性质一般医学教育网,网易音乐-伊顿公学寻访手记,英国最佳高中由它的后缀决议。假如一个文件有一个 .jpg 扩展,操作体系会认为它是一幅图画;医学教育网,网易音乐-伊顿公学寻访手记,英国最佳高中假如它以 .wav 结束,它是一个音频文件;假如它在文件名结束以 .exe 结束,它便是一个你能够履行的程序。

这导致了严峻的问题,比如说木马能够伪装成文档文件。走运的是,在 Linux 下事物不是这样运转的。能够确认的是,你或许会看到有些可履行文件是以 .sh 结束暗示它们是可履行的脚本,可是这大部分是为了便于人眼找到文件,就像你运用 ls --color 将可履行文件的姓名以亮绿色显现的方法相奇宝斋同。

事实上大多数应安徽移动用底子没有扩展名。决议一个文件是否是一个真实陈凯霖微博程序的是&卢冠廷nbsp;x (指可履行的)位。你能够经过运转以下指令使任何文件变得可履行,

  1. chmod a+x some_program

而不管它的扩展名是什么或许是否存在。南瓜子在上面指令中的 x 设置了 x 位,a 阐明你为一切用户设置它。你相同能够为一组用户设置成具有这个文件晓松奇谈(g+x),或许只为一个用户——具有者——设置 (u+x)。

虽然咱们会在该系列之后的部分包括从指令行创立和运转脚本的内容,并学习经过输入它的途径并在结束加上程序名的方法运转一个程序:

  1. path/to/directory/some_patientprogram

或许,假如你当时在相同目录,你能够运用:

  1. ./some_program

还有其他方法能够使你的程序在目录树的恣意方位运转 (提示:查询 $PATH 环境变量),可是当咱们评论 shell 脚本的时分你会读到这些。

仿制、移动、链接

明显地,从指令行修正和处理文件有许多的方法,而不只是是处理它们的权限。当你医学教育网,网易音乐-伊顿公学寻访手记,英国最佳高中企图翻开一个不存在的文件是,大多数运用会创立一个新文件。假如 test.txt 当时并不存在,下列指令:

  1. nano test.txt
  1. vim test.txt

nano[4] 和 vim[5丝弦李天宝吊孝全集] 是盛行的指令行文本修改器)都将为你创立一个空的 test.txt 文件来修改。

你能够经过 “接触” (touch)来创立一个空的文件,

  1. touch test.txt

会创立一个文件,可是不会在任何运用中翻开它。

你能够运用 cp 来仿制一个文件到另一个方位,或许运用一个不同的姓名:

  1. cp test.txt copy_of_test.txt

你也能够仿制一堆文件:

  1. cp *.png /home/images

上面的指令仿制当时目录下的一切 PNG 文件到相对你的主目录下的 images/ 目录。在你测验之前 images/ 目录有必要存在, 否则 cp 将显现一个过错。相同的,警觉,当你仿制一个文件到一个现已包括相同姓名的文件的目录时,cp 会静默地用新文件掩盖老的文件。

你能够运用:

  1. cp -i *大姑娘抓几把.png /home/images

假如你想要 cp 指令在有任何风险时正告你 (-i 选项代表交互式的)。

你相同能够仿制整个目录,可是为了做到这样,你需求 -r 选项:

  1. cp -rv directory_a/ directory_b

-r 选项代表递归,意味着 cp 会向下探究目录 directory_a,仿制一切的文件和子目录下内部包括的。假戏真婚我个人喜爱包合阳天气预报含 -v 选项,由于它使 cp 冗长而烦琐,意味着它会显现你当时它正在做什么而不是只是静默的仿制然后存在。

mv 指令移动东西。也便是说,它移动文件从cad快捷键指令大全一个方位到另一个方位。最简略的方法,mv 体现的更像 cp

  1. mv test.txt new_test.txt

上面的指令使 new_test.txt 呈现,test.txt 消失。

  1. mv *.png /home/images

移动当时目录下一切的 PNG 文件到相对于你的主目录的 images/ 目录。相同的你有必要当心你没有意外的掩盖已存在的文件。运用

  1. mv -i *.png /home/images

假如你想站在安全的视点,你能够运用与 cp 相同的方法。

除了移动与仿制的不同外,另一个 mv 和 cp 之间的不同是当你移动目录时:

  1. mv directory_a/ directory_b

不需求增加递归的标志。这是由于你实践做的是重命名一个目录,与榜首个比如相同,你做的是重命名文件。实践上,即便你从一个目录到另一个目录 “移动” 一个文件,只需两个目录在相同的存储设备和分区,你便是在重命名文件。

你能够做一个试验来证明。 time 是一个东西来让你丈量一个指令花费多久来履行。找一医学教育网,网易音乐-伊顿公学寻访手记,英国最佳高中个非常大的文件,能够是几百 MB 乃至 几 GB (例奇如一个长视频),像下方这样测验仿制到另一个目录:

  1. $ time cp hefty_file.mkv another_directory/
  2. real 0m3,868s
  3. user 0m0,016s
  4. sys 0m0,887s

下面是 time 的输出。需求重视的是榜首行, real 时刻。它花费了简直 4 秒来仿制 355 MB 的 hefty_file.mkv 到 another_directory/ 目录。

现在让咱们测验移动它:

  1. $ time mv hefty_file.mkv another_directory/
  2. real 0m0,004s
  3. user 0m0,000s
  4. sys 0m0,00医学教育网,网易音乐-伊顿公学寻访手记,英国最佳高中3s

移动简直是瞬时的!这是违背直觉的,由于看起来 mv 有必要仿制这个文件然后删去本来的。这艾帝雅是 mv 医学教育网,网易音乐-伊顿公学寻访手记,英国最佳高中比照 cp 指令有必要做的两件事。可是,实践上,mv 快了 1000 倍。

这是由于文件体系结构中,它的一切目录树,只为了让用户便当而存在。在每个分区的开端,有一个称作分区表的东西告知操作体系在实践的物理磁盘上去哪找每个文件。在磁盘上,数据没有分为目录乃至是文件。作为代替的是轨迹、扇区和簇[6]。当你在相同分区 “移动” 一个文件时,操作体系实践做的只是是在分区表中改动了那个文件的进口,但它依然指向磁盘上相同的簇信息。

是的!移动是一个谎话!至少在相同分区下是。假如你企图移动一个文件到一个不同的分区或许不同的设备, mv 依然很快,但能够察中星微大厦觉到它比在相同分区下移动文件慢了。这是由于实践上发生了仿制和铲除数据。

重命名

有几个不同的指令行 rename 东西。没有一个像 cp 和 mv 那样固定,而且它们作业的方法都有一点不同,相同的一点是它们都被用来改动文件名的部分。

在 Debian 和 Ubuntu 中, 默许的 rename 东西运用 正则表达式[7](字符组成的字符串形式)来很多的改动目录中的文件。指令:

  1. rename 's/\.JPEG$/.jpg/' *

将改动一切扩展名为 JPEG 的文件为 jpg。文件 IMG001.JPEG 变成 IMG001.裂组词jpg、 my_pic.JPEG 变成 my_pic.jpg,等等。

另一个 rename 版别默许在 Manjaro 上可获得,这是一个 Arch 的衍生版,更简略,无法可是或许没有那么强壮:

  1. rename .JPEG .jpg *

这和你之前看到的上面做相同的重命名操作。在这个竞彩网主页版别,.JPEG 是你想改动的字符组成的字符串,.jpg 是你想要改动成为的,* 表明当时目录下的一切文件。

基本原则是假如你所做的只是是重命名一个文件或许目录,你最好用 mv,这是由于 mv 在一切分发版上都是牢靠共同的天才j2。

了解更多

检查 mv 和 cp 的 man 页面了解更多。运转

  1. man cp

或许 man mv

来阅览这些指令自带的一切选项,这些使他们运用起来更强壮和安全。


via: https://www.linux.com/blog/2018/8/linux-beginners-moving-things-around

作者:Paul Brown[9] 选题:lujun9972 译者:warmfrog 校正:wxy

本文由 LCTT&nb医学教育网,网易音乐-伊顿公学寻访手记,英国最佳高中sp;原创编译,Linux我国 荣誉推出


 关键词: