文件管理基础命令之二

关于相对路径和绝对路径

在文件管理基础命令之一中提到了相对路径和绝对路径的概念,这里略作补充

绝对路径,一定由根目录写起,例如 /usr/share/doc目录,改写法当你编写shell脚本或者写软件调用文件的时候,使用绝对路径,这样保证路径不会错。

相对路径,解释为‘相对于当前工作目录的路径’,不是由根写起,例如由/usr/share/doc到/usr/share/man下面去时,可以这样写:cd ../man;

此处对‘.’,与‘..’的概念略作解释

. :代表此层目录;    cd ./xxx 可将目录更改为本层目录下的其他目录 例如cd /usr/share/man    与在share目录下进行cd ./man 是相同的

..   :代表上一层目录 ;cd ../xxx 可将目录改为上层目录下的其他目录 例如cd /usr/share/man 可以在man目录下通过cd ../doc 改为share下的doc目录

 

Linux文件列表命令 :ls

ls 即为list,可以列出目录下的内容,具体的操作方法为ls --aAdhl ,其中不同的字母带表所列不同的目录内容

ls -a;表示列出该目录下的全部的文件,包括隐藏的目录和隐藏的文件(以.开头的文件)

文件管理基础命令之二

 

ls -A;列出当前目录下全部的文件,包括隐藏的目录和文件(但不包括 . 与 .. 这两个目录)

文件管理基础命令之二

 

 

 ls-d;列出目录本身,列出/etc 这个目录本身,不会显示/etc这个目录里面的数据

 文件管理基础命令之二

 

ls -h;显示文件大小时增加可读性 (例:1K 234M 2G),,列出了当前目录下的文件(但不包括 . 与 .. 这两个目录以及.开头的隐藏文件)

文件管理基础命令之二

 文件管理基础命令之二

 

 

 

 ls -l :列出文件并显示文件的属性和权限等信息(常使用ls -lh显示显示文件大小和属性权限信息)

文件管理基础命令之二

 

 

Linux文件拷贝命令:cp常见用法

 cp即为copy译为拷贝,用法为cp  -adfilprsu 源文件 目标;其中不同的字母带表所列不同的操作;具体操作如下:

 1.以root身份,将/etc/passwd文件复制到/tmp下

文件管理基础命令之二

 

 

 

 

 注意:其中ls -a /tmp表示列出tmp目录下所有文件

2.cp -a;尽可能将档案状态、权限等资料都照原状予以复制。默认情况下,cp的来源档和目的档的权限是不同的,目的档的拥有者通常会是指令操作者本身,就如上面的看到的一样,由于我是root身份,因此复制过来的档案拥有者和群组就变成root所有了。

文件管理基础命令之二

 3.cp -r;由下图可见,若想要直接将目录复制是不可以的,这时便用到了cp -r命令:若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。

 文件管理基础命令之二

 

 

 4.cp -f 参数f(force强制)

      若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制,强制复制,默认是需要询问的,例如/tmp目录下已经存在wtmp,而再次复制wtmp时则需要询问是否进行强制复制

文件管理基础命令之二

 

 

 5.cp-u;用于增量备份,当你做备份的时候,cp -u只会复制那些有新增或者已经有变化的文件,相同属性并存在的文件不会再重新复制,大大的提供了备份速度。

 这里为了测试,我会先在/tmp/test 目录下新建1.txt,2.txt两个文件,将其复制到/tmp/123目录中,然后我再次在/tmp/test 目录下新建3.txt文件,再次复制到/tmp/123下面

      文件管理基础命令之二

 

 

 注意:sudo touch 1.txt 为创建文件命令

 

      文件管理基础命令之二

 

 

 

 

  当我没用-u参数,cp会将之前的文件从新复制,所有它询问我是否覆盖之前的文件,而当我加了 -u 参数之后,cp只复制了新增的 3.txt 过去,因为之前目标目录没有3.txt文件,所以将不会询问是否替换。

文件移动命令 :mv

mv:move  移动文件,还有重命名的作用 用法:mv -fiu 源文件 目标;

-f:强制移动,不会出现警告信息

      -i:互动模式,移动之前询问你

 

      -u:目标存在的时候,只有source比较新才会更新

 

      用法和cp命令差不多,区别在于一个是复制,一个是剪切。

 

mv之重命名;利用命令mv test.txt 456.txt可以将已经创建好的文件test.txt重新命名为456.txt

文件管理基础命令之二

 

 

 文件或者目录删除命令:rm

 

      rm:remove 移除

 

      用法:rm [-fir] 文件或目录

 

      不加参数,直接用rm 文件,可以删除文件

 

 

 

 文件管理基础命令之二

 

      rm加文件名字直接删除(删除之前询问)

 

 

      -f:强制删除,不会出现警告信息

      -i:互动模式,删除之前询问你

      -r:递归删除,最常用在目录的删除,很危险的参数

分析与思考

 

1、请上网查询资料,除了mv可以对文件重命名之外,还有哪些命令可以对文件重命名?.

rename命令可以对文件重命名,常用于对文件的批量重命名例如

将a.doc a.docx a.txt中的a全部替换为b

文件管理基础命令之二

 

 

2、如果有一批文件,都是以log开头的,log001.txt, log002.txt ....... 一直到log100.txt,现在想要把这批文件的log全部替换为history,该怎样批量重命名呢?

rename log history *

3、请自行查阅资料,了解文件查找命令“find”的用法,并找出/etc下面大小介于100k到200k之间的文档。命令该如何写?

 

Linux中find命令是系统中查找文件的命令,可以帮助用户快速找出自己所需要的文件。

1.通过文件名查找

find -name 文件名

文件管理基础命令之二

 

 find /目录名 -name 文件名;可用于查找某目录下的文件

文件管理基础命令之二

 

 2.通过文件嵌套层数层数查找

文件管理基础命令之二

 

 例如使用命令 find /etc -maxdepth 2 -name  *.doc

 

此命令意思为查找etc目录下深度最大为2的后缀为do的所有文件

3.通过文件所属组或文件所有人查找

文件管理基础命令之二

 

 4.通过文件大小查找

文件管理基础命令之二

 

 文件管理基础命令之二

 

 文件管理基础命令之二

 

 5.按文件修改时间查找

文件管理基础命令之二

 

 文件管理基础命令之二

 

 文件管理基础命令之二

 

 6.通过文件类型查找

文件管理基础命令之二

 

 文件管理基础命令之二

 

 所以想要找出/etc下面大小介于100k到200k之间的文档。

 

 

命令为: find /etc/ -size +100k -size -200k

 

上一篇:Python中操作配置文件


下一篇:Linux 文件管理命令