Linux随笔2( 七 )


实际上,该命令在日常的管理和使用中并不常用 。
ls:列出当前目录或者文件
这个命令在前面的2.1小节做了详细介绍,此处不再展开 。具体使用可参见man ls的帮助信息 。
cp:复制粘贴目录或者文件
该命令的使用形式分为2种形式:
cp命令前面的符号链接和硬链接部分介绍了两个选项-l和-s,分别用于创建硬链接和符号链接 。该命令的其他选项解释如下:
注意,如果中有多个文件,那么必须是目录才可以 。
该命令的使用示例如下所示:
由于cp命令可以拷贝文件的属性、权限等特性,所以在复制的时候,需要清楚的了解:
rm:删除目录或者文件
该命令的使用形式为:rm [-fir] file/,该命令既可以删除文件也可以删除目录,且不要求目录为空目录 。选项解释如下:
该命令的使用示例如下所示:
alias命令既可以查看命令别名,也可以用于设置命令别名 。上述的输出中显示,这两个命令别名默认包含了-i选项,即每次操作的时候都会进行提示 。
删除目录
test_mkdir]# ls kubectl_api-resourcestesttest_cptest_mkdir]# rm -rf test_cp/test_mkdir]# ls kubectl_api-resourcestest
删除目录的时候需要指定-r选项,表示递归删除目录下的内容;-f选项表示删除的时候不进行提示,且忽略不存在的文件以及参数 。
不调用命令别名,直接调用rm命令本身
test_mkdir]# ls kubectl_api-resourcestesttest_mkdir]# \rm kubectl_api-resources test_mkdir]# ls test
上述的\rm表示不使用rm命令的别名形式,而是直接调用最原始的rm命令,及不包含任何预设选项的原始命令 。
删除以==-==开头的文件
test_mkdir]# touch -aaa-touch: invalid option -- '-'Try 'touch --help' for more information.test_mkdir]# touch ./-aaa-test_mkdir]# ls -ltotal 0-rw-r--r-- 1 root root0 Mar 21 17:02 -aaa-drwx--x--x 4 root root 94 Mar 21 16:40 testtest_mkdir]# rm ./-aaa-rm: remove regular empty file './-aaa-'? ytest_mkdir]# touch ./-aaa-test_mkdir]# rm -aaa-rm: invalid option -- 'a'Try 'rm ./-aaa-' to remove the file '-aaa-'.Try 'rm --help' for more information.test_mkdir]# rm -- -aaa-rm: remove regular empty file '-aaa-'? ytest_mkdir]#
上述通过touch命令创建了一个以-开头的文件,对于文件名以-开头的文件,如果要执行删除操作,主要有两种方式,第一种是上述的第9行rm ./-aaa-的形式;第二种形式是上述的第16行rm -- -aaa-,通过==–==表示出现在其后的-都不作该命令的选项处理,只当作文件名处理 。
更像的用法,参见man rm的帮助手册 。
mv:剪切粘贴目录或者文件,或者重命名文件和目录
该命令的使用形式类似于cp命令,有两种形式:
该命令的选项参数解释如下:
该命令的使用示例如下:
-u选项的作用并不太明晰,具体如下所示:
test_mkdir]# cat test_file123test_mkdir]# cat /tmp/test_file.bak123test_mkdir]# cat /tmp/test_file123456
上述当前工作目录下的的内容为123,/tmp目录下的两个文件的内容分别为入第4行和第6、7行的输出 。即/tmp/的内容比当前目录下的的内容新 。但是实际加上-u选项移动的时候,即便是/tmp/.bak这个跟当前目录下的文件内容一致的文件也会被移动过来,并没有像该选项的描述那样,不比目标文件更新的话就不会进行移动操作 。具体如下所示:
[root@amdhost test_mkdir]# mv -u /tmp/test_file.bak ./test_file mv: overwrite './test_file'? y[root@amdhost test_mkdir]# ls /tmp/ test_file test_mkdir tmpaddon tmp-new.xpi