今天刚学习了Linux下关于文件管理的命令,在这里做一个总结。
工具:CentOS 7.3
一、touch命令,功能:创建文件。用法:touch filename1 filename2... 创建文件名为filename1,filename2.....的命令。
二、cp命令,功能:复制命令。用法:cp sourcename directory。将资源文件复制到directory目录下。
可分为以下情况。
cp
-i 覆盖前询问。
-n 不覆盖
-r -R 递归复制,用于目录的复制
-d 复制软链接属性
-p = --perserv=mode,owner,timestamp
-a 包含-dr --perserv=all
-f 当覆盖时,如目的文件的缺少写权限时,强制删除目的文件,并新建再填充内容。当有-n时,无效
三、mv命令,功能:实现文件的移动。
-i 覆盖前提示
-f 不提示,强制覆盖,抵消-i的作用
注意:如果被复制的文件与目标文件所在目录相同,则实现文件的重命名。
四、rm命令,实现文件的删除。
-i 覆盖前提示
-f 不提示,强制覆盖,抵消-i的作用
-r 如果被删除的文件为目录,则递归删除该目录下的所有内容。
注意:如果执行以root用户执行在/目录下执行rm -rf *则会删除系统中近乎所有的文件(正在运行的文件除外)。这是一个很危险的命令。
五、mkdir命令,功能:创建目录。
-p 递归创建
-m mode 创建时指定权限
六、rmdir删除空目录。此目录只能删除空目录,不能删除有内容的目录。
-p 递归删除空目录
重定向基础知识:程序的运行离不开数据,那么程序是如何获得数据和输出数据的呢?在Linux之中,提供了三种标准的输入输出设备,对应关系如下:
标准输入(standinput) -0 默认接受来自键盘的输入。
标准输出(standoutput) -1 默认输出到终端窗口。
标准错误(standerror) -2 默认输出到终端窗口。
但是,Linux提供了可以重定向的方法,可以改变默认的位置。
七、使用符号‘>’,将输出重定向到文件。其中1>表示重定向正确信息,2>表示重定向错误信息。
还可以使用符号‘2>’将两个标准输出合并。
注意:前面的符号‘>’在导入时是将文件中的之前的内容覆盖掉,如果不进行覆盖,只进行追加,需要使用符号‘>>’。
八、使用<来重定向标准输入
由于后面要用到tr命令,所以在此处简要描述。
tr转换和删除字符
tr[OPTION]... SET1 [SET2]
选项:
-c–C --complement:取字符集的补集
-d--delete:删除所有属于第一字符集的字符
-s--squeeze-repeats:把连续重复的字符以单独一个字符表示
-t--truncate-set1:将第一个字符集对应字符转化为第二字符集对应的字符
[:alnum:]:字母和数字[:alpha:]:字母[:cntrl:]:控制(非打印)字符[:digit:]:数字[:graph:]:图形字符[:lower:]:小写字母[:print:]:可打印字符[:punct:]:标点符号[:space:]:空白字符[:upper:]:大写字母[:xdigit:]:十六进制字符
九、管道符 |
管道(使用符号“|”表示)用来连接命令,格式为:命令1 | 命令2 | 命令3 | …可以将上一个命令的标注输出传递到下一条命令作为参数(从左至右)。
接下来使用管道符实现计算1+2+3+..+99+100的总和。
其中,命令echo {1..100}实现输出1 到 100 的数字;命令echo {1..100} | tr ' ' '+' 实现将数字之间的间隔符空格转换成符号‘+’;命令echo {1..100} | tr ' ' '+' | bc实现将1+2+3+...+100作为参数通过管道符传递给bc(计算器)作为参数进行计算。
到这里相信你对基本的文件操作有了认识。再见。