文件管理基础命令之二

学习笔记:

Linux文件列表命令 :ls

      ls:list ,列出目录内容

      用法:ls [-aAdhl]  //ls 的参数很多,这里介绍常用的几种

      不加参数,直接 ls ,可列出目录的内容,包括文件和子目录的名称。

      -a :列出全部的文件,包括隐藏的目录和隐藏的文件(以.开头的文件) 

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

      -d :仅列出目录本身,而不是列出目录内的文件数据

      -h :将文件容量以人类较易读的方式(例如GB、KB等) 列出来

      -l  :列出文件并显示文件的属性和权限等信息

 

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

 

      cp:copy  拷贝

 

      用法:cp  [-adfilprsu] 源文件 目标

 

      不加参数,直接 cp 源文件 目标 (目标可以是文件名也可以是目录名)

 

      -a :尽可能将档案状态、权限等资料都照原状予以复制。

 

      -r :若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。

 

      -f :若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。

 

      在默认的条件中,cp的源文件与目的文件的权限是不同的,目的文件的所有者会是执行命令的用户。

 

      -u :差异复制,常用在备份里面

 

文件移动命令 :mv

 

      mv:move  移动文件,还有重命名的作用

 

      用法:mv [-fiu] source destination

 

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

 

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

 

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

 

      用法和cp命令差不多,区别在于一个是复制,一个是剪切。这里演示一下重命名的作用:

 

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

 

      rm:remove 移除

 

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

 

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

 

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

 

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

 

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

分析与思考:

 

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

rename

 

rename frompart  topart filename   或者  rename 's/frompart/topart/' filename

 

  如把文件a.txt得命名为b.txt,可以是rename 'a' 'b' a.txt  (这个没有试过,看网上别人说的,是这样子的。)还可以是:rename 's/^a/b/' a.txt

 

 

 

  在有的系统之上,用前面的那句可以通过,在有的系统之上,用后面的这个可以通过。两个不一样,一个是C的,一个是perl的。明显看出,后面这条是正则表达式的写法。具体采用哪一种方式,可以man rename,在手册页的最后一行看版本。由于我使用的系统rename的版本是Perl的,所以我只能采用后面的这一种方式。

 

  rename 强大 的地方在于,你可以使用*,?等,对所有符合条件的文件名进行批量修改。而你在使用mv的时候,只能采用写脚本,用循环的方式来解决。

 

 

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

 

for i in 100; do touch log$i.txt; done

rename 'history' '' *.txt

 

 

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

$ find /etc -size +100k -size -200k

Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

 

-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

 

-amin n : 在过去 n 分钟内被读取过

 

-anewer file : 比文件 file 更晚被读取过的文件

 

-atime n : 在过去n天内被读取过的文件

 

-cmin n : 在过去 n 分钟内被修改过

 

-cnewer file :比文件 file 更新的文件

 

-ctime n : 在过去n天内被修改过的文件

 

-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name

 

-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

 

-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

 

-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。

 

-type c : 文件类型是 c 的文件。

所敲代码:

文件管理基础命令之二

 

 文件管理基础命令之二

 

 文件管理基础命令之二

 

 文件管理基础命令之二

 

上一篇:linux命令集


下一篇:文件管理基础命令之二