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
相关产品推荐
相关产品推荐

