【问题标题】:About basic commands in bash (cp, cd,..) [closed]关于 bash 中的基本命令(cp、cd、..)[关闭]
【发布时间】:2026-02-10 04:15:01
【问题描述】:

我正在尝试学习终端中的基本命令。我有几个简单的问题。我知道要创建一个文件并将其放置在特定文件夹中,需要创建目录,然后使用touch 创建一个空文件并将其放置在mv 那里:

mkdir folder/sub

touch file.txt

mv file.txt folder/sub

我们能否以某种方式将这些东西链接在一起并使用touch 创建一个文件并将其放在一行中的特定目录中?

然后,如果我在子目录中,为了从那里(例如:文件夹/子目录)回到我的家,这三个命令中的任何一个都可以工作(cdcd -、@987654327 @) 我不确定我是否理解这三者之间的差异。我知道cd .. 会让你退后一步,但其他两个似乎完全一样。

假设我的主目录中已经有一个名为file.txt 的文本文件。如果我在 shell 中编写它,它会覆盖现有文件:

cp folder/sub/file.txt ~/

如果我想保留这两个文件,我该怎么做?

【问题讨论】:

  • mkdir folder/sub;touch file.txt;mv file.txt folder/sub
  • 您只是在一行中重新排列了代码。我不是这个意思。
  • 然后通过touch /foo/bar/file.txt在特定目录本身创建一个文件
  • touch 的副作用是如果目标文件尚不存在,则会创建它,但touch 不是必需的。您也可以简单地使用 shell 输出重定向,它不需要运行外部命令:> folder/sub/file.txt.
  • @jm666 为什么这么生气?没有必要去颈静脉。我没有太多使用 * 的其他部分,但你是对的,我应该使用另一个部分。谢谢。

标签: linux bash shell ubuntu terminal


【解决方案1】:
  • 您可以将任何文件夹中的相对或绝对路径传递给和命令,包括touch(尽管该文件夹必须存在):

    touch folder/sub.file.txt
    
  • cd - 切换到您上次进入的文件夹(如“返回”按钮)

  • .表示当前目录

  • ..表示父目录

【讨论】:

  • 谢谢,覆盖文件的cp 命令怎么样?如果我需要同时保留它们,我将如何重写它?
  • 使用cp -i(这里的'i'代表交互式)。最佳做法是在 .bashrc、.zshrc 或您使用的任何 shell 中创建一个别名:alias cp='cp -iv'