Friday, May 3, 2024
1
rated 0 times [  1] [ 0]  / answers: 1 / hits: 3331  / 2 Years ago, mon, august 8, 2022, 10:43:56

I type in for example: cp /media/Macintosh



I'm recovering someone's HD so I want to get
Then Tab so that it can correctly put in the formatting for Macintosh HD



I then want it to complete among a few options if you press tab...



for this example there is Desktop and Desktop (old) how do I choose Desktop (old) when I type De tab tab it shows up there as a list of options but then I don't know how to choose the second option on the list.



I need the correct formatting for the directory "/Desktop (old)/"
and I can use tab to have it do that but I don't know how.



Now I have a new Problem:
I am doing a data recovery for someone:



-Ubuntu:~# cp /media/Macintosh HD/Users/orlando/Desktop (original)/VIDEOS ESPANOL/ /media/$G$ DATA/Orlando/Desktop/
cp: omitting directory `/media/Macintosh HD/Users/orlando/Desktop (original)/VIDEOS ESPANOL/'


When I typed that this was my response:



-Ubuntu:~# cp /media/Macintosh HD/Users/orlando/Desktop (original)/VIDEOS ESPANOL/ /media/$G$ DATA/Orlando/Desktop/
cp: omitting directory `/media/Macintosh HD/Users/orlando/Desktop (original)/VIDEOS ESPANOL/'


By the way I am logged in as root. What does this mean and how do I fix it?






Now that I know something and this question is popular:
Anybody know a way to modify your bash_profile so that you can use tab several times to cycle between different paths?



The correct answer for someone actually doing this would be to:
cd ~/.bash_profile or ~/.basher



open the file with Sublime/TextEditorOfChoice/VIM/echo into the file:



Then copy and paste:



bind '" ":menu-complete' OR: bind TAB:menu-complete



Then close and open your terminal/bash/commandprompt.


More From » command-line

 Answers
4

You don't "choose", you just keep typing. The Tab completion will stop as soon as it finds the 1st character that is different in the two files. So, using your example, you'd see



$ cd Desktop
Desktop/ Desktop (old)/
$ cd Desktop


You just need to keep typing. However, you have chosen to use strange names that contain spaces and parentheses. This is a bad idea since it makes them harder to deal with. To enter a space as part of the file name (it is normally taken to signify the end of a word or file name) you need to escape it with a backslash (). So, in this case, you'd need to write (that's Space) and then hit Tab again:



$ cd Desktop
Desktop/ Desktop (old)/
$ cd Desktop ##<--- hit Tab again here


It will magically complete to



$ cd Desktop (old)/


Note how the parentheses will be automatically escaped as well.






The above is how Ubuntu's default shell (bash) works. Other shells let you hit Tab again to cycle through the available options. For example, both zsh and fish let you cycle through and choose the one you want. Both are in the repositories so you might want to check them out.


[#24579] Tuesday, August 9, 2022, 2 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
ateact

Total Points: 176
Total Questions: 130
Total Answers: 122

Location: Egypt
Member since Sun, Apr 23, 2023
1 Year ago
;