Tip | |
---|---|
The information in Section 1.5, “Key differences between Windows/Mac OS X and Linux” and Section 3.1, “Features of the shell” can save you a lot of time and frustration when you are working with the CLI. The resources mentioned in Section A.1, “Suggested resources for finding information” can help you find specific information quickly. |
Although you could read this guide from start to finish, you may find it useful to read whichever sections interest you, or you might want to try a strategy such as one of the following:
If you just want to get started immediately and would rather learn the details later:
Open a terminal (check Section 1.3, “Accessing the Linux CLI through a GUI's terminal window” if necessary) if you don't have one open already.
Start with Section 3.2, “Navigating the file system”.
Read any other sections that interest you.
Then consider trying the suggestions listed below.
If you're taking a course or doing work that involves programming:
Start with Section 1.3, “Accessing the Linux CLI through a GUI's terminal window” if you don't know how to open a terminal.
Then look at Section 1.4, “Shells, the shell prompt, and your home directory” if you've never worked with a shell before.
Look over Section 9, “Conventions used in this guide”, including Example 1.1, “How to read a table entry”, if you haven't done so already.
Then take a quick look at Chapter 2, Built-in help system so that you at least know about the man and info pages.
Read Section 3.2, “Navigating the file system” and the sections following it to learn how to work with the shell, using the file managers discussed in Section B.1, “GUI-based file managers” if you get stuck.
Choose one of the editors discussed in Chapter 5, Text editors and learn how to use it, resorting to one of the graphical text editors discussed in Section B.3, “GUI-based text editors” if you get stuck.
Then read Section 6.1, “Compiling programs” and the two sections that follow it to learn how to compile, run, and debug your programs using Linux. I suggest that you wait to try the graphical programming tools mentioned in Section B.4, “GUI-based programming and debugging tools” until after you've had some experience with the command line tools.
If you need to transfer files over a network, read Chapter 4, SSH (secure) file transfer (SFTP) (or Section B.2, “GUI-based file transfer programs”).
After you have the basics down, check Appendix A, Further reading to learn more about Linux.
If you're taking a course or doing work that doesn't involve programming:
First complete the steps above for programming-related courses/work, skipping the step on programming tools.
Then take a look at Appendix A, Further reading and Appendix B, Graphical alternatives for information related to your course or work.
If you're connecting to a Linux machine via SSH:[2]
Clearly, the information in Appendix B, Graphical alternatives is irrelevant, unless you want to try X tunneling.[3]
So take a look at the steps above for programming-related courses/work and complete them as is relevant to your objectives.
If you need to transfer files between your machine and the server, you'll need a separate file transfer program, which might be SFTP (either the command line version discussed in Chapter 4, SSH (secure) file transfer (SFTP) or graphical versions such as those mentioned in Section B.2, “GUI-based file transfer programs”) or a different program altogether.
If you're interested in learning how to use Linux:
If you're installing Linux on your computer (which is recommended if you're serious about becoming proficient in using Linux), select a Linux distribution to use and read its documentation or books about it as needed.[4] Be sure to carefully examine the distribution's website for useful information.
If you need help selecting a distribution, you may wish to consider Dr. Norm Matloff's opinion in his Beginner's Guide to Installing and Using Linux (available only in .pdf format).
Once you have access to a machine running Linux, follow the steps above for programming-related courses/work to become familiar with the CLI.
You can skip the step on programming tools, although you may find that programming experience with C or C++ is helpful in understanding Linux.
Then carefully check Appendix A, Further reading, especially the references listed in Section A.2.1, “General Linux resources”, for relevant books and websites.
The appendix doesn't include references to books that focus on installation or system administration, so you'll need to find those on your own.
If you need to learn more about Linux GUIs, you may find Section 1.2, “Graphical user interfaces (GUIs) for Linux” and Appendix B, Graphical alternatives to be helpful as a starting point.
If you're absolutely stuck and you're working with a Linux machine in front of you (that is, you're not connecting via SSH), start with the Linux GUI applications discussed in Appendix B, Graphical alternatives and then start again at the top of this section when you're ready to give the CLI another try.