我是 Linux 新手。我想知道当我输入带有目录参数的命令时是否可以使终端自动显示目录内容?
例如,如果我想做
cp ./fileA ~/folderA/folderB/folderC/fileA
有时我无法正确记住目标目录,导致我需要ls
反复使用才能找到正确的目录,然后才能使用cp
命令,这很不方便。
如果我事先记不住folderA 中的内容,如果在我输入时自动显示folderA 中的内容,那就太好了:
cp ./fileA ~/folderA
谢谢!
答案1
如果您不记得名字,通常的操作是按Tab。大多数 shell(包括bash
、zsh
、ksh
)会在第一次击键时猜测尽可能多的字符,然后在第二次击键时显示匹配文件和目录的列表。
例如,如果您的主目录中有dir1
,dir2
和,那么键入并点击两次将产生dir3
cp file ~/d
Tab
dir1 dir2 dir3
$cp file ~/dir
在这里,您的 shell 可以根据您输入的字母“d”猜测您想要上述三个目录之一,并为您填写命令中的公共部分(“dir”)。您所要做的就是输入“1”、“2”或“3”,然后点击Enter。
Tab键入相同命令时可以多次使用。如果你的目标目录深藏在目录三中,或者有很多文件/目录可供选择,可以方便地输入几个字符,点击Tab,检查 shell 可以猜出多少个,再输入几个,Tab再点击一次等等。感谢@EightBitTony 的评论。
请注意,命令行竞争 usingTab也适用于命令名称。cp
足够短,可以完全打字,但如果您需要更长的内容,wpa_supplicant
那么打字wpa_s
和敲击Tab将为您节省大量的击键次数。就我个人而言,我使用zsh
默认配置为猜测命令行选项,例如键入service sshd r
并点击Tab会自动扩展为service sshd restart
.
答案2
键入Tab key
时按两次以完成文件或文件夹名称。这就是linux的特性。