First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.
Continue in the practice tool above to load more questions, 50 at a time.
Question 1The Linux Community and a Career in Open Source
A learner wants to understand how the Linux kernel itself is developed and who can contribute code to it. Which statement best describes the kernel development model?
- Only employees of the Linux Foundation may submit patches to the kernel.
- Contributions flow through subsystem maintainers and ultimately to Linus Torvalds, who releases the mainline kernel. Correct answer.
- A single company owns the kernel and must approve every patch before it is merged.
- Kernel code is closed and distributed only as compiled binaries by distributors.
Explanation
The Linux kernel uses a distributed, hierarchical development model: contributors send patches to subsystem maintainers, who forward accepted work upward, and Linus Torvalds integrates it into mainline releases. Anyone can contribute code regardless of employer, and the source is freely available under the GPLv2.
Question 2The Linux Community and a Career in Open Source
A new contributor is told to read the file that describes how to submit patches to the Linux kernel. Which file in the kernel source tree contains these instructions?
- MAINTAINERS
- CREDITS
- COPYING
- Documentation/process/submitting-patches.rst Correct answer.
Explanation
The kernel's contributor guidance lives under Documentation/process, and submitting-patches.rst explains how to format and send patches. The other files serve different purposes such as licensing or listing maintainers.
Question 3The Linux Community and a Career in Open Source
Which license is used by the Linux kernel, and what does it require of someone who distributes modified kernel code?
- The Apache License 2.0, which permits combining with proprietary code without disclosure.
- The GNU General Public License version 2, which requires distributing the corresponding source under the same terms. Correct answer.
- The MIT license, which requires attribution but no source disclosure.
- The BSD 2-Clause license, which allows redistribution in binary form only.
Explanation
The kernel is licensed under GPLv2, a copyleft license. Distributing a modified kernel obliges the distributor to make the corresponding source available under the same license.
Question 4The Linux Community and a Career in Open Source
A candidate is choosing a Linux distribution and wants one known for a strong commitment to software freedom, shipping the kernel with only free firmware by default. Which distribution best fits this description?
- Ubuntu
- Trisquel Correct answer.
- Debian
- Fedora
Explanation
Trisquel is a fully free distribution endorsed by the Free Software Foundation, excluding non-free firmware and blobs by default. Ubuntu, Fedora, and Debian may include or offer non-free components depending on configuration.
Question 5The Linux Community and a Career in Open Source
Which organization was founded in 2000 to support the Linux kernel and now hosts many open source projects while employing Linus Torvalds?
- The Free Software Foundation
- The Linux Foundation Correct answer.
- The Open Source Initiative
- The Apache Software Foundation
Explanation
The Linux Foundation supports kernel development and hosts numerous collaborative projects, and it employs Linus Torvalds. The other organizations have different missions related to free software advocacy, Apache projects, or open source licensing.
Question 6The Linux Community and a Career in Open Source
A developer wants to contribute a bug fix to the kernel and is told to use the Developer's Certificate of Origin. What does signing off on a patch with this certificate assert?
- That the contributor has the right to submit the code under the project's license. Correct answer.
- That the patch has already been tested by a subsystem maintainer.
- That the contributor is employed by the Linux Foundation.
- That the patch fixes a security vulnerability.
Explanation
The Developer's Certificate of Origin is a sign-off stating the contributor has the legal right to submit the code under the applicable open source license. It documents provenance rather than testing, employment, or severity.
Question 7The Linux Community and a Career in Open Source
Which statement accurately describes the relationship between Linux and GNU, as reflected in the common term 'GNU/Linux'?
- GNU is a Linux distribution maintained by the kernel developers.
- Linux and GNU are two competing kernels that cannot be installed together.
- GNU provides the kernel while Linux supplies the user-space tools.
- Linux provides the kernel while GNU supplies many user-space tools and libraries. Correct answer.
Explanation
In a GNU/Linux system the kernel is Linux and much of the user space, including the C library and core utilities, comes from the GNU project. The term acknowledges both components.
Question 8The Linux Community and a Career in Open Source
A community member wants to help at a Linux conference without giving a talk, by staffing the registration desk and helping attendees. Which volunteer role best fits this activity?
- Release manager
- Package maintainer
- Conference volunteer Correct answer.
- Kernel subsystem maintainer
Explanation
Staffing registration and assisting attendees is event volunteering, a common entry point into community participation. The other roles involve code ownership, release coordination, or packaging rather than event support.
Question 9The Linux Community and a Career in Open Source
Which of the following is the best example of constructive behavior when asking for help in an open source community channel?
- Sending a direct message to a maintainer demanding an immediate answer.
- Describing the problem, what you tried, and relevant error output in one clear message. Correct answer.
- Omitting details so the question stays short and easy to read.
- Posting the same question repeatedly until someone responds.
Explanation
Effective help requests include context, attempted solutions, and concrete error output so others can diagnose the issue. This respects volunteers' time and improves the chance of a useful reply.
Question 10The Linux Community and a Career in Open Source
A contributor receives critical review feedback on a patch. According to common open source community norms, what is the most appropriate response?
- Escalate to the maintainer's employer to have the reviewer removed.
- Focus on the technical issue, ask clarifying questions, and revise the patch. Correct answer.
- Treat the technical criticism as a personal attack and withdraw the patch.
- Ignore the feedback and resubmit the unchanged patch.
Explanation
Open source review focuses on the code, not the person. Responding to technical points, asking questions, and revising the patch is the expected collaborative behavior.
Question 11The Linux Community and a Career in Open Source
Which mailing list is the primary venue for Linux kernel development discussion and patch submission?
- linux-kernel (LKML) Correct answer.
- fedora-announce
- ubuntu-users
- debian-devel
Explanation
The Linux Kernel Mailing List (LKML) is the central list where kernel patches and development discussions are posted. Distribution-specific lists serve their own communities rather than upstream kernel work.
Question 12The Linux Community and a Career in Open Source
A newcomer wants to find the maintainer responsible for a specific kernel subsystem before sending a patch. Which source file should they consult?
- Makefile
- Kconfig
- MAINTAINERS Correct answer.
- README
Explanation
The MAINTAINERS file lists subsystems, their maintainers, and mailing lists. Contributors use it to route patches to the right people.
Question 13The Linux Community and a Career in Open Source
Which description best captures the difference between free software and open source software as the terms are commonly used?
- Free software forbids commercial use, while open source permits it.
- Free software and open source software are legally incompatible licenses.
- Free software emphasizes user freedoms and ethics, while open source emphasizes practical development benefits. Correct answer.
- Open source software is always distributed without source code.
Explanation
The two terms often describe the same licenses but reflect different emphases: free software stresses freedoms and ethics, while open source stresses practical and business advantages. Neither inherently forbids commercial use.
Question 14The Linux Community and a Career in Open Source
A developer wants to submit a patch to the kernel and is told to use 'git send-email'. Why is this the recommended approach?
- It automatically merges the patch into the mainline kernel.
- It encrypts the patch so only maintainers can read it.
- It compiles the kernel before sending the patch.
- It formats the patch as plain-text email that fits the mailing-list review workflow. Correct answer.
Explanation
Kernel review happens over email, so patches must be sent as inline plain text rather than attachments. git send-email produces this format and preserves the commit message and sign-off.
Question 15The Linux Community and a Career in Open Source
Which of these is a widely used free and open source desktop environment found in many Linux distributions?
- GRUB
- glibc
- systemd
- GNOME Correct answer.
Explanation
GNOME is a free desktop environment providing a graphical shell and applications. The other options are an init system, a bootloader, and the C library, respectively.
Question 16The Linux Community and a Career in Open Source
A student wants to practice contributing to open source and is advised to start with 'good first issue' labels on a project's tracker. What does this label indicate?
- The issue has already been fixed and closed.
- The issue is a security vulnerability requiring disclosure.
- The issue is considered suitable for newcomers because it is scoped and approachable. Correct answer.
- The issue is reserved for paid maintainers only.
Explanation
Projects tag approachable, well-scoped tasks as good first issues to help newcomers find a manageable starting point. The label signals suitability for beginners, not restricted access or closure.
Question 17The Linux Community and a Career in Open Source
Which statement about Linux distribution release models is accurate?
- Fixed-release distributions never receive security updates.
- Rolling-release distributions provide continuous updates, while fixed-release distributions ship periodic versions. Correct answer.
- All distributions use a rolling-release model with no version numbers.
- Rolling-release distributions cannot be used on servers.
Explanation
Rolling distributions continuously update packages, while fixed-release distributions publish versioned releases with defined support periods. Fixed releases still receive security updates during their support lifecycle.
Question 18The Linux Community and a Career in Open Source
Which of the following best describes the role of a Linux distribution's package maintainer?
- Building, patching, and tracking security updates for packages shipped in the distribution. Correct answer.
- Designing the hardware that Linux runs on.
- Managing the distribution's marketing campaigns.
- Writing the upstream kernel source code for new features.
Explanation
Distribution package maintainers adapt upstream software into packages, apply distribution-specific patches, and track updates and security fixes. They generally do not author upstream kernel features or design hardware.
Question 19The Linux Community and a Career in Open Source
A contributor's patch is rejected because it lacks a Signed-off-by line. What does this line represent in kernel contributions?
- A cryptographic signature proving the patch was compiled.
- A record of the patch's test coverage percentage.
- The contributor's certification that they have the right to submit the code under the project's license. Correct answer.
- A note that the patch has been approved by Linus Torvalds.
Explanation
Signed-off-by records the Developer's Certificate of Origin, certifying the contributor's right to submit the code. It is not a cryptographic signature, an approval by Torvalds, or a test metric.
Question 20The Linux Community and a Career in Open Source
Which statement about the Open Source Initiative (OSI) is correct?
- It maintains the Open Source Definition and approves licenses that meet it. Correct answer.
- It writes the Linux kernel source code.
- It sells commercial support for Linux distributions.
- It governs the GNU project's development.
Explanation
The OSI stewards the Open Source Definition and reviews licenses to certify they meet it. It does not write kernel code, sell support, or govern GNU.
Question 21The Linux Community and a Career in Open Source
A learner wants to gain practical Linux skills for a career in open source. Which approach best reflects the community's emphasis on learning by doing?
- Installing a distribution, experimenting, and contributing to projects while learning from feedback. Correct answer.
- Waiting until fully expert before joining any community discussion.
- Memorizing license texts as the sole preparation.
- Only reading books without ever installing or using Linux.
Explanation
Open source culture values hands-on practice, experimentation, and iterative learning through community feedback. Passive reading or waiting for expertise delays the practical experience employers and projects value.
Question 22The Linux Community and a Career in Open Source
Which of the following licenses is a copyleft license that requires derivative works to be distributed under the same terms?
- BSD 3-Clause
- MIT
- Apache License 2.0
- GNU GPL version 3 Correct answer.
Explanation
The GNU GPLv3 is a copyleft license: modified versions distributed to others must remain under the GPL. The other licenses are permissive and allow relicensing of derivative works under different terms.
Question 23The Linux Community and a Career in Open Source
A contributor notices that a patch was merged but the commit message is vague. Why does the kernel community place strong emphasis on clear commit messages?
- They document the rationale and context so future maintainers can understand and maintain the change. Correct answer.
- They are required only for cosmetic changes.
- They replace the need for code review.
- Commit messages determine whether the code compiles.
Explanation
Kernel commit messages explain why a change is needed and provide context that code alone cannot convey. This helps future maintainers understand, debug, and maintain the change over time.
Question 24The Linux Community and a Career in Open Source
Which statement best explains why the kernel community favors plain-text email patches over pull requests on a single hosting platform?
- Pull requests cannot contain code changes.
- Email patches are encrypted and therefore more secure than pull requests.
- Email patches automatically run the kernel test suite.
- Email patches avoid vendor lock-in and let any contributor participate with standard tools. Correct answer.
Explanation
The email-based workflow is decentralized and tool-agnostic, so contributors are not required to use one platform or account. The emphasis is on openness and portability rather than encryption or automation.
Question 25The Linux Community and a Career in Open Source
A developer is choosing between a distribution for a long-term production server and one for a desktop workstation. Which consideration is most relevant to the server choice?
- The default wallpaper selection.
- The number of preinstalled games.
- The availability of long-term support releases with predictable security updates. Correct answer.
- The desktop environment's visual theme.
Explanation
Production servers benefit from long-term support releases with predictable maintenance and security update cycles. Cosmetic desktop features are irrelevant to server reliability.
Question 26The Linux Community and a Career in Open Source
In the Linux kernel community, what does the abbreviation 'ACK' most commonly signal when posted as a reply to a patch on a mailing list?
- The reviewer approves of the patch but has not necessarily tested or merged it. Correct answer.
- The reviewer is requesting that the patch be resent with a different subject prefix.
- The maintainer has applied the patch to the subsystem tree and pushed it upstream.
- The reviewer has tested the patch and found a regression that must be fixed.
Explanation
An ACK (acknowledgement) is a statement of agreement with a patch, typically given by someone familiar with the affected code. It is a review signal that maintainers weigh when deciding to merge, but it does not itself apply the patch or guarantee inclusion. Testing is usually signalled with a 'Tested-by' tag rather than an ACK alone.
Question 27The Linux Community and a Career in Open Source
A newcomer wants to start contributing to an open source project but is unsure what work is welcome. Which first step best matches how open source communities typically onboard new contributors?
- Email the project's top maintainer privately with a general offer to help and wait for an assignment.
- Subscribe to every project mailing list and post a daily status update until someone responds.
- Read the project's contributor documentation and issue tracker, then pick a small, clearly scoped task such as a documented beginner-friendly issue. Correct answer.
- Rewrite a large subsystem to modern standards and submit the result as one patch for review.
Explanation
Open source projects usually publish contributor guides, coding style rules, and issue labels that mark tasks suitable for newcomers. Starting with a small, well-scoped change lets a new contributor learn the workflow, review norms, and tooling with low risk to the project. This path also produces a reviewable patch that maintainers can actually act on.
Question 28The Linux Community and a Career in Open Source
A company builds a product on a Linux distribution and wants to upstream a driver so it ships in mainline kernels. Its engineers argue that posting the driver as a single large patch is efficient. Why does the kernel community generally require such work to be split into a series of smaller, logically ordered patches?
- Because the kernel only accepts patches that touch a single file, and drivers always span multiple files.
- Because each patch in a series must be signed off by a different person, and splitting guarantees enough distinct sign-offs.
- Because the mailing list software rejects messages larger than a fixed size, so splitting is a technical necessity rather than a review preference.
- Because small patches let reviewers evaluate each change in isolation, allow bisection to pinpoint regressions, and keep the commit history understandable for future maintainers. Correct answer.
Explanation
Reviewers can only reason carefully about a limited amount of code at a time, so logically separated patches make each change independently checkable and discussable. A clean series also keeps the git history bisectable, so a future regression can be traced to one specific commit rather than an opaque bulk change. This is a long-standing review convention, not a limitation of the mailing list tooling.
Question 29Finding Your Way on a Linux System
Which directory in the Linux Filesystem Hierarchy Standard holds configuration files for the system and installed services?
- /opt
- /var
- /etc Correct answer.
- /usr/bin
Explanation
The FHS reserves /etc for host-specific configuration files, such as /etc/fstab and /etc/passwd. Executables live under /usr/bin, variable runtime data under /var, and optional add-on software under /opt.
Question 30Finding Your Way on a Linux System
A file named report.txt exists in your home directory. Which command prints the absolute path of that file?
- ls -d report.txt
- pwd report.txt
- realpath report.txt Correct answer.
- file report.txt
Explanation
realpath resolves a relative path to a canonical absolute path, so it outputs the full path beginning at /. pwd prints only the current working directory, ls -d lists the name, and file reports the content type.
Question 31Finding Your Way on a Linux System
What does the command cd - do in a shell?
- Repeats the last cd command with the same argument
- Moves to the parent of the current directory
- Switches to the previous working directory Correct answer.
- Moves to the home directory of the current user
Explanation
The special argument - tells cd to return to the directory stored in OLDPWD, which is the directory you were in before the last cd. Plain cd without arguments goes home, and cd .. goes to the parent directory.
Question 32Finding Your Way on a Linux System
Which command displays the manual page for the passwd command's file format section rather than the command itself?
- man 5 passwd Correct answer.
- man -k passwd
- info passwd
- man passwd --file
Explanation
Manual pages are organized in numbered sections; section 5 is file formats and conventions. Specifying man 5 passwd selects the /etc/passwd file-format page instead of section 1 for the passwd command.
Question 33Finding Your Way on a Linux System
Which command shows the full path of the executable that the shell would run for the name ls?
- which -a ls
- locate ls
- whereis -b ls
- type -p ls Correct answer.
Explanation
type -p returns the path that the shell's own lookup would use, respecting aliases, functions, and the current PATH. which is an external program and may disagree with the shell, while whereis and locate search broader databases.
Question 34Finding Your Way on a Linux System
What is the effect of the command find /etc -maxdepth 1 -type f -name '*.conf'?
- Searches all subdirectories of /etc recursively for .conf files
- Finds directories named *.conf one level below /etc
- Lists only regular files directly inside /etc whose names end in .conf Correct answer.
- Limits output to one matching file per directory
Explanation
-maxdepth 1 stops find from descending below the starting directory, and -type f restricts results to regular files. Combined with the name pattern, only .conf files sitting directly in /etc are printed.
Question 35Finding Your Way on a Linux System
Which environment variable determines the directories the shell searches for commands that are typed without a path?
- PATH Correct answer.
- LD_LIBRARY_PATH
- HOME
- SHELL
Explanation
PATH is a colon-separated list of directories the shell scans, in order, when resolving an unqualified command name. LD_LIBRARY_PATH affects the dynamic linker, and HOME and SHELL describe the user environment rather than command lookup.
Question 36Finding Your Way on a Linux System
Which command displays the kernel ring buffer messages that record hardware detection during boot?
- uptime
- free -h
- who
- dmesg Correct answer.
Explanation
dmesg prints the kernel ring buffer, which contains hardware probing, driver, and boot messages. uptime, free, and who report load, memory, and logged-in users respectively.
Question 37Finding Your Way on a Linux System
A script needs the directory of the script file itself, not the current working directory. Which variable provides the path used to invoke the script?
- $!
- $PWD
- $$
- $0 Correct answer.
Explanation
$0 holds the name or path by which the script was invoked, so dirname "$0" yields the script's directory. $PWD is the current working directory, $! is the last background PID, and $$ is the current shell PID.
Question 38Finding Your Way on a Linux System
You want to read a long manual page and jump directly to the section describing the -r option. Which approach works inside man's pager?
- Press n to open a numbered section list
- Press q and rerun man with -r as an argument
- Press g, then type the option name
- Type /-r and press Enter Correct answer.
Explanation
man pages are displayed through a pager such as less, where / starts a forward search for a pattern. Typing /-r moves to the next occurrence of that text, and n repeats the search.
Question 39Finding Your Way on a Linux System
Which command searches the manual page short descriptions for the keyword partition and prints matching page names?
- man -P partition
- man -w partition
- man -k partition Correct answer.
- man -a partition
Explanation
man -k, equivalent to apropos, searches the whatis database of short descriptions and lists pages whose names or summaries match the keyword. -a shows all matching pages sequentially, -w prints paths, and -P sets the pager.
Question 40Finding Your Way on a Linux System
Which command locates files on the system using a prebuilt database that must be refreshed by updatedb?
- grep -r
- stat
- locate Correct answer.
- find
Explanation
locate queries a database built by updatedb, which makes it very fast but potentially out of date. find walks the filesystem live, grep -r searches file contents, and stat reports metadata for named files.
Question 41Finding Your Way on a Linux System
What does the command grep -r --include='*.conf' Listen /etc do?
- Renames matching .conf files that contain Listen
- Searches /etc for filenames containing Listen
- Lists every .conf file in /etc regardless of content
- Searches recursively through /etc for the string Listen only in files ending in .conf Correct answer.
Explanation
-r recurses into subdirectories, --include restricts which filenames are examined, and the pattern Listen is matched against file contents. The result is content matches limited to .conf files under /etc.
Question 42Finding Your Way on a Linux System
Which command displays the absolute pathname of the current working directory, resolving any symbolic links?
- pwd -L
- ls -l .
- basename $PWD
- pwd -P Correct answer.
Explanation
pwd -P prints the physical path with symbolic links resolved, whereas the default or -L form may print a logical path containing symlink components. ls -l . lists entries, and basename strips the leading directory.
Question 43Finding Your Way on a Linux System
A user runs echo $PATH and sees /usr/local/bin:/usr/bin:/bin. Which statement is true about command resolution?
- The shell searches all three directories and runs the newest binary
- Only /usr/bin is searched because it is the system default
- Any command found in /bin takes priority over one in /usr/local/bin
- Directories are searched left to right, so a match in /usr/local/bin wins Correct answer.
Explanation
PATH entries are evaluated in order from left to right, and the first matching executable is used. A program in /usr/local/bin therefore shadows an identically named one in /usr/bin or /bin.
Question 44Finding Your Way on a Linux System
Which command displays the mount points and filesystem types currently attached to the system?
- mount Correct answer.
- lsblk -f
- df -i
- du -sh
Explanation
Running mount with no arguments prints each mounted filesystem, its device, mount point, and type. df reports space usage, du summarizes directory sizes, and lsblk lists block devices and their filesystems.
Question 45Finding Your Way on a Linux System
You need to see how much space is used and available on each mounted filesystem in human-readable units. Which command fits best?
- df -h Correct answer.
- free -h
- lsblk -h
- du -h --max-depth=1
Explanation
df -h reports filesystem capacity, used space, and available space in powers of 1024 with suffixes such as G and M. free reports memory, du measures directory sizes, and lsblk lists devices.
Question 46Finding Your Way on a Linux System
Which file traditionally lists filesystems to be mounted automatically at boot and can be read with findmnt --fstab?
- /etc/mtab
- /proc/mounts
- /etc/crypttab
- /etc/fstab Correct answer.
Explanation
/etc/fstab is the static configuration of filesystems to mount at boot or on demand. /proc/mounts and /etc/mtab reflect current mounts, and /etc/crypttab configures encrypted devices.
Question 47Finding Your Way on a Linux System
You want to find every file under /var owned by user www-data and larger than 10 MB. Which command accomplishes this?
- grep -r www-data /var --size +10M
- find /var -user www-data -size +10M Correct answer.
- find /var -owner www-data -size 10M
- ls -lR /var | grep 'www-data.*10M'
Explanation
find accepts multiple tests that are ANDed together: -user selects the owner and -size +10M selects files larger than ten mebibytes. The other forms either use invalid options or cannot test size.
Question 48Finding Your Way on a Linux System
Which command shows the manual page for a command located in a nonstandard directory that is not in MANPATH?
- man -C /opt/tool/share/man tool
- man -S /opt/tool/share/man tool
- man -M /opt/tool/share/man tool Correct answer.
- man -d /opt/tool/share/man tool
Explanation
The -M option supplies an explicit colon-separated list of manual page directories for that invocation, bypassing MANPATH. -C selects a configuration file, -S is used for section ordering, and -d enables debugging output.
Question 49Finding Your Way on a Linux System
A relative path ../docs/README starts from /home/ana/work/projects. What is the resulting absolute path?
- /home/ana/work/docs/README Correct answer.
- /home/ana/docs/README
- /home/ana/work/projects/docs/README
- /home/docs/README
Explanation
The .. component moves from projects up to work, after which docs/README is appended. The result is /home/ana/work/docs/README, since only one level is ascended.
Question 50Finding Your Way on a Linux System
Which command prints a compact, single-line summary of the current directory path stored in the shell variable PWD without invoking an external program?
- readlink -f .
- echo "$PWD" Correct answer.
- pwd -P
- ls -ld .
Explanation
$PWD is maintained by the shell as the logical current directory, and echo is typically a shell builtin, so this avoids launching an external binary. The alternatives either resolve symlinks physically or print directory metadata.