跳到主内容

LYRA

Lyra 正在加载

Linux 指令笔记(三)

Linux鬼鬼

文件/文件夹 操作

以下除特殊说明,都以当前目录为 /root 示例。


mkdir 新建 文件夹

在当前文件夹新建一个 bash 文件夹,完整的绝对路径就是 /root/bash

Terminal window
mkdir bash
更多的命令可以用 mkdir --help 查看。

cp 复制或重命名 文件/文件夹

cp 命令说明

注意:用 cp 改名得到的是一份副本,原文件仍然存在;真正的改名或移动请用 mv

Terminal window
# 复制当前目录内的 log.txt 文件到 /var 目录
cp log.txt /var/log.txt
# 复制当前目录内的 bash 文件夹到 /home 目录
cp -R bash /home/bash
# 复制当前目录内的所有 .txt 后缀的文件到 /var/log 目录
cp *.txt /var/log
# 复制当前目录内的所有以 log 开头的文件到 /var/log 目录
cp log* /var/log
# 复制当前目录内的所有以 log 开头、以 .txt 后缀结尾的文件到 /var/log 目录
cp log*.txt /var/log
# 假设当前目录是 /root/log/app,要把这个目录中的所有 .txt 后缀的文件复制到上一级目录 /root/log
# .. 就是相对路径,代表上一级目录,当然你也可以用绝对路径,这样更不容易出错
cp *.txt ..
cp *.txt /root/log
# 复制当前目录内的 log.txt 文件并改名为 log2.txt(原 log.txt 仍然存在)
cp log.txt log2.txt
# 复制当前目录内的 log.txt 文件到 /var 目录并重命名为 log1.txt
cp log.txt /var/log1.txt
# 复制当前目录内的 bash 文件夹到 /home 目录并重命名为 bash2
cp -R bash /home/bash2
# 复制当前目录内的 log.txt 文件到 /var 目录,但是 /var 目录中已经存在 log.txt,那么会提示:
# cp: overwrite `/var/log.txt'?
# 可以用 -f 强制覆盖
cp -f log.txt /var/log.txt
# 大家可能会发现,当你使用 cp -f 强制覆盖的时候,依然会询问你是否覆盖,
# 这不是 cp 自带的默认行为,而是 CentOS 等发行版给 root 用户预设了别名 alias cp='cp -i'
# 想要临时绕过别名,在命令前加反斜杠即可,或者直接用 /bin/cp
\cp -f log.txt /var/log.txt
# 复制当前目录内的 log.txt log1.txt log2.txt 文件和 log233 目录到 /home/log 目录中
cp -R log.txt log1.txt log2.txt log233 /home/log

更多的命令可以用 cp --help 查看。


mv 移动或重命名 文件/文件夹

mv 命令说明

关于 mv 命令,可以参考上面 cp 的使用方法,没什么区别,只是一个是复制,一个是移动,把上面 cp 命令改成 mv 就能套用了。

Terminal window
# 移动当前目录内的 log.txt 文件到 /var 目录
mv log.txt /var/log.txt
# 移动当前目录内的 bash 文件夹到 /home 目录
mv bash /home/bash
# 重命名当前目录内的 log.txt 文件为 log2.txt
mv log.txt log2.txt
# 移动当前目录内的 log.txt 文件到 /var 目录并重命名为 log1.txt
mv log.txt /var/log1.txt
# 移动当前目录内的 bash 文件夹到 /home 目录并重命名为 bash2
mv bash /home/bash2

更多的命令可以用 mv --help 查看。


rm 删除 文件/文件夹

rm 命令说明
Terminal window
# 删除当前目录下的 log.txt 文件
rm log.txt
# 使用 rm 命令删除时,会提示你是否确定删除,输入 y 即删除,输入 n 则取消
# rm: remove regular file `log.txt'? y
# 删除当前目录下所有 .txt 后缀的文件
rm *.txt
# 删除当前目录下所有以 log 开头的文件
rm log*
# 删除当前目录下所有以 log 开头、以 .txt 后缀结尾的文件
rm log*.txt
# 当你用 rm 删除目录的时候会发现提示这不是一个文件
# rm bash
# rm: cannot remove `bash': Is a directory
# 可以加上 -r 来递归删除目录及其目录下的内容
rm -r bash
# 和 cp 一样,这里的确认提示通常也来自发行版预设的别名 alias rm='rm -i',
# 每一次删除文件/目录都会提示,如果觉得烦可以用 -rf 参数
rm -rf bash

注意:rm -rf 这个命令请慎重使用,而且千万不要使用 rm -rf / 或者 rm -rf /* 之类的命令(系统自杀),可能会让你直接跑路,所以使用请慎重!

更多的命令可以用 rm --help 查看。

版权许可

本文采用 CC BY-SA 4.0 协议授权

保留署名与相同方式共享即可转载、引用或再创作。转载时请注明出处并附上本文链接。

评论

留言系统基于 Disqus,发言前可查看 评论规则。部分网络环境可能无法正常加载。