%%{init: {'theme': 'neutral', 'themeVariables': { 'fontFamily': 'monospace', "fontSize":"16px"}}}%%
mindmap
root(("*Everything is a File*"))
Files
txt("Text Files")
bin("Binary Files")
exe("Executable Files")
Directory
Folders
Special Directories
id1("**/**, **/home**")
Device
Block Devices
id2("`**/dev/sda**`")
Character Devices
id3("`**/dev/tty**`")
Process
Process IDs
id4("**/proc**")
Memory Maps
Socket
id5["Inter-process Communication"]
id6("**/var/run/docker.sock**")
Basics
The next sections introduce some common topics and commands that will help you navigate folders (or directories), manipulate and manage files, and check system processes. These sections focus on executing single commands in a Terminal. In the next section we’ll dive into the Linux command syntax (i.e., arguments, options, and pipes).
“Everything is a file”
Directories
In Linux, directories are special types of files that contain other files, including other directories. This ties into a fundamental concept in Linux: everything is a file. This means that not only are traditional files like documents and images considered files, but so are directories, devices, processes, and even network sockets.
Files
In Linux, all system components, whether traditional files, directories, devices, or even processes, are represented as files. This abstraction makes Linux both powerful and flexible, as it allows users to interact with a wide range of system elements using a consistent set of tools and commands.
System
Linux provides a variety of powerful commands for monitoring system performance and managing processes. These tools are crucial for maintaining system health, troubleshooting issues, and ensuring that resources are being used efficiently. Keeping in mind that everything is a file in Linux, system processes and resources are also represented as files within the /proc directory, allowing these commands to interact with the system at a granular level.
Variables
In Linux, variables are used to store data that can be referenced and manipulated by scripts and commands. There are different types of variables, including environment variables, which are used by the system and applications to configure behavior. Understanding and managing these variables is crucial, especially since they play a key role in how Linux handles processes, paths, and user settings. Remember, since everything is a file, even these variables interact with the system in a file-like manner, often stored and accessed in configuration files.