Title: Theory / Unimportant / CS / Softw / How Linux works
Tags: hasNotNewEffectReturnsMeaning computer_to_instruction fromCommandLine fromCommand some_instruction fromMath FromVariables mathToDef FromInstruction récupéré mathToSee mid1516974248815

Name: Abstraction
Definition: Ignoring most of the details.
Page: 1

Name: Layer
Definition: Classification (or grouping) of a component according to where that component sits between the user and the hardware.
Page: 2
Chapter: 1
Name2: Level

Q: -[...],
-[...],
-[...]
A: Hardware; Kernel; User processes
Page: 2
Chapter: 1
Name: The three levels of Unix

Page: 2
Chapter: 1
Name: Hardware
Disk, CPU, memory, network interface

Name: Kernel
Definition: Software residing in memory that tells the CPU what to do
Page: 2
Chapter: 1

Name: User processes
Definition: the running programs that the kernel manages
Page: 2
Chapter: 1
Name2: User space

Name: Kernel space
Definition: The area that only the kernel can access
Page: 3
Chapter: 1

Name: A bit
Definition: A 0 or a 1
Page: 3
Chapter: 1

Name: A state
Definition: A particular arrangements of bits
Page: 3
Chapter: 1
Name2: Image

The kernel is in charge of managing tasks in:
-Processes,
-Memory
-Device drivers
-System calls and support
Page: 3
Chapter: 1

Name: Process Management
Definition: The starting, pausing, resuming, and terminating of processes.
Page: 3
Chapter: 1
Context: Linux

Name: Time slice
Definition: A piece of time during which a process can execute instructions.
Page: 5
Chapter: 1
Section: 3.1

Name: Multitasking
Definition: Running multiple processes at the same time.
Page: 5
Chapter: 1
Section: 3.1

1. The CPU (the actual hardware) interrupts the current process based on an internal timer, switches into kernel mode, and hands control back to the kernel.
2. The kernel records the current state of the CPU and memory, which will be essential to resuming the process that was just interrupted.
3. The kernel performs any tasks that might have come up during the preceding time slice (such as collecting data from input and output, or I/O, operations).
4. The kernel is now ready to let another process run. The kernel analyzes the list of processes that are ready to run and chooses one.
5. The kernel prepares the memory for this new process, and then prepares the CPU.
6. The kernel tells the CPU how long the time slice for the new process will last.
7. The kernel switches the CPU into user mode and hands control of the CPU to the process.
Page: 5
Chapter: 1
Section: 3.1
Name: Context switching for one CPU

Name: Memory management unit
Definition: Manage virtual memory, and translate virtual memory access to real memory access.
Page: 5
Chapter: 1
Section: 3.1
Abbreviation: MMU

Name: Virtual memory
Definition: Each process acts as if it had an entire machine to itself.
Page: 6
Chapter: 1
Section: 3.2

Name: A page table
Definition: An implementation of a memory address map.
Page: 6
Chapter: 1
Section: 3.2
Context: OS

Q: [...].
A: An user process asks the kernel a specific tasks that it alone cannot do well or at all
Page: 7
Chapter: 1
Section: 3.4
Name: System calls
Q: -[...],
-[...],
-[...]
A: Opening, reading, and writing files; exec; fork
Name2: Syscals

Name: pseudodevices
Definition: Something which looks like devices to user processes, but they’re implemented purely in software.
Page: 8
Chapter: 1
Section: 3.4

Name: A user
Definition: An entity that can run processes and own files.
Page: 9
Chapter: 1
Section: 5

Name: userid
Definition: What identifies an user.
Page: 9
Chapter: 1
Section: 5

Name: The superuser
Definition: root.
Page: 9
Chapter: 1
Section: 5

Name: Having root access
Definition: Being able to operate as root.
Page: 9
Chapter: 1
Section: 5

Name: Group
Typ: Set of user
Page: 10
Section: 5
Chapter: 1
Context: Unix

Name: A shell
Definition: A program that runs commands.
Page: 12
Chapter: 2
Section: 1

Page: 13
Location: Invite to a normal user to type commands
Description: $
Chapter: 2
Section: 2.1
Context: shell

Page: 13
Location: After #
Description: Invite the super user to type commands
Chapter: 2
Section: 2.2
Context: shell

Page: 14
Effect: Terminates a program
Chapter: 2
Section: 2.3
Abbreviation: CTRL-C

Page: 14
Effect: Stops the current standard input entry from terminal
Chapter: 2
Section: 2.3
Abbreviation: Ctrl-D

Page: 14
Location: Keyboard
Description: standard input
Chapter: 2
Name: stdin
Section: 2.3

Page: 14
Location: The shell where the program is called
Description: Standard output
Chapter: 2
Name: stdout
Section: 2.3

Name: path
Page: 16
Chapter: 2
Section: 4
Notation: /dir/dir2/.../dir_n/file
Name2: pathname

Name: A relative path
Definition: A path not beginning by /.
Page: 16
Chapter: 2
Section: 4

Name: An absolute path
Definition: A path beginning by /.
Page: 16
Chapter: 2
Section: 4

Name: globbing
Definition: Matching simple patterns to file and directory names.
Page: 17
Chapter: 2
Section: 4.4

Name: expansion
Definition: Replacing a pattern by the names it matches.
Page: 17
Chapter: 2
Section: 4.4

Instruction: less
Page: 19
Effect: Show the content of a file, one screenful at a time
Chapter: 2
Section: 5.2

Fla: -a
Effect: also show files starting with a dot
Page: 21
Prefix: ls
Chapter: 2
Section: 7

Variable: PS1
Meaning: The prompt
Page: 21
Language: Bash
Section: 8
Chapter: 2

Name: Shell variable
Definition: A variable restricted to the shell.
Page: 22
Chapter: 2
Section: 8

Name: Environment variable
Definition: A variable shared by all processes on Unix.
Page: 22
Chapter: 2
Section: 8

Q: [...], [...]
A: vi; emacs
Page: 24
Chapter: 2
Section: 12
Name: The two de facto unix editors

1-User commands,
2-System calls,
3-Higher-level Unix programming library documentation,
4-Device interface and driver information,
5-File descriptions
6-Games
7-File formats, conventions and encodings
8-System commands and servers
Page: 26
Chapter: 2
Section: 13
Name: Manual sections

Question: What to do of long error messages
Answer: Read the first error and try to correct it
Page: 29
Chapter: 2
Section: 15.

Name: No such file or directory
Definition: Trying to access a file that doesn't exists.
Page: 29
Chapter: 2
Section: 15

Name: File exists
Definition: Trying to create an already existing file.
Page: 29
Chapter: 2
Section: 15

Name: Not a directory, Is a directory
Definition: Trying to use a directory/file as a file/directory.
Page: 29
Chapter: 2
Section: 15

Name: Not space left on device
Definition: Out of disk space.
Page: 30
Chapter: 2
Section: 15.2

Name: Permission denied
Definition: Attempt to read, write a file/dir that you're not allowed to access or execute file without execute bite.
Page: 30
Chapter: 2
Section: 15.2

Name: Operation not permitted
Definition: This usually happens when you try to kill a process that you don’t own..
Page: 30
Chapter: 2
Section: 15.2

Name: Segmentation fault
Definition: The program tried to access a part of memory that it was not allowed to touch, and the operating system killed it.
Page: 30
Chapter: 2
Section: 15.2
Abbreviation: Segfault

Name: Bus error
Definition: The program tried to access some memory in a particular way that it shouldn’t.
Page: 30
Chapter: 2
Section: 15.2

Page: 31
Location: PID column
Chapter: 2
Name: The process ID
Section: 16

Page: 31
Location: TTY column
Chapter: 2
Name: The terminal device where the process is running.
Section: 16

Page: 31
Location: STAT
Chapter: 2
Name: The process status, that is, what the process is doing and where its memory resides.
Section: 16

Page: 31
Location: TIME
Description: The amount of CPU time in minutes and seconds that the process has used so far. In other words, the total amount of time that the process has spent running instructions on the processor.
Chapter: 2
Section: 16

Page: 31
Location: Command column
Chapter: 2
Name: This one might seem obvious, but be aware that a process can change this field from its original value.
Section: 16

Page: 31
Effect: Show all processes on the system, not just the ones you own
Context: ps
Chapter: 2
Section: 16.1
Abbreviation: ax

Page: 31
Effect: Include more detailed information on processes.
Context: ps
Chapter: 2
Section: 16.1
Abbreviation: u

Page: 32
Effect: Send a TSTP signal
Chapter: 2
Section: 16.2
Abbreviation: CTRL-Z

Page: 33
Effect: Redraw the entire screen
Chapter: 2
Section: 16.2
Abbreviation: ctrl-L
Where to use it: terminal

Name: f's mode
Definition: Information regarding the type of the file
Page: 33
Chapter: 2
Section: 17
Variables: f a file
Definition2: the permisison of f

Name: f's permission
Definition: user, group and other permission
Page: 33
Chapter: 2
Section: 17
Variables: f a file

Name: f's permission for a
Definition: r means readable
Page: 34
Chapter: 2
Section: 17
Variables: f a file,
a being user, group or other
Definition2: w means that the file is writable,
Definition3: x means that the file is executable
Definition4: or x means that the file is executable and runs as its owner

Name: An executable file
Definition: A file which can be run as a program
Page: 34
Chapter: 2
Section: 17

Instruction: chmod mode files
Page: 34
Effect: Changing files' permission according to mode
Chapter: 2
Section: 17

Variable: umask
Meaning: The default mask
Page: 34
Section: 17
Chapter: 2

Name: Symbolic link
Definition: A file that point to another file
Page: 35
Chapter: 2
Section: 17.2

Name: A chained symbolic link
Definition: A symbolic link pointing to another symbolic link
Page: 36
Chapter: 2
Section: 17.2

Instruction: ln target linkname
Page: 36
Effect: Create a link to target as file linkname
Chapter: 2
Section: 17.3

Instruction: gunzip file.gz
Page: 37
Effect: Extract the content of file.gz, a gnuzipped file
Chapter: 2
Section: 18

Instruction: tar cvf archive.tar files
Page: 37
Effect: Create an archive, named archive.tar composed of files
Chapter: 2
Section: 18

Instruction: tar xvf archive.tar
Page: 37
Effect: Unpack the content of archive.tar
Chapter: 2
Section: 18.2

Instruction: tar tvf arxiv.tar
Page: 38
Effect: showthe table of content of arxiv
Chapter: 2
Section: 18.2

Instruction: p
Page: 38
Effect: Preserve permission
Context: tar x
Chapter: 2
Section: 18.2

Instruction: zcat
Page: 39
Effect: gunzip -dc
Chapter: 2
Section: 18.4

Extension: tar
Means: Archive
Other fields (not shown on cards):
Page: 37
Chapter: 2
Section: 18.4

Extension: gz
Means: gnu-zipped file
Other fields (not shown on cards):
Page: 37
Chapter: 2
Section: 18.4

Extension: tgz
Means: gnu-zipped archive
Other fields (not shown on cards):
Page: 39
Chapter: 2
Section: 18.4

Extension: bz2
Means: File compressed with bz2
Other fields (not shown on cards):
Page: 39
Chapter: 2
Section: 18.4

Extension: zip
Means: Archive compressed with window's zipping method
Other fields (not shown on cards):
Page: 39
Chapter: 2
Section: 18.4

Extension: Z
Means: compressed file used by compress program
Other fields (not shown on cards):
Page: 39
Chapter: 2
Section: 18.4

Instruction: unzip
Page: 39
Effect: Extract files from a zip archiv
Chapter: 2
Section: 18.5

Instruction: zip
Page: 39
Effect: Compress file's using standard windows method
Chapter: 2
Section: 18.5

Variable: /bin
Meaning: Contains ready-to-run programs (also known as an executables), including most of the basic Unix commands such as ls and cp . Most of the programs in /bin are in binary format, having been created by a C compiler, but some are shell scripts in modern systems.
Page: 40
Section: 19
Chapter: 2
Kind: Folder

Variable: /dev
Meaning: Contains device files.
Page: 40
Section: 19
Chapter: 2
Kind: Folder

Variable: /etc
Meaning: This core system configuration directory contains the user password, boot, device, networking, and other setup files. Many items in /etc are specific to the machine’s hardware. For example, the /etc/X11 directory contains graphics card and window system configurations.
Page: 40
Section: 19
Chapter: 2
Typ: Folder
Extra: (pronounced EHT-see)

Variable: /home
Meaning: Holds personal directories for regular users. Most Unix instal-
lations conform to this standard.
Page: 40
Section: 19
Chapter: 2
Typ: Folder

Variable: /lib
Meaning: An abbreviation for library, this directory holds library files containing code that executables can use. There are two types of libraries: static and shared. This directory should contain only shared librar-
ies, but other lib directories contain both varieties aswell as other auxiliary files
Page: 40
Section: 19
Chapter: 2
Typ: Folder

Variable: /proc
Meaning: Provides system statistics through a browsable directory-and-file interface. Much of the /proc subdirectory structure on Linux is unique, but many other Unix variants have similar features. The /proc directory contains information about currently running processes as well as some kernel parameters.
Page: 40
Section: 19
Chapter: 2
Typ: Folder

Variable: /sys
Meaning: This directory is similar to /proc in that it provides a device and
system interface.
Page: 41
Section: 19
Chapter: 2
Typ: Folder

Variable: /sbin
Meaning: The place for system executables. Programs in this directories related to system management, so regular users usually do not have this components in their command paths. Many of the utilities found here will not work if you’re not running them as root.
Page: 41
Section: 19
Chapter: 2
Typ: Folder

Variable: /tmp
Meaning: A storage area for smaller, temporary files that you don’t care much about. Any user may read to and write from this directory but the user may not have permission to access another user’s files there. Many programs use this directory as a workspace. If something is extremely important, don’t put it in this directory because most distributions clear /tmp when the machine boots and some even remove its old files periodically. Also, don’t let this directory fill up with garbage because its space is usually shared with something critical (like the rest of /, for example).
Page: 41
Section: 19
Chapter: 2
Typ: Folder

Variable: /usr
Meaning: Although pronounced “user,” this subdirectory has no user files.
Instead, it contains a large directory hierarchy, including the bulk of
the Linux system. Many of the directory names in this directory are the same as those in the root directory (like /usr/bin and /usr/lib), and they hold the same type of files. (The reason that the root directory does not contain the complete system is primarily historic—in the past, it was to keep space requirements low for the root.)
Page: 41
Section: 19
Chapter: 2
Kind: Folder

Variable: /var
Meaning: The variable subdirectory, where programs record runtime information. System logging, user tracking, caches, and other files that system programs create and manage are here. (You’ll notice a /var/tmp directory here, but the system doesn’t wipe it on boot.)
Page: 41
Section: 19
Chapter: 2
Typ: Folder

Variable: /boot
Meaning: Contains kernel boot loader files. These files pertain only to the very first stage of the Linux startup procedure; you won’t find information about how Linux starts up its services in this directory.
Page: 41
Section: 19.1
Chapter: 2
Typ: Folder

Variable: /media
Meaning: A base attachment point for removable media such as flash drives that is found in many distributions.
Page: 41
Section: 19.1
Chapter: 2
Typ: Folder

Variable: /opt
Meaning: This may contain additional third-party software. Many systems don’t use this directory
Page: 41
Section: 19.1
Chapter: 2
Typ: Folder

Variable: /usr/include
Meaning: Holds header files used by the C compiler.
Page: 41
Section: 19.2
Chapter: 2
Typ: Folder

Variable: /usr/info
Meaning: Contains GNU info manuals
Page: 41
Section: 19.2
Chapter: 2
Typ: Folder

Variable: /usr/local
Meaning: Is where administrators can install their own software. Its structure should look like that of / and /usr.
Page: 41
Section: 19.2
Chapter: 2
Typ: Folder

Variable: /usr/man
Meaning: Contains manual pages.
Page: 41
Section: 19.2
Chapter: 2
Typ: Folder

Variable: /usr/share
Meaning: Contains files that should work on other kinds of Unix machines with no loss of functionality. In the past, networks of machines would
share this directory, but a true /share directory is becoming rare because there are no space issues on modern disks. Maintaining a /share directory is often just a pain. In any case, /man, /info, and some other subdirectories are often found here.
Page: 41
Section: 19.2
Chapter: 2
Kind: Folder

Variable: /lib/modules
Meaning: contains the loadable kernel modules
Page: 41
Section: 19.2
Chapter: 2
Kind: Folder

Variable: /vmlinuz or /boot/vmlinuz
Meaning: Contains the kernel
Page: 41
Section: 19.2
Chapter: 2
Typ: Folder

Instruction: sudo command
Page: 42
Effect: runs command as the root user
Chapter: 2
Section: 20.1

Variable: /etc/sudoers
Meaning: Information about which may uses sudo
Page: 44
Section: 20.2
Chapter: 2
Typ: Folder

Instruction: visudo
Page: 44
Effect: A version of vi which checks /etc/sudoers syntax before saving
Chapter: 2
Section: 20.2

Name: A device node
Definition: A file representing a device
Page: 46
Chapter: 3
Section: 1

Variable: /dev
Meaning: contains the devices
Page: 46
Section: 1
Chapter: 3
Typ: Folder

Variable: /dev/null
Meaning: A device which accepts and ignore all data written into it
Page: 46
Section: 1
Chapter: 3
Typ: Folder

-A dash for regular,
-b for bloc device,
-c for character device,
-p for pipe device,
-s for sockets,
-d for directory,
-l for symlink,
Page: 33, 46
Chapter: 2, 3
Section: 17, 1
Name: Information about the type of file, with ls

Name: Block device
Definition: A device in which data is accessed by block of fixed chunks
Page: 46
Chapter: 3
Section: 1

Name: disk device
Definition: A block device easily split up into block of data
Page: 46
Chapter: 3
Section: 1

Name: character device
Definition: Devices on which characters can be read and/or written
Page: 46
Chapter: 3
Section: 1

Name: pipe device
Definition: Like a character device, with a process at the other hand
Page: 47
Chapter: 3
Section: 1
Name2: Named pipes

Name: Socket device
Definition: special-purpose interfaces that are frequently used for interprocess communication.
Page: 47
Chapter: 3
Section: 1

Instruction: udevadm info --query=all --name=/dev/name
Page: 47
Effect: The sysfs location of the device /dev/name
Chapter: 3
Section: 2

Variable: /sys/devices
Meaning: The devices, with name based on their hardware attribute
Page: 47
Section: 2
Chapter: 3
Typ: Folder

Instruction: dd
Page: 48
Effect: Convert and copy a file
Chapter: 3

Variable: /dev/zero
Meaning: An infinite stream of 0's
Page: 48
Section: 3
Typ: Folder

Variable: /dev/sdl
Meaning: An hard disk
Page: 50
Section: 4.1
Chapter: 3
Typ: Folder

Variable: /dev/sdln
Meaning: A partition on disk /dev/sdl
Page: 50
Section: 4.1
Chapter: 3
Typ: File

Instruction: lsscsi
Page: 50
Effect: List of the SCSI devices on the system
Chapter: 3
Section: 4.1

Name: Small Computer System Interface
Definition: A communication protocol for devices
Page: 50
Chapter: 3
Section: 4.1
Abbreviation: SCSI

-adress of the device on the system,
-what kind of device it is,
-vendor name,
-the model name,
-the revision string
-where to find the device(primary device node)
Page: 50
Chapter: 3
Section: 4.1
Name: Output of lsscsi

Variable: /dev/srl
Meaning: Read-only optical storage drives
Page: 50
Section: 4.1
Chapter: 3
Typ: File

Variable: /dev/hd*
Meaning: PATA hard disks.
Page: 51
Section: 4.1
Chapter: 3
Typ: File

Instruction: who+mode
Page: 34
Effect: Add the permission for mode to who
Context: chmod
Chapter: 2
Section: 17

Instruction: who-mode
Page: 34
Effect: remove the permission to mode from who
Context: chmod
Chapter: 2
Section: 17

Instruction: u
Page: 34
Effect: user
Context: chmod
Chapter: 2
Section: 17

Instruction: g
Page: 34
Effect: group
Context: chmod
Chapter: 2
Section: 17

Instruction: o
Page: 34
Effect: other
Context: chmod
Chapter: 2
Section: 17

Instruction: a
Page: 34
Effect: all
Context: chmod
Chapter: 2
Section: 17

Fla: -s
Effect: State that the created link is symbolic
Page: 36
Prefix: ln
Chapter: 2
Section: 17.3

Instruction: z
Page: 39
Effect: use gnuzip on the file first
Context: tar
Chapter: 2
Section: 18.4

Instruction: if=a
Page: 48
Effect: state that a is the source
Context: dd
Chapter: 3

Instruction: of=a
Page: 48
Effect: state that a is the destination
Context: dd
Chapter: 3

Instruction: bs=a
Page: 48
Effect: States to read/wite blocks of a bits at a time
Context: dd
Chapter: 3

Instruction: count=a
Page: 48
Effect: State that the number of block to copy is a
Context: dd
Chapter: 3

Instruction: k
Page: 48
Effect: 1024
Context: dd bs=...
Chapter: 3

Instruction: b
Page: 48
Effect: 512
Context: dd bs=...
Chapter: 3

Instruction: skip=a
Page: 48
Effect: Do not copy the first a blocks
Context: dd
Chapter: 3

Name: User space
Definition: The main memory that the kernel allocates for user processes.
Page: 8
Chapter: 1
Section: 4
Name2: User land

Instruction: exec(program)
Page: 7
Effect: The kernel starts program, replacing the current process.
Chapter: 1
Section: 3.4

Instruction: fork()
Page: 7
Effect: The kernel creates a nearly identical copy of the process.
Chapter: 1
Section: 3.4

Instruction: bash
Page: 12
Effect: Bourne again shell
Chapter: 2
Section: 1

Instruction: cat files
Page: man
Effect: outputs the contents of the concatenation of files
Chapter: 2
Section: 2.2

Instruction: ls
Page: 14
Effect: lists the contents of a directory
Chapter: 2
Section: 3.1

Instruction: cp
Page: 14
Effect: copies files
Chapter: 2
Section: 3.1

Instruction: mv
Page: 14
Effect: move files
Chapter: 2
Section: 3.1

Instruction: touch
Page: 15
Effect: Update the file's modification time; create it if does not already exists
Chapter: 2
Section: 3.4

Instruction: rm
Page: 16
Effect: remove files
Chapter: 2
Section: 3.5

Instruction: echo
Page: 16
Effect: print arguments to standard output
Chapter: 2
Section: 3.6

Variable: /
Meaning: The root directory
Page: 16
Section: 4
Chapter: 2
Typ: Folder

Variable: ..
Meaning: parent directory
Page: 16
Section: 4
Chapter: 2
Typ: Folder

Variable: .
Meaning: current directory
Page: 16
Section: 4
Chapter: 2
Typ: Folder

Instruction: cd dir
Page: 16
Effect: change the shell’s current working directory to dir
Chapter: 2
Section: 4.1

Variable: current working directory
Meaning: The directory that a process (such as the shell) is currently in.
Page: 16
Section: 4.1
Chapter: 2

Instruction: mkdir dir
Page: 17
Effect: creates a new directory dir
Chapter: 2
Section: 4.2

Instruction: rmdir dir
Page: 17
Effect: removes the directory dir
Chapter: 2
Section: 4.3

Instruction: *
Page: 17
Effect: Matching any string
Context: globbing
Chapter: 2
Section: 4.4

Instruction: ?
Page: 17
Effect: Matching a single character
Context: globbing
Chapter: 2
Section: 4.4

Instruction: ' ... '
Page: 17
Effect: Interpret the string litterally
Context: globbing
Chapter: 2
Section: 4.4

Instruction: grep
Page: 18
Effect: prints the lines from a file or input stream that match an expression.
Chapter: 2
Section: 5.1

Instruction: /name
Page: 19
Effect: Search forward for name
Context: less
Chapter: 2
Section: 5.2

Instruction: ?name
Page: 19
Effect: Search backward for name
Context: less
Chapter: 2
Section: 5.2

Instruction: q
Page: 19
Effect: quit
Context: less
Chapter: 2
Section: 5.2

Instruction: space bar
Page: 19
Effect: go forward in file
Context: less
Chapter: 2
Section: 5.2

Instruction: pwd
Page: 19
Effect: print working directory
Chapter: 2
Section: 5.3

Instruction: diff file1 file2
Page: 20
Effect: Show the difference between file1 and file2
Chapter: 2
Section: 5.4

Instruction: file file
Page: 20
Effect: show the format of file
Chapter: 2
Section: 5.5

Instruction: find dir -name file -print
Page: 20
Effect: print the files whose name match file in dir
Chapter: 2
Section: 5.6

Instruction: locate file
Page: 20
Effect: search for file in the index built by the system
Chapter: 2
Section: 5.6

Instruction: head file
Page: 20
Effect: show the begin of file
Chapter: 2
Section: 5.6

Instruction: tail file
Page: 21
Effect: Shows the end of file
Chapter: 2
Section: 5.8

Instruction: passwd
Page: 21
Effect: Changing one's password
Chapter: 2
Section: 6

Instruction: chsh
Page: 21
Effect: Change shell
Chapter: 2
Section: 6

Instruction: Var=Value
Page: 22
Effect: Assign the value value to Var
Context: bash
Chapter: 2
Section: 8

Instruction: $Var
Page: 22
Effect: The value assigned to Var
Context: bash
Chapter: 2
Section: 8

Instruction: export Var
Page: 22
Effect: State that Var is an environment variable
Context: Sh
Chapter: 2
Section: 8

Variable: PATH
Meaning: List of system directories that the shell searches when trying to locate a command
Page: 22
Context: shell
Section: 9
Chapter: 2

Instruction: CTRL-B
Page: 24
Effect: Move the cursor left
Chapter: 2
Section: 11
Where to use it: shell

Instruction: CTRL-F
Page: 24
Effect: Move the cursor right
Chapter: 2
Section: 11
Where to use it: shell

Instruction: CTRL-P
Page: 24
Effect: Move the cursor up/View the previous command
Chapter: 2
Section: 11
Where to use it: shell

Instruction: CTRL-N
Page: 24
Effect: Move the cursor down/View the next command
Chapter: 2
Section: 11
Where to use it: shell

Instruction: CTRL-E
Page: 24
Effect: Move the cursor to the end of line
Chapter: 2
Section: 11
Where to use it: shell

Instruction: CTRL-W
Page: 24
Effect: Erase the preceding word
Chapter: 2
Section: 11
Where to use it: shell

Instruction: CTRL-U
Page: 24
Effect: Erase from cursor to beginning of line
Chapter: 2
Section: 11
Where to use it: shell

Instruction: CTRL-K
Page: 24
Effect: Erase from cursor to end of line
Chapter: 2
Section: 11
Where to use it: shell

Instruction: CTRL-Y
Page: 24
Effect: Paste erased text
Chapter: 2
Section: 11
Where to use it: shell

Instruction: man p
Page: 25
Effect: see the manual page of p
Chapter: 2
Section: 13

Page: 25
Effect: Search manual pages for keyword
Context: man
Chapter: 2
Section: 13
Abbreviation: -k keyword

Instruction: info command
Page: 27
Effect: Shows information regarding command
Chapter: 2
Section: 13

Variable: /usr/share/doc
Meaning: Documentation of programs
Page: 27
Section: 13
Chapter: 2
Typ: Folder

Instruction: > file
Page: 27
Effect: Sends the standard output to file, erasing its previous content
Context: shell
Chapter: 2
Section: 14

Instruction: >> file
Page: 27
Effect: Sends the standard output to file, appending it to its previous content
Context: shell
Chapter: 2
Section: 14

Instruction: cmd1 | cmd2
Page: 27
Effect: Sends the standard output of cmd1 to the standard input of cmd2
Context: shell
Chapter: 2
Section: 14

Instruction: 2> file
Page: 27
Effect: Sends the error output to file
Context: shell
Chapter: 2
Section: 14.1

Instruction: (2)>& id
Page: 28
Effect: Sends the standard (error) output to the stream whose id is id
Context: shell
Chapter: 2
Section: 14.1

Instruction: <file
Page: 28
Effect: Sends file as standard input
Context: shell
Chapter: 2
Section: 14.2

Instruction: ps
Page: 31
Effect: List the running processes
Chapter: 2
Section: 16

Instruction: w
Page: 31
Effect: Show full command names, not just what fits on one line
Context: ps
Chapter: 2
Section: 16.1

Instruction: kill pid
Page: 31
Effect: kill the process whose pid is pid
Chapter: 2
Section: 16.2

Fla: -STOP
Effect: Freeze a process
Page: 31
Prefix: kill
Chapter: 2
Section: 16.2

Fla: -CONT
Effect: Restart a freezed process
Page: 32
Prefix: kill
Chapter: 2
Section: 16.2

Fla: -KILL
Effect: kill without giving a chance to clean up after itself
Page: 32
Prefix: kill
Chapter: 2
Section: 16.2

Instruction: fg
Page: 32
Effect: Bring back a stopped process
Chapter: 2
Section: 16.2

Instruction: &
Page: 32
Effect: Sends the current process to background
Context: shell
Chapter: 2
Section: 16.2

Instruction: CTRL-R
Page: 33
Effect: Redraw the current line
Chapter: 2
Section: 16.2
Where to use it: terminal

Name: f's mode
Definition: Information regarding the type of the file
Page: 33
Chapter: 2
Section: 17
Variables: f a file
Definition2: its permisison

Name: Terminals
Definition: devices for moving characters between a user process and an I/O device
Page: 51
Chapter: 3
Section: 4

Name: Pseudoerminals
Definition: devices are emulated terminals that understand the I/O features of real terminals
Page: 51
Chapter: 3
Section: 4

Variable: /dev/tty1
Meaning: the first virtual console
Page: 51
Section: 4
Chapter: 3

Variable: /dev/pts
Meaning: directory of pseudoterminal devices
Page: 51
Section: 4
Chapter: 3
Typ: filesystem

Instruction: chvt i
Page: 51
Effect: Switch to tty i
Chapter: 3
Section: 4
Abbreviation: C-A-Fi
Where to use it: Graphic mode

Variable: /dev/ttyfoo
Meaning: A terminal device to some port (USB, Com, ACM, ...)
Page: 52
Section: 4
Chapter: 3

Variable: /dev/lpi
Meaning: Unidirectional parallel port device
Page: 52
Section: 4
Chapter: 3

Variable: /dev/parporti
Meaning: Bidirectional parallel port device
Page: 52
Section: 4
Chapter: 3

Variable: /dev/snd
Meaning: ALSA devices
Page: 53
Section: 4.7
Chapter: 3

Name: Advanced Linux Sound Architecture
Definition: Current kernel program to deal with audio devices in Linux
Page: 53
Chapter: 3
Section: 4.7
Abbreviation: ALSA

Instruction: mknod
Page: 53
Effect: Create a device in Unix
Chapter: 3
Section: 4.8

Instruction: omitted
Page: 53
Effect: as advised by the book
Chapter: 3
Section: 4.8

Name: Parittion
Definition: subdivisions of the whole disk
Page: 66
Chapter: 4
Denoted by: Number after the device name

Name: Filesystem
Definition: Database of file and directory on a partition
Page: 66
Chapter: 4

Name: Master boot record
Definition: Traditional partition table of disks
Page: 66
Chapter: 4
Abbreviation: MBR

Name: Globally unique identifier partition table
Page: 66
Chapter: 4
Abbreviation: GPT

Name: parted
Definition: A text-based tool that supports both MBR and GPT.
Page: 66
Chapter: 4

Name: Graphical parted
Page: 67
Chapter: 4
Section: 1
Abbreviation: gparted

Name: fdisk
Definition: The traditional text-based Linux disk partitioning tool
Page: 68
Chapter: 4
Section: 1

Name: gdisk
Definition: A traditional text-based Linux supporting GPT and not MBR
Page: 68
Chapter: 4
Section: 1

Fla: -l
Page: 68
Prefix: parted
Chapter: 4
Section: 1.1
Print: List disks and their partitions and many informations

Name: Primary partition
Definition: a normal subdivision of the disk
Page: 68
Chapter: 4
Section: 1.1

Name: Extended partition
Definition: A partition itself divided into other partition
Page: 68
Chapter: 4
Section: 1.1

Name: Logical partition
Definition: A partition inside an extended partition
Page: 68
Chapter: 4
Section: 1.1

Question: Maximal number of primary partition in GPT
Answer: 4
Page: 68
Section: 1.1

Name: Cylinder-head-section
Definition: the way an hard drive is divided into subcomponent
Page: 71
Chapter: 4
Section: 1.1
Abbreviation: CHS

Name: Logical block adressing
Definition: A way to address a part of the disk by a block number
Page: 71
Chapter: 4
Section: 1.1
Etymology: LBA

Name: Solid state disk
Definition: A storage device with no moving part
Page: 72
Chapter: 4
Section: 1.4
Abbreviation: SSD

Question: What affects the performance of SSD
Answer: Partition alignment: whether data accessed is entirely contained in a block, or lies on two blocks
Page: 72
Chapter: 4
Section: 1.4

Question: What affects the performance of hard disk
Answer: Whether data accessed belongs to the same cylinder
Page: 72
Chapter: 4
Section: 1.4

Name: ith extended filesystem
Definition: Native linux file system
Page: 73
Chapter: 4
Section: 2.1
Abbreviation: exti

Name: Unix file system
Page: 73
Chapter: 4
Section: 2.1
Abbreviation: UFS

Name: Fast file system
Page: 73
Chapter: 4
Section: 2.1
Abbreviation: FFS

Name: ISO 9660
Definition: The CD-Rom standard
Page: 73
Chapter: 4
Section: 2.1

Name: FAT
Definition: Microsoft fyle system
Page: 73
Chapter: 4
Section: 2.1

Name: umsdos
Definition: A file system on top of fat, adding some unix feature to it
Page: 73
Chapter: 4
Section: 2.1

Name: msdos file system
Definition: A primitive version of fat, monocase
Page: 73
Chapter: 4
Section: 2.1

Name: vfat
Definition: An advanced version of fat, with different case
Page: 73
Chapter: 4
Section: 2.1

Name: HFS+
Definition: Apple file system
Page: 73
Chapter: 4
Section: 2.1

Instruction: mkfs -t foo bar or  mkfs.foo bar
Page: 4
Effect: Create a file system of type foo in partition bar
Section: 2.2

Name: Mounting
Definition: Attaching a file system to a folder
Page: 75
Chapter: 4
Section: 2.3

Name: Mount point
Definition: A folder to which a filesystem is mounted
Page: 75
Chapter: 4
Section: 2.3

Instruction: mount
Page: 75
Chapter: 4
Section: 2.3
Returns: List of file system, their mountpoint, and their file system type

Page: 75
Context: mount
Chapter: 4
Section: 2.3
Returns: Assume the device mounted to be of type foo
Abbreviation: -t foo

Instruction: mount foo
Page: 80
Chapter: 4
Section: 2.3
Returns: Mount on mount point foo the device indicated in /etc/fstab

Instruction: mount  bar plop
Page: 75
Chapter: 4
Section: 2.3
Returns: Mount device on partition bar, whose type is guessed, on mounting point plop

Instruction: umount foo
Page: 76
Chapter: 4
Section: 2.3
Returns: Mount device on mount point foo

Name: Universally Unique Identifier
Definition: An identifier given to a filesystem, unique with very high probability
Page: 76
Chapter: 4
Section: 2.3
Abbreviation: UUID

Instruction: blkid
Page: 76
Chapter: 4
Section: 2.3
Returns: a list of devices and the corresponding filesystems and UUIDs on your system

Instruction: UUID=foo
Page: 76
Effect: Mounts the device with UUID or vlume serial number foo and don't use partition address
Context: mount
Chapter: 4
Section: 2.3

Name: Buffering
Definition: When the system wants to write, it insteads save the data to write in RAM until it decides it should be written
Page: 76
Chapter: 4
Section: 2.3
Context: File system

Name: Synchronizing
Definition: Writting all buffered data
Page: 76
Chapter: 4
Section: 2.5
Context: Buffering

Page: 76
Context: Mount
Chapter: 4
Section: 2.6
Returns: Active option foo_i's, which is specific to some kind of file system
Abbreviation: -o foo_1,...,foo_n

Fla: -r
Page: 76
Prefix: Mount
Chapter: 4
Section: 2.6
Print: Mounts in read-only mode

Fla: -n
Page: 76
Prefix: Mount
Chapter: 4
Section: 2.6
Print: mount does not try to update the system runtime mount database, /etc/mtab

Instruction: exec
Page: 76
Context: Mount -o
Chapter: 4
Section: 2.6
Returns: enabels execution of programs on the filesystem

Instruction: noexec
Page: 78
Context: Mount -o
Chapter: 4
Section: 2.6
Returns: disenables execution of programs on the filesystem

Instruction: nosuid
Page: 78
Context: Mount -o
Chapter: 4
Section: 2.6
Returns: disables setuid programs on the file system

Instruction: suid
Page: 78
Context: Mount -o
Chapter: 4
Section: 2.6
Returns: enables setuid programs on the file system

Instruction: rw
Page: 78
Context: Mount -o
Chapter: 4
Section: 2.6
Returns: mount in read-write mode

Instruction: conv=text
Page: 78
Context: Mount -o
Chapter: 4
Section: 2.6
Returns: Consider everything to be text and apply the newline rules of FAT everywhere
Assuming: FAT-based filesystem

Instruction: conv=auto
Page: 78
Context: Mount -o
Chapter: 4
Section: 2.6
Returns: Consider files to be text or not according to their extension, and decide which new line rule to apply according to this
Assuming: FAT-based filesystem

Instruction: conv=binary
Page: 78
Context: Mount -o
Chapter: 4
Section: 2.6
Returns: Consider everything to be not text, and thus never applies FAT new line rules
Assuming: FAT-based filesystem

Instruction: remount
Page: 79
Effect: reattach a currently mounted filesystem at the same mount point
Context: Mount
Chapter: 4
Section: 2.6
Intuition: Allow to change mount option

Variable: /etc/fstab
Meaning: a permanent list of filesystems and options
Page: 79
Context: Mount
Section: 2.8
Chapter: 4

Fla: -a
Effect: Mount everything fom fstab, except if it has noauto in its options
Page: 79
Prefix: Mount
Chapter: 4
Section: 2.8

Question: /etc/fstab format is
Page: 79
Chapter: 4
Section: 2.8
Context: Mount
Answer2: Mount point
Answer3: Filesystem type
Answer4: Options
Answer5: Backup informations for use by the dump command
Answer6: The filesystem integrity test order
Construction: device or UUID

Instruction: defaults
Page: 79
Effect: the mount defaults
Context: Mount,
/etc/fstab's option
Chapter: 4
Section: 2.8

Instruction: error=remount-ro
Page: 79
Effect: Try remounting the file system if mounting fails
Context: Mount,
/etc/fstab's option
Chapter: 4
Section: 2.8

Instruction: error=panic
Page: 79
Effect: Halt kernel and system if mounting fails
Context: Mount,
/etc/fstab's option
Chapter: 4
Section: 2.8

Instruction: error=continue
Page: 79
Context: Mount,
/etc/fstab's option
Chapter: 4
Section: 2.8
Returns: An error code if mounting fails

Instruction: error
Page: 79
Effect: What to do in case of failure during mounting
Context: Mount,
/etc/fstab's option
Chapter: 4
Section: 2.8
Assuming: ext2

Instruction: noauto
Page: 79
Effect: Do not mount even during automatic mounting (i.e. during mount -a)
Context: Mount,
/etc/fstab's option
Chapter: 4
Section: 2.8

Instruction: user
Page: 79
Effect: Allow unprivileged user to mount
Context: Mount,
/etc/fstab's option
Chapter: 4
Section: 2.8

Instruction: df
Page: 79
Context: Mount,
Chapter: 4
Section: 2.10
Returns: size and utilization of your currently mounted filesystems

Instruction: du
Page: 81
Chapter: 4
Section: 2.10
Returns: prints the disk usage of every directory in the directory hierarchy, starting at the current working directory

Fla: -s
Page: 81
Prefix: du
Chapter: 4
Section: 2.10
Print: Print only a summary

Question: What's the most common cause of file system error
Answer: System uncorrectly unmounted (computer turn off suddenly)
Page: 82
Chapter: 4
Section: 2.11

Fla: -p
Effect: Fixess small error without asking. Abort on first serious error
Page: 82
Prefix: fsck
Chapter: 4
Section: 2.11

Fla: -n
Effect: does not modify anything
Page: 82
Prefix: fsck
Chapter: 4
Section: 2.11

Fla: -b foo
Effect: Replace superblock by a copy of superblock found at block foo
Page: 82
Prefix: fsck
Chapter: 4
Section: 2.11

Fla: -fy
Effect: Apply the journal
Page: 82
Prefix: fsck
Chapter: 4
Section: 2.11
Assuming: ext or ext4 mounted as ext2

Fla: -y
Effect: answer yes to all questions
Page: 82
Prefix: fsck
Chapter: 4
Section: 2.11