测试人学linux

《Linux从入门到精通》之文件目录管理

2018-03-06  本文已影响13人  Tomandy

建立目录:mkdir

mkdir命令可以建立一个或多个目录。mikdir提供了-p选项,用于完整地创建一个子目录结构,如果不使用-p选项,子目录不存在会报错。

mkdir.png

建立空文件:touch

touch命令用于建立一个空文件。

touch.png

移动和重命名:mv

mv命令会把目标目录的同名文件覆盖并且没有任何提示,在使用时特别需要注意。加上-i选项可以解决此问题。另一个比较有用的选项是-b,在移动文件前,现在目标目录的同名文件后加一个“~”,从而避免同名文件被覆盖。当然mv命令也可以用来对文件或文件目录进行重命名。


mv.png

y表示移动,n表示跳过。


复制文件和目录:cp

cp命令用来复制文件和目录,和mv命令一样,cp命令也会覆盖目标目录下的同名文件或目录,所以在使用时也建议加上-i或-b选项。可以使用-r选项,将子目录连同其中的文件一起复制到另一个目录下。

cp.png

删除目录和文件:rmdir和rm

rmdir用于删除目录,但只能删除空目录。因此在使用rmdir时,需要先将目录下的文件和子目录都删除。

rmdir.png
rm命令可以一次删除一个或几个文件,和mv命令一样,rm不会对此做任何提示。一个比较安全的做法是加上-i选项,删除前会提示用户确认。
rm.png
使用-f选项时,rm命令会自动对回复y.
使用-r选项时,rm命令会递归删除目录下的所有文件和子目录。所以一般情况下,比较少使用rmdir。
rm-f-r选项.png

权限设置及查看

Linux为3类用户准备了权限,文件所有者(属主)u、文件属组用户g和其他人o。可以赋予某类用户对文件和目录享有3中权限:读r、写w、执行x。使用前面提到的ls -l命令,可以查看一个文件的属性及权限。查看文件目录的属性使用ls -ld命令。


ls-l.png

改变文件所有权:chown 和chgrp

chown用于改变文件的所有权。如下命令修改文件的属主和属组为tomandy。如果只修改属主,可省略:tomandy,如果只修改属组,可以只保留:tomandy。
chown提供了-r选项,修改一个目录所有文件和子目录的所有权。
Linux单独提供了另一个命令chgrp用于改变文件的属组。

chown.png

改变文件权限:chmod

chmod用于改变一个文件的权限。使用“用户组+/-权限”来表述增加或删除相应的权限。用户组包括文件的属主u、属组g、其他人o、所有人a。权限包括读r、写w、执行x。如以下命令表示增加属主对文件ftest1的执行操作。

chmod.png
也可以通过“用户组=权限”设置文件权限,或者使用“用户组1=用户组2”将用户组2的权限赋予用户组1。
chmod-1.png
一般为了方便,使用八进制表示文件的权限。下列截图修改文件ftest1对于属主有读写执行权限,属组和其他人则只有执行权限。
chmod2.png
八进制 二进制 权限
0 000 ---
1 001 --x
2 010 -w-
3 011 -wx
4 100 r--
5 101 r-x
6 110 rw-
7 111 rwx

软链接和硬链接:ln

使用带参数-s的ln命令来建立软链接,相当于windows的快捷方式。同样,如果不加上-s参数,则表示建立的硬链接,修改一个文件时会同步修改另一个文件。

ln-s.png

输入输出重定向和管道

重定向和管道是Shell的一种高级特性,这种特性允许用户改变程序获取输入和产生输出的位置。如下图所示,如果ls-out文件不存在,则重定位符号“>”会新建文件,如果已存在,则会删除文件的内容,然后重新写入文件。如果想保留原文件的信息,应使用“>>”输出定向符。

输出重定向.png
使用重定向符号“<<”称为立即文档,使用语法“cat << 结束符”。以下例子为输入和输出重定向符的结合使用,接受键盘的输入指令,直至键入end指令,然后再写入hello文件。
立即文档.png
管道的使用能让我们构造更复杂的Shell指令,通过"|"将一条命令的输出作为另一条命令的输入。以下例子先读取hello文件的内容,然后再查找包含“o”的内容。
管道.png

上一篇下一篇

猜你喜欢

热点阅读