Archive for October, 2007

CHAPTER 13 INTRODUCING (Post office web site) THE BASH SHELL Tip

Wednesday, October 24th, 2007

CHAPTER 13 INTRODUCING THE BASH SHELL Tip You might have used wildcards within Windows and DOS. They can be used within Ubuntu, too. For example, the asterisk (*) can be used to mean any file. So, you can type rm f * to delete all files within a directory, or type rm f myfile* to delete all files that start with the word myfile. But remember to be careful with the rm command. Keep in mind that you cannot salvage files easily if you accidentally delete them! Changing and Creating Directories Another handy command is cd, for change directory. This lets you move around the file system, from directory to directory. Say you re in a directory that has another directory in it, named mydirectory2. Switching to it is easy: cd mydirectory2 But how do you get out of this directory once you re in it? Try the following command: cd .. The .. refers to the parent directory, which is the one containing the directory you re currently browsing. Using two dots to indicate this may seem odd, but it s just the way that Ubuntu (and Unix before it) does things. It s one of the many conventions that Unix relies on and that you ll pick up as you go along. You can create directories with the mkdir command: mkdir mydirectory Summary This chapter introduced the command-line shell, considered by many to be the heart of Linux. We ve discussed its similarities to MS-DOS, and shown that these are only cursory; knowledge of DOS doesn t equate to skill within BASH. In the long run, you should work to polish your BASH skills. This chapter also introduced some elementary commands used within BASH, such as those used to provide directory listings and to copy files. We looked at how you can use command- line options to control BASH tools. In many cases, these are mandatory, so you learned how the BASH shell itself can be used to investigate a command and find out vital information about how it works. At this point, your newfound knowledge will have no doubt caused you to venture into the Ubuntu file system itself, which can be a confusing, if not terrifying, place for the inexperienced. But don t worry. The next chapter explains everything you need to know about the file system and what you ll find in it.

216 CHAPTER 13 INTRODUCING (Web domain) THE BASH SHELL

Wednesday, October 24th, 2007

216 CHAPTER 13 INTRODUCING THE BASH SHELL Figure 13-4. You can also use the mv command to rename files. Deleting Files But how do you get rid of files? Again, this is relatively easy, but first a word of caution: the shell doesn t operate any kind of Recycle Bin. Once a file is deleted, it s gone forever. (There are utilities you can use to recover files, but these are specialized tools and aren t to be relied on for day-today use.) Removing a file is achieved by typing something like this: rm myfile It s as simple as that. You ll be asked to confirm the deletion after you issue the command. If you want to delete a file without being asked to confirm it, type the following: rm f myfile The f stands for force (that is, force the deletion). If you try to use the rm command to remove a directory, you ll see an error message. This is because the command needs an additional option: rm rf mydirectory As noted earlier, the r stands for recursive and indicates that any folder specified afterwards should be deleted, in addition to any files it contains.

Web design tools - CHAPTER 13 INTRODUCING THE BASH SHELL 215

Tuesday, October 23rd, 2007

CHAPTER 13 INTRODUCING THE BASH SHELL 215 One important command-line option for cpis r. This stands for recursive and tells BASH that you want to copy a directory and its contents (as well as any directories within this directory). Most commands that deal with files have a recursive option. Note Only a handful of BASH commands default to recursive copying. Even though it s extremely common to copy folders, you still need to specify the -r command option most of the time. One curious trick is that you can copy a file from one place to another but, by specifying a filename in the destination part of the command, change its name. Here s an example: cp myfile /home/keir/myfile2 This will copy myfileto /home/keir, but rename it as myfile2. Be careful not to add a final slash to the command when you do this. In the example here, doing so would cause BASH to think that myfile2 is a directory. This way of copying files is a handy way of duplicating files. By not specifying a new location in the destination part of the command, but still specifying a different filename, you effectively duplicate the file within the same directory: cp myfile myfile2 This will result in two identical files: one called myfile and one called myfile2. Moving Files The mv command is similar to cp, except that rather than copying the file, the old one is removed. You can move files from one directory to another, for example, like this: mv myfile /home/keir/ You can also use the mv command to quickly rename files: mv myfile myfile2 Figure 13-4 shows the results of using mv to rename a file. Note Getting technical for a moment, moving a file in Linux isn t the same as in Windows, where a file is copied and then the original deleted. Under Ubuntu, the file s absolute path is rewritten, causing it to simply appear in a different place in the file structure. However, the end result is the same.

214 CHAPTER 13 INTRODUCING THE BASH SHELL (Web domain)

Monday, October 22nd, 2007

214 CHAPTER 13 INTRODUCING THE BASH SHELL Having the files scroll off the screen can be annoying, so you can cram as many as possible onto each line by typing the following: ls -m The dash after the command indicates that you re using a command option. These are also referred to as command-line flags or switches. Nearly all shell commands have options like this. In fact, some commands won t do anything unless you specify various options. In the case of the ls command, only one dash is necessary, but some commands need two dashes to indicate an option. You can see a list of all the command options for ls by typing the following (ironically, itself a command option): ls –help Once again, the output will scroll off the screen, and you can use the window s scroll bars to examine it. (In Chapter 17, you ll learn a trick you can use to be able to read this output without needing to fiddle around with the scroll bars, even if there s screen after screen of it.) With most commands, you can use many command options at once, as long as they don t contradict each other. For example, you could type the following: ls lh This tells the ls command to produce long output and also to produce human-readable output. The long option (-l) lists file sizes and ownership permissions, among other details (permissions are covered in the next chapter). The human-readable option (-h) means that rather than listing files in terms of bytes (such as 1029725 bytes), it will list them in kilobytes and megabytes. Notice that you can simply list the options after the dash; you don t need to give each option its own dash. Caution I ve said it before, and I ll say it again: don t forget that case-sensitivity is vitally important in Ubuntu! Typing ls L is not the same as typing ls l. It will produce different results. Copying Files Another useful command for dealing with files is cp, which copies files. You can use the cp command in the following way: cp myfile /home/keir/ This will copy the file to the location specified.

Mac os x web server - CHAPTER 13 INTRODUCING THE BASH SHELL CREATING

Monday, October 22nd, 2007

CHAPTER 13 INTRODUCING THE BASH SHELL CREATING ALIASES If you ve ever used DOS, you might find yourself inadvertently typing DOS commands at the shell prompt. Some of these will actually work, because most distribution companies create command aliases to ease the transition of newcomers to Linux. Aliases mean that whenever you type certain words, they will be interpreted as meaning something else. However, an alias won t work with any of the command-line switches used in DOS. In the long run, you should try to learn the BASH equivalents. You can create your own command aliases quickly and simply. Just start a BASH shell and type the following: alias =’‘ For example, to create an alias that lets you type del instead of rm, type this: alias del=’rm’ Note that the Ubuntu command must appear in single quotation marks. Listing Files Possibly the most fundamentally useful BASH command is ls. This will list the files in the current directory, as shown in Figure 13-3. If you have a lot of files, they might scroll off the screen. If you re running GNOME Terminal, you can use the scroll bar on the right side of the window to view the list. Figure 13-3. The ls command lists the files in the current directory.

212 CHAPTER 13 INTRODUCING THE BASH SHELL (Java web server)

Sunday, October 21st, 2007

212 CHAPTER 13 INTRODUCING THE BASH SHELL find a comprehensive list of useful shell commands, together with explanations of what they do and examples of typical usage. Table 13-1. DOS Commands and Their Shell Equivalents Command DOS Command Linux Shell Command Usage Copy files COPY cp cp Move files MOVE mv mv Rename files RENAME mv mv
1 Delete files DEL rm rm 2 Create directories MKDIR mkdir mkdir Delete directories DELTREE/RMDIR rm rm rf Change directory CD cd cd Edit text files EDIT vi vi View text files TYPE less less 3 Print text files PRINT lpr lpr Compare files FC diff diff Find files FIND find find name Check disk integrity SCANDISK fsck fsck4 View network settings IPCONFIG ifconfig ifconfig Check a network connection PING ping ping

View a network route TRACERT tracepath tracepath
Clear screen CLS clear clear Get help HELP man man 5 Quit EXIT exit exit 1 The BASH shell offers a rename command, but this is chiefly used to rename many files at once. 2 To avoid being asked to confirm each file deletion, you can add the -f option. Be aware that the rm command deletes data instantly, without the safety net of the Recycle Bin, as with the GNOME desktop. 3 Use the cursor keys to move up and down in the document. Type Q to quit. 4 This is a system command and can be run only on a disk that isn t currently in use. To scan the main partition, you ll need to boot from the installation CD and select the rescue option. Then issue the fsck command. 5 The info command can also be used.

Abyss web server - CHAPTER 13 INTRODUCING THE BASH SHELL BOOTING

Saturday, October 20th, 2007

CHAPTER 13 INTRODUCING THE BASH SHELL BOOTING INTO THE SHELL If you re really in love with the shell, you can choose to boot into it, avoiding the GUI completely (although you can later start the GUI by typing startx at the command line). Booting into the shell is done by defining a custom run level. A run level is how the operating mode that Ubuntu is currently running in is described. For example, one particular run level might start a GUI, while another might start only a command prompt. There are usually seven run levels under Linux, numbered from 0 to 6. Not all of them do something interesting. On Ubuntu, run levels 2 through 5 are all the same. Each runs the GUI. Run level 1 runs a command prompt, so it might seem ideal for booting into the shell, but it also shuts down a few essential services. This means it isn t suitable for day-to-day use. The trick is to take one of the existing run levels and alter it slightly so that it doesn t run a GUI by default. On many distributions, run level 3 is reserved for this purpose, so it makes sense to alter it under Ubuntu. (For what it s worth, the default Ubuntu run level is 2.) Stopping Ubuntu from running a GUI upon booting is simply a matter of stopping the program that appears when Ubuntu boots GDM. This provides the login window that appears and starts the whole graphical subsystem. Type the following command at the shell to remove the shortcut to GDM within the run level 3 configuration: sudo rm /etc/rc3.d/S13GDM After this, you ll need to tell Ubuntu to boot straight to run level 3, rather than the default of 2. You do this by editing the /etc/inittab file, which is one of the first configuration files Ubuntu reads when booting. Issue the following command at the shell to open the file in the Gedit text editor: sudo gedit /etc/inittab Then look for the following line, which will be near the top of the file: id:2:initdefault And edit it so that it reads: id:3:initdefault Then save the file. From now on, you ll always boot straight to a BASH prompt. To restore things to the way they were, simply restore the line in the /etc/inittab file to the way it appeared originally. Working with Files So let s start actually using the shell. If you ve ever used DOS, then you have a head start over most shell beginners, although you ll still need to learn some new commands. Table 13-1 shows various DOS commands alongside their Ubuntu equivalents. This table also serves as a handy guide to some BASH commands, even if you ve never used DOS. In Appendix B, you ll

210 CHAPTER 13 INTRODUCING THE (Managed web hosting) BASH SHELL

Saturday, October 20th, 2007

210 CHAPTER 13 INTRODUCING THE BASH SHELL Figure 13-2. Most commands contain built-in help to give you a clue as to how they re used. Some commands also have info pages, which offer slightly more down-to-earth guides. You can read these by typing this: info If a command isn t covered by the info system, you ll be shown the default screen explaining basic facts about how the info command works. Note that both man and info have their own man and info pages, explaining how they work. Just type man man or info info. Running the Shell via a Virtual Console As noted earlier, you can start the shell in a number of ways. The most common way among Linux diehards is via a virtual console. To access a virtual console, press Ctrl+Alt, and then press one of the function keys from F1 through F6 (the keys at the top of your keyboard). Using a virtual console is a little like switching desks to a completely different PC. Pressing Ctrl+Alt+F1 will cause your GUI to disappear, and the screen to be taken over by a command- line prompt (don t worry; your GUI is still there and running in the background). You ll be asked to enter your username and your password. Any programs you run in a virtual console won t affect the rest of the system, unless they re system commands. (As discussed in Chapter 16, one way to rescue a crashed GUI program is to switch to a virtual console and attempt to terminate the program from there.) You can switch back to the GUI by pressing Ctrl+Alt+F7. Don t forget to quit your virtual console when you re finished with it, by typing exit.

CHAPTER 13 INTRODUCING (Web hosting india) THE BASH SHELL Don t

Friday, October 19th, 2007

CHAPTER 13 INTRODUCING THE BASH SHELL Don t worry too much about the details right now. The important thing to know is that whenever you type a program name, the shell looks in each of the listed directories in sequence. In other words, when you type ls, the shell will look in each of the directories stored in the PATH variable, starting with the first in the list, to see if the ls program can be found. The first instance it finds is the one it will run. (The ls command gives you a directory listing, as described in the Listing Files section later in this chapter.) But what if you want to run a program that is not contained in a directory listed in your PATH? In this case, you must tell the shell exactly where the program is. Here s an example: /home/keir/myprogram This will run a program called myprogram in the /home/keir directory. It will do this regardless of the directory you re currently browsing, and regardless of whether there is anything else on your system called myprogram. If you re already in the directory where the program in question is located, you can type the following: ./myprogram So, just enter a dot and a forward slash, followed by the program name. Getting Help Each command usually has help built in, which you can query (a little like typing /? after a command when using DOS). This will explain what the command does and how it should be used. In most cases, you ll see an example of the command in use, along with the range of command options that can be used with it. For example, you can get some instant help on the ifconfig command by typing this: ifconfig –help You ll see the help screen shown in Figure 13-2. The –helpoption is fairly universal, and most programs will respond to it, although sometimes you might need to use a single dash. Just type the command along with –help to see what happens. You ll be told if you re doing anything wrong. In addition, most commands have manuals that you can read to gain a fairly complete understanding of how they work. Virtually every Ubuntu setup has a set of these man pages, which can be accessed by typing this: man However, man pages are often technical and designed for experienced Ubuntu users who understand the terminology.

Web design templates - 208 CHAPTER 13 INTRODUCING THE BASH SHELL

Thursday, October 18th, 2007

208 CHAPTER 13 INTRODUCING THE BASH SHELL user, as opposed to the root user. However, unlike most other Linux distributions, Ubuntu doesn t use the root account during day-to-day operations, so this is a moot point. Finally, there is a cursor, and this is where you can start typing commands! Note If you were to log in as root, a hash (#) would appear instead of the dollar prompt. This is important to remember because often in magazines and some computer manuals the use of the hash symbol before a command indicates that it should be run as root. In addition, if you use the rescue function of the install CD, you ll be running as root, and a hash will appear at the prompt. See Chapter 14 for more information about the root user. Running Programs When we refer to commands at the shell, we re actually talking about small programs. When you type a command to list a directory, for example, you re actually starting a small program that will do that job. Seen in this light, the shell s main function is to simply let you run programs either those that are built into the shell, such as ones that let you manipulate files, or other, more complicated programs that you ve installed yourself. The shell is clever enough to know where your programs are likely to be stored. This information was given to it when you first installed Ubuntu and is stored in a system variable. Note A variable is the method Linux uses to remember things like names, directory paths, or other data. There are many system variables that are vital for the running of Ubuntu. The information about where your programs are stored, and therefore where Ubuntu should look for commands you type in, as well as any programs you might want to run, is stored in the PATH variable. You can take a look at what s currently stored there by typing the following: echo $PATH Don t forget that the difference between uppercase and lowercase letters matters to Ubuntu, unlike with Windows and DOS. The echocommand merely tells the shell to print something on screen. In this case, you re telling it to echo the PATH variable onto your screen. On my test PC, this returned the following information: /usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/games Several directories are in this list, each separated by a colon.