What is the difference in using a forward slash and backslash in navigating file systems. Also what is the difference between ./ and ../?
- howtogeek.com/181774/…Jonathan– Jonathan2015-05-08 13:05:06 +00:00Commented May 8, 2015 at 13:05
- Did you try googling for the question title? This is trivial to find an answer to on the internet currently.Jonathan Cast– Jonathan Cast2016-07-18 18:42:49 +00:00Commented Jul 18, 2016 at 18:42
- Excellent answer wrt. MS/Windows on dupe question:stackoverflow.com/a/38428899/321013Martin Ba– Martin Ba2016-07-18 20:39:04 +00:00Commented Jul 18, 2016 at 20:39
- 2Question asked 4 years ago cannot be a duplicate of one asked yesterday. Sorry! Try Again?user4624979– user46249792016-07-19 14:34:29 +00:00Commented Jul 19, 2016 at 14:34
- 2@MosheKatz so, merge them? One question, best answers. Done.user4624979– user46249792016-07-20 13:06:23 +00:00Commented Jul 20, 2016 at 13:06
4 Answers
Well, in most languages backslashes need to be escaped in string literals, slashes do not. Further backslashes only work on Windows, while slashes work pretty much everywhere.
On the other hand, when passing path names as arguments to Windows programs, using slashes might not work because many Windows programs use slashes to signify command line flags, so you need to use backslashes.
On . vs. ..: . is the current directory, .. is the parent directory.
Comments
Microsoft operating systems (e.g. DOS and Windows) use backslashes (\), UNIX-based operating systems (e.g. Linux) use slashes (/).
The dot (.) means the current working directory, it's like saying "here". The double dot (..) means the parent directory.
The difference between slash and backslash in Windows are from my tests at least non-existing, but I believe that in earlier editions they used backslash. UNIX systems uses slash.
The difference between ./ and ../ is that ./ represents the position in the hierarchy where you are standing while ../ is the parent directory.
Comments
Backslash is used for:
File names in DOS and Windows, e.g. D:\documents\office, C:\java\jdk escape sequences in C, Unix, and other languages/systems that borrow the same syntax (C++, Java, etc.). For example, \n means newline and \t means tab.
Forward slash is used for:
- File names on Unix (and Mac OS X, since it is derived from Unix), e.g.
/cs/student/jsmith/cs8/lab00,/Users/Shared/cs8/cTurtle.py. - Web addresses (URLs), such as
http://www.cs.ucsb.edu/~pconrad/cs8. - Dividing in many programming languages, e.g. battingAvg = hits / atBats;