Linux基础知识:删除,移动,复制,查看命令
rm (remove)删除命令。-r递归删除,即删除目录。-f直接删除,不提示确认信息。-i每次删除都要求确认。在root账号下,rm命令其实是执行的rm -i。用alias可以看到rm其实是rm -i的别名。而在普通账号下则没有这个别名。所以如果在root账号下用rm 删除任何文件都会出现确认的提示。而普通账号则不会。因为root用户权限太大了,这是为了防止管理员误删重要文件而设计的。如果要删除 -aa- 这个文件,直接用rm -aa是删除不掉的。因为这时aa会被当作一个选项来执行。要删除这个文件,就得在前面指明其路径。如rm ./-aa。也可以用rm -- -aa也行。
mv(move)移动目录或文件,更名。-f 如果有同名文件,强制覆盖且不提示。-i询问。-u只覆盖比源文档旧的文件。
basename取得文件路径最后档案名,dirname取得路径。
cat(concatenate)从第一行显示文件所有内容。-n 显示行号,包括空行。-b显示行号,但不包括空行。-A =-vTE 在每行结束显示$,将tab键的空格显示为^I。
tac和cat刚好相反。将文件里面的内容倒过来显示。
nl 将文件内容输出并显示行号。-b a 对所有行编号,包括空行;-b t 对所有行编号,不包括空行;-b n 不对行编号。-n ln 对编号左对齐,而不是文件内容左对齐。并且编号前面不加0;-n rn对编号右对齐,前面不补0;-n rz对编号右对齐,且前面补充0,默认编号位数为6位。如果是第1行,则编号为000001。也可以用-w来指定编号位数,如-w 3 则代表一共行数只显示3位。第1行就为001了。如我们要将/etc/man.conf显示非空行编号,且编号位数为三位。那么可以用 nl -b t -n rz -w 3 /etc/man.conf 即可。
more 翻页浏览。空格代表翻页,enter代表下一行。b代表向上翻页。:f显示当前行数及文件名。q退出。/后面可以输入要查询的字符,可为字符一部分,也可为字符串,但这个查询功能并不好,因为它不会以高亮背景来显示出你要查询的字符。如/share,则会查询文件下share单词,但是它只会把有share的那一页显示给你,一般这个单词会在上面二到三行里面找到。按enter查找,按n继续查找。
less 翻页浏览。这个比more更强大.enter,空格和more一样。可以使用pageup,pagedown来上下翻页。而more不可以!可以用/来向下搜索字符串,按n继续向下搜索。按N会反向搜索。且搜索的字符会以高亮突出显示。让你很容易找到自己查找的内容。用?来向上搜索字符串。直接按v,就可以编辑less中的文档,能够很好调用vi.less里面的可用功能非常多。可以man less来查看用法。
head提取前面几行。默认是前10行。-n 20表示显示前20行。-n -20表示不显示后20行。如果一个文档150行,那即表示显示前130行。-c表示按示按大小显示内容。如我要显示前1k的内容,则可用-c 1k 即可,只不过这个命令不实用。head默认是不显示行数的,我们可以用管道加个nl可以让其显示行数。比如我们要显示head的头20行,显要编行号。可以用head -n 20 | nl 即可。
tail 提取后面几行。默认是最后10行。-n 20表示显示最后面20行。-n +20表示不显示前面20行。如果一个文档150行,则表示只显示后面的130行。head是负值,tail是正值!-f 动态显示文件尾行的变化。如 tail -f /var/log/secure 这时tail就会一直显示secure日志的实时更新情况。如果有人登录系统,secure日志就会新增记录,这时候就会马上显示出来。这时候要用ctrl+c来退出tail.
如果我们想要显示man.confg的21行到30行的内容,且要显示在原文中的行编号该怎么做呢?可以将tail head nl结合起来。 head -n 30 man.config | nl | tail -n 10 即可。同样,也可以写成 nl man.config | tail -n +21 | head -n 10 也可得到同样的结果。
od 显示非纯文本文档。如显示一些二进制的执行文件。-t a 用默认字符输出;-t c 用ASCII来输出;-t d用十进制输出;-t o用八进制输出;-t x用十六进制输出;如 od -t d /bin/ls 以十进制方式显示ls里面的内容。 还可以比较文件中的进制与ASCII对应关系。如用od -t dCc /etc/issue .可以看到里面每一个字符对应的十进制关系。如 i =105。 只不过这个命令貌似我目前用不着。