010-160,3,Which of the following is **not** a function of the Linux kernel?,Allocating memory for use by programs,Allocating CPU time for use by programs,Creating menus in GUI programs,Controlling access to the hard disk,Enabling programs to use a network,"GUI programs create menus with the help of a library that's designed for this purpose; this is not a function of the Linux kernel. Thus, option 3 is a non-kernel function, and is correct. The kernel allocates memory and CPU time, and it also controls access to disk and network hardware, so options 1, 2, 4, and 5 all describe kernel functions and are incorrect.",,,
010-160,1,Which of the following is an example of an embedded Linux OS?,Android,SUSE,CentOS,Debian,Fedora,"Android is used on cell phones and other small portable devices, and as such it qualifies as an embedded OS, making option 1 correct. SUSE, CentOS, Debian, and Fedora are all examples of distributions intended mainly for use on desktop, laptop, and server computers; these do not qualify as embedded OSs, so options 2, 3, 4, and 5 are all incorrect.",,,
010-160,2,Which of the following is a notable difference between Linux and Mac OS X? ,Linux can run common GNU programs whereas OS X cannot.,Linux's GUI is based on the X Window System whereas OS X's is not.,Linux cannot run on Apple Macintosh hardware whereas OS X can run only on Apple hardware.,Linux relies heavily on BSD software whereas OS X uses no BSD software.,Linux supports text-mode commands but OS X is a GUI-only OS.,"Linux's GUI is based on the X Window System. Although OS X provides an X implementation, its primary GUI is Apple's proprietary product. Thus, option 2 is correct. Option 1 is incorrect because both Linux and OS X can run most GNU programs. Option 3 is incorrect because Linux can run on both Apple Macintosh and commodity PC hardware. Option 4 is incorrect because OS X includes many BSD utilities in its standard form. Furthermore, most Linux distributions use GNU utilities rather than their BSD equivalents, although you can use BSD utilities in Linux if you prefer. Option 5 is incorrect because both Linux and OS X support text-mode commands, although OS X makes it hard to use these commands in anything but its GUI Terminal application.",,,
010-160,2,True or false: The Linux kernel is derived from the BSD kernel.,True,False,,,,"The Linux kernel was intended as a ""from-scratch"" project to create a new Unix-like kernel. Although there are influences and similarities, the two kernels are largely independent of each other.",,,
010-160,2,True or false: If you log into a Linux system in graphical mode you cannot use text-mode commands in that session.,True,False,,,,Programs known as **terminals** enable entry of text-mode commands once you've logged into Linux in GUI mode. You can also switch between multiple **virtual terminals** by using keystrokes such as Ctrl+Alt+F2.,,,
010-160,1,True or false: CentOS is a Linux distribution with a long release cycle.,True,False,,,,"CentOS's release cycle is approximately 2 years, which is long by the standards of Linux distributions, some of which have release cycles of just 6 months.",,,
010-160,1,What type of multitasking does Linux use?,Preemptive,Multi-user,Co-operative,Single-tasking,Single-user,"Linux's multitasking is preemptive, meaning that the kernel can give CPU time to any process as it sees fit, potentially interrupting (or preempting) other processes. Thus, option 1 is correct. Linux is a multi-user OS, but **multi-user** is not a type of multitasking, so option 2 is incorrect. In a co-operative multitasking OS, applications must voluntarily give up CPU time to each other. Although Linux programs can signal the OS that they don't need CPU time, Linux doesn't rely exclusively on this method, so option 3 is incorrect. 1 single-tasking OS can run just one process at a time, so option 4 is incorrect. 1 single-user OS can support just one user at a time. Such OSs can be either single-tasking or multitasking, and in the latter case, could use either co-operative or preemptive multitasking. Thus, option 5 is incorrect.",,,
010-160,3,Which of the following is a characteristic of all open source software?,The software cannot be sold for a profit, it must be distributed free of charge.,It must be distributed with both source code and binaries.,Users are permitted to redistribute altered versions of the original software.,The software was originally written at a college or university.,The software must be written in an interpreted language that requires no compilation.,"The open source definition includes ten points, one of which is that users may modify the original code and redistribute the altered version. Thus, option 3 is correct. Although as a practical matter all open source software is available at no charge, nothing in the open source definition forbids selling it. In practice, many organizations and individuals **do** sell open source software, either as a convenience (such as DVD-ROMs with Linux distributions for those with slow Internet connections) or in value-added arrangements (such as Red Hat Enterprise Linux, which bundles open source software with a support contract). Thus, option 1 is incorrect. The open source definition requires distribution of source code, but does not require distribution of binaries. Thus, option 2 is incorrect. Although some open source software, including the Linux kernel, began life in academia, this is not true of all open source software, so option 4 is incorrect. The open source definition does not specify that either an interpreted or a compiled language be used, and in fact both have been used to write open source software, so option 5 is incorrect.",,
010-160,4,Which of the following programs is **most** likely to be installed and regularly used on a desktop computer that runs Linux?,Apache,Postfix,Android,Evolution,BIND,"Evolution is an e-mail reader program. Such programs are common on desktop computers, so option 4 is correct. Apache is a Web server, Postfix is an e-mail server, and the Berkeley Internet Name Domain (BIND) is a Domain Name System (DNS) server. Such servers are much less likely to be installed on desktop computers than are client programs such as Evolution, so options 1, 2, and 5 are all incorrect. Android is the name of a Linux distribution for cell phones and tablets, so option 3 is incorrect. ",,,
010-160,2,True or false: VMS was a common OS on x86 PCs at the time Linux was created.,True,False,,,,"VMS was an OS for minicomputers and mainframes when Linux was created. On x86 computers, DOS was the dominant OS in 1991. ",,,
010-160,1,True or false: Some DVRs run Linux.,True,False,,,,"Digital video recorders (DVRs) are specialized computers for recording TV shows. Some commercial DVRs, such as TiVos, run Linux natively. DVR software for standard PCs, such as MythTV, which runs under Linux, also exists.",,,
010-160,1,True or false: A Linux computer being used as a server generally does not require X.,True,False,,,,"Most server programs do not require the X Window System (X) GUI, so server computer administrators often disable X or even remove it entirely to save disk space and memory and to minimize the risk of security problems.",,,
010-160,3,Which of the following is **not** required in order for software to be certified as open source?,The license must not discriminate against people or groups of people.,The license must not require that the software be distributed as part of a specific product.,The license must require that changes be distributed under the same license.,The program must come with source code or the author must make it readily available on the Internet.,The license must automatically apply to anybody who acquires the software.,"The open source definition specifies that users be able to distribute changes, but it doesn't require that the license require distribution under the terms of the same license. Thus, option 3 does not describe an open source requirement, and so is the correct answer. Options 1, 2, 4, and 5 all paraphrase actual open source license term requirements.",,,
010-160,2,Which is true of Linux distributions as a whole? ,They're covered by the GPL or the BSD license depending on the distribution.,Sometimes they may not be copied because of non-open source software they may contain.,They may be copied only after software using the MIT license is removed.,They all completely conform to the principles of the open source movement.,They all qualify as free software as the FSF uses the term.,"Some distributions (particularly ""Enterprise"" versions that are sold for money) include software that is neither open source nor even freely redistributable, so option 2 is correct. Distributions as a whole use many licenses, not just one, so option 1 is incorrect. The MIT license is one of several open source licenses; such software is not an impediment to copying a distribution, so option 3 is incorrect. Although some distributions, such as Debian, aim to make their main systems fully open source compliant, not all do this, so option 4 is incorrect. Likewise, not all distributions are composed completely of free software as the FSF uses the term.",,,
010-160,5,Which of the following is a key part of the FSF's philosophy?,Developers should use the latest version of the FSF's GPL.,Users should have the right to modify free software and distribute it under a commercial license.,Developers should write software only for free operating systems such as GNU/Linux.,Users should engage in civil disobedience by copying proprietary software.,Users must have the right to use software as they see fit.,"Option 5 paraphrases one of the four key points in the FSF's philosophy, and so is correct. Contrary to option 1, the FSF's philosophy does not mandate use of the GPL, much less its most recent version, although the GPL is the FSF's preferred license. Option 2 is contrary to the FSF's position, which is that free software should remain free; however, this option is compatible with the OSI's philosophy. Although the FSF advocates free software and free OSs, option 3 is not an explicit part of their philosophy and so is incorrect. Although the FSF wants to see a world dominated by free software, they do **not** advocate software piracy, so option 4 is incorrect.",,,
010-160,1,True or false: Copyright law governs the distribution of software in most countries.,True,False,,,,"Courts and laws explicitly recognize computer software as being creative works that are governed by copyright law. In some countries, patent laws also apply to software, although this is not globally true.",,,
010-160,1,True or false: The FSF's free software definition and the OSI's ten principles of open source software both require that users have the ability to examine a program's workings---that is its source code.,True,False,,,,This principle is at the heart of both the free software and the open source software definitions.,,,
010-160,2,"True or false: Because their hardware designs are proprietary, hardware vendors cannot release open source drivers for their products.",True,False,,,,"Hardware vendors often do release open source drivers for their products. One caveat is that the release of open source drivers necessarily renders some programming interfaces for the hardware open, which some hardware vendors are reluctant to do.",,,
010-160,2 3 5,Which of the following are Linux desktop environments? (Select all that apply.),GTK+,GNOME,KDE,Evolution,Xfce,"GNOME, KDE, and Xfce are all Linux desktop environments, so options 2, 3, and 5 are all correct. (Others include LXDE and Unity.) The GIMP Tool Kit (GTK+) is a GUI programming library. Although GNOME and Xfce are both built atop GTK+, it's not a desktop environment, so option 1 is incorrect. Evolution is a Linux e-mail client, not a desktop environment, so option 4 is incorrect.",,,
010-160,2,If you want to enable one Linux computer to access files stored on another Linux computer's hard disk which of the following network protocols is the *best* choice?,SMTP,NFS,PHP,DNS,DHCP,"The Network File System (NFS) was designed for exactly the task described in the question (although for Unix generally, not just Linux), so option 2 is correct. The Simple Mail Transfer Protocol (SMTP) is a protocol that enables one computer to send e-mail messages to another computer, so it's a poor choice for achieving the stated goal, and option 1 is incorrect. The PHP: Hypertext Processor (PHP) language is used to generate dynamic content for Web pages, so option 3 is incorrect. The Domain Name System (DNS) is a protocol for delivering the mappings between hostnames and IP addresses to computers, so it won't easily achieve the stated goals, making option 4 incorrect. The Dynamic Host Configuration Protocol (DHCP) enables one computer to provide network configuration information to another one over a network link, so option 5 is incorrect.",,,
010-160,3,In which of the following languages was most of the Linux kernel written?,Bash shell script,Java,C,C++,Perl,"The main language for the Linux kernel is C, so option 3 is correct. Although Bash shell scripts control much of the Linux startup process, these scripts are not part of the kernel, so option 1 is incorrect. Java is a popular language for Web-based applications, but it's not used in the Linux kernel, so option 2 is incorrect. C++ is a derivative of C that adds object-oriented features to the language, but the Linux kernel uses regular C, not C++, so option 4 is incorrect. Perl is a popular interpreted language, particularly for tasks that involve processing text, but it's not the language of the Linux kernel, so option 5 is incorrect.",,,
010-160,1,True or false: OpenOffice.org and LibreOffice are very similar office suites.,True,False,,,,"LibreOffice forked from OpenOffice.org in 2011. Although there are some small differences, the two are still nearly identical, and will likely remain quite similar for years.",,,
010-160,1,True or false: Servers can be disrupted by malicious outsiders even if the computer that runs them is never broken into.,True,False,,,,"A denial-of-service (DoS) attack can disrupt a server's operation by directing an overwhelming quantity of bogus data at the server program, or even just the computer on which it runs. This is true even if the server is impeccably managed.",,,
010-160,1,True or false: Python is generally implemented as an interpreted language.,True,False,,,,"Python, like Perl, PHP, and shell languages, is interpreted. This contrasts with C and C++, which are two common compiled languages, and with Java, which is somewhere in-between.",,,
010-160,4,Which of the following commands provides the most information about your motherboard's features?,`lscpu`,`Xorg -configure`,`fdisk -l /dev/sda`,`lspci`,`http://localhost:631`,"The `lspci` command displays information on PCI devices. Since many motherboard features appear to Linux as PCI devices, option 4 provides a great deal of information on your motherboard, and so is correct. Option 1 `lscpu` command provides information on the CPU, which means that it provides little direct information on the motherboard, so option 1 is incorrect. The `Xorg` program is the Linux X server, and option 2 creates a new X configuration file. This file might provide hints about video hardware on the motherboard, but option 4 provides better and more information, so option 2 is incorrect. The `fdisk` utility can partition a disk, and the command in option 3 displays information on how `/dev/sda` is partitioned. This information has nothing to do with the motherboard's features, though, so option 3 is incorrect. You can enter `http://localhost:631` in a Web browser to configure your printer, but even if you do this, you'll gain no information about your motherboard's features, so option 5 is incorrect.",,,
010-160,1 4,Why might you want to partition a hard disk? (Select all that apply.),To install more than one OS on the disk,To use ext4fs rather than ReiserFS,To turn a PATA disk into an SATA disk,To separate filesystem data from swap space,To separate the disk's cache from its main data,"Disk partitioning enables you to separate data of different types into different parts of a disk. Examples of reasons to do this include installing multiple OS’s and separating filesystem data from swap space. Thus, options 1 and 4 are both correct. Filesystem choice (ext4fs vs. ReiserFS) has nothing to do with partitioning, unless you want to use one filesystem for one partition and the other on another partition, so option 2 is incorrect. The Parallel Advanced Technology Attachment (PATA) and Serial ATA (SATA) interfaces are hardware standards; you can't turn a PATA disk into an SATA disk by partitioning the disk, so option 3 is incorrect. Hard disks have caches to improve performance, but partitioning the disk does not separate the disk's cache from the bulk of the disk's data, so option 5 is incorrect.",,,
010-160,1,Which of the following devices is *not* commonly attached via USB?,Video monitors,Keyboards,External hard disks,Printers,Scanners,"Video monitors normally attach to the video circuitry built into a computer's motherboard or to a separate video card, so option 1 is correct. Keyboards, external hard disks, printers, and scanners all commonly connect to a computer via USB, although alternative interfaces exist for all of these devices.",,,
010-160,1,True or false: An EM64T CPU is capable of running a Linux distribution identified as being for the AMD64 CPU.,True,False,,,,"Most CPU families have multiple names. *EM64T* is one name that Intel has used for its implementation of the x86-64 architecture, and AMD64 is one of AMD's names for the same architecture. Thus, the two names identify the same architecture, and an AMD64 Linux distribution will run on an EM64T CPU.",,,
010-160,2,True or false: UDF is a good filesystem to use for a Linux installation on a hard disk.,True,False,,,,"The Universal Disk Format (UDF) is a filesystem that's used primarily on optical discs, not on hard disks. Using it for a Linux installation on a hard disk would be awkward or impossible. Linux-specific filesystems (ext2fs, ext3fs, ext4fs, ReiserFS, JFS, XFS, and Btrfs) are the only practical choices for Linux installations on a hard disk.",,,
010-160,1,"True or false: The Linux kernel includes drivers for various disk controllers, network adapters and USB interfaces among other things.",True,False,,,,"In Linux, most drivers, including those specified, are provided as part of the kernel. Some other drivers, such as those for video cards under X, printers, and scanners, exist outside the kernel, although these may also rely on kernel drivers to do their work.",,,
010-160,1,What keystroke moves the cursor to the start of the line when typing a command in Bash?,Ctrl+A,Left arrow,Ctrl+T,Up arrow,Ctrl+E,"The Ctrl+A keystroke moves the cursor to the start of the line when editing a command in Bash, so option A is correct. The left arrow key moves a single character to the left, Ctrl+T transposes two characters, the up arrow moves up one item in the history, and Ctrl+E moves to the end of the line.",,,
010-160,3 4,How can you run a program in the background when launching it from a shell? (Select all that apply.),Launch the program by typing `start command` where `command` is the command you want to run.,Launch the program by typing `bg command` where `command` is the command you want to run.,Append an ampersand `&` to the end of the command line.,Launch the program normally then type Ctrl+Z in the shell and then type `bg` in the shell.,Launch the program normally and type Ctrl+Z in the shell then type `fg` in the shell.,"Options 3 and 4 both describe ways to run a program in the background from a shell, so options 3 and 4 are both correct. Neither `start` nor `bg` is a command that launches a program in the background. The `fg` command returns a program to the foreground, meaning that the shell will go back to sleep, which isn't what the question specified.",,,
010-160,5,Which of the following commands typed at a Bash prompt returns you to your home directory?,`home`,`cd /home`,`cd homedir`,`homedir`,`cd ~`,"Because the `cd` command changes the current directory and a tilde (`~`) refers to your home directory, option 5 does as the question specifies, and so is correct. Neither `home` nor `homedir` is a standard Linux or Bash command, so options 1 and 4 are both incorrect. Option 2 sets the current directory to `/home`, which is a directory that probably holds your home directory, but it is not your home directory itself, so option 2 is incorrect. Option 3 sets the current directory to the `homedir` subdirectory of the current directory, if it exists. Since this is almost certainly not your home directory, this option is incorrect.",,,
010-160,2,"True or false: The Alt+F2 keystroke, typed in X, brings up a text-mode display you can use to log into Linux.",True,False,,,,"When in X, Ctrl must be added to the VT-switching keystroke, so the correct keystroke should be Ctrl+Alt+F2 (or other function keys, through F6).",,,
010-160,2,True or false: The filename `..\upone.txt` refers to the file `upone.txt` in the parent of the current directory.,True,False,,,,"In Linux, a slash (`/`), not a backslash (`\`), is the directory separator; a backslash ""quotes"" the following character, so `..\upone.txt` refers to the file `..upone.txt` in the current directory. Specifying `../upone.txt` (with a slash rather than a backslash) refers to `upone.txt` in the parent directory.",,,
010-160,2,True or false: The `-r` option to `ls` creates a recursive directory listing.,True,False,,,,"You can obtain a recursive directory listing from `ls` by using either `--recursive` or `-R`, but a lowercase `-r` does not have this effect.",,,
010-160,1,Which of the following commands would you type to rename `newfile.txt` to `afile.txt`?,`mv newfile.txt afile.txt`,`cp newfile.txt afile.txt`,`ln newfile.txt afile.txt`,`rn newfile.txt afile.txt`,`touch newfile.txt afile.txt`,"The `mv` command moves or renames a file, so option 1 is correct. The `cp` command copies a file, so option 2 is incorrect. The `ln` command creates a link between two files, so option 3 is incorrect. Option 4 `rn` command is fictitious, so this option is incorrect. The `touch` command creates a new file or adjusts the time stamps on an existing file, so option 5 is incorrect.",,,
010-160,1 2,You type `mkdir one/two/three` and receive an error message that reads which reads in part `No such file or directory`. What can you do to overcome this problem? (Select all that apply.),Add the `--parents` parameter to the `mkdir` command.,Issue three separate `mkdir` commands: `mkdir one` then `mkdir one/two` and then `mkdir one/two/three`.,Type `touch /bin/mkdir` to be sure the `mkdir` program file exists.,Type `rmdir one` to clear away the interfering base of the desired new directory tree.,Type `rm -r one` to clear away the entire interfering directory tree.,"If you try to create a directory inside a directory that doesn't exist, `mkdir` responds with a `No such file or directory` error. The `--parents` parameter tells `mkdir` to automatically create all necessary parent directories in such situations, so option 1 is correct. You can also manually do this by creating each necessary directory separately, so option 2 is also correct. (It's possible that `mkdir one` wouldn't be necessary in this example if the directory `one` already existed. No harm will come from trying to create a directory that already exists, although `mkdir` will return a `File exists` error.) Option 3 will have no useful effect; at most, it will change the time stamps on the `mkdir` program file, but if you type it as a normal user, it probably won't even do that. Options 4 and 5 are both based on the premise that you must remove directories that already exist with the names that you want to use, but this isn't true, so these options are both incorrect.",,,
010-160,1,True or false: You can create a symbolic link from one low-level filesystem to another.,True,False,,,,"Symbolic links work by storing the name of the linked-to file in the symbolic link file. Linux reads this filename and transparently substitutes the linked-to file. This process works both on a single filesystem and across filesystems, so the statement is true. Hard links, by contrast, work by providing multiple directory entries that point to a single file. This method of creating a link does *not* work across low-level filesystems.",,,
010-160,2,True or false: You can easily damage your Linux installation by mistyping an `rm` command when you log into your regular account.,True,False,,,,"Linux's security features prevent accidental damage when you work as an ordinary user.You must be more careful when you acquire `root` privileges to perform system maintenance, though.",,,
010-160,1,True or false: You can set a directory's time stamps with the `touch` command.,True,False,,,,"The `touch` command updates a file's time stamps, and for this purpose, a directory counts as a file, so this statement is true.",,,
010-160,4,Which of the following commands is an improved version of `more`?,`grep`,`html`,`cat`,`less`,`man`,"The `less` program, like `more`, displays a text file a page at a time. The `less` utility also includes the ability to page backward in the text file, search its contents, and do other things that `more` can't do. Thus, option 4 is correct. The `grep` command searches a file for a specified string, so it doesn't do a task that's similar to `more`, and option 1 is incorrect. The Hypertext Markup Language (HTML) is a file format, often indicated with the filename extension `.html`, that's commonly used on the Web. As such, it's not a better version of `more`, so option 2 is incorrect. The `cat` command can concatenate two or more files, or display a single file on the screen. In the former capacity, `cat` doesn't do the task of `more`, and in the latter capacity, `cat` is less capable than `more`. Thus, option 3 is incorrect. The `man` command displays Linux manual pages. Although `man` uses `less` by default, `man` is not itself an improved version of more, so option 5 is incorrect.",,,
010-160,4,Which of the following statements is a fair comparison of `man` pages to HOWTO documents?,`man` pages require Internet access to read, HOWTOs do not.,`man` pages are a type of printed documentation HOWTOs are electronic.,`man` pages describe software from a user's point of view, HOWTOs are programmers' documents.,"`man` pages are intended to give you quick information on commands, configuration files, or the like. HOWTOs are intended as introductions to packages or broad topics. Thus, option 4 is correct. Both `man` pages and HOWTOs are available on the Internet, and both can be installed on your computer, so option 1 is incorrect. Both `man` pages and HOWTOs are available electronically, and it's easy to print either type of document, so option 2 is incorrect. Some `man` pages are intended for ordinary users and others are intended for programmers. The same is true of HOWTOs, so option 3 is incorrect. `man` pages are ""flat"" (non-hyperlinked) documents, whereas many HOWTOs are hyperlinked, so option 5 is incorrect.",`man` pages are brief reference documents, HOWTOs are more tutorial in nature.,`man` pages use a hyperlinked format whereas HOWTOs do not.
010-160,3,A user types `whatis less`. What type of output can be expected?,A short one-paragraph description of the purpose of the `less` command,The complete path to the `less` command in the Linux filesystem,Summary information from `man` pages whose Name sections mention `less`,The complete `man` page for `less` which you would then scroll through with your terminal,The URLs for Web sites with information on the `less` command,"The `whatis` command searches a database that contains `man` page Name sections for matches on the specified keyword and returns the names of the commands whose `man` pages include that keyword. Thus, option 3 is correct. Options 1, 4, and 5 are essentially fictitious descriptions. Option 2 describes the output of the `which` command. ",,,
010-160,1,"True or false: You can force `man` to display a `man` page in a specific section of the manual by preceding the search name with the section number, as in `man 5 passwd`.",True,False,,,,"When you want to override `man`'s search order, you specify the desired manual section between `man` and the command name, filename, or other name on which you're searching.",,,
010-160,2,True or false: `info` pages are a Web-based documentation format.,True,False,,,,"Although `info` pages, like Web pages, use hyperlinks to tie related documents together, the two systems use different formats and protocols. `info` pages also reside on the computer's hard disk; they require no Internet access to read. For these reasons, `info` pages are *not* Web-based.",,,
010-160,2,True or false: Linux documentation in the `/usr/share/doc` directory tree is almost always in OpenDocument Text format.,True,False,,,,"Individual program authors decide on documentation file format based on their own idiosyncratic needs and preferences. Although some documents are in OpenDocument Text format, many documents are not.",,,
010-160,5,Which of the following tools is best suited to installing a software package and all its dependencies on a Debian computer?,`yum`,`zypper`,`dmesg`,`rpm`,`apt-get`,"The `apt-get` utility is a network-enabled tool that can resolve dependencies and retrieve all the required packages to install a package that you specify. Debian and its derivatives all use it, so option 5 is correct. The `yum` and `zypper` programs are conceptually similar to `apt-get`, but they work on Red Hat (and its derivatives) and SUSE distributions, respectively, so options 1 and 2 are both incorrect. The `dmesg` program displays the kernel ring buffer; it has nothing to do with package management, so option 3 is incorrect. The `rpm` program is a non-network-enabled program for managing packages on an RPM-based system, not on a Debian system, so option 4 is incorrect.",,,
010-160,1,What is the usual name of the first process that the Linux kernel runs aside from itself?,`init`,`bash`,`cron`,`login`,`grub`,"Typically, Linux starts `init` as the first process, so option 1 is correct. `bash` is a Linux text-mode shell program. Although it's important for user interaction, it's far from the first process Linux starts. The `cron` daemon manages timed execution of programs to handle routine maintenance tasks. It's started automatically in the boot process, but it's not the first process the kernel starts, so option 3 is incorrect. Although the `login` process is critical to logging in users in text mode, it's started by `init` or by another process, so option 4 is incorrect. The GRand Unified Bootloader (GRUB) boots the computer, so parts of GRUB run **before** the kernel. Several Linux programs help manage a GRUB installation, but the kernel doesn't start any of them automatically. Thus, option 5 is incorrect.",,,
010-160,1,Where do most log files reside on a Linux computer?,`/var/log`,`/etc/logging`,`/usr/log`,`/home/logging`,`/log/usr`,"Option 1 ,`/var/log`, is the standard home for log files in Linux. Options 2 through 5 all present fictitious locations and so are all incorrect.",,,
010-160,1,True or false: When using suitable commands you can normally install a program and be sure that all the software on which it depends will also be installed provided you have an Internet connection.,True,False,,,,"Network-enabled package managers, such as APT, `yum`, `zypper`, and `urpmi`, can automatically download and install packages on which a package you want to install depends.",,,
010-160,1,True or false: By default the first process listed in `top` is currently consuming the most CPU time.,True,False,,,,"The `top` program sorts a process list by CPU use, so the topmost item in the list is currently consuming the most CPU time. You can change the sort order in various ways, though.",,,
010-160,1,True or false: The `dmesg` command may produce different output after a computer has been running for weeks than when it first started.,True,False,,,,"Like on-disk log files, the kernel ring buffer (which `dmesg` displays) changes as the computer runs. Thus, its contents immediately after booting are not likely to be the same as its contents after the computer has been running for weeks.",,,
010-160,1,Which of the following commands will print lines from the file `world.txt` that contain matches to `changes`and `changed`?,`grep change[ds] world.txt`,`tar change[d-s] world.txt`,"`find ""change'd|s'"" world.txt`",`cat world.txt changes changed`,`find change[^ds] world.txt`,"The `grep` utility finds matching text within a file and prints those lines. It accepts regular expressions, which means you can place in brackets the two characters that differ in the words for which you're looking. Option 1 shows the correct syntax for doing this. The `tar` utility creates or manipulates archive files, and option 2's syntax is incorrect for any use of `tar`, so that option is incorrect. The `find` utility locates files based on filenames, file sizes, and other surface features. Furthermore, options 3 and 5 both present incorrect syntax for `find`, and so are incorrect. Option 4's `cat` utility displays or concatenates files, so it won't have the desired effect and this option is wrong.",,,
010-160,5,Which of the following redirection operators appends a program's standard output to an existing file without overwriting that file's original contents?,`|`,`2>`,`&>`,`>`,`>>`,"The `>>` operator appends standard output to a file, so option 5 is correct. The vertical bar (`|`) is the pipe character; it ties one program's standard output to another's standard input, so option 1 is incorrect. The `2>` operator redirects standard error, not standard output, and it overwrites the target file. Thus, option 2 is incorrect. The `&>` operator redirects both standard output **and** standard error, and it overwrites the target file, so option 3 is incorrect. The `>` operator redirects standard output, but it overwrites the target file, so option 4 is incorrect.",,,
010-160,4,You've received a tarball called `data79.tar` from a colleague but you want to check the names of the files it contains before extracting them. Which of the following commands would you use to do this?,`tar uvf data79.tar`,`tar cvf data79.tar`,`tar xvf data79.tar`,`tar tvf data79.tar`,`tar Avf data79.tar`,"With the `tar` utility, the `--list` command is used to read the archive and display its contents. The `--verbose` (`v`) option creates a verbose file listing, and `--file` specifies the filename---`data79.tar` in this case. Option 4 uses all of these features, and therefore does as the question specifies. Options 1, 2, 3, and 5 all substitute other commands for `--list`, which is required by the question, so all of these options are incorrect.",,,
010-160,1,True or false: The regular expression `Linu[^x].*lds` matches the string `Linus Torvalds`.,True,False,,,,"The special characters `[^x]` match any single character **except** `x`, and `.\*` matches any sequence of any characters. The string `Linus Torvalds` is just one of many strings to match the specified regular expression.",,,
010-160,1,True or false: The `find` command enables you to locate files based on their sizes.,True,False,,,,You can use the `-size` option to `find` to locate files based on their sizes.,,,
010-160,2,True or false: To compress files archived with `zip` you must use an external compression program such as `gzip` or `bzip2` in a pipeline with `zip`.,True,False,,,,"The `zip` utility creates or manipulates zip archive files. This file type supports compression directly, as does the `zip` program. Thus, there's no need to involve another compression program to compress files archived with `zip`.",,,
010-160,4,Which type of file is `nano` *least* likely to be useful for examining or editing?,A `/var/log/messages` log file,An HTML Web page file,An e-mail message saved from an e-mail client,A LibreOffice word processing document,An `/etc/X11/xorg.conf` configuration file,"LibreOffice, like most word processors, uses a binary format that can't be properly parsed using an ASCII or Unicode text editor. Thus, `nano` won't be useful in examining such a document, making option 4 correct. The other document types described in options 1, 2, 3, and 5 are all likely or certain to be stored in ASCII or Unicode format, which `nano` can handle, making them all incorrect choices.",,,
010-160,2 5,Which keystrokes invoke the `pico` or `nano` search function? (Select all that apply.),F3,F6,Esc-S,Ctrl+F,Ctrl+W,"The F6 and Ctrl+W keystrokes both invoke the search function, so options 2 and 5 are correct. The F3 key writes the current buffer to disk, so option 1 is incorrect. The Esc-S keystroke is an obscure one; it enables or disables smooth scrolling, so option 3 is incorrect. Ctrl+F moves forward one character, so option 4 is incorrect.",,,
010-160,1,How would you remove two lines of text from a file using Vi?,In command mode position the cursor on the first line and type `2dd`.,In command mode position the cursor on the last line and type `2yy`.,In insert mode position the cursor at the start of the first line. Hold down the Shift key while pressing the Down arrow key twice and press the Delete key on the keyboard.,In insert mode position the cursor at the start of the first line and press Ctrl+K twice.,Select the text with the mouse and then select File ⇒ Delete from the menu.,"In Vi, `dd` is the command-mode command that deletes lines. Preceding this command by a number deletes that number of lines. Thus, option 1 is correct. Although `yy` works similarly, it copies (yanks) text rather than deleting it, so option 2 is incorrect. Option 3 works in many more modern text editors, but not in Vi. Option 4 works in `emacs` and similar text editors (including `pico` and `nano`), but not in Vi. Option 5, or something similar, works in many GUI text editors, but not in Vi.",,,
010-160,2,True or false: Unicode is useful for encoding most European languages but not Asian languages.,True,False,,,,"Unicode provides support for most alphabets, including the huge logographic systems used in common East Asian languages.",,,
010-160,2,True or false: GUI text editors for ASCII are superior to text-mode ASCII text editors because the GUI editors support underlining and italics and multiple fonts.,True,False,,,,"Support for underlining, italics, multiple fonts, and similar advanced formatting features is present in word processors, not plain text editors---even GUI text editors lack such support.",,,
010-160,1,True or false: Many (but not all) configuration files use a hash mark `#` to identify comment lines.,True,False,,,,"The convention of using a hash mark to identify comments is common, but not universal, in configuration files.",,,
010-160,1,After using a text editor to create a shell script what step should you take before trying to use the script by typing its name?,Set one or more executable bits using `chmod`.,Copy the script to the `/usr/bin/scripts` directory.,Compile the script by typing `bash scriptname` where `scriptname` is the script's name.,Run a virus checker on the script to be sure it contains no viruses.,Run a spell checker on the script to ensure it contains no bugs.,"Scripts, like binary programs, normally have at least one executable bit set, although they can be run in certain ways without this feature, so option 1 is correct. There is no standard `/usr/bin/scripts` directory, and scripts can reside in any directory, so option 2 is incorrect. Scripts are interpreted programs, which means they don't need to be compiled. Typing `bash scriptname` will run the script; option 3 is incorrect. Viruses are extremely rare in Linux, and because you just created the script, the only ways it could possibly contain a virus would be if your system was already infected or if you wrote it as a virus. Thus, option 4 is incorrect. Most spell-checkers are intended for English or other human languages, so they lack valid Bash commands such as `esac`. Furthermore, even if every keyword is spelled correctly, the script could contain bugs. Thus, option 5 is incorrect.",,,
010-160,3,What is the purpose of conditional expressions in shell scripts?,They prevent scripts from executing if license conditions aren't met.,They display information about the script's computer environment.,They enable the script to take different actions in response to variable data.,They enable scripts to learn in a manner reminiscent of Pavlovian conditioning.,They cause scripts to run only at specified times of day.,"Conditional expressions return a true or false response, enabling the script to execute one set of instructions or another or to terminate or continue a loop. Option 3 is another way of saying this, and so is correct. Conditional expressions need have nothing to do with license conditions (option 1), displaying information on the environment (option 2), Pavlovian conditioning (option 4), or executing the script at certain times of day (option 5). That said, conditional expressions *could* be used in service of any of these goals, but that's not their purpose.",,,
010-160,2,True or false: A user types `myscript laser.txt` to run a script called `myscript`. Within `myscript` the `$0` variable holds the value `laser.txt`.,True,False,,,,"The `\$0` variable holds the name of the script---`myscript` in this example. To access the first parameter passed to the script (`laser.txt`), the script must use the `$1` variable.",,,
010-160,1,"True or false: Valid looping statements in Bash include `for`, `while` and `until`.",True,False,,,,"You can use `for` to execute a loop a fixed number of times, whereas `while` and `until` execute until a test condition is no longer met or is met, respectively.",,,
010-160,1,What is the purpose of the system account with a UID of 0?,It's the system administration account.,It's the account for the first ordinary user.,Nothing. UID 0 is left intentionally undefined.,It varies from one distribution to another.,It's a low-privilege account that's used as a default by some servers.,"ID 0 is reserved for the system administrator's account, also known as `root`, so option 1 is correct. The first ordinary user account is not a system account, and its UID is normally 500 or 1000, depending on the distribution, so option 2 is incorrect. Because A is correct, 3 cannot be correct. The association of UID 0 for administrative tasks is very basic in Linux, so you won't find variation on this score, making option 4 incorrect. Option 5 describes the `nobody` account, which does not have a UID of 0.",,,
010-160,1 3 5,What type of information will you find in `/etc/passwd` for ordinary user accounts? (Select all that apply.),A user ID (UID) number,A complete listing of every group to which the user belongs,The path to the account's home directory,The path to the account's default GUI desktop environment,The path to the account's default text-mode shell,"The `/etc/passwd` file's fields specify the username, an encrypted password (or `x` to denote use of shadow passwords, which is more common), a UID number (option 1), a *single *default GID number, a comment field that normally holds the user's full name, the path to the account's home directory (option 3), and the path to the account's default text-mode shell (option 5). Option 2 is incorrect because, although `/etc/passwd` includes the user's *default* group, the user *may* belong to additional groups that are defined elsewhere. Option 4 is incorrect because the user's default desktop environment is defined in the user's home directory, not in `/etc/password`.",,,
010-160,1,You want to run the command `iptables -L` as `root` but you're logged in as an ordinary user. Which of the following commands will do the job assuming the system is configured to give you `root` access via the appropriate command?,`sudo iptables -L`,`root iptables -L`,`passwd iptables -L`,`su iptables -L`,`admin iptables -L`,"The `sudo` command is the usual way to execute a single command as `root`, and option 1 gives the correct syntax to use it as the question specifies. There is no standard `root` command, so option 2 is incorrect. The `passwd` command changes passwords, so option 3 is incorrect. Although you can use `su` to execute a single command as `root`, you must use it with the `-c` option to do this, as in `su -c ""iptables -L`, so option 4 is incorrect. Option 5's `admin` is a fictitious command, so this option is incorrect.",,,
010-160,2,True or false: `whoami` provides more information than `id`.,True,False,,,,"The `whoami` command displays your username only. The `id` command displays your username, your UID number, your primary group name, your primary GID number, and the group names and GID numbers of all your groups.",,,
010-160,2,True or false: Linux stores information on its groups in the `/etc/groups` file.,True,False,,,,"The name for the group data file in Linux is `/etc/group`, not `/etc/groups`.",,,
010-160,1,True or false: As a general rule you should employ extra care when running programs as `root`.,True,False,,,,"It's possible to do more damage to a computer as root than as an ordinary user. Thus, you should be extra cautious when using `root`---run only trusted programs, double-check your commands for errors, and so on.",,,
010-160,3,What would a Linux system administrator type to remove the `nemo` account and its home directory,`userdel nemo`,`userdel -f nemo`,`userdel -r nemo`,`rm /home/nemo`,`rm -r /home/nemo`,"The `userdel` command deletes an account, and the `-r` option to `userdel` causes it to delete the user's home directory and mail spool, thus satisfying the terms of the question. Option 1 deletes the account but leaves the user's home directory intact. Option 2 does the same; the `-f` option forces account deletion and file removal under some circumstances, but it's only meaningful when `-r` is also used. Option 4 command will probably have no effect, since `rm` works on directories only in conjunction with `-r`, and `/home/nemo` is probably the user's home directory. Option 5 `rm` command deletes the user's home directory (assuming it's located in the conventional place, given the username) but doesn't delete the user's account.",,,
010-160,2,"Of the following, which is the *best* password? ",`LinusTorvalds`,`uB2op%4q****************`,`123456`,`password`,`peanutbuttersandwich`,"The password in option 2 uses a combination of upper- and lowercase letters, numbers, and symbols, and it doesn't contain any obvious word. Furthermore, it's a long password. All of these characteristics make it unlikely to appear in an intruder's password dictionary and make it hard to guess. Thus, option 2 represents a good password, and the best of those shown. Option 1 is the name of a well-known celebrity (at least in the Linux world!); such a name is likely to appear in password-cracking dictionaries, and so makes a poor password choice. Option 3 is an extremely common password, which makes it a bad choice. Furthermore, it's short and it consists of just one symbol type (digits). Option 4 is another popular (and therefore very poor) password. It's a single common word in all-lowercase and it contains no numbers or other non-alphabetic symbols. Although option 5 is fairly long, it consists entirely of lowercase letters, and it's three related words, making it a poor password.",,,
010-160,1,Describe the effect of the following command assuming it completes successfully: `groupadd henry`,It creates a new group called `henry`.,It adds the user `henry` to the current default group.,It imports group information from the file called `henry`.,It changes the user's default group to `henry`.,It adds the group `henry` to the user's list of groups.,"The `groupadd` command creates a new group, as described in option 1, so that option is correct. To add a user to a group, as suggested by option 2, you would use the `usermod` utility. No standard command imports group information from a file, as option 3 suggests, so this option is incorrect. (Some network user management tools do provide such functionality, though.) To change a user's default group or list of supplemental groups, you would use `usermod`, so options 4 and 5 are both incorrect.",,,
010-160,1,True or false: User accounts have higher UID numbers than do system accounts.,True,False,,,,"System accounts have UID values between 0 and some number (normally 499 or 999), whereas user accounts have UID values above that number (starting at 500 or 1,000, typically).",,,
010-160,2,True or false: Command-line users should normally use `usermod` to change their passwords.,True,False,,,,The usual command-line command for changing passwords is `passwd`.,,,
010-160,1,True or false: After deleting an account the files formerly owned by the deleted account may remain on the computer.,True,False,,,,"Although the `userdel` command's `-r` option deletes the user's home directory and mail files, this command doesn't track down the user's files stored in more exotic locations. You can use `find` to locate such files if you want to delete them or transfer ownership to another user.",,,
010-160,4,What command would you type (as `root`) to change the ownership of `somefile.txt` from `ralph` to `tony`? ,`chown ralph:tony somefile.txt`,`chmod somefile.txt tony`,`chown somefile.txt tony`,`chown tony somefile.txt`,`chmod tony somefile.txt`,"Option 4 is the correct command. Typing `chown ralph:tony somefile.txt`, as in option 1, sets the owner of the file to `ralph` and the group to `tony`. The `chmod` command used in options 2 and 5 is used to change file permissions, not ownership. Option 3 reverses the order of the filename and the owner.",,,
010-160,3 4,Typing `ls -ld wonderjaye` reveals a symbolic file mode of `drwxr-xr-x`. Which of the following are true? (Select all that apply.) ,`wonderjaye` is a symbolic link.,`wonderjaye` is an executable program.,`wonderjaye` is a directory.,`wonderjaye` may be read by all users of the system.,`wonderjaye` may be written by any member of the file's group.,"The `d` character that leads the mode indicates that the file is actually a directory, while the `r` symbol in the `r-x` triplet at the end of the symbolic mode indicates that all users of the system have read access to the directory, so options 3 and 4 are both correct. Symbolic links are denoted by leading `l` characters, which this mode lacks, so option 1 is incorrect. Although the `x` symbols usually denote executable program files, as specified in option 2, in the case of directories this permission bit indicates that the directory's contents may be searched; executing a directory is meaningless. The only permission field set for write access is in the first triplet, which refers to the file's owner, so only that user, and not other members of the file's group, may write to the file, contrary to option 5.",,,
010-160,5,Which of the following commands can you use to change a file's group?,`groupadd`,`groupmod`,'chmod’,`ls`,`chown`,"Although the `chgrp` command is the usual one for changing a file's group, you can also use `chown` to do the job, so option 5 is correct. Option 1 `groupadd` command adds a new group to the system, so this option is incorrect. The `groupmod` command can modify details of a group definition, but it doesn't change the group associated with a file, so option 2 is incorrect. The `chmod` command changes a file's mode (that is, its permissions), but not its group association, so option 3 is incorrect. You can use `ls` to learn a file's current group (among other things), but not to change it, so option 4 is incorrect.",,,
010-160,1,"True or false: A file with permissions of 755 can be read by any user on the computer, assuming all users can read the directory in which it resides.",True,False,,,,"The octal permission of 755 corresponds to a symbolic representation of`-rwxr-xr-x`, which includes world read permissions (in the final three bits of `r-x`). Thus, anybody can read the file.",,,
010-160,2,True or false: Only `root` may use the `chmod` command.,True,False,,,,"Any user may use `chmod`; however, only a file's owner or `root` may change the permissions on a file.",,,
010-160,1,True or false: Only `root` may change a file's ownership with `chown`.,True,False,,,,"Although an ordinary user can use `chown` to change a file's group, ordinary users cannot change a file's ownership.",,,
010-160,4,What types of files are you likely to find in `/usr/lib` according to the FHS? ,Liberty files,Liberated files,Libra files,Library files,Liberal files,"The `/usr/lib` directory holds library files, as stated in option 4. These files contain code that can be used by multiple programs. Using libraries reduces the sizes of the other programs and can simplify upgrades and bug fixes. Options 1, 2, 3, and 5 are all fictitious file types.",,,
010-160,1,You want to discover the sizes of several dot files in a directory. Which of the following commands might you use to do this?,`ls -la`,`ls -p`,`ls -R`,`ls -d`,`ls -ld`,"The `-l` parameter produces a long listing, including file sizes. The `-a` parameter produces a listing of all files in a directory, including the dot files. Combining the two produces the desired information (along with information about other files), so option 1 is correct. The `-p`, `-R`, and `-d` options don't have the specified effects, so options 2, 3, 4, and 5 are all incorrect.",,,
010-160,3,When should programs be configured SUID `root`?,At all times: this permission is required for executable programs.,Whenever a program should be able to access a device file.,Only when they require `root` privileges to do their job.,Never; this permission is a severe security risk ,Whenever the program must be able to access an account's user ID (UID) number.,"The set user ID (SUID) bit enables programs to run as the program's owner rather than as the user who ran them. This makes SUID `root` programs risky, so setting the SUID bit on `root`-owned programs should be done only when it's required for the program's normal functioning, as stated in option 3. This should certainly *not* be done for all programs because the SUID bit is *not* required of all executable programs as option 1 asserts. Although the SUID `root` configuration does enable programs to access device files, the device files' permissions can be modified to give programs access to those files, if this is required, so option 2 is incorrect. Despite the similarity in acronyms, the SUID bit has nothing to do with accessing user ID (UID) data for accounts, so option 4 is incorrect. Although SUID `root` programs are a security risk, as stated in option 5, they're a necessary risk for a few programs, so option 5 goes too far.", this permission is a severe security risk.,,
010-160,1,True or false: Print spool files are stored in a subdirectory of `/var`.,True,False,,,,"The `/var` directory holds variable data files, which are quite diverse in their purpose. One of the many types of files that resides in `/var` is print spool files, as noted in the question.",,,
010-160,2,True or false: On a properly configured Linux system any user can delete any file from `/tmp`.,True,False,,,,"Normally, the sticky bit is set on `/tmp`, which prevents anybody but the directory's owner (normally `root`) or the file's owner from deleting files within it, even though the directory's world write permission bit is set.",,,
010-160,1,"True or false: If you hide a file in Linux by making it a dot file, you must change any existing references to that file in configuration files if those references are to continue working.",True,False,,,,"Dot files are created by placing a dot (`.`) as the first character in a filename. As such, converting an existing file into a dot file means that its filename has changed, and any existing references to the file must change if they're to continue working.",,,
010-160,3,"You want to set up a computer on a local network via a static TCP/IP configuration, but you lack a gateway address. Which of the following is true? ",Because the gateway address is necessary no TCP/IP networking functions will work.,TCP/IP networking will function but you'll be unable to convert hostnames to IP addresses and vice versa.,You'll be able to communicate with machines on your local network segment but not with other systems.,The computer won't be able to tell which other computers are local and which are remote.,You'll be able to use the computer as a network server system but not as a network client.,"The gateway computer is a router that transfers data between two or more network segments. As such, if a computer isn't configured to use a gateway, it won't be able to communicate beyond its local network segment, as option 3 suggests. (If your DNS server is on a different network segment, name resolution via DNS won't work, although other types of name resolution, such as `/etc/hosts` file entries, will still work.) Lack of a gateway address will not cause the symptoms described by options 1, 2, 4, or 5.",,,
010-160,2 3,Which of the following types of information are returned by typing `ifconfig eth0`? (Select all that apply.),The names of programs that are using `eth0`,The IP address assigned to `eth0`,The hardware address of `eth0`,The hostname associated with `eth0`,The gateway with which `eth0` communicates,"When used to display information on an interface, `ifconfig` shows the hardware (option 3) and IP (option 2) addresses of the interface, the protocols (such as TCP/IP) bound to the interface, and statistics on transmitted and received packets. This command does *not* return information about programs using the interface (option 1), the hostname associated with the interface (option 4), or the gateway with which it communicates (option 5).",,,
010-160,1 5,The `ping` utility responds normally when you use it with an IP address but not when you use it with a hostname that you're positive corresponds to this IP address. What might cause this problem? (Select all that apply.),The route between your computer and its DNS server may be incorrect.,The target computer may be configured to ignore packets from `ping`.,The DNS configuration on the target system may be broken.,Your computer's hostname may be set incorrectly.,Your computer's DNS configuration may be broken.,"DNS problems can manifest as an ability to connect to computers using IP addresses but not using hostnames. Thus, options 1 and 5 (and various other DNS-related problems) could create the symptoms described. If the target system were configured to ignore `ping` packets, as described in option 2, it wouldn't respond when you identified it by IP address. The target system's DNS configuration (option 3) doesn't enter into the equation, because it responds to the `ping` request via IP address alone. Your computer's local hostname configuration won't affect its ability to send or receive packets, even by hostname, so option 4 is incorrect.",,,
010-160,1,True or false: IPv4 addresses are four bytes in length.,True,False,,,,"IPv4 addresses are four bytes long, and are typically expressed as four decimal numbers separated by dots, as in 192.168.0.1.",,,
010-160,2,True or false: The `/etc/resolv.conf` file tells the computer whether to use DHCP for its network configuration.,True,False,,,,The `/etc/resolv.conf` file holds DNS server information---the IP addresses of up to three DNS servers and domain names that should be searched when the user omits them.,,,
010-160,1,True or false: You can check the current status of your routing table by typing `route` at a shell prompt.,True,False,,,,"When used without any other options, the `route` command displays the current routing table.",,,
LEVEL,ANSWER,QUESTION,1,2,3,4,5
010-160,3,Which of the following is **not** a function of the Linux kernel?,Allocating memory for use by programs,Allocating CPU time for use by programs,Creating menus in GUI programs,Controlling access to the hard disk,Enabling programs to use a network
010-160,1,Which of the following is an example of an embedded Linux OS?,Android,SUSE,CentOS,Debian,Fedora
010-160,2,Which of the following is a notable difference between Linux and Mac OS X? ,Linux can run common GNU programs whereas OS X cannot.,Linux's GUI is based on the X Window System whereas OS X's is not.,Linux cannot run on Apple Macintosh hardware whereas OS X can run only on Apple hardware.,Linux relies heavily on BSD software whereas OS X uses no BSD software.,Linux supports text-mode commands but OS X is a GUI-only OS.
010-160,2,True or false: The Linux kernel is derived from the BSD kernel.,True,False,,,
010-160,2,True or false: If you log into a Linux system in graphical mode you cannot use text-mode commands in that session.,True,False,,,
010-160,1,True or false: CentOS is a Linux distribution with a long release cycle.,True,False,,,
010-160,1,What type of multitasking does Linux use?,Preemptive,Multi-user,Co-operative,Single-tasking,Single-user
010-160,3,Which of the following is a characteristic of all open source software?,The software cannot be sold for a profit; it must be distributed free of charge.,It must be distributed with both source code and binaries.,Users are permitted to redistribute altered versions of the original software.,The software was originally written at a college or university.,The software must be written in an interpreted language that requires no compilation.
010-160,4,Which of the following programs is **most** likely to be installed and regularly used on a desktop computer that runs Linux?,Apache,Postfix,Android,Evolution,BIND
010-160,2,True or false: VMS was a common OS on x86 PCs at the time Linux was created.,True,False,,,
010-160,1,True or false: Some DVRs run Linux.,True,False,,,
010-160,1,True or false: A Linux computer being used as a server generally does not require X.,True,False,,,
010-160,3,Which of the following is **not** required in order for software to be certified as open source?,The license must not discriminate against people or groups of people.,The license must not require that the software be distributed as part of a specific product.,The license must require that changes be distributed under the same license.,The program must come with source code or the author must make it readily available on the Internet.,The license must automatically apply to anybody who acquires the software.
010-160,2,Which is true of Linux distributions as a whole? ,They're covered by the GPL or the BSD license depending on the distribution.,Sometimes they may not be copied because of non-open source software they may contain.,They may be copied only after software using the MIT license is removed.,They all completely conform to the principles of the open source movement.,They all qualify as free software as the FSF uses the term.
010-160,5,Which of the following is a key part of the FSF's philosophy?,Developers should use the latest version of the FSF's GPL.,Users should have the right to modify free software and distribute it under a commercial license.,Developers should write software only for free operating systems such as GNU/Linux.,Users should engage in civil disobedience by copying proprietary software.,Users must have the right to use software as they see fit.
010-160,1,True or false: Copyright law governs the distribution of software in most countries.,True,False,,,
010-160,1,True or false: The FSF's free software definition and the OSI's ten principles of open source software both require that users have the ability to examine a program's workings---that is its source code.,True,False,,,
010-160,2,"True or false: Because their hardware designs are proprietary, hardware vendors cannot release open source drivers for their products.",True,False,,,
010-160,2 3 5,Which of the following are Linux desktop environments? (Select all that apply.),GTK+,GNOME,KDE,Evolution,Xfce
010-160,2,If you want to enable one Linux computer to access files stored on another Linux computer's hard disk which of the following network protocols is the *best* choice?,SMTP,NFS,PHP,DNS,DHCP
010-160,3,In which of the following languages was most of the Linux kernel written?,Bash shell script,Java,C,C++,Perl
010-160,1,True or false: OpenOffice.org and LibreOffice are very similar office suites.,True,False,,,
010-160,1,True or false: Servers can be disrupted by malicious outsiders even if the computer that runs them is never broken into.,True,False,,,
010-160,1,True or false: Python is generally implemented as an interpreted language.,True,False,,,
010-160,4,Which of the following commands provides the most information about your motherboard's features?,`lscpu`,`Xorg -configure`,`fdisk -l /dev/sda`,`lspci`,`http://localhost:631`
010-160,1 4,Why might you want to partition a hard disk? (Select all that apply.),To install more than one OS on the disk,To use ext4fs rather than ReiserFS,To turn a PATA disk into an SATA disk,To separate filesystem data from swap space,To separate the disk's cache from its main data
010-160,1,Which of the following devices is *not* commonly attached via USB?,Video monitors,Keyboards,External hard disks,Printers,Scanners
010-160,1,True or false: An EM64T CPU is capable of running a Linux distribution identified as being for the AMD64 CPU.,True,False,,,
010-160,2,True or false: UDF is a good filesystem to use for a Linux installation on a hard disk.,True,False,,,
010-160,1,"True or false: The Linux kernel includes drivers for various disk controllers, network adapters and USB interfaces among other things.",True,False,,,
010-160,1,What keystroke moves the cursor to the start of the line when typing a command in Bash?,Ctrl+A,Left arrow,Ctrl+T,Up arrow,Ctrl+E
010-160,3 4,How can you run a program in the background when launching it from a shell? (Select all that apply.),Launch the program by typing `start command` where `command` is the command you want to run.,Launch the program by typing `bg command` where `command` is the command you want to run.,Append an ampersand `&` to the end of the command line.,Launch the program normally then type Ctrl+Z in the shell and then type `bg` in the shell.,Launch the program normally and type Ctrl+Z in the shell then type `fg` in the shell.
010-160,5,Which of the following commands; typed at a Bash prompt; returns you to your home directory?,`home`,`cd /home`,`cd homedir`,`homedir`,`cd ~`
010-160,2,"True or false: The Alt+F2 keystroke, typed in X, brings up a text-mode display you can use to log into Linux.",True,False,,,
010-160,2,True or false: The filename `..\upone.txt` refers to the file `upone.txt` in the parent of the current directory.,True,False,,,
010-160,2,True or false: The `-r` option to `ls` creates a recursive directory listing.,True,False,,,
010-160,1,Which of the following commands would you type to rename `newfile.txt` to `afile.txt`?,`mv newfile.txt afile.txt`,`cp newfile.txt afile.txt`,`ln newfile.txt afile.txt`,`rn newfile.txt afile.txt`,`touch newfile.txt afile.txt`
010-160,1 2,You type `mkdir one/two/three` and receive an error message that reads which reads in part `No such file or directory`. What can you do to overcome this problem? (Select all that apply.),Add the `--parents` parameter to the `mkdir` command.,Issue three separate `mkdir` commands: `mkdir one` then `mkdir one/two` and then `mkdir one/two/three`.,Type `touch /bin/mkdir` to be sure the `mkdir` program file exists.,Type `rmdir one` to clear away the interfering base of the desired new directory tree.,Type `rm -r one` to clear away the entire interfering directory tree.
010-160,1,True or false: You can create a symbolic link from one low-level filesystem to another.,True,False,,,
010-160,2,True or false: You can easily damage your Linux installation by mistyping an `rm` command when you log into your regular account.,True,False,,,
010-160,1,True or false: You can set a directory's time stamps with the `touch` command.,True,False,,,
010-160,4,Which of the following commands is an improved version of `more`?,`grep`,`html`,`cat`,`less`,`man`
010-160,4,Which of the following statements is a fair comparison of `man` pages to HOWTO documents?,`man` pages require Internet access to read; HOWTOs do not.,`man` pages are a type of printed documentation; HOWTOs are electronic.,`man` pages describe software from a user's point of view; HOWTOs are programmers' documents.,`man` pages are brief reference documents; HOWTOs are more tutorial in nature.,`man` pages use a hyperlinked format whereas HOWTOs do not.
010-160,3,A user types `whatis less`. What type of output can be expected?,A short one-paragraph description of the purpose of the `less` command,The complete path to the `less` command in the Linux filesystem,Summary information from `man` pages whose Name sections mention `less`,The complete `man` page for `less` which you would then scroll through with your terminal,The URLs for Web sites with information on the `less` command
010-160,1,"True or false: You can force `man` to display a `man` page in a specific section of the manual by preceding the search name with the section number, as in `man 5 passwd`.",True,False,,,
010-160,2,True or false: `info` pages are a Web-based documentation format.,True,False,,,
010-160,2,True or false: Linux documentation in the `/usr/share/doc` directory tree is almost always in OpenDocument Text format.,True,False,,,
010-160,5,Which of the following tools is best suited to installing a software package and all its dependencies on a Debian computer?,`yum`,`zypper`,`dmesg`,`rpm`,`apt-get`
010-160,1,What is the usual name of the first process that the Linux kernel runs aside from itself?,`init`,`bash`,`cron`,`login`,`grub`
010-160,1,Where do most log files reside on a Linux computer?,`/var/log`,`/etc/logging`,`/usr/log`,`/home/logging`,`/log/usr`
010-160,1,True or false: When using suitable commands you can normally install a program and be sure that all the software on which it depends will also be installed provided you have an Internet connection.,True,False,,,
010-160,1,True or false: By default the first process listed in `top` is currently consuming the most CPU time.,True,False,,,
010-160,1,True or false: The `dmesg` command may produce different output after a computer has been running for weeks than when it first started.,True,False,,,
010-160,1,Which of the following commands will print lines from the file `world.txt` that contain matches to `changes`and `changed`?,`grep change[ds] world.txt`,`tar change[d-s] world.txt`,"`find ""change'd|s'"" world.txt`",`cat world.txt changes changed`,`find change[^ds] world.txt`
010-160,5,Which of the following redirection operators appends a program's standard output to an existing file without overwriting that file's original contents?,`|`,`2>`,`&>`,`>`,`>>`
010-160,4,You've received a tarball called `data79.tar` from a colleague but you want to check the names of the files it contains before extracting them. Which of the following commands would you use to do this?,`tar uvf data79.tar`,`tar cvf data79.tar`,`tar xvf data79.tar`,`tar tvf data79.tar`,`tar Avf data79.tar`
010-160,1,True or false: The regular expression `Linu[^x].*lds` matches the string `Linus Torvalds`.,True,False,,,
010-160,1,True or false: The `find` command enables you to locate files based on their sizes.,True,False,,,
010-160,2,True or false: To compress files archived with `zip` you must use an external compression program such as `gzip` or `bzip2` in a pipeline with `zip`.,True,False,,,
010-160,4,Which type of file is `nano` *least* likely to be useful for examining or editing?,A `/var/log/messages` log file,An HTML Web page file,An e-mail message saved from an e-mail client,A LibreOffice word processing document,An `/etc/X11/xorg.conf` configuration file
010-160,2 5,Which keystrokes invoke the `pico` or `nano` search function? (Select all that apply.),F3,F6,Esc-S,Ctrl+F,Ctrl+W
010-160,1,How would you remove two lines of text from a file using Vi?,In command mode position the cursor on the first line and type `2dd`.,In command mode position the cursor on the last line and type `2yy`.,In insert mode position the cursor at the start of the first line. Hold down the Shift key while pressing the Down arrow key twice and press the Delete key on the keyboard.,In insert mode position the cursor at the start of the first line and press Ctrl+K twice.,Select the text with the mouse and then select File ⇒ Delete from the menu.
010-160,2,True or false: Unicode is useful for encoding most European languages but not Asian languages.,True,False,,,
010-160,2,True or false: GUI text editors for ASCII are superior to text-mode ASCII text editors because the GUI editors support underlining and italics and multiple fonts.,True,False,,,
010-160,1,True or false: Many (but not all) configuration files use a hash mark `#` to identify comment lines.,True,False,,,
010-160,1,After using a text editor to create a shell script what step should you take before trying to use the script by typing its name?,Set one or more executable bits using `chmod`.,Copy the script to the `/usr/bin/scripts` directory.,Compile the script by typing `bash scriptname` where `scriptname` is the script's name.,Run a virus checker on the script to be sure it contains no viruses.,Run a spell checker on the script to ensure it contains no bugs.
010-160,3,What is the purpose of conditional expressions in shell scripts?,They prevent scripts from executing if license conditions aren't met.,They display information about the script's computer environment.,They enable the script to take different actions in response to variable data.,They enable scripts to learn in a manner reminiscent of Pavlovian conditioning.,They cause scripts to run only at specified times of day.
010-160,2,True or false: A user types `myscript laser.txt` to run a script called `myscript`. Within `myscript` the `$0` variable holds the value `laser.txt`.,True,False,,,
010-160,1,"True or false: Valid looping statements in Bash include `for`, `while` and `until`.",True,False,,,
010-160,1,What is the purpose of the system account with a UID of 0?,It's the system administration account.,It's the account for the first ordinary user.,Nothing. UID 0 is left intentionally undefined.,It varies from one distribution to another.,It's a low-privilege account that's used as a default by some servers.
010-160,1 3 5,What type of information will you find in `/etc/passwd` for ordinary user accounts? (Select all that apply.),A user ID (UID) number,A complete listing of every group to which the user belongs,The path to the account's home directory,The path to the account's default GUI desktop environment,The path to the account's default text-mode shell
010-160,1,You want to run the command `iptables -L` as `root` but you're logged in as an ordinary user. Which of the following commands will do the job assuming the system is configured to give you `root` access via the appropriate command?,`sudo iptables -L`,`root iptables -L`,`passwd iptables -L`,`su iptables -L`,`admin iptables -L`
010-160,2,True or false: `whoami` provides more information than `id`.,True,False,,,
010-160,2,True or false: Linux stores information on its groups in the `/etc/groups` file.,True,False,,,
010-160,1,True or false: As a general rule you should employ extra care when running programs as `root`.,True,False,,,
010-160,3,What would a Linux system administrator type to remove the `nemo` account and its home directory,`userdel nemo`,`userdel -f nemo`,`userdel -r nemo`,`rm /home/nemo`,`rm -r /home/nemo`
010-160,2,"Of the following, which is the *best* password? ",`LinusTorvalds`,`uB2op%4q****************`,`123456`,`password`,`peanutbuttersandwich`
010-160,1,Describe the effect of the following command assuming it completes successfully: `groupadd henry`,It creates a new group called `henry`.,It adds the user `henry` to the current default group.,It imports group information from the file called `henry`.,It changes the user's default group to `henry`.,It adds the group `henry` to the user's list of groups.
010-160,1,True or false: User accounts have higher UID numbers than do system accounts.,True,False,,,
010-160,2,True or false: Command-line users should normally use `usermod` to change their passwords.,True,False,,,
010-160,1,True or false: After deleting an account the files formerly owned by the deleted account may remain on the computer.,True,False,,,
010-160,4,What command would you type (as `root`) to change the ownership of `somefile.txt` from `ralph` to `tony`? ,`chown ralph:tony somefile.txt`,`chmod somefile.txt tony`,`chown somefile.txt tony`,`chown tony somefile.txt`,`chmod tony somefile.txt`
010-160,1 2,Typing `ls -ld wonderjaye` reveals a symbolic file mode of `drwxr-xr-x`. Which of the following are true? (Select all that apply.) ,`wonderjaye` is a symbolic link.,`wonderjaye` is an executable program.,`wonderjaye` is a directory.,`wonderjaye` may be read by all users of the system.,`wonderjaye` may be written by any member of the file's group.
010-160,4,Which of the following commands can you use to change a file's group?,`groupmod`,`chmod`,`ls`,`chown`,
010-160,1,"True or false: A file with permissions of 755 can be read by any user on the computer, assuming all users can read the directory in which it resides.",True,False,,,
010-160,2,True or false: Only `root` may use the `chmod` command.,True,False,,,
010-160,1,True or false: Only `root` may change a file's ownership with `chown`.,True,False,,,
010-160,4,What types of files are you likely to find in `/usr/lib` according to the FHS? ,Liberty files,Liberated files,Libra files,Library files,Liberal files
010-160,1,You want to discover the sizes of several dot files in a directory. Which of the following commands might you use to do this?,`ls -la`,`ls -p`,`ls -R`,`ls -d`,`ls -ld`
010-160,3,When should programs be configured SUID `root`?,At all times; this permission is required for executable programs.,Whenever a program should be able to access a device file.,Only when they require `root` privileges to do their job.,Whenever the program must be able to access an account's user ID (UID) number.,Never; this permission is a severe security risk.
010-160,1,True or false: Print spool files are stored in a subdirectory of `/var`.,True,False,,,
010-160,2,True or false: On a properly configured Linux system any user can delete any file from `/tmp`.,True,False,,,
010-160,1,"True or false: If you hide a file in Linux by making it a dot file, you must change any existing references to that file in configuration files if those references are to continue working.",True,False,,,
010-160,3,"You want to set up a computer on a local network via a static TCP/IP configuration, but you lack a gateway address. Which of the following is true? ",Because the gateway address is necessary no TCP/IP networking functions will work.,TCP/IP networking will function but you'll be unable to convert hostnames to IP addresses and vice versa.,You'll be able to communicate with machines on your local network segment but not with other systems.,The computer won't be able to tell which other computers are local and which are remote.,You'll be able to use the computer as a network server system but not as a network client.
010-160,2 3,Which of the following types of information are returned by typing `ifconfig eth0`? (Select all that apply.),The names of programs that are using `eth0`,The IP address assigned to `eth0`,The hardware address of `eth0`,The hostname associated with `eth0`,The gateway with which `eth0` communicates
010-160,1 5,The `ping` utility responds normally when you use it with an IP address but not when you use it with a hostname that you're positive corresponds to this IP address. What might cause this problem? (Select all that apply.),The route between your computer and its DNS server may be incorrect.,The target computer may be configured to ignore packets from `ping`.,The DNS configuration on the target system may be broken.,Your computer's hostname may be set incorrectly.,Your computer's DNS configuration may be broken.
010-160,1,True or false: IPv4 addresses are four bytes in length.,True,False,,,
010-160,2,True or false: The `/etc/resolv.conf` file tells the computer whether to use DHCP for its network configuration.,True,False,,,
010-160,1,True or false: You can check the current status of your routing table by typing `route` at a shell prompt.,True,False,,,
1
LEVEL
ANSWER
QUESTION
1
2
3
4
5
EXPLICATION
2
010-160
3
Which of the following is **not** a function of the Linux kernel?
Allocating memory for use by programs
Allocating CPU time for use by programs
Creating menus in GUI programs
Controlling access to the hard disk
Enabling programs to use a network
GUI programs create menus with the help of a library that's designed for this purpose; this is not a function of the Linux kernel. Thus, option 3 is a non-kernel function, and is correct. The kernel allocates memory and CPU time, and it also controls access to disk and network hardware, so options 1, 2, 4, and 5 all describe kernel functions and are incorrect.
3
010-160
1
Which of the following is an example of an embedded Linux OS?
Android
SUSE
CentOS
Debian
Fedora
Android is used on cell phones and other small portable devices, and as such it qualifies as an embedded OS, making option 1 correct. SUSE, CentOS, Debian, and Fedora are all examples of distributions intended mainly for use on desktop, laptop, and server computers; these do not qualify as embedded OSs, so options 2, 3, 4, and 5 are all incorrect.
4
010-160
2
Which of the following is a notable difference between Linux and Mac OS X?
Linux can run common GNU programs whereas OS X cannot.
Linux's GUI is based on the X Window System whereas OS X's is not.
Linux cannot run on Apple Macintosh hardware whereas OS X can run only on Apple hardware.
Linux relies heavily on BSD software whereas OS X uses no BSD software.
Linux supports text-mode commands but OS X is a GUI-only OS.
Linux's GUI is based on the X Window System. Although OS X provides an X implementation, its primary GUI is Apple's proprietary product. Thus, option 2 is correct. Option 1 is incorrect because both Linux and OS X can run most GNU programs. Option 3 is incorrect because Linux can run on both Apple Macintosh and commodity PC hardware. Option 4 is incorrect because OS X includes many BSD utilities in its standard form. Furthermore, most Linux distributions use GNU utilities rather than their BSD equivalents, although you can use BSD utilities in Linux if you prefer. Option 5 is incorrect because both Linux and OS X support text-mode commands, although OS X makes it hard to use these commands in anything but its GUI Terminal application.
5
010-160
2
True or false: The Linux kernel is derived from the BSD kernel.
True
False
The Linux kernel was intended as a "from-scratch" project to create a new Unix-like kernel. Although there are influences and similarities, the two kernels are largely independent of each other.
6
010-160
2
True or false: If you log into a Linux system in graphical mode you cannot use text-mode commands in that session.
True
False
Programs known as **terminals** enable entry of text-mode commands once you've logged into Linux in GUI mode. You can also switch between multiple **virtual terminals** by using keystrokes such as Ctrl+Alt+F2.
7
010-160
1
True or false: CentOS is a Linux distribution with a long release cycle.
True
False
CentOS's release cycle is approximately 2 years, which is long by the standards of Linux distributions, some of which have release cycles of just 6 months.
8
010-160
1
What type of multitasking does Linux use?
Preemptive
Multi-user
Co-operative
Single-tasking
Single-user
Linux's multitasking is preemptive, meaning that the kernel can give CPU time to any process as it sees fit, potentially interrupting (or preempting) other processes. Thus, option 1 is correct. Linux is a multi-user OS, but **multi-user** is not a type of multitasking, so option 2 is incorrect. In a co-operative multitasking OS, applications must voluntarily give up CPU time to each other. Although Linux programs can signal the OS that they don't need CPU time, Linux doesn't rely exclusively on this method, so option 3 is incorrect. 1 single-tasking OS can run just one process at a time, so option 4 is incorrect. 1 single-user OS can support just one user at a time. Such OSs can be either single-tasking or multitasking, and in the latter case, could use either co-operative or preemptive multitasking. Thus, option 5 is incorrect.
9
010-160
3
Which of the following is a characteristic of all open source software?
The software cannot be sold for a profit The software cannot be sold for a profit; it must be distributed free of charge.
it must be distributed free of charge.It must be distributed with both source code and binaries.
It must be distributed with both source code and binaries.Users are permitted to redistribute altered versions of the original software.
Users are permitted to redistribute altered versions of the original software.The software was originally written at a college or university.
The software was originally written at a college or university.The software must be written in an interpreted language that requires no compilation.
The software must be written in an interpreted language that requires no compilation.
The open source definition includes ten points, one of which is that users may modify the original code and redistribute the altered version. Thus, option 3 is correct. Although as a practical matter all open source software is available at no charge, nothing in the open source definition forbids selling it. In practice, many organizations and individuals **do** sell open source software, either as a convenience (such as DVD-ROMs with Linux distributions for those with slow Internet connections) or in value-added arrangements (such as Red Hat Enterprise Linux, which bundles open source software with a support contract). Thus, option 1 is incorrect. The open source definition requires distribution of source code, but does not require distribution of binaries. Thus, option 2 is incorrect. Although some open source software, including the Linux kernel, began life in academia, this is not true of all open source software, so option 4 is incorrect. The open source definition does not specify that either an interpreted or a compiled language be used, and in fact both have been used to write open source software, so option 5 is incorrect.
10
010-160
4
Which of the following programs is **most** likely to be installed and regularly used on a desktop computer that runs Linux?
Apache
Postfix
Android
Evolution
BIND
Evolution is an e-mail reader program. Such programs are common on desktop computers, so option 4 is correct. Apache is a Web server, Postfix is an e-mail server, and the Berkeley Internet Name Domain (BIND) is a Domain Name System (DNS) server. Such servers are much less likely to be installed on desktop computers than are client programs such as Evolution, so options 1, 2, and 5 are all incorrect. Android is the name of a Linux distribution for cell phones and tablets, so option 3 is incorrect.
11
010-160
2
True or false: VMS was a common OS on x86 PCs at the time Linux was created.
True
False
VMS was an OS for minicomputers and mainframes when Linux was created. On x86 computers, DOS was the dominant OS in 1991.
12
010-160
1
True or false: Some DVRs run Linux.
True
False
Digital video recorders (DVRs) are specialized computers for recording TV shows. Some commercial DVRs, such as TiVos, run Linux natively. DVR software for standard PCs, such as MythTV, which runs under Linux, also exists.
13
010-160
1
True or false: A Linux computer being used as a server generally does not require X.
True
False
Most server programs do not require the X Window System (X) GUI, so server computer administrators often disable X or even remove it entirely to save disk space and memory and to minimize the risk of security problems.
14
010-160
3
Which of the following is **not** required in order for software to be certified as open source?
The license must not discriminate against people or groups of people.
The license must not require that the software be distributed as part of a specific product.
The license must require that changes be distributed under the same license.
The program must come with source code or the author must make it readily available on the Internet.
The license must automatically apply to anybody who acquires the software.
The open source definition specifies that users be able to distribute changes, but it doesn't require that the license require distribution under the terms of the same license. Thus, option 3 does not describe an open source requirement, and so is the correct answer. Options 1, 2, 4, and 5 all paraphrase actual open source license term requirements.
15
010-160
2
Which is true of Linux distributions as a whole?
They're covered by the GPL or the BSD license depending on the distribution.
Sometimes they may not be copied because of non-open source software they may contain.
They may be copied only after software using the MIT license is removed.
They all completely conform to the principles of the open source movement.
They all qualify as free software as the FSF uses the term.
Some distributions (particularly "Enterprise" versions that are sold for money) include software that is neither open source nor even freely redistributable, so option 2 is correct. Distributions as a whole use many licenses, not just one, so option 1 is incorrect. The MIT license is one of several open source licenses; such software is not an impediment to copying a distribution, so option 3 is incorrect. Although some distributions, such as Debian, aim to make their main systems fully open source compliant, not all do this, so option 4 is incorrect. Likewise, not all distributions are composed completely of free software as the FSF uses the term.
16
010-160
5
Which of the following is a key part of the FSF's philosophy?
Developers should use the latest version of the FSF's GPL.
Users should have the right to modify free software and distribute it under a commercial license.
Developers should write software only for free operating systems such as GNU/Linux.
Users should engage in civil disobedience by copying proprietary software.
Users must have the right to use software as they see fit.
Option 5 paraphrases one of the four key points in the FSF's philosophy, and so is correct. Contrary to option 1, the FSF's philosophy does not mandate use of the GPL, much less its most recent version, although the GPL is the FSF's preferred license. Option 2 is contrary to the FSF's position, which is that free software should remain free; however, this option is compatible with the OSI's philosophy. Although the FSF advocates free software and free OSs, option 3 is not an explicit part of their philosophy and so is incorrect. Although the FSF wants to see a world dominated by free software, they do **not** advocate software piracy, so option 4 is incorrect.
17
010-160
1
True or false: Copyright law governs the distribution of software in most countries.
True
False
Courts and laws explicitly recognize computer software as being creative works that are governed by copyright law. In some countries, patent laws also apply to software, although this is not globally true.
18
010-160
1
True or false: The FSF's free software definition and the OSI's ten principles of open source software both require that users have the ability to examine a program's workings---that is its source code.
True
False
This principle is at the heart of both the free software and the open source software definitions.
19
010-160
2
True or false: Because their hardware designs are proprietary, hardware vendors cannot release open source drivers for their products.
True
False
Hardware vendors often do release open source drivers for their products. One caveat is that the release of open source drivers necessarily renders some programming interfaces for the hardware open, which some hardware vendors are reluctant to do.
20
010-160
2 3 5
Which of the following are Linux desktop environments? (Select all that apply.)
GTK+
GNOME
KDE
Evolution
Xfce
GNOME, KDE, and Xfce are all Linux desktop environments, so options 2, 3, and 5 are all correct. (Others include LXDE and Unity.) The GIMP Tool Kit (GTK+) is a GUI programming library. Although GNOME and Xfce are both built atop GTK+, it's not a desktop environment, so option 1 is incorrect. Evolution is a Linux e-mail client, not a desktop environment, so option 4 is incorrect.
21
010-160
2
If you want to enable one Linux computer to access files stored on another Linux computer's hard disk which of the following network protocols is the *best* choice?
SMTP
NFS
PHP
DNS
DHCP
The Network File System (NFS) was designed for exactly the task described in the question (although for Unix generally, not just Linux), so option 2 is correct. The Simple Mail Transfer Protocol (SMTP) is a protocol that enables one computer to send e-mail messages to another computer, so it's a poor choice for achieving the stated goal, and option 1 is incorrect. The PHP: Hypertext Processor (PHP) language is used to generate dynamic content for Web pages, so option 3 is incorrect. The Domain Name System (DNS) is a protocol for delivering the mappings between hostnames and IP addresses to computers, so it won't easily achieve the stated goals, making option 4 incorrect. The Dynamic Host Configuration Protocol (DHCP) enables one computer to provide network configuration information to another one over a network link, so option 5 is incorrect.
22
010-160
3
In which of the following languages was most of the Linux kernel written?
Bash shell script
Java
C
C++
Perl
The main language for the Linux kernel is C, so option 3 is correct. Although Bash shell scripts control much of the Linux startup process, these scripts are not part of the kernel, so option 1 is incorrect. Java is a popular language for Web-based applications, but it's not used in the Linux kernel, so option 2 is incorrect. C++ is a derivative of C that adds object-oriented features to the language, but the Linux kernel uses regular C, not C++, so option 4 is incorrect. Perl is a popular interpreted language, particularly for tasks that involve processing text, but it's not the language of the Linux kernel, so option 5 is incorrect.
23
010-160
1
True or false: OpenOffice.org and LibreOffice are very similar office suites.
True
False
LibreOffice forked from OpenOffice.org in 2011. Although there are some small differences, the two are still nearly identical, and will likely remain quite similar for years.
24
010-160
1
True or false: Servers can be disrupted by malicious outsiders even if the computer that runs them is never broken into.
True
False
A denial-of-service (DoS) attack can disrupt a server's operation by directing an overwhelming quantity of bogus data at the server program, or even just the computer on which it runs. This is true even if the server is impeccably managed.
25
010-160
1
True or false: Python is generally implemented as an interpreted language.
True
False
Python, like Perl, PHP, and shell languages, is interpreted. This contrasts with C and C++, which are two common compiled languages, and with Java, which is somewhere in-between.
26
010-160
4
Which of the following commands provides the most information about your motherboard's features?
`lscpu`
`Xorg -configure`
`fdisk -l /dev/sda`
`lspci`
`http://localhost:631`
The `lspci` command displays information on PCI devices. Since many motherboard features appear to Linux as PCI devices, option 4 provides a great deal of information on your motherboard, and so is correct. Option 1 `lscpu` command provides information on the CPU, which means that it provides little direct information on the motherboard, so option 1 is incorrect. The `Xorg` program is the Linux X server, and option 2 creates a new X configuration file. This file might provide hints about video hardware on the motherboard, but option 4 provides better and more information, so option 2 is incorrect. The `fdisk` utility can partition a disk, and the command in option 3 displays information on how `/dev/sda` is partitioned. This information has nothing to do with the motherboard's features, though, so option 3 is incorrect. You can enter `http://localhost:631` in a Web browser to configure your printer, but even if you do this, you'll gain no information about your motherboard's features, so option 5 is incorrect.
27
010-160
1 4
Why might you want to partition a hard disk? (Select all that apply.)
To install more than one OS on the disk
To use ext4fs rather than ReiserFS
To turn a PATA disk into an SATA disk
To separate filesystem data from swap space
To separate the disk's cache from its main data
Disk partitioning enables you to separate data of different types into different parts of a disk. Examples of reasons to do this include installing multiple OS’s and separating filesystem data from swap space. Thus, options 1 and 4 are both correct. Filesystem choice (ext4fs vs. ReiserFS) has nothing to do with partitioning, unless you want to use one filesystem for one partition and the other on another partition, so option 2 is incorrect. The Parallel Advanced Technology Attachment (PATA) and Serial ATA (SATA) interfaces are hardware standards; you can't turn a PATA disk into an SATA disk by partitioning the disk, so option 3 is incorrect. Hard disks have caches to improve performance, but partitioning the disk does not separate the disk's cache from the bulk of the disk's data, so option 5 is incorrect.
28
010-160
1
Which of the following devices is *not* commonly attached via USB?
Video monitors
Keyboards
External hard disks
Printers
Scanners
Video monitors normally attach to the video circuitry built into a computer's motherboard or to a separate video card, so option 1 is correct. Keyboards, external hard disks, printers, and scanners all commonly connect to a computer via USB, although alternative interfaces exist for all of these devices.
29
010-160
1
True or false: An EM64T CPU is capable of running a Linux distribution identified as being for the AMD64 CPU.
True
False
Most CPU families have multiple names. *EM64T* is one name that Intel has used for its implementation of the x86-64 architecture, and AMD64 is one of AMD's names for the same architecture. Thus, the two names identify the same architecture, and an AMD64 Linux distribution will run on an EM64T CPU.
30
010-160
2
True or false: UDF is a good filesystem to use for a Linux installation on a hard disk.
True
False
The Universal Disk Format (UDF) is a filesystem that's used primarily on optical discs, not on hard disks. Using it for a Linux installation on a hard disk would be awkward or impossible. Linux-specific filesystems (ext2fs, ext3fs, ext4fs, ReiserFS, JFS, XFS, and Btrfs) are the only practical choices for Linux installations on a hard disk.
31
010-160
1
True or false: The Linux kernel includes drivers for various disk controllers, network adapters and USB interfaces among other things.
True
False
In Linux, most drivers, including those specified, are provided as part of the kernel. Some other drivers, such as those for video cards under X, printers, and scanners, exist outside the kernel, although these may also rely on kernel drivers to do their work.
32
010-160
1
What keystroke moves the cursor to the start of the line when typing a command in Bash?
Ctrl+A
Left arrow
Ctrl+T
Up arrow
Ctrl+E
The Ctrl+A keystroke moves the cursor to the start of the line when editing a command in Bash, so option A is correct. The left arrow key moves a single character to the left, Ctrl+T transposes two characters, the up arrow moves up one item in the history, and Ctrl+E moves to the end of the line.
33
010-160
3 4
How can you run a program in the background when launching it from a shell? (Select all that apply.)
Launch the program by typing `start command` where `command` is the command you want to run.
Launch the program by typing `bg command` where `command` is the command you want to run.
Append an ampersand `&` to the end of the command line.
Launch the program normally then type Ctrl+Z in the shell and then type `bg` in the shell.
Launch the program normally and type Ctrl+Z in the shell then type `fg` in the shell.
Options 3 and 4 both describe ways to run a program in the background from a shell, so options 3 and 4 are both correct. Neither `start` nor `bg` is a command that launches a program in the background. The `fg` command returns a program to the foreground, meaning that the shell will go back to sleep, which isn't what the question specified.
34
010-160
5
Which of the following commands typed at a Bash prompt returns you to your home directory?Which of the following commands; typed at a Bash prompt; returns you to your home directory?
`home`
`cd /home`
`cd homedir`
`homedir`
`cd ~`
Because the `cd` command changes the current directory and a tilde (`~`) refers to your home directory, option 5 does as the question specifies, and so is correct. Neither `home` nor `homedir` is a standard Linux or Bash command, so options 1 and 4 are both incorrect. Option 2 sets the current directory to `/home`, which is a directory that probably holds your home directory, but it is not your home directory itself, so option 2 is incorrect. Option 3 sets the current directory to the `homedir` subdirectory of the current directory, if it exists. Since this is almost certainly not your home directory, this option is incorrect.
35
010-160
2
True or false: The Alt+F2 keystroke, typed in X, brings up a text-mode display you can use to log into Linux.
True
False
When in X, Ctrl must be added to the VT-switching keystroke, so the correct keystroke should be Ctrl+Alt+F2 (or other function keys, through F6).
36
010-160
2
True or false: The filename `..\upone.txt` refers to the file `upone.txt` in the parent of the current directory.
True
False
In Linux, a slash (`/`), not a backslash (`\`), is the directory separator; a backslash "quotes" the following character, so `..\upone.txt` refers to the file `..upone.txt` in the current directory. Specifying `../upone.txt` (with a slash rather than a backslash) refers to `upone.txt` in the parent directory.
37
010-160
2
True or false: The `-r` option to `ls` creates a recursive directory listing.
True
False
You can obtain a recursive directory listing from `ls` by using either `--recursive` or `-R`, but a lowercase `-r` does not have this effect.
38
010-160
1
Which of the following commands would you type to rename `newfile.txt` to `afile.txt`?
`mv newfile.txt afile.txt`
`cp newfile.txt afile.txt`
`ln newfile.txt afile.txt`
`rn newfile.txt afile.txt`
`touch newfile.txt afile.txt`
The `mv` command moves or renames a file, so option 1 is correct. The `cp` command copies a file, so option 2 is incorrect. The `ln` command creates a link between two files, so option 3 is incorrect. Option 4 `rn` command is fictitious, so this option is incorrect. The `touch` command creates a new file or adjusts the time stamps on an existing file, so option 5 is incorrect.
39
010-160
1 2
You type `mkdir one/two/three` and receive an error message that reads which reads in part `No such file or directory`. What can you do to overcome this problem? (Select all that apply.)
Add the `--parents` parameter to the `mkdir` command.
Issue three separate `mkdir` commands: `mkdir one` then `mkdir one/two` and then `mkdir one/two/three`.
Type `touch /bin/mkdir` to be sure the `mkdir` program file exists.
Type `rmdir one` to clear away the interfering base of the desired new directory tree.
Type `rm -r one` to clear away the entire interfering directory tree.
If you try to create a directory inside a directory that doesn't exist, `mkdir` responds with a `No such file or directory` error. The `--parents` parameter tells `mkdir` to automatically create all necessary parent directories in such situations, so option 1 is correct. You can also manually do this by creating each necessary directory separately, so option 2 is also correct. (It's possible that `mkdir one` wouldn't be necessary in this example if the directory `one` already existed. No harm will come from trying to create a directory that already exists, although `mkdir` will return a `File exists` error.) Option 3 will have no useful effect; at most, it will change the time stamps on the `mkdir` program file, but if you type it as a normal user, it probably won't even do that. Options 4 and 5 are both based on the premise that you must remove directories that already exist with the names that you want to use, but this isn't true, so these options are both incorrect.
40
010-160
1
True or false: You can create a symbolic link from one low-level filesystem to another.
True
False
Symbolic links work by storing the name of the linked-to file in the symbolic link file. Linux reads this filename and transparently substitutes the linked-to file. This process works both on a single filesystem and across filesystems, so the statement is true. Hard links, by contrast, work by providing multiple directory entries that point to a single file. This method of creating a link does *not* work across low-level filesystems.
41
010-160
2
True or false: You can easily damage your Linux installation by mistyping an `rm` command when you log into your regular account.
True
False
Linux's security features prevent accidental damage when you work as an ordinary user.You must be more careful when you acquire `root` privileges to perform system maintenance, though.
42
010-160
1
True or false: You can set a directory's time stamps with the `touch` command.
True
False
The `touch` command updates a file's time stamps, and for this purpose, a directory counts as a file, so this statement is true.
43
010-160
4
Which of the following commands is an improved version of `more`?
`grep`
`html`
`cat`
`less`
`man`
The `less` program, like `more`, displays a text file a page at a time. The `less` utility also includes the ability to page backward in the text file, search its contents, and do other things that `more` can't do. Thus, option 4 is correct. The `grep` command searches a file for a specified string, so it doesn't do a task that's similar to `more`, and option 1 is incorrect. The Hypertext Markup Language (HTML) is a file format, often indicated with the filename extension `.html`, that's commonly used on the Web. As such, it's not a better version of `more`, so option 2 is incorrect. The `cat` command can concatenate two or more files, or display a single file on the screen. In the former capacity, `cat` doesn't do the task of `more`, and in the latter capacity, `cat` is less capable than `more`. Thus, option 3 is incorrect. The `man` command displays Linux manual pages. Although `man` uses `less` by default, `man` is not itself an improved version of more, so option 5 is incorrect.
44
010-160
4
Which of the following statements is a fair comparison of `man` pages to HOWTO documents?
`man` pages require Internet access to read`man` pages require Internet access to read; HOWTOs do not.
HOWTOs do not.`man` pages are a type of printed documentation; HOWTOs are electronic.
`man` pages are a type of printed documentation HOWTOs are electronic.`man` pages describe software from a user's point of view; HOWTOs are programmers' documents.
`man` pages describe software from a user's point of view`man` pages are brief reference documents; HOWTOs are more tutorial in nature.
HOWTOs are programmers' documents.`man` pages use a hyperlinked format whereas HOWTOs do not.
`man` pages are intended to give you quick information on commands, configuration files, or the like. HOWTOs are intended as introductions to packages or broad topics. Thus, option 4 is correct. Both `man` pages and HOWTOs are available on the Internet, and both can be installed on your computer, so option 1 is incorrect. Both `man` pages and HOWTOs are available electronically, and it's easy to print either type of document, so option 2 is incorrect. Some `man` pages are intended for ordinary users and others are intended for programmers. The same is true of HOWTOs, so option 3 is incorrect. `man` pages are "flat" (non-hyperlinked) documents, whereas many HOWTOs are hyperlinked, so option 5 is incorrect.
`man` pages are brief reference documents
HOWTOs are more tutorial in nature.
`man` pages use a hyperlinked format whereas HOWTOs do not.
45
010-160
3
A user types `whatis less`. What type of output can be expected?
A short one-paragraph description of the purpose of the `less` command
The complete path to the `less` command in the Linux filesystem
Summary information from `man` pages whose Name sections mention `less`
The complete `man` page for `less` which you would then scroll through with your terminal
The URLs for Web sites with information on the `less` command
The `whatis` command searches a database that contains `man` page Name sections for matches on the specified keyword and returns the names of the commands whose `man` pages include that keyword. Thus, option 3 is correct. Options 1, 4, and 5 are essentially fictitious descriptions. Option 2 describes the output of the `which` command.
46
010-160
1
True or false: You can force `man` to display a `man` page in a specific section of the manual by preceding the search name with the section number, as in `man 5 passwd`.
True
False
When you want to override `man`'s search order, you specify the desired manual section between `man` and the command name, filename, or other name on which you're searching.
47
010-160
2
True or false: `info` pages are a Web-based documentation format.
True
False
Although `info` pages, like Web pages, use hyperlinks to tie related documents together, the two systems use different formats and protocols. `info` pages also reside on the computer's hard disk; they require no Internet access to read. For these reasons, `info` pages are *not* Web-based.
48
010-160
2
True or false: Linux documentation in the `/usr/share/doc` directory tree is almost always in OpenDocument Text format.
True
False
Individual program authors decide on documentation file format based on their own idiosyncratic needs and preferences. Although some documents are in OpenDocument Text format, many documents are not.
49
010-160
5
Which of the following tools is best suited to installing a software package and all its dependencies on a Debian computer?
`yum`
`zypper`
`dmesg`
`rpm`
`apt-get`
The `apt-get` utility is a network-enabled tool that can resolve dependencies and retrieve all the required packages to install a package that you specify. Debian and its derivatives all use it, so option 5 is correct. The `yum` and `zypper` programs are conceptually similar to `apt-get`, but they work on Red Hat (and its derivatives) and SUSE distributions, respectively, so options 1 and 2 are both incorrect. The `dmesg` program displays the kernel ring buffer; it has nothing to do with package management, so option 3 is incorrect. The `rpm` program is a non-network-enabled program for managing packages on an RPM-based system, not on a Debian system, so option 4 is incorrect.
50
010-160
1
What is the usual name of the first process that the Linux kernel runs aside from itself?
`init`
`bash`
`cron`
`login`
`grub`
Typically, Linux starts `init` as the first process, so option 1 is correct. `bash` is a Linux text-mode shell program. Although it's important for user interaction, it's far from the first process Linux starts. The `cron` daemon manages timed execution of programs to handle routine maintenance tasks. It's started automatically in the boot process, but it's not the first process the kernel starts, so option 3 is incorrect. Although the `login` process is critical to logging in users in text mode, it's started by `init` or by another process, so option 4 is incorrect. The GRand Unified Bootloader (GRUB) boots the computer, so parts of GRUB run **before** the kernel. Several Linux programs help manage a GRUB installation, but the kernel doesn't start any of them automatically. Thus, option 5 is incorrect.
51
010-160
1
Where do most log files reside on a Linux computer?
`/var/log`
`/etc/logging`
`/usr/log`
`/home/logging`
`/log/usr`
Option 1 ,`/var/log`, is the standard home for log files in Linux. Options 2 through 5 all present fictitious locations and so are all incorrect.
52
010-160
1
True or false: When using suitable commands you can normally install a program and be sure that all the software on which it depends will also be installed provided you have an Internet connection.
True
False
Network-enabled package managers, such as APT, `yum`, `zypper`, and `urpmi`, can automatically download and install packages on which a package you want to install depends.
53
010-160
1
True or false: By default the first process listed in `top` is currently consuming the most CPU time.
True
False
The `top` program sorts a process list by CPU use, so the topmost item in the list is currently consuming the most CPU time. You can change the sort order in various ways, though.
54
010-160
1
True or false: The `dmesg` command may produce different output after a computer has been running for weeks than when it first started.
True
False
Like on-disk log files, the kernel ring buffer (which `dmesg` displays) changes as the computer runs. Thus, its contents immediately after booting are not likely to be the same as its contents after the computer has been running for weeks.
55
010-160
1
Which of the following commands will print lines from the file `world.txt` that contain matches to `changes`and `changed`?
`grep change[ds] world.txt`
`tar change[d-s] world.txt`
`find "change'd|s'" world.txt`
`cat world.txt changes changed`
`find change[^ds] world.txt`
The `grep` utility finds matching text within a file and prints those lines. It accepts regular expressions, which means you can place in brackets the two characters that differ in the words for which you're looking. Option 1 shows the correct syntax for doing this. The `tar` utility creates or manipulates archive files, and option 2's syntax is incorrect for any use of `tar`, so that option is incorrect. The `find` utility locates files based on filenames, file sizes, and other surface features. Furthermore, options 3 and 5 both present incorrect syntax for `find`, and so are incorrect. Option 4's `cat` utility displays or concatenates files, so it won't have the desired effect and this option is wrong.
56
010-160
5
Which of the following redirection operators appends a program's standard output to an existing file without overwriting that file's original contents?
`|`
`2>`
`&>`
`>`
`>>`
The `>>` operator appends standard output to a file, so option 5 is correct. The vertical bar (`|`) is the pipe character; it ties one program's standard output to another's standard input, so option 1 is incorrect. The `2>` operator redirects standard error, not standard output, and it overwrites the target file. Thus, option 2 is incorrect. The `&>` operator redirects both standard output **and** standard error, and it overwrites the target file, so option 3 is incorrect. The `>` operator redirects standard output, but it overwrites the target file, so option 4 is incorrect.
57
010-160
4
You've received a tarball called `data79.tar` from a colleague but you want to check the names of the files it contains before extracting them. Which of the following commands would you use to do this?
`tar uvf data79.tar`
`tar cvf data79.tar`
`tar xvf data79.tar`
`tar tvf data79.tar`
`tar Avf data79.tar`
With the `tar` utility, the `--list` command is used to read the archive and display its contents. The `--verbose` (`v`) option creates a verbose file listing, and `--file` specifies the filename---`data79.tar` in this case. Option 4 uses all of these features, and therefore does as the question specifies. Options 1, 2, 3, and 5 all substitute other commands for `--list`, which is required by the question, so all of these options are incorrect.
58
010-160
1
True or false: The regular expression `Linu[^x].*lds` matches the string `Linus Torvalds`.
True
False
The special characters `[^x]` match any single character **except** `x`, and `.\*` matches any sequence of any characters. The string `Linus Torvalds` is just one of many strings to match the specified regular expression.
59
010-160
1
True or false: The `find` command enables you to locate files based on their sizes.
True
False
You can use the `-size` option to `find` to locate files based on their sizes.
60
010-160
2
True or false: To compress files archived with `zip` you must use an external compression program such as `gzip` or `bzip2` in a pipeline with `zip`.
True
False
The `zip` utility creates or manipulates zip archive files. This file type supports compression directly, as does the `zip` program. Thus, there's no need to involve another compression program to compress files archived with `zip`.
61
010-160
4
Which type of file is `nano` *least* likely to be useful for examining or editing?
A `/var/log/messages` log file
An HTML Web page file
An e-mail message saved from an e-mail client
A LibreOffice word processing document
An `/etc/X11/xorg.conf` configuration file
LibreOffice, like most word processors, uses a binary format that can't be properly parsed using an ASCII or Unicode text editor. Thus, `nano` won't be useful in examining such a document, making option 4 correct. The other document types described in options 1, 2, 3, and 5 are all likely or certain to be stored in ASCII or Unicode format, which `nano` can handle, making them all incorrect choices.
62
010-160
2 5
Which keystrokes invoke the `pico` or `nano` search function? (Select all that apply.)
F3
F6
Esc-S
Ctrl+F
Ctrl+W
The F6 and Ctrl+W keystrokes both invoke the search function, so options 2 and 5 are correct. The F3 key writes the current buffer to disk, so option 1 is incorrect. The Esc-S keystroke is an obscure one; it enables or disables smooth scrolling, so option 3 is incorrect. Ctrl+F moves forward one character, so option 4 is incorrect.
63
010-160
1
How would you remove two lines of text from a file using Vi?
In command mode position the cursor on the first line and type `2dd`.
In command mode position the cursor on the last line and type `2yy`.
In insert mode position the cursor at the start of the first line. Hold down the Shift key while pressing the Down arrow key twice and press the Delete key on the keyboard.
In insert mode position the cursor at the start of the first line and press Ctrl+K twice.
Select the text with the mouse and then select File ⇒ Delete from the menu.
In Vi, `dd` is the command-mode command that deletes lines. Preceding this command by a number deletes that number of lines. Thus, option 1 is correct. Although `yy` works similarly, it copies (yanks) text rather than deleting it, so option 2 is incorrect. Option 3 works in many more modern text editors, but not in Vi. Option 4 works in `emacs` and similar text editors (including `pico` and `nano`), but not in Vi. Option 5, or something similar, works in many GUI text editors, but not in Vi.
64
010-160
2
True or false: Unicode is useful for encoding most European languages but not Asian languages.
True
False
Unicode provides support for most alphabets, including the huge logographic systems used in common East Asian languages.
65
010-160
2
True or false: GUI text editors for ASCII are superior to text-mode ASCII text editors because the GUI editors support underlining and italics and multiple fonts.
True
False
Support for underlining, italics, multiple fonts, and similar advanced formatting features is present in word processors, not plain text editors---even GUI text editors lack such support.
66
010-160
1
True or false: Many (but not all) configuration files use a hash mark `#` to identify comment lines.
True
False
The convention of using a hash mark to identify comments is common, but not universal, in configuration files.
67
010-160
1
After using a text editor to create a shell script what step should you take before trying to use the script by typing its name?
Set one or more executable bits using `chmod`.
Copy the script to the `/usr/bin/scripts` directory.
Compile the script by typing `bash scriptname` where `scriptname` is the script's name.
Run a virus checker on the script to be sure it contains no viruses.
Run a spell checker on the script to ensure it contains no bugs.
Scripts, like binary programs, normally have at least one executable bit set, although they can be run in certain ways without this feature, so option 1 is correct. There is no standard `/usr/bin/scripts` directory, and scripts can reside in any directory, so option 2 is incorrect. Scripts are interpreted programs, which means they don't need to be compiled. Typing `bash scriptname` will run the script; option 3 is incorrect. Viruses are extremely rare in Linux, and because you just created the script, the only ways it could possibly contain a virus would be if your system was already infected or if you wrote it as a virus. Thus, option 4 is incorrect. Most spell-checkers are intended for English or other human languages, so they lack valid Bash commands such as `esac`. Furthermore, even if every keyword is spelled correctly, the script could contain bugs. Thus, option 5 is incorrect.
68
010-160
3
What is the purpose of conditional expressions in shell scripts?
They prevent scripts from executing if license conditions aren't met.
They display information about the script's computer environment.
They enable the script to take different actions in response to variable data.
They enable scripts to learn in a manner reminiscent of Pavlovian conditioning.
They cause scripts to run only at specified times of day.
Conditional expressions return a true or false response, enabling the script to execute one set of instructions or another or to terminate or continue a loop. Option 3 is another way of saying this, and so is correct. Conditional expressions need have nothing to do with license conditions (option 1), displaying information on the environment (option 2), Pavlovian conditioning (option 4), or executing the script at certain times of day (option 5). That said, conditional expressions *could* be used in service of any of these goals, but that's not their purpose.
69
010-160
2
True or false: A user types `myscript laser.txt` to run a script called `myscript`. Within `myscript` the `$0` variable holds the value `laser.txt`.
True
False
The `\$0` variable holds the name of the script---`myscript` in this example. To access the first parameter passed to the script (`laser.txt`), the script must use the `$1` variable.
70
010-160
1
True or false: Valid looping statements in Bash include `for`, `while` and `until`.
True
False
You can use `for` to execute a loop a fixed number of times, whereas `while` and `until` execute until a test condition is no longer met or is met, respectively.
71
010-160
1
What is the purpose of the system account with a UID of 0?
It's the system administration account.
It's the account for the first ordinary user.
Nothing. UID 0 is left intentionally undefined.
It varies from one distribution to another.
It's a low-privilege account that's used as a default by some servers.
ID 0 is reserved for the system administrator's account, also known as `root`, so option 1 is correct. The first ordinary user account is not a system account, and its UID is normally 500 or 1000, depending on the distribution, so option 2 is incorrect. Because A is correct, 3 cannot be correct. The association of UID 0 for administrative tasks is very basic in Linux, so you won't find variation on this score, making option 4 incorrect. Option 5 describes the `nobody` account, which does not have a UID of 0.
72
010-160
1 3 5
What type of information will you find in `/etc/passwd` for ordinary user accounts? (Select all that apply.)
A user ID (UID) number
A complete listing of every group to which the user belongs
The path to the account's home directory
The path to the account's default GUI desktop environment
The path to the account's default text-mode shell
The `/etc/passwd` file's fields specify the username, an encrypted password (or `x` to denote use of shadow passwords, which is more common), a UID number (option 1), a *single *default GID number, a comment field that normally holds the user's full name, the path to the account's home directory (option 3), and the path to the account's default text-mode shell (option 5). Option 2 is incorrect because, although `/etc/passwd` includes the user's *default* group, the user *may* belong to additional groups that are defined elsewhere. Option 4 is incorrect because the user's default desktop environment is defined in the user's home directory, not in `/etc/password`.
73
010-160
1
You want to run the command `iptables -L` as `root` but you're logged in as an ordinary user. Which of the following commands will do the job assuming the system is configured to give you `root` access via the appropriate command?
`sudo iptables -L`
`root iptables -L`
`passwd iptables -L`
`su iptables -L`
`admin iptables -L`
The `sudo` command is the usual way to execute a single command as `root`, and option 1 gives the correct syntax to use it as the question specifies. There is no standard `root` command, so option 2 is incorrect. The `passwd` command changes passwords, so option 3 is incorrect. Although you can use `su` to execute a single command as `root`, you must use it with the `-c` option to do this, as in `su -c "iptables -L`, so option 4 is incorrect. Option 5's `admin` is a fictitious command, so this option is incorrect.
74
010-160
2
True or false: `whoami` provides more information than `id`.
True
False
The `whoami` command displays your username only. The `id` command displays your username, your UID number, your primary group name, your primary GID number, and the group names and GID numbers of all your groups.
75
010-160
2
True or false: Linux stores information on its groups in the `/etc/groups` file.
True
False
The name for the group data file in Linux is `/etc/group`, not `/etc/groups`.
76
010-160
1
True or false: As a general rule you should employ extra care when running programs as `root`.
True
False
It's possible to do more damage to a computer as root than as an ordinary user. Thus, you should be extra cautious when using `root`---run only trusted programs, double-check your commands for errors, and so on.
77
010-160
3
What would a Linux system administrator type to remove the `nemo` account and its home directory
`userdel nemo`
`userdel -f nemo`
`userdel -r nemo`
`rm /home/nemo`
`rm -r /home/nemo`
The `userdel` command deletes an account, and the `-r` option to `userdel` causes it to delete the user's home directory and mail spool, thus satisfying the terms of the question. Option 1 deletes the account but leaves the user's home directory intact. Option 2 does the same; the `-f` option forces account deletion and file removal under some circumstances, but it's only meaningful when `-r` is also used. Option 4 command will probably have no effect, since `rm` works on directories only in conjunction with `-r`, and `/home/nemo` is probably the user's home directory. Option 5 `rm` command deletes the user's home directory (assuming it's located in the conventional place, given the username) but doesn't delete the user's account.
78
010-160
2
Of the following, which is the *best* password?
`LinusTorvalds`
`uB2op%4q****************`
`123456`
`password`
`peanutbuttersandwich`
The password in option 2 uses a combination of upper- and lowercase letters, numbers, and symbols, and it doesn't contain any obvious word. Furthermore, it's a long password. All of these characteristics make it unlikely to appear in an intruder's password dictionary and make it hard to guess. Thus, option 2 represents a good password, and the best of those shown. Option 1 is the name of a well-known celebrity (at least in the Linux world!); such a name is likely to appear in password-cracking dictionaries, and so makes a poor password choice. Option 3 is an extremely common password, which makes it a bad choice. Furthermore, it's short and it consists of just one symbol type (digits). Option 4 is another popular (and therefore very poor) password. It's a single common word in all-lowercase and it contains no numbers or other non-alphabetic symbols. Although option 5 is fairly long, it consists entirely of lowercase letters, and it's three related words, making it a poor password.
79
010-160
1
Describe the effect of the following command assuming it completes successfully: `groupadd henry`
It creates a new group called `henry`.
It adds the user `henry` to the current default group.
It imports group information from the file called `henry`.
It changes the user's default group to `henry`.
It adds the group `henry` to the user's list of groups.
The `groupadd` command creates a new group, as described in option 1, so that option is correct. To add a user to a group, as suggested by option 2, you would use the `usermod` utility. No standard command imports group information from a file, as option 3 suggests, so this option is incorrect. (Some network user management tools do provide such functionality, though.) To change a user's default group or list of supplemental groups, you would use `usermod`, so options 4 and 5 are both incorrect.
80
010-160
1
True or false: User accounts have higher UID numbers than do system accounts.
True
False
System accounts have UID values between 0 and some number (normally 499 or 999), whereas user accounts have UID values above that number (starting at 500 or 1,000, typically).
81
010-160
2
True or false: Command-line users should normally use `usermod` to change their passwords.
True
False
The usual command-line command for changing passwords is `passwd`.
82
010-160
1
True or false: After deleting an account the files formerly owned by the deleted account may remain on the computer.
True
False
Although the `userdel` command's `-r` option deletes the user's home directory and mail files, this command doesn't track down the user's files stored in more exotic locations. You can use `find` to locate such files if you want to delete them or transfer ownership to another user.
83
010-160
4
What command would you type (as `root`) to change the ownership of `somefile.txt` from `ralph` to `tony`?
`chown ralph:tony somefile.txt`
`chmod somefile.txt tony`
`chown somefile.txt tony`
`chown tony somefile.txt`
`chmod tony somefile.txt`
Option 4 is the correct command. Typing `chown ralph:tony somefile.txt`, as in option 1, sets the owner of the file to `ralph` and the group to `tony`. The `chmod` command used in options 2 and 5 is used to change file permissions, not ownership. Option 3 reverses the order of the filename and the owner.
84
010-160
3 41 2
Typing `ls -ld wonderjaye` reveals a symbolic file mode of `drwxr-xr-x`. Which of the following are true? (Select all that apply.)
`wonderjaye` is a symbolic link.
`wonderjaye` is an executable program.
`wonderjaye` is a directory.
`wonderjaye` may be read by all users of the system.
`wonderjaye` may be written by any member of the file's group.
The `d` character that leads the mode indicates that the file is actually a directory, while the `r` symbol in the `r-x` triplet at the end of the symbolic mode indicates that all users of the system have read access to the directory, so options 3 and 4 are both correct. Symbolic links are denoted by leading `l` characters, which this mode lacks, so option 1 is incorrect. Although the `x` symbols usually denote executable program files, as specified in option 2, in the case of directories this permission bit indicates that the directory's contents may be searched; executing a directory is meaningless. The only permission field set for write access is in the first triplet, which refers to the file's owner, so only that user, and not other members of the file's group, may write to the file, contrary to option 5.
85
010-160
54
Which of the following commands can you use to change a file's group?
`groupadd``groupmod`
`groupmod``chmod`
'chmod’`ls`
`ls``chown`
`chown`
Although the `chgrp` command is the usual one for changing a file's group, you can also use `chown` to do the job, so option 5 is correct. Option 1 `groupadd` command adds a new group to the system, so this option is incorrect. The `groupmod` command can modify details of a group definition, but it doesn't change the group associated with a file, so option 2 is incorrect. The `chmod` command changes a file's mode (that is, its permissions), but not its group association, so option 3 is incorrect. You can use `ls` to learn a file's current group (among other things), but not to change it, so option 4 is incorrect.
86
010-160
1
True or false: A file with permissions of 755 can be read by any user on the computer, assuming all users can read the directory in which it resides.
True
False
The octal permission of 755 corresponds to a symbolic representation of`-rwxr-xr-x`, which includes world read permissions (in the final three bits of `r-x`). Thus, anybody can read the file.
87
010-160
2
True or false: Only `root` may use the `chmod` command.
True
False
Any user may use `chmod`; however, only a file's owner or `root` may change the permissions on a file.
88
010-160
1
True or false: Only `root` may change a file's ownership with `chown`.
True
False
Although an ordinary user can use `chown` to change a file's group, ordinary users cannot change a file's ownership.
89
010-160
4
What types of files are you likely to find in `/usr/lib` according to the FHS?
Liberty files
Liberated files
Libra files
Library files
Liberal files
The `/usr/lib` directory holds library files, as stated in option 4. These files contain code that can be used by multiple programs. Using libraries reduces the sizes of the other programs and can simplify upgrades and bug fixes. Options 1, 2, 3, and 5 are all fictitious file types.
90
010-160
1
You want to discover the sizes of several dot files in a directory. Which of the following commands might you use to do this?
`ls -la`
`ls -p`
`ls -R`
`ls -d`
`ls -ld`
The `-l` parameter produces a long listing, including file sizes. The `-a` parameter produces a listing of all files in a directory, including the dot files. Combining the two produces the desired information (along with information about other files), so option 1 is correct. The `-p`, `-R`, and `-d` options don't have the specified effects, so options 2, 3, 4, and 5 are all incorrect.
91
010-160
3
When should programs be configured SUID `root`?
At all times : this permission is required for executable programs.At all times; this permission is required for executable programs.
Whenever a program should be able to access a device file.
Only when they require `root` privileges to do their job.
Never; this permission is a severe security risk Whenever the program must be able to access an account's user ID (UID) number.
Whenever the program must be able to access an account's user ID (UID) number.Never; this permission is a severe security risk.
The set user ID (SUID) bit enables programs to run as the program's owner rather than as the user who ran them. This makes SUID `root` programs risky, so setting the SUID bit on `root`-owned programs should be done only when it's required for the program's normal functioning, as stated in option 3. This should certainly *not* be done for all programs because the SUID bit is *not* required of all executable programs as option 1 asserts. Although the SUID `root` configuration does enable programs to access device files, the device files' permissions can be modified to give programs access to those files, if this is required, so option 2 is incorrect. Despite the similarity in acronyms, the SUID bit has nothing to do with accessing user ID (UID) data for accounts, so option 4 is incorrect. Although SUID `root` programs are a security risk, as stated in option 5, they're a necessary risk for a few programs, so option 5 goes too far.
this permission is a severe security risk.
92
010-160
1
True or false: Print spool files are stored in a subdirectory of `/var`.
True
False
The `/var` directory holds variable data files, which are quite diverse in their purpose. One of the many types of files that resides in `/var` is print spool files, as noted in the question.
93
010-160
2
True or false: On a properly configured Linux system any user can delete any file from `/tmp`.
True
False
Normally, the sticky bit is set on `/tmp`, which prevents anybody but the directory's owner (normally `root`) or the file's owner from deleting files within it, even though the directory's world write permission bit is set.
94
010-160
1
True or false: If you hide a file in Linux by making it a dot file, you must change any existing references to that file in configuration files if those references are to continue working.
True
False
Dot files are created by placing a dot (`.`) as the first character in a filename. As such, converting an existing file into a dot file means that its filename has changed, and any existing references to the file must change if they're to continue working.
95
010-160
3
You want to set up a computer on a local network via a static TCP/IP configuration, but you lack a gateway address. Which of the following is true?
Because the gateway address is necessary no TCP/IP networking functions will work.
TCP/IP networking will function but you'll be unable to convert hostnames to IP addresses and vice versa.
You'll be able to communicate with machines on your local network segment but not with other systems.
The computer won't be able to tell which other computers are local and which are remote.
You'll be able to use the computer as a network server system but not as a network client.
The gateway computer is a router that transfers data between two or more network segments. As such, if a computer isn't configured to use a gateway, it won't be able to communicate beyond its local network segment, as option 3 suggests. (If your DNS server is on a different network segment, name resolution via DNS won't work, although other types of name resolution, such as `/etc/hosts` file entries, will still work.) Lack of a gateway address will not cause the symptoms described by options 1, 2, 4, or 5.
96
010-160
2 3
Which of the following types of information are returned by typing `ifconfig eth0`? (Select all that apply.)
The names of programs that are using `eth0`
The IP address assigned to `eth0`
The hardware address of `eth0`
The hostname associated with `eth0`
The gateway with which `eth0` communicates
When used to display information on an interface, `ifconfig` shows the hardware (option 3) and IP (option 2) addresses of the interface, the protocols (such as TCP/IP) bound to the interface, and statistics on transmitted and received packets. This command does *not* return information about programs using the interface (option 1), the hostname associated with the interface (option 4), or the gateway with which it communicates (option 5).
97
010-160
1 5
The `ping` utility responds normally when you use it with an IP address but not when you use it with a hostname that you're positive corresponds to this IP address. What might cause this problem? (Select all that apply.)
The route between your computer and its DNS server may be incorrect.
The target computer may be configured to ignore packets from `ping`.
The DNS configuration on the target system may be broken.
Your computer's hostname may be set incorrectly.
Your computer's DNS configuration may be broken.
DNS problems can manifest as an ability to connect to computers using IP addresses but not using hostnames. Thus, options 1 and 5 (and various other DNS-related problems) could create the symptoms described. If the target system were configured to ignore `ping` packets, as described in option 2, it wouldn't respond when you identified it by IP address. The target system's DNS configuration (option 3) doesn't enter into the equation, because it responds to the `ping` request via IP address alone. Your computer's local hostname configuration won't affect its ability to send or receive packets, even by hostname, so option 4 is incorrect.
98
010-160
1
True or false: IPv4 addresses are four bytes in length.
True
False
IPv4 addresses are four bytes long, and are typically expressed as four decimal numbers separated by dots, as in 192.168.0.1.
99
010-160
2
True or false: The `/etc/resolv.conf` file tells the computer whether to use DHCP for its network configuration.
True
False
The `/etc/resolv.conf` file holds DNS server information---the IP addresses of up to three DNS servers and domain names that should be searched when the user omits them.
100
010-160
1
True or false: You can check the current status of your routing table by typing `route` at a shell prompt.
True
False
When used without any other options, the `route` command displays the current routing table.