Presentation is loading. Please wait.

Presentation is loading. Please wait.

Workbook 2 Filesystem Basics Pace Center for Business and Technology 1.

Similar presentations

Presentation on theme: "Workbook 2 Filesystem Basics Pace Center for Business and Technology 1."— Presentation transcript:

1 Workbook 2 Filesystem Basics Pace Center for Business and Technology 1

2 Chapter 1. Filesystem Navigation Key Concepts The Linux filesystem is an "inverted tree" of directories and files, with a root directory called "/". Every process has a current working directory, often called it's "cwd". The pwd command reports the bash shell's cwd. The cd command changes the bash shell's cwd. Files can be referenced through either absolute or relative references. 2

3 The Filesystem Inverted Tree The concept of a filesystem organized into directories is common to many computer systems. An individual file is given a name (a filename), and filenames get organized into a directory (called a folder in some operating systems). But directories are themselves a kind of file, so they, too, can get collected into other directories. This process can continue, level after level, to create a highly structured environment. For example, a user alice might have several songs stored in files with names like song1.midi and song2.midi. These songs might be collected into a directory named songs. User alice might also have some photographs stored in the files picture1.png and picture2.png. These she might have placed into a directory called photos. These two directories, songs and photos might be organized into a directory called media. This new directory might be only one of several in a website directory. 3

4 The Filesystem Inverted Tree It is the branching appearance of this diagram that gives the notion of a directory tree its name. This diagram is most often drawn with the branches hanging down, and with the root of the tree (the directory website in this case) at the top, and so is referred to as an inverted tree directory structure. 4

5 The Filesystem Inverted Tree Linux uses a single directory tree for its entire collection of files and directories, all branching from a single root named "/" (read as "slash") and called the root directory. This directory tree can be visualized, in part, as shown in Figure 1-2. When naming a file or directory, start from the root of the Linux filesystem tree and list all of the directory branches out to the file or directory you want, separating each part with a slash (/). This is known as the item's fully qualified name, or FQN for short. For example, the FQN of the website directory above would be /home/alice/website. User alice's song1.midi file would be identified as /home/alice/website/songs/song1.midi. 5

6 Exploring the Directory Tree using Nautilus In the Red Hat Enterprise Linux X graphical environment, users can use Nautilus as a sophisticated tool for navigating the filesystem. In the Red Hat Enterprise Linux desktop, a Nautilus window can be opened by (left) double clicking on the home icon found in the upper left-hand corner. 6

7 Exploring the Directory Tree using Nautilus As an alternative, you can use the Nautilus browser (which might be more familiar to people familiar with previous releases of Red Hat Enterprise Linux) by selecting the Applications : System Tools : File Browser menu item. If you would prefer to use the browser by default, you may choose "Alway open in Browser Windows" from the Behavior page of Nautilus's Preferences, found under the Edit menu. By default, the Nautilus browser's sidepane includes a "hotlist" of commonly used directories. The entire directory tree can be browsed, however, by choosing "tree" from within the side pane's popup menu. Typing CTRL+L converts the buttons into a text entry 7

8 The Current Working Directory (cwd) Each Linux process (i.e., program, command) is assigned a default directory when it runs. This default directory is used to complete the FQN for any file whose name is not specified as an FQN to start with. This has two effects. First, it allows the process to refer to files more simply, without using tiresomely long names. Second, it allows the process to operate more flexibly since its actions depend in part on the default directory. Change the default directory, and the action of the process is changed. This default directory is referred to as the current working directory, or cwd, for the process. 8

9 Where Am I? The pwd command One of the processes found running on a Linux system is the command shell. If you login to the system through a virtual terminal, or start a terminal program in X, you see a command prompt where you can enter commands for the system to act on. This command prompt is produced by the command shell, the process which is responsible for reading and interpreting your commands. The default command shell for Red Hat Enterprise Linux systems is the bash (Bourne-again shell) command shell. Like any other process, the bash shell keeps track of its cwd while it runs. This current working directory affects the commands you type at the command prompt, and becomes their cwd as they run. In essence, then, the cwd of the bash shell is your cwd, and can be thought of as where you are within the system. Obviously, keeping track of this cwd is important. Fortunately, there is help. First, the command prompt itself shows the last directory of the path to the cwd. For example, user alice, while working in her website directory, might see a command prompt like this: 9

10 Where Am I? The pwd command This prompt reminds her that she is logged in with username "alice" on the computer "station," and is in the directory website. But there can be other website directories elsewhere on the system. The complete (or absolute) path to the current working directory can be displayed with the pwd (print working directory) command. 10

11 Moving Around - The cd command As was noted earlier, processes are able to change their cwd as needed. This includes the bash command shell, which provides the cd (change directory) command for changing the current directory from the command prompt. Usage: cd [DIRECTORY] If not specified, DIRECTORY defaults to the user's home directory. Because navigating through directories is so important, special abbreviations are available for referencing certain directories: 11

12 Absolute and Relative References This section describes two ways of identifying the location of a file. In this section, as in almost every other place in these lessons, it is important to remember that in Linux a directory is a kind of file, so all the things said about naming files apply to directories as well as ordinary data files. To identify a file, enough information has to be provided to locate the file within the filesystem. This location can be given in two ways: as an absolute reference (or absolute pathname), or as a relative reference. Absolute references start with a slash (/) and give the FQN of the file. That is, the absolute reference names each branch of the filesystem directory tree, starting from /, that must be traversed to reach the file. Regardless of where you are in the filesystem (that is, regardless of the value of the cwd), an absolute reference unambiguously identifies a specific resource. Several examples of absolute references have already been discussed in this lesson. A relative reference does not describe a path to the file starting from /, but rather describes a path starting from the current directory. For example, if the cwd is /home/alice, then a relative reference to song1.midi might be website/songs/song1.midi. This is a relative reference because is does not start with /. This reference only names the directories that must be traversed starting from /home/alice, not starting from /. In order to be valid, a relative reference must start by naming a directory (or file) in the cwd. All directories in Linux contain two special entries, the. and.. directories, that represent the current and parent directories, respectively. Thus, in the discussion earlier about the cd command, the example cd.. was really just a use of a relative reference. 12

13 Absolute and Relative References 13

14 Online Exercises Chapter 1. Filesystem Navigation Exploring the filesystem Lab Exercise Objective: Demonstrate the use of cd. Estimated Time: 10 mins. Specification This lab will have you set the current working directory of four simultaneously running bash shells. If you are using the X graphical environment, you may simply open four terminal windows. If you are using virtual consoles, you may use any four of the six provided virtual consoles. Open four terminals with bash shells (as described above), using your primary account. Using the cd command, set the current working directories of the shells to the following four directories: ~/.. /tmp /etc/sysconfig /usr/share/gnome Deliverables Four concurrently running bash shells, with each shell's current working directory set to one of the four directories listed above. Possible Solution The following command would set a shell's current working directory to the first directory listed above. student]$ cd ~/.. 14

15 Chapter 2. Important Directories Key Concepts Every user account is assigned a home directory. The /tmp directory is used for global scratch space. The /bin and /usr/bin directories contain commonly executed files. The /etc directory contains system configuration files. Root's home directory, /root, should not be confused with the filesystem root directory, /. 15

16 Standard Linux Directory Scheme Linux can be used to support many different types of computer systems: servers, development workstations, personal desktop systems, etc. In order to standardize the filesystem's directory structure across this varied range of systems, most Linux systems employ a common naming and utilization scheme that makes the systems much easier to use and maintain. Using the same type of tree diagram as in the last chapter, part of the first layer of the directory tree might look something like this: 16

17 The User's Home Directory Each user of a Linux system is assigned a special directory, called their home directory, that represents their "private" space on the system. Typically, this is a subdirectory under the /home directory whose name matches the user's login username. (Examples of this, such as /home/alice or /home/hogan were seen in the last chapter.) The one significant exception to this is the superuser (or root user) whose home directory is usually /root. For any user, the tilde character (~) represents the FQN of the user's home directory when used as the first character of a file or directory reference. a place where users can store files away from the files of other users. a place to store user-specific configuration files. 17

18 Filesystem The /tmp Temporary Directory: The /tmp directory gives all users access to additional space to meet short-term needs without charging the space against their quota. Extracting temp programs, firefox downloads, and others. The /etc Configuration Directory: One of the unique characteristics of a Linux system is its flexibility. Virtually every aspect of the system can be configured in some fashion by editing a configuration file. These configuration files are normally placed in /etc or a subdirectory of /etc. E.g. startup scripts, and network configuration files. The /bin and /usr/bin Command Directories: Most system commands are stored as binary files in a machine-readable format. Commands appropriate for use by ordinary users are usually placed in the /bin or /usr/bin binary directories. Core utilities like ls, cd, cp, mv and the vi text editor, without which the system would not be usable, go in /bin. Supplementary utilities like compilers, your web browser and office suite go in /usr/bin, which can be made available to other systems over the network. Think of /bin and /usr/bin as unprivileged command directories, since no special privileges are required to use the commands found in them. Think of /bin and /usr/bin as unprivileged command directories, since no special privileges are required to use the commands found in them. 18

19 Filesystem The /sbin and /usr/sbin Command Directories: Just as /bin and /usr/bin store command files for ordinary users, so also /sbin and /usr/sbin store command files for use by the superuser, root. These include commands for attaching and removing hardware, for starting and stopping the system, and for performing system maintenance. These privileged commands also are stored in two separate directories, for the same reasons as for /bin and /usr/bin. The /var "Variable" Directory: The collections of commands and configuration files found in places like /bin or /etc change very little, if at all, from day to day. These files tend to be very stable. Some files, however, change frequently. These include incoming/outgoing , system logs, news group collections, web sites, ftp file archives and the like. These variable content files and directories are usually collected in the /var directory. Placing such files here makes it easier to allocate space for them, and also makes it easier to protect the more stable files found elsewhere on the system. root vs. /root vs. / (the filesystem root): It is an unfortunate accident of history that the term root plays such an important and yet confusing role in Linux. The word "root" is the username of the superuser, that is, the user with supreme authority over the system. It is also the name of that user's home directory, /root. And it is also the term used for the base (top?) of the filesystem's directory tree, the / directory. Normally, the meaning of the term can be gleaned from context, but a phrase such as "root directory" can be ambiguous. Try to anticipate and avoid such confusion in your own communication, and seek clarification if you encounter a use of the word that cannot be resolved from context. 19

20 Online Exercises Chapter 2. Important Directories Lab Exercise Objective: Explore some of the characteristics of the important directories discussed in this chapter. Estimated Time: 15 mins. Setup In this exercise you will need to use the touch command to create files. This command was demonstrated in the examples for this chapter. You will need to use the which command to locate command files. This command was demonstrated in the examples as well. Specification Open a new terminal session or virtual console (this is necessary for the online grading mechanism to evaluate your work). You want to test whether or not you can use touch to create files in various directories. You expect this to work in your home directory and in /tmp, but not in other directories. Use the command touch newfile.username (where username is replaced by your username) in each of the following directories. ~ /tmp /bin /root Clearly, you should expect some of your efforts to fail. Return to your home directory when you are done. Using which, determine the FQN of the binary command file for each of the following: pwd, ls and whoami. Run each of these commands in its "raw" form by using the FQN at the command prompt. Finally, exit the terminal session or virtual console. When you have finished, exit your shell, so that your command history is saved to the file ~/.bash_history. Deliverables Two files called ~/newfile.username and /tmp/newfile.username, where username is your primary account name. A ~/.bash_history file that contains a record of your "raw" commands. Possible Solution The following sequence of commands demonstrates the use of the which and touch commands, and running a command using its absolute reference. 20

21 Chapter 3. Managing Files Key Concepts Files can be easily created (or appended to) using shell redirection. The cp command copies files. The mv command moves files. The rm command removes files. Files can be "clobbered" as a result of redirection, moving, or copying. 21

22 Redirection Many commands produce “visible” output. Normally, output is displayed on the screen. Notice, for example, how the output from pwd is displayed for Julius: Linux likes to think of everything as a file. In the example above, pwd sent the output to the standard output file, or STDOUT, which is by default the screen for users logged into the system. One of the features of the bash command shell is that output which would normally be directed at the screen through STDOUT can, instead, be redirected to some other file. This is done by using the special redirection symbol, >, as in this example: Lets use cat (concatenate) to display the result from “results.txt” 22

23 Managing Files Copy files with cp: Duplicate copies of files can be created with the cp (copy) command. Usage: cp [OPTIONS] {SOURCE} {TARGET} cp [OPTIONS] {SOURCE...} {DIRECTORY} Move/rename files with mv: Files can be moved from one directory to another, or from one name to another (renamed), with the mv (move) command. Usage: mv [OPTION...] {SOURCE} {TARGET} mv [OPTION...] {SOURCE...} {DIRECTORY} The mv command is particularly interesting because buried in the fabric of how it works is a critical fact about Linux filesystems: Linux treats the name of a file as being distinctly separate from the contents of the file. Even though the command mv stems from the word "move," mv rarely actually moves data around. Instead, the filesystem merely records a name change. If the name changes from /somedir/somefile to /somedir/newname, we see this as "renaming" the file. If the name changes from /somedir/somefile to /newdir/somename, we see this as "moving" the file. If the name changes from /somedir/somefile to /newdir/newname, we see this as a double change, both moving and renaming. But to Linux, all of these are the same thing, a change in the FQN for the file. 23

24 Managing Files Remove (delete) files with rm Files can be removed (erased, deleted) with the rm (remove) command. Usage: rm [OPTIONS] {FILE...} Removes the FILE(s) from the filesystem. Technically, it unlinks the FILE(s), a distinction which will be made more clear later. With the appropriate options (not discussed here - try man rm) whole subdirectory trees can be removed at once. Note rm cannot remove a directory unless special command options are used. There is a separate command, rmdir, for this purpose. Warning Yes, the rm command can remove entire directory trees at once. In the hands of the superuser it can delete the entire contents of the filesystem in a single stroke -- not usually what was intended. Warning The documentation for rm includes the following statement: "Note that if you use rm to remove a file, it is usually possible to recover the contents of that file." While this may be true, it requires expertise beyond the scope of this course, so, for all practical purposes, you should treat this command as non- reversible. 24

25 Clobbering files (oops!) The warnings contained in the previous section hint at some of the dangerous potential commands like cp, mv and rm can have. Unfortunately, while we usually see the rapids, we often miss the rocks beneath the surface of the water, and Linux has its share of those. This is the price you pay for the power of an operating system like Linux. In this section we highlight one such danger: clobbering files. Command redirection with >, and the commands cp and mv all can name target files. Normally, these are new filenames, and the commands create the files. But if an existing file is named as a target for redirection, cp or mv, the existing file will be destroyed without warning. This is known as clobbering a file. Because the problem can be so surprisingly subtle to a new user, we'll work through several examples. No real surprises here if you've been paying attention -- simply note how the second redirection replaced the previous contents of file1 without any warning messages. The file file1 has been clobbered. 25

26 Online Exercises Chapter 3. Managing Files Setup In this exercise you will need to work with the directories ~/html and ~/archive. Login to your account, and use the following commands to create these two directories: Login as elvis Execute the following commands: mkdir ~/html mkdir ~/archive 26

27 Chapter 4. Managing Directories Key Concepts The contents of entire directory trees can be examined with the ls -R command. The mkdir command creates directories. The rmdir command removes (empty) directories. cp -r recursively copies directories rm -r recursively removes directories 27

28 Creating (new, empty) directories: mkdir Organizing files into directories requires the ability to create the directories you need. In Linux, the command for making a new directory is the mkdir (make directory) command. Creates the DIRECTORY(ies), if they do not already exist. Fails with an error message if one or more of the DIRECTORY(ies) do exist, but remaining new directories are still created. To create a ~/public_html subdirectory, Elvis could proceed as shown: Note, however, that by default mkdir will not create a subdirectory if the parent directory does not already exist: Only if Elvis uses mkdir -p (as in 'parent') can he create an entire directory tree at once: 28

29 Listing Directory Trees By now, you should be aware that the ls command, when given a directory as an argument, lists the contents of the directory. But what if the directory contains other directories? By default, the ls command will only show the contents of the top level directory. If you would like the ls command to list subdirectories as well, you can add the -R command line switch. Whenever a command iterates through a structure, operating on each element of the structure in the same manner as it operated on the topmost element, the command is said to act recursively. The -R command line switch specifies that the ls command should list with recursion. 29

30 Removing (empty) directories: rmdir The command for removing a directory is rmdir (remove directory). Removes the DIRECTORY(ies), if they are empty. Fails with an error message if one or more of the DIRECTORY(ies) are not empty, but remaining (empty) directories are still removed. Note that a directory containing only a subdirectory is not empty. To remove his ~/public_html/images subdirectory, Elvis could proceed as shown: As we have observed before, note again that commands such as mkdir and rmdir succeed silently. Silence is golden, as they say. 30

31 Copying directory trees: cp -r In the previous chapter when cp was introduced, we noted that, with the correct options, the cp command could be used for copying entire directory trees. Here we discuss one such option: -r (for recursive). (Many commands have an option for acting recursively, that is, traversing all of the branches of a directory sub-tree, acting on each subdirectory in turn.) 31

32 Removing directory trees: rm -r In the previous chapter when rm was introduced, we noted that, with the correct options, the rm command could remove entire directory trees. Again, as for cp the option is -r (for recursive). Consider the following directory structure in Hogan's home directory: It's worth observing one more time that, in general, removing files is non-reversible. Used carelessly, rm -r is a very dangerous command 32

33 Examining Directories with tree The tree command will recursively list the contents of the directory, much like the ls -R command. The output, however, is displayed more intuitively as an ASCII tree. 33

34 Online Exercises Chapter 4. Managing Directories Managing Directories Lab Exercise Objective: List, copy, move, and remove directories efficiently. Estimated Time: 20 mins. Specification You have become interested in gedit, a simple editor, and want to explore its design: -s /usr/share/gedit-2 -s /usr/share/gedit-2 > /home/elvis/lsgedit.txt 3.cp -R /usr/share/gedit-2/ /home/elvis/gedit-2.bak -l /home/elvis 5.rm -r /home/elvis/gedit-2.bak 34

35 Chapter 5. File Names and File Globbing Key Concepts Filenames can contain almost any character except /. Although filenames can contain almost any character, that doesn't mean they should. Files that start. are "hidden" files. The *, ?, [...], and [^...] characters can be used to match filenames, through a process commonly called "file globbing". 35

36 Filenames Many operating systems restrict the choice and number of characters that can be used in naming files. In Linux, virtually any printable character can be used in a filename, and filenames can be of almost any length. Linux filenames can be up to 255 characters long, excluding any directory components. When used in a command, an absolute or relative filename, including directory components, may be up to 4095 characters long! This allows names of files and directories to be very descriptive. Linux filenames can contain any printable character (and some unprintable ones!) except for / (slash). Slash can't be part of a filename since it's the character used to separate directory name components in a relative or fully-qualified name. Since many of the more "unusual" characters are shell metacharacters, they must be protected in quotes to be used in a filename: Warning: The preceding example is for illustrative purposes only. Many of the characters used in the example are shell meta-characters whose significance we have not discussed. 36

37 Filenames Watch those spaces! 37

38 Hidden Files File and directory names (remember, a directory is a type of file) that start with a dot are "hidden" files. Hidden files do not appear in directory listings produced by ls unless the special command option -a (all) is used, or unless you specify the leading dot as part of the name. This makes it possible to reduce clutter and confusion by keeping certain files "out of sight, out of mind." Except for hiding the file, the leading dot has no other significance, and hidden files and directories can be used just like any others. 38

39 Globbing Frequently it is necessary to issue a command that acts on more than one file. Commands like cp -r and rm -r work on entire directory sub-trees, but Linux has a more flexible way of identifying sets of files. The bash command shell treats some of its special meta-characters as wildcard characters. When bash reads the command line, the shell performs a process called meta-character expansion or wildcard expansion, generates a list of filenames that match the pattern described by the wildcard expression, and then passes the generated list on to the command. This is commonly referred to as "filename globbing." Wildcards can be used with any command that expects filenames. For example, the command 39

40 Chapter 6. Examining Files Key Concepts The file command displays a file's type The cat command displays a file's contents The more and less commands "page" through a file, one screen full at a time. The head and tail commands display the first or last few lines of a file. In the X graphical environment, nautilus can be used to examine text files. 40

41 The file Command The contents of any given file might be ASCII (plain text, HTML, shell script, program source code, etc.) or binary (compiled executable, compressed archive, audio, etc.). The commands discussed in this chapter are intended for use on ASCII files only, and attempting to use them with binary files can lead to problems ranging from the mildly irritating (screens full of strange character flashing by) to the more significant (locking the terminal display). This is because binary files can contain arbitrary binary codes, and some of these codes have special meaning when being (mis)interpreted as ASCII text. Therefore, it is a good idea to check the file type of any file you do not recognize using file before attempting to view the file with one of the other tools shown here. 41

42 The cat Command The cat command, when used for viewing files, simply displays the contents all at once. Large files scroll by too quickly to read, making cat most suitable for files with less than a screen of text. 42

43 The more and less Pagers Both more and less are designed for viewing text files on screen. Their use is quite similar, except that the more modern less command has a few extra features, such as responding correctly to [PgUp], [PgDn] and navigation arrow keystrokes correctly. After all, less is more. It is especially important to be familiar with less because other tools (such as man) use it behind the scenes to provide paging capabilities. 43

44 The more and less Pagers One feature of the less pager relies on a standard Unix concept called pipes. While pipes are officially discussed later, this feature of less is too useful and simple enough to use that it merits introducing now. A pipe acts like redirection, in that the output of a command is redirected somewhere other than a terminal. With redirection (using >), the output gets redirected to a specified file. When piping, the output of one command gets redirected into the input of another command. The bash shell uses the | character (usually found above the RETURN key) to construct pipes. When running a command that produces a lot of output, the output of the command can be piped into less. 44

45 The head Command Sometimes all that is needed in examining files is to see the first few lines of the file. The head command provides this capability. Examples: elvis]$ head /etc/group If given more than one filename as arguments, head displays the first few lines of each file individually, separated by a header displaying the file name. In the following, elvis lists the first few line of all of the Red Hat service scripts, found in the /etc/rc.d/init.d directory. elvis]$ head -5 /etc/rc.d/init.d/* student]$ ps aux | head -5 45

46 The tail Command elvis]$ tail -n 5 /etc/group The tail command has another, very useful, option: the -f (follow) option. With this option, tail will display the last lines of the file, and then "waits" and continues to display any new lines as they are added to the file. This is often used to monitor system log files in real time. Once started with this option, the command prompt does not return. Instead the tail -f stays active and will continue to display new lines as they occur until CTRL+C is pressed. 46

47 Online Exercises Chapter 6. Examining Files Browsing Text Files Lab Exercise Objective: Examine files using several browsing utilities. Estimated Time: 15 mins. Specification 1.In the first terminal, cat the contents of the file /etc/services, including the correct switch to number all lines. After you have viewed the results, repeat the command (with the same switch), redirecting the output into the file in your home directory /etc/services > /home/elvis/ /home/elvis/ | less /home/elvis/ | more 47

48 Chapter 7. Editing Files Key Concepts A text editor is not a word processor. Linux ships with many text editors nano is a commonly used command line text editor. gedit is a commonly used command graphical text editor. 48

49 Text Editor vs. Word Processor One of the ways Linux achieves its high degree of flexibility is through the robustness of its configuration. Configuration information typically is stored in plain ASCII text files. System administration often involves updating or correcting these configuration files. The tool for doing this work is a text editor. A text editor is designed just for modifying the text content of a plain ASCII file, and does not contain any embedded binary codes. A word processor would be an appropriate choice for writing a letter, a memo, a bulletin, an advertising flier, or any document where the visual presentation is controlled by the editing software. 49

50 nano nano is a simple, display-oriented (full screen) text editor. Commands are displayed at the bottom of the screen, and context-sensitive help is provided. As characters are typed they are immediately inserted into the text. Usage: nano [OPTIONS] [FILE] Opens FILE in insert mode for editing. As mentioned above, nano commands are displayed at the bottom of the screen throughout the edit session, making recalling editor commands very easy. The primary nano commands are summarized below. In this summary, the carat symbol followed by a letter is used to represent Ctrl-key combinations, so that ^K represents the CTRL+K key combination. 50

51 gedit gedit is a graphical text editor available for the X-window environment. It can be accessed by entering gedit at a command prompt in a terminal window, or by selecting Accessories -> Text Editor from the GNOME Menu. It provides a familiar document window interface for creating and editing text files, and toolbar icons for accessing such features as search and replace, cut-copy-paste, and printing. Its tabbed window format allows for more than one document to be open at a time. It also supports a standard click-to-browse interface for interacting with the filesystem. 51

52 Online Exercises Chapter 7. Editing Files Lab Exercise Objective: Text Editors Estimated Time: 10 mins. Specification The /etc/services file is an example of a Linux ASCII text configuration file. /etc/services /home/elvis/services.nano ~ 3.nano /home/elvis/services.nano 4.Modify the file and do a CRTL + O to save and CRTL + X to exit /home/elvis/services.nano 52

Download ppt "Workbook 2 Filesystem Basics Pace Center for Business and Technology 1."

Similar presentations

Ads by Google