Single quotation marks suddenly appear around file and directory names

StrobeSpirits@discuss.tchncs.de to Linux@lemmy.ml – 59 points –

I installed some software and I think afterwards I was navigating through CLI and noticed that some directories or some files in some directories had single quotation marks around the names. They don't appear in the GUI. How do I get rid of them? Do I have to use a recursive command to delete the quotation marks for the entire file system?

I've actually had this problem a few times in the past but cannot recall why they happen nor what the solution was.

26

You are viewing a single comment

Thanks. The export command got rid of the quotation marks but I still have an issue where when I cd into one of the directories that had quotation marks (a directory with two words in the name) there is a backslash after the first word and a forward slash at the end of the file name when I use tab to complete the rest of the file name.

Add-on: you really don't need to get rid of the quotes. It's a very reasonable behavior. You just need to learn/understand what they mean.

The backslash escapes the space because it would otherwise denote a seperator to the next argument of the command. ls a b c means invoke ls with the three arguments a,b, and c. ls 'a b c' or ls a\ b\ c means invoke ls with one argument "a b c". That behavior is universal for pretty much all unix/linux shells (ie bash).

Thanks for explaining. How do I go about editing the bashrc file to add the export line? I am still relatively new to linux and the file has a warning about making changes unless I know what I'm doing.

Just paste it into the end of the file, save and close it, then run "source ~/.bashrc" in the terminal to force bash to read the new settings (or close the terminal and open it again).

That's to escape the space, so that it doesn't register as a separate keyword in whatever command you're running.

For paths/filenames with spaces, you must escape all spaces with the backslash, or use single/double quotes around it. Single quotes also prevent stuff like interpreting $ etc etc as a reference to a variable

The backslash is escaping the space, and the forward slash is just how tab complete works, because it's a directory, and you might be wanting to add more to go further down the directory tree

I am impressed nobody called OP a noob and told him to "RTFM". Good job y'all! Keep being a positive force.

Somewhat surprisingly the fediverse has been much kinder for Linux learners than my experience everywhere else online the last decade :)

That is normal with tab completion, since spaces will be seen as other commands so the slash escapes the space character