You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unix系统中如何用相对路径将/etc/passwd复制到主目录指定目录并重命名

Unix相对路径复制文件问题解答

先解答你的第二个问题:理解验证与相对路径操作

你的理解完全正确!Shell里的.确实代表当前所在目录,..代表当前目录的上级目录;既然在主目录输入cd work能直接进入目标目录,说明work就是主目录(/home/user)的直接子目录,这个逻辑没毛病。

接下来分几种常见的当前目录场景,给你演示用相对路径完成复制/etc/passwd到work目录并重命名为my_passwd的操作:

场景1:当前就在主目录(/home/user)

这时候work目录就在你当前目录下,直接用相对路径指定目标位置就行:

# 写法1:带./明确表示当前目录下的work
cp /etc/passwd ./work/my_passwd
# 写法2:省略./,Shell会默认从当前目录找work
cp /etc/passwd work/my_passwd

场景2:当前已经进入work目录(/home/user/work)

这时候目标位置就是你现在待的地方,直接用.指代当前目录,或者干脆省略路径(默认就是当前目录):

# 写法1:用./明确指定当前目录
cp /etc/passwd ./my_passwd
# 写法2:更简洁,直接写新文件名
cp /etc/passwd my_passwd

场景3:当前在主目录的其他子目录(比如/home/user/Documents)

这时候需要用..回到主目录,再进入work目录:

cp /etc/passwd ../work/my_passwd

再解答你的第一个问题:用相对路径复制到主目录下的任意目录

这个操作的核心是根据你当前所在的目录,构造到目标子目录的相对路径,举几个实用例子:

假设你的主目录是/home/yourname,目标子目录是~/notes:

  • 如果你当前在主目录:
    # 只复制到目录,保留原文件名
    cp /etc/passwd notes/
    # 复制并重命名
    cp /etc/passwd notes/my_custom_passwd
    
  • 如果你当前在/var/log目录:
    先通过..一步步回到根目录,再进入主目录的目标子目录:
    cp /etc/passwd ../../home/yourname/notes/
    
    当然,这里用~(Shell中代表当前用户主目录)会更方便,它也算一种简化的路径写法:
    cp /etc/passwd ~/notes/
    

内容的提问来源于stack exchange,提问作者Juiceboss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:14:59