Linux学习笔记– 命令行操作文件

1、创建与删除文件 (touch ,rm)

RHCE学习笔记2– 命令行操作文件

1、创建与删除文件 (touch ,rm)

 

touch xxxx 创建一个新的空文件

 

touch -t 201412250101 xxxx 创建一个文件并指定时间属性(年月日时分.秒)

 

 

 

[[email protected]
home]# touch xxxx

 

[[email protected]
home]# touch -t 201412301030 yyyy

 

[[email protected]
home]# ls -l xxxx yyyy

 

-rw-r–r–. 1 root root 0 11月 2 13:00 xxxx
(当前时间2015年11月2日2点13分)

 

-rw-r–r–. 1 root root 0 12月 30 2014 yyyy
(指定时间2014年12月30日10点30分)

 

 

 

如何修改linux文件的时间 

 

把所有的.sh文件修改到三个月前(2013年10月13)的时间。操作命令:

[[email protected]
test]# touch -d “2013/10/13” *.sh

 

 

 

先把touch的参数说明贴在这里:

命令参数:

 

-a   或–time=atime或–time=access或–time=use  只更改存取时间。

 

-m  或–time=mtime或–time=modify  只更改变动时间。

 

-c   或–no-create  不建立任何文档。

 

-d  使用指定的日期时间,而非现在的时间。时间是字符串

 

-t  使用指定的日期时间,而非现在的时间。时间格式是年月日时分.秒

 

-f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

 

-r
 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

 

 

 

touch file1.txt  更新file1.txt的存取和修改时间

 

touch -c file1.txt   如果file1.txt不存在,不创建文件

 

touch -r ref_file file1.txt    更新file1.txt的时间戳和ref+file相同

 

将参照文件 ref_file 相应的时间戳记的数值作为指定文件 file
时间戳记的新值

 

touch -t 0811142234.50 file1.txt
设定文件的时间错为08年11月14日22点34分50秒

 

 

 

将参照文件 ref_file 相应的时间戳记的数值作为指定文件 file
时间戳记的新值

 

 

 

什么是 touch 命令

 

众所周知,每个文件都被附有时间戳。这个时间戳记包括访问时间和修改时间。而
Touch 命令主要就是用来修改文件的访问时间和修改时间。

 

为什么我们需要使用 touch 命令

 

既然 touch
命令描述的是改变时间戳,那么我们可能会想为什么我们需要去改变时间戳呢?这个问题会引发我们的深思。然而,我想有个理由可以解释为什么我们需要使用它。如果你参加了一个全球范围的开源项目,那么时间戳可能变得很重要。编译源代码文件可能需要同一地区的时间戳。如果未统一,程序可能会编译失败。(译注:有强迫症的同学也很喜欢这个命令——就看不得乱七八糟的时间,;>)

 

不带任何选项下运行 touch

 

最简单的使用 touch 命令。只需键入:

 

$ touch file_name

 

vnsc威尼斯城官方网站 1

File_1.txt原来的时间戳是 12:42。在我们使用 touch 命令后,它改变为了
17:08。由此看出,默认情况下,touch 会将文件的时间戳改为当前时间。

 

只改变访问时间

 

正如我们之前提到的,每个文件都附有访问时间和修改时间。上面的时间戳是
17:08。我们可以看更多的细节。

vnsc威尼斯城官方网站 2

 

 

我们发现访问access时间和修改change时间的值是相同的都是 17:08:35
,还有它们属于同一时区 GMT +7。

 

如果现在我们要只改变访问时间,我们需要使用-a选项。

 

 

 

$ touch –a file_1.txt

vnsc威尼斯城官方网站 3

 

如你所见,访问时间变为了 17:51:37
,但是修改时间仍为17:08:35。[译注:原文为 Change
time(状态改变时间)应是作者笔误]

 

只改变修改时间(modify,change)

 

我们可以使用-m选项来实现。现在我们用file_2.txt作个示例。

 

vnsc威尼斯城官方网站 4

 

$ touch –m file_2.txt

 

vnsc威尼斯城官方网站 5

Touch -m option

 

现在修改时间从 12:42:20 改为了
17:57:20。请注意,当文件被访问或修改时,状态改变时间域的值总会对其记录。

 

更改为自定义时间戳

 

-a和-m选项都会将文件的时间戳改为现在当前时间。当然我们也可以更改为自定义时间戳。使用-t选项实现。

 

从上面示例示例中的 file_2.txt,我们看出它的时间戳是:

 

访问时间: 12:42:20

 

修改时间: 17:57:20

 

执行日期: 2014-01-14

 

假如我们想要将访问时间和修改时间改为2014年1月12日
09:58:27。我们可以用下列命令来完成:

 

$ touch –t 201401120958.27 file_2.txt

 

vnsc威尼斯城官方网站 6

 

-t 选项语法组成 :

 

[[CC]YY]MMDDhhmm [.SS](年前两位,年后两位,月,日,时,分,秒)

 

 

 

改变日期和时间的另一种方式

 

如果你觉得[[CC]YY]MMDDhhmm [.SS]格式不适合你,我们也可以使用 -d
选项。下面是-d选项使用的一个示例。

 

更改指定日期

 

举例来说,我们有个名为 file_3.txt
的文件,它的相关属性在下面的截图中展示了。

 

vnsc威尼斯城官方网站 7

 

现在我们要将日期2014年1月14日改为2013年12月20日。可以使用下列命令:

 

$ touch –d ’10-december-2013′ file_3.txt

 

vnsc威尼斯城官方网站 8

不出意料,访问时间和修改时间的日期已经改为了2013年12月10日。

 

改变时区

 

如果我们想改变指定GMT的时间,我们也可以使用-d选项。先让file_3.txt
移回当前时间。

 

$ touch file_3.txt

vnsc威尼斯城官方网站 9

 

不难发现 file_3.txt 的时区为 GMT +0700。要改为 GMT3
时区,我们只需要键入如下命令:

 

$ touch –的GMT3 file_3.txt

 

vnsc威尼斯城官方网站 10

好的,现在时间已经改为了 10:00:00 AM。

 

结合参数下使用-d选项

 

还可以用很酷的方式使用-d选项。请观察下面的图片。

 

 

vnsc威尼斯城官方网站 11

我们可以将单词 next Sunday 和 GMT 3合成一个值,而 touch
命令仍然能识别它。日期已经改为了2014年1月21日,而当前的日期为2014年1月14日。

 

还有另一个-d选项的示例。首先,我们要将file3_3.txt重置到当前日期和时间。

 

$ touch file_3.txt 然后我们尝试这个命令:

$ touch –d ‘1 year ago 13:43:07’ file_3.txt

 

vnsc威尼斯城官方网站 12

太震撼了,Touch 甚至能识别单词’1 year
ago’。现在的日期以及时间已经改为了2013年1月14日,13:43:07。

 

[[email protected]
home]# touch –d ‘4 month ago 13:43:08’ uuu

 

把uuu 这个文件的时间修改成4个月前的13:43:08

 

 

 

创建一个空文件

 

当你运行 touch 命令目标文件不存在时,touch 会创建一个同名的空文件。

 

$ touch file_10.txt

vnsc威尼斯城官方网站 13

 

同时创建多个文件

 

你可以用空格将目标文件分割开来,以此来创建多个文件。

 

$ touch doc_10.txt doc_20.txt doc_vnsc威尼斯城官方网站,30.txt

 

vnsc威尼斯城官方网站 14

总结

 

如果你要处理关于文件或目录的时间戳问题,那么 Touch
会对你很有用的。一如既往得你也可以键入man touch或touch
–help来显示帮助页面了解更多细节。

 

 

 

rm xxx 删除文件

 

rm -rf 强制删除文件

 

命令参数:

 

    -f, –force    忽略不存在的文件,从不给出提示。

 

    -i, –interactive 进行交互式删除

 

    -r, -R, –recursive  
指示rm将参数中列出的全部目录和子目录均递归地删除。

 

 

 

# touch — -f   建立-f文件,因为f前面有-,所有要加转义字符2个减号

 

# ls -l — -f   查看-f文件,在-f前面加转义字符2个减号。

 

-rw-r–r–. 1 root root 0 Nov 2 16:17 -f

 

# rm -rf — -f   删除-f文件,在-f前面加转义字符2个减号。

 

 

 

 

 

2、创建目录与删除目录

 

 

 

mkdir xxx 创建一个目录;

 

mkdir  -p xxx/yyy 递归创建目录;

 

rmdir  xxx/  删除空目录;

 

rm  -rf  XXX/  强制删除非空目录;

 

-p, –parents
 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,

 

系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录; 

 

-v, –verbose  每次创建新目录都显示信息

 

#mkdir -p test2/test22 递归创建多个目录 

 

# mkdir -v test4  (创建新目录都显示信息)

 

mkdir: 已创建目录 “test4”

 

 

 

# mkdir -vp test5/test5-1

 

mkdir: 已创建目录 “test5”

 

mkdir: 已创建目录 “test5/test5-1”

 

一个命令创建项目的目录结构

 

# mkdir -vp
scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}

 

mkdir: 已创建目录 “scf”

 

mkdir: 已创建目录 “scf/lib”

 

mkdir: 已创建目录 “scf/bin”

 

mkdir: 已创建目录 “scf/doc”

 

mkdir: 已创建目录 “scf/doc/info”

 

mkdir: 已创建目录 “scf/doc/product”

 

mkdir: 已创建目录 “scf/logs”

 

mkdir: 已创建目录 “scf/logs/info”

 

mkdir: 已创建目录 “scf/logs/product”

 

mkdir: 已创建目录 “scf/service”

 

mkdir: 已创建目录 “scf/service/deploy”

 

mkdir: 已创建目录 “scf/service/deploy/info”

 

mkdir: 已创建目录 “scf/service/deploy/product”

 

 

 

# tree scf/

 

scf/

 

|– bin

 

|– doc

 

|   |– info

 

|   `– product

 

|– lib

 

|– logs

 

|   |– info

 

|   `– product

 

`– service

 

 `– deploy

 

   |– info

 

    `– product

 

12 directories, 0 files

 

 

 

3、拷贝文件与目录

 

cp  /path1/xxx /path2/ yyy拷贝path1路径下的xxx 文件到
路径path2路径下,并命名为yyy,如果yyy文件已经存在,则会覆盖原文件,加上
-i 选项会询问是否覆盖;

 

 

 

cp -p  /path1/xxx /path2/ yyy 拷贝文件保留原文件的属性;

 

cp -rf /path1/  /path2/  拷贝目录path1的文件到目录path2

 

 

 

cp -a  与 cp -dpr=all 相同

 

-d :若来源文件为连结文件的属性(link
file),则复制连结文件属性而非档案本身;

 

-b 或 –backup
删除、覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录。假如没有加上这个参数,在复制过程中若遇到符号链接,则会直接复制源文件或目录

-f 强行复制文件或目录,不论目的文件或目录是否已经存在

-i 覆盖文件之前先询问用户    

 

-p    或 –preserve
保留源文件或目录的属性,包括所有者、所属组、权限与时间

    用root来”cp -p”是可以的,这么说,”cp
-p”这个命令对于普通用户来说是等同于直接”cp”了

 

–parents保留源文件或目录的路径,

-r  或-R递归处理,将指定目录下的文件与子目录一并处理。

 

-l 或 –link   对源文件建立硬链接,而非复制文件

-s 或 –symbolic-link  对源文件建立符号链接,而非复制文件

-S <备份字尾字符串> 或 –suffix=<备份字尾字符串>
用”-b”参数备份目的文件后,备份文件的字尾会被加上一个备份字符串。默认的备份字尾符串是符号”~”

-u 或 –update 使用这项参数之后,只会在源文件的修改时间(Modification
Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件

 .复制文件,只有源文件较目的文件的修改时间新时,才复制文件

cp -u -v file1 file2

 

将文件file1复制成文件file2

cp file1 file2

 

采用交互方式将文件file1复制成文件file2

cp -i file1 file2

 

将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式

cp -f file1 file2

 

将目录dir1复制成目录dir2

cp -r dir1 dir2

 

同时将文件file1、file2、file3与目录dir1复制到dir2

   cp -r file1 file2 file3 dir1 dir2

 

复制时保留文件属性

cp -p a.txt /tmp

 

复制时保留文件的目录结构

cp   –parents   /var/tmp/a.txt  ./temp/

 

复制时产生备份文件

cp -b a.txt tmp/

 

指定备份文件尾标    

cp -b -S _bak a.txt /tmp

 

 

 

4、剪切文件

 

mv  /path1/xx  /path2/yy  剪切path1路径下的xx 剪切到 path2路径下的yy,
如果path1与path2路径相同,则将xx重命名为yy;

 

5、查看文件

 

cat xx  适合查看内容较少的文件;

 

more

 

less

 

more
与less相同的地方是都可以用空格键向下翻页,所不同的是less允许上下键向上浏览浏览,more
则不行;

命令行操作文件 1、创建与删除文件
(touch ,rm) touch xxxx 创建一个新的空文件 touch -t 201412250101 xxxx
创建一个文件并指定时间属…

学习Linux笔记(四)–文件操作

Linux基础教程学习笔记2– 命令行操作文件

# 重要快捷键

touch xxxx 创建一个新的空文件

学会cd命令:

绝对路径,相对路径(./或者../);

1、创建与删除文件

– Tab:命令补全

touch -t 201412250101 xxxx 创建一个文件并指定时间属性(年月日时分.秒)

文件列表:

ls -F(正斜杠表示目录) -a(显示隐身) -l(详细信息) -R(显示目录文件)
-i(显示索引号) 过滤列表输出:ls -l test(这是关键词,可使用?或者通配符)

touch xxxx 创建一个文件

– Ctrl+c:强行中断当前程序

[root@linuxidc home]# touch xxxx

文件处理:

touch创建一个空文件,-t指定时间戳;

cp复制文件,-r递归复制文件,-R递归目录,-p保持复制时间于源文件一致;

mv移动或重命名文件,rm删除文件,-r递归删除。

mkdir目录创建,rmdir删除空目录。

stat:查看文件统计数据。

file:查看文件类型,分三种,文本文件,可执行文件,数据文件。

cat:查看整个文件,-n显示编号,-b只显示字符编号。

more:分页显示整个文件,less也是,比more更强,可以加载整个文件之前显示文件数据总行数,行数范围。

tail:查看文件后10行,head:查看文件前10行 -n lines 显示前后多少行。

学会cd命令:
绝对路径,相对路径(./或者../); 文件列表: ls -F(正斜杠表示目录)
-a(显示隐身) -l(详细信息…

touch -t 20141225 xxxx 创建一个文件并指定时间属性

* Ctrl+d:键盘输入结束或退出终端

[root@linuxidc home]# touch -t 201412301030 yyyy

rm xxx 删除文件

* Ctrl+s暂停当前程序,暂停后按下任意键恢复运行

[root@linuxidc home]# ls -l xxxx yyyy

rm -rf 强制删除文件

* Ctrl+z:将当前程序放到后台运行,恢复到前台命令为’fg’

-rw-r–r–. 1 root root 0 11月 2 13:00 xxxx
(当前时间2015年11月2日2点13分)

2、创建目录与删除目录

* Ctrl+a:将光标移至行首,相当于’Home’键

-rw-r–r–. 1 root root 0 12月 30 2014 yyyy
(指定时间2014年12月30日10点30分)

mkdir xxx 创建一个目录;

如何修改Linux文件的时间 
 
http://www.linuxidc.com/Linux/2015-11/124813.htm

mkdir  -p xxx/yyy 递归创建目录;

把所有的.sh文件修改到三个月前(2013年10月13)的时间。操作命令:
[root@case test]# touch -d “2013/10/13” *.sh

rmdir  xxx/  删除空目录;

先把touch的参数说明贴在这里:
命令参数:

rm  -rf  XXX/  强制删除非空目录;

-a   或–time=atime或–time=access或–time=use  只更改存取时间。

3、拷贝文件与目录

-m  或–time=mtime或–time=modify  只更改变动时间。

cp  /path1/xxx /path2/ yyy拷贝path1路径下的xxx与xxx1 文件到
路径path2路径下,并命名为yyy,如果yyy文件已经存在,则会覆盖原文件,加上
-i 选项会询问是否覆盖;

-c   或–no-create  不建立任何文档。

cp -p  /path1/xxx /path2/ yyy 拷贝文件保留原文件的属性;

-d  使用指定的日期时间,而非现在的时间。时间是字符串

cp -Rf(or -rf) /path1/  /path2/  拷贝目录path1的文件到目录path2

-t  使用指定的日期时间,而非现在的时间。时间格式是年月日时分.秒

cp -a  与 cp -dR –preserve=all 相同

-f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

4、剪切文件

-r
 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

mv  /path1/xx  /path2/yy  剪切path1路径下的xx 剪切到 path2路径下的yy,
如果path1与path2路径相同,则将xx重命名为yy;

touch file1.txt                 更新file1.txt的存取和修改时间

5、查看文件

touch -c file1.txt             如果file1.txt不存在,不创建文件

cat xx  适合查看内容较少的文件;

touch -r ref_file file1.txt         更新file1.txt的时间戳和ref+file相同

more

将参照文件 ref_file 相应的时间戳记的数值作为指定文件 file
时间戳记的新值.

less

touch -t 0811142234.50 file1.txt
设定文件的时间错为08年11月14日22点34分50秒

more
与less相同的地方是都可以用空格键向下翻页,所不同的是less允许上下键向上浏览浏览,more
则不行;

将参照文件 ref_file 相应的时间戳记的数值作为指定文件 file
时间戳记的新值.

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-03/114324.htm

什么是
touch 命令

vnsc威尼斯城官方网站 15

众所周知,每个文件都被附有时间戳。这个时间戳记包括访问时间和修改时间。而 Touch
命令主要就是用来修改文件的访问时间和修改时间。

为什么我们需要使用
touch 命令

既然
touch
命令描述的是改变时间戳,那么我们可能会想为什么我们需要去改变时间戳呢?这个问题会引发我们的深思。然而,我想有个理由可以解释为什么我们需要使用它。如果你参加了一个全球范围的开源项目,那么时间戳可能变得很重要。编译源代码文件可能需要同一地区的时间戳。如果未统一,程序可能会编译失败。(译注:有强迫症的同学也很喜欢这个命令——就看不得乱七八糟的时间,;>)

不带任何选项下运行
touch

最简单的使用 touch 命令。只需键入:

  1. $
    touch file_name

vnsc威尼斯城官方网站 16

File_1.txt原来的时间戳是
12:42。在我们使用 touch
命令后,它改变为了
17:08。由此看出,默认情况下,touch
会将文件的时间戳改为当前时间。

只改变访问时间

正如我们之前提到的,每个文件都附有访问时间和修改时间。上面的时间戳是
17:08。我们可以看更多的细节。

vnsc威尼斯城官方网站 17

我们发现访问**access时间和修改**change时间的值是相同的都是 17:08:35 ,还有它们属于同一时区 GMT +7。

如果现在我们要只改变访问时间,我们需要使用-a选项。

  1. $
    touch –a file_1.txt

vnsc威尼斯城官方网站 18

如你所见,访问时间变为了 17:51:37 ,但是修改时间仍为17:08:35。[译注:原文为 Change time(状态改变时间)应是作者笔误]

只改变修改时间(modify,change)

我们可以使用-m选项来实现。现在我们用file_2.txt作个示例。

vnsc威尼斯城官方网站 19

  1. $
    touch –m file_2.txt

vnsc威尼斯城官方网站 20

Touch -m option

现在修改时间从 12:42:20 改为了
17:57:20。请注意
,当文件被访问或修改时,状态改变时间域的值总会对其记录。

更改为自定义时间戳

-a-m选项都会将文件的时间戳改为现在当前时间。当然我们也可以更改为自定义时间戳。使用-t选项实现。

从上面示例示例中的
file_2.txt,我们看出它的时间戳是:

访问时间: 12:42:20

修改时间: 17:57:20

执行日期: 2014-01-14

假如我们想要将访问时间和修改时间改为2014年1月12日 09:58:27。我们可以用下列命令来完成:

  1. $
    touch –t 201401120958.27 file_2.txt

vnsc威尼斯城官方网站 21

Touch using -t option

-t 选项语法组成 :

[[CC]YY]MMDDhhmm
[.SS](年前两位,年后两位,月,日,时,分,秒)

改变日期和时间的另一种方式

如果你觉得[[CC]YY]MMDDhhmm
[.SS]
格式不适合你,我们也可以使用 -d 选项。下面是-d选项使用的一个示例。

更改指定日期

举例来说,我们有个名为 file_3.txt
的文件,它的相关属性在下面的截图中展示了。

vnsc威尼斯城官方网站 22

现在我们要将日期**2014年1月14日改为2013年12月20日**。可以使用下列命令:

  1. $
    touch –d ’10-december-2013′ file_3.txt

vnsc威尼斯城官方网站 23

不出意料,访问时间和修改时间的日期已经改为了2013年12月10日。

改变时区

如果我们想改变指定GMT的时间,我们也可以使用-d选项。先让file_3.txt
移回当前时间。

  1. $
    touch file_3.txt

vnsc威尼斯城官方网站 24

不难发现
file_3.txt 的时区为 GMT
+0700。要改为 GMT3
时区,我们只需要键入如下命令:

  1. $ touch –的GMT3 file_3.txt

vnsc威尼斯城官方网站 25

好的,现在时间已经改为了 10:00:00 AM。

结合参数下使用-d选项

还可以用很酷的方式使用-d选项。请观察下面的图片。

vnsc威尼斯城官方网站 26

我们可以将单词 next
Sunday
 和 GMT 3合成一个值,而 touch
命令仍然能识别它。日期已经改为了2014年1月21日,而当前的日期为2014年1月14日。

还有另一个-d选项的示例。首先,我们要将file3_3.txt重置到当前日期和时间。

  1. $ touch file_3.txt
    然后我们尝试这个命令:
  2. $
    touch –d ‘1 year ago 13:43:07’ file_3.txt

vnsc威尼斯城官方网站 27

太震撼了,Touch 甚至能识别单词’1 year
ago
‘。现在的日期以及时间已经改为了2013年1月14日,13:43:07。

[root@linuxidc home]# touch –d ‘4 month ago 13:43:08’ uuu

把uuu 这个文件的时间修改成4个月前的13:43:08

创建一个空文件

当你运行
touch 命令目标文件不存在时,touch
会创建一个同名的空文件。

  1. $
    touch file_10.txt

vnsc威尼斯城官方网站 28

同时创建多个文件

你可以用空格将目标文件分割开来,以此来创建多个文件。

  1. $
    touch doc_10.txt doc_20.txt doc_30.txt

vnsc威尼斯城官方网站 29

总结

如果你要处理关于文件或目录的时间戳问题,那么 Touch
会对你很有用的。一如既往得你也可以键入man
touch
touch
–help
来显示帮助页面了解更多细节。

rm xxx 删除文件

rm -rf 强制删除文件

命令参数:

    -f, –force    忽略不存在的文件,从不给出提示。

    -i, –interactive 进行交互式删除

    -r, -R, –recursive 
 指示rm将参数中列出的全部目录和子目录均递归地删除。

# touch — -f                           
建立-f文件,因为f前面有-,所有要加转义字符2个减号

# ls -l — -f                           
查看-f文件,在-f前面加转义字符2个减号。

-rw-r–r–. 1 root root 0 Nov 2 16:17 -f

# rm -rf — -f                           
删除-f文件,在-f前面加转义字符2个减号。

2、创建目录与删除目录

mkdir xxx 创建一个目录;

mkdir  -p xxx/yyy 递归创建目录;

rmdir  xxx/  删除空目录;

rm  -rf  XXX/  强制删除非空目录;

-p, –parents 
可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,

系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录; 

-v, –verbose  每次创建新目录都显示信息

#mkdir -p test2/test22 递归创建多个目录 

# mkdir -v test4                                (创建新目录都显示信息)

mkdir: 已创建目录 “test4”

# mkdir -vp test5/test5-1

mkdir: 已创建目录 “test5”

mkdir: 已创建目录 “test5/test5-1”

一个命令创建项目的目录结构

# mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}

mkdir: 已创建目录 “scf”

mkdir: 已创建目录 “scf/lib”

mkdir: 已创建目录 “scf/bin”

mkdir: 已创建目录 “scf/doc”

mkdir: 已创建目录 “scf/doc/info”

mkdir: 已创建目录 “scf/doc/product”

mkdir: 已创建目录 “scf/logs”

mkdir: 已创建目录 “scf/logs/info”

mkdir: 已创建目录 “scf/logs/product”

mkdir: 已创建目录 “scf/service”

mkdir: 已创建目录 “scf/service/deploy”

mkdir: 已创建目录 “scf/service/deploy/info”

mkdir: 已创建目录 “scf/service/deploy/product”

# tree scf/

scf/

|– bin

|– doc

|   |– info

|   `– product

|– lib

|– logs

|   |– info

|   `– product

`– service

      `– deploy

      |– info

        `– product

12 directories, 0 files

3、拷贝文件与目录

cp  /path1/xxx /path2/ yyy拷贝path1路径下的xxx 文件到
路径path2路径下,并命名为yyy,如果yyy文件已经存在,则会覆盖原文件,加上
-i 选项会询问是否覆盖;

cp -p  /path1/xxx /path2/ yyy 拷贝文件保留原文件的属性;

cp -rf /path1/  /path2/  拷贝目录path1的文件到目录path2

cp -a  与 cp -dpr=all 相同

-d :若来源文件为连结文件的属性(link
file),则复制连结文件属性而非档案本身;

-b
或 –backup     
删除、覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录。假如没有加上这个参数,在复制过程中若遇到符号链接,则会直接复制源文件或目录
    -f     
强行复制文件或目录,不论目的文件或目录是否已经存在
    -i 覆盖文件之前先询问用户   

-p  
 或
–preserve 保留源文件或目录的属性,包括所有者、所属组、权限与时间
    用root来”cp
-p”是可以的,这么说,”cp
-p”这个命令对于普通用户来说是等同于直接”cp”了

–parents     保留源文件或目录的路径,
    -r  或-R   
递归处理,将指定目录下的文件与子目录一并处理。

    -l
或 –link       
对源文件建立硬链接,而非复制文件
    -s 或 –symbolic-link 
对源文件建立符号链接,而非复制文件
    -S <备份字尾字符串>

–suffix=<备份字尾字符串> 用”-b”参数备份目的文件后,备份文件的字尾会被加上一个备份字符串。默认的备份字尾符串是符号”~”
    -u 或 –update     
使用这项参数之后,只会在源文件的修改时间(Modification
Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件
 .复制文件,只有源文件较目的文件的修改时间新时,才复制文件
    cp -u -v file1 file2

    .将文件file1复制成文件file2
    cp file1 file2

    .采用交互方式将文件file1复制成文件file2
    cp -i file1 file2

   
.将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式
    cp -f file1 file2

    .将目录dir1复制成目录dir2
    cp -r dir1 dir2

    .同时将文件file1、file2、file3与目录dir1复制到dir2
   cp -r file1 file2 file3 dir1 dir2

    .复制时保留文件属性
    cp -p a.txt /tmp

    .复制时保留文件的目录结构
    cp   –parents  /var/tmp/a.txt  ./temp/

    .复制时产生备份文件
    cp -b a.txt tmp/

    .指定备份文件尾标   
    cp -b -S _bak a.txt /tmp

4、剪切文件

mv  /path1/xx  /path2/yy  剪切path1路径下的xx 剪切到 path2路径下的yy,
如果path1与path2路径相同,则将xx重命名为yy;

5、查看文件

cat xx  适合查看内容较少的文件;

more

less

more
与less相同的地方是都可以用空格键向下翻页,所不同的是less允许上下键向上浏览浏览,more
则不行;  

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-11/124812.htm

vnsc威尼斯城官方网站 30

相关文章