Linux open directory command line

Opening current directory from a terminal onto a file browser?

My current directory is buried deep in multiple subfolder layers from my home directory. If I want to open this directory in a gui-based file browser, I have to double click folder after folder to reach it. This is very time consuming. On the other hand, with very few key strokes and several times hitting the tab button, it is very easily reachable via a terminal. I want to know if there is a way to open the current directory in a terminal onto a a file browser. What is the command to do this? For reference, I have an ubuntu system, but I’d like to know what the commands are across the various distributions of linux.

That really depends on what operating system and GUI environment you’re using. For example, off the top of my head, on an OS X system, open /path/to/some/directory will open a Finder window for that directory. On Windows, it’s some invocation of explorer.exe In KDE or GNOME or LXDE, there are probably incantations unique to each environment that can be used. In short, more detail is needed for your specific use-case.

That would depend on the specific «file explorer» or windowing system you are using. As a reference, on Mac OS X, open . will open a Finder window on the current directory. A similar command may exist on your system.

4 Answers 4

xdg-open is part of the xdg-utils package, which is commonly installed by default in many distributions (including Ubuntu). It is designed to work for multiple desktop environments, calling the default handler for the file type in your desktop environment.

You can pass a directory, file, or URL, and it will open the proper program for that parameter. For example, on my KDE system:

  • xdg-open . opens the current directory in the Dolphin file manager
  • xdg-open foo.txt opens foo.txt in emacsclient, which I’ve configured to be the default handler for .txt files
  • xdg-open http://www.google.com/ opens google.com in my default web browser

The application opens as a separate window, and you’ll get a prompt back in your terminal and can issue other commands or close your terminal without affecting your new GUI window.

I usually get a bunch of error message printed to stderr , but I just ignore them.

Edit:
Adding the arguments xdg-open . >/dev/null 2>&1 redirects the errors and the output. This call won’t block your terminal. Binding this to an alias like filemanager=’xdg-open . >/dev/null 2>&1′ can come in handy.

Источник

Shelves filled with file folders and file boxes

You probably learned how to interact with a computer using a GUI, and you’re probably very good at it. You may be surprised to learn, then, that there’s a more direct way to use a computer: a terminal, or shell, which provides a direct interface between you and the operating system. Because of this direct communication without the intervention of additional applications, using a terminal also makes it easy to script repetitive tasks, and design workflows unique to your own needs.

Читайте также:  Linux сервер команды терминала

There’s a catch, however. As with any new tool, you have to learn the shell before you can do anything useful with it.

This article compares navigating a computer desktop without the desktop. That is, this article demonstrates how to use a terminal to move around and browse your computer as you would on a desktop, but from a terminal instead.

While the terminal may seem mysterious and intimidating at first, it’s easy to learn once you realize that a terminal uses the same information as all of your usual applications. There are direct analogs for everything you do in a GUI to most of the everyday activities you do in a terminal. So instead of starting your journey with the shell by learning terminal commands, begin with everyday tasks that you’re already familiar with.

View file lists

View files.

To list the files on your computer or device, you generally open a file manager application, whether it’s called Explorer (Windows), Finder (Mac), Nautilus (GNOME), Amaze (Android), or anything else.

The ls (list) command lists all files in the current directory.

The pwd (print working directory) command tells you what directory you’re currently in. From there, the ls (list) command shows you what’s in that (or any other) directory:

$ pwd /home/seth $ ls . .. bin Desktop despacer.sh documentation.zip Documents Music people Pictures Public 

The first items listed are dots. The single dot is a meta-location, meaning the folder you are currently in.

The double dot is an indicator that you can move back from this location. That is, you’re in a folder inside of another folder. Once you start moving around within your computer, you can use that information for reference.

You may also notice that it’s hard to tell a file from a folder. Some Linux distributions have colors pre-programmed so that folders are blue, files are white, binary files are green, and so on. If you don’t see those colors, you can use ls —color to try and activate that feature. Colors don’t always transmit over remote connections to distant servers, though, so a common and generic method to make it clear what are files and what are folders is the —classify ( -F ) switch:

$ ls --classify . .. bin/ Desktop/ despacer.sh documentation.zip* Documents/ Music/ people/ Pictures/ Public/ 

Folders are given a trailing slash ( / ) to denote that they are directories. Binary entities, like ZIP files and executable programs, are indicated with an asterisk ( * ). Plain text files are listed without additional notation.

If you’re used to the dir command from Windows, you can use that on Linux as well. It works exactly the same as ls .

Open a folder

Open a folder.

Double-click on a folder. When it opens, you are «in» that folder.

The cd (change directory) command opens a folder and makes it your new current working directory.

To open—or enter—a folder on the command line, use the cd (change directory) command as follows:

$ pwd /home/seth $ cd bin $ pwd /home/seth/bin $ ls crossfade.sh fop normy.sh 

Close a folder

Close a folder.

Close the desktop window you’re in, or press the Back button in your file manager to leave the folder.

Читайте также:  Opening windows share in linux

You don’t so much close a folder on the command line, as you leave it.

On a desktop, you judge your current location by what window you have open. For instance, when you open a window and click on the Documents folder icon, you think of yourself as being in your Documents folder.

In a terminal, the closest thing to this concept is the shell prompt. In most shells, your prompt is a dollar sign ( $ ), and its location within the computer can change depending on where you tell your terminal to go. You can always learn your current location with the pwd (print working directory) command:

If you’re in one location because you used the cd command, you can «close» that location by going back to your home directory. This directory is, more or less, your terminal’s desktop—it’s the place you find yourself staring at when you first open the terminal.

The command for returning home is the cd command with no location specified (shorthand for cd ~ ):

Navigating your computer.

Open a window, double-click on a folder, and then double-click on a sub-folder. Use the Back button to backtrack.

The cd (change directory) command moves you into a different directory. To move out of that directory, use cd along with the path to some other location, or use double dots to backtrack, or return home to navigate from there.

Navigating a Linux computer is like navigating the internet. The very concept of a URL is pulled directly from UNIX. When you navigate to a specific page on a website, like https://www.redhat.com/en/topics/linux, you’re actually changing directory to /var/www/redhat.com/en/topics/linux (this isn’t exactly true for pages built by PHP and other dynamic languages, but even they are essentially building a virtual file system).

To go back a page in this example, delete the linux part of the URL. You’re taken to a new location, the parent directory, containing a different file for you to view. Because this happens inside your web browser, you probably don’t think of it as navigating a computer, but you use the same principle in a Linux terminal.

Think of your computer as the internet (or the internet as a computer, more appropriately). If you start in your home folder, then all of your personal files can be expressed using your home as the starting point. Think of your home folder as a web URL’s domain. Instead of a URL, the term directory path or file path is used. Here are some example paths:

  • /home/seth/bin
  • /home/seth/despacer.sh
  • /home/seth/documentation.zip*
  • /home/seth/people

Because you return home often, your home directory can be abbreviated as ~ . For instance:

To navigate directly to the people folder, use the cd command along with the entire directory path:

$ cd ~/people $ pwd /home/seth/people 

Suppose that inside the people folder, there are the directories developers and marketing .

Now that you’re inside the people directory, you can move out of it in one of three different ways.

Читайте также:  Регулятор яркости linux mint

One option is to navigate into a different directory from where you are now. This method uses a dot as your starting point.

Remember that a dot is a meta-location, meaning «where I am right now.» This method is akin to, for instance, manually adding a level in a URL, such as changing https://www.redhat.com/en/topics to https://www.redhat.com/en/topics/linux. So, to change to the developers directory from your current location, do the following:

$ cd ./developers $ pwd /home/seth/people/developers 

You could move through all of your directories this way: change directory to one folder, list its contents, and then move into the next one, and so on. However, if you know the path of where you want to go, you can transport yourself there instantly all in one command. To reach the to /home/seth/people/developers directory instantly from anywhere, instantly:

$ cd ~/people/developers $ pwd /home/seth/people/developers 

Once in a directory, you always have the option to backtrack out of your current location using the meta-location .. to tell cd to take you up one folder:

You can keep using this trick until you have nowhere left to go:

$ cd .. $ pwd /home/seth $ cd .. $ pwd /home $ cd .. $ pwd / 

You can also always return to your home directory instantly using this shortcut:

Because users go home often, most shells are set to go back home should you type cd with no destination:

Absolute paths

File paths technically start at the very root of your computer’s file tree. Even your home directory starts at the very bottom of the tree. This fact is significant because system administrators deal with lots of data that exists outside of their own home directory.

When you go as far back in a file path you can go, you reach the root directory, represented by a single slash ( / ). You see the root directory at the beginning of all absolute paths:

When in doubt, you can always use the absolute path to any location:

$ cd ~/people/developers $ pwd /home/seth/people/developers 

To find where you want to go, use the ls command to «open» a directory and look inside:

$ ls --classify ~/people/ developers/ marketing/ $ cd /home/seth/people/developers $ pwd /home/seth/people/developers 

Conclusion

Try navigating through your system using the terminal. As long as you restrict yourself to the cd , ls , and pwd commands, you can’t do any harm, and the practice will help you get comfortable with the process. On most systems, the Tab key auto-completes file paths as you type, so if you’re changing to ~/people/marketing , then all you need to type is cd ~/people/m and then press Tab. If Tab is unable to complete the path, you know that you either have the wrong path or there are several directories with similar names, so your shell is unable to choose which to use for auto-completion.

Navigating in the terminal takes practice, but it is far faster than opening and closing windows, and clicking on Back buttons and folder icons, especially when you already know where you want to go. Give it a try!

Источник

Оцените статью
Adblock
detector