{"text_format":"2","workbook":"xls","n_sheets":1,"sheets":["report2"],"not_rendered":{"charts":0,"images":0,"macros":0,"external_links":1,"defined_names":1,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"run_cost":"one","rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"report2","index":0,"n_rows":27,"n_cols":5,"rows_kept":27,"cut":false,"hidden":false,"merged":[[0,2,0,3],[0,4,0,5],[1,2,1,3],[1,4,1,5],[2,2,2,3],[2,4,2,5],[3,2,3,3],[5,2,5,3],[8,2,8,3],[9,2,9,3],[10,2,10,3],[11,2,11,3],[12,2,12,3],[13,2,13,3],[14,2,14,3],[17,2,17,3]],"flags":["formulas_cached_only"]}
[null,"1.","Record Nr.",null,"UNINA9911048001003321"]
[null,null,"Autore",null,"Blum Richard"]
[null,null,"Titolo",null,"Linux Command Line and Shell Scripting Bible"]
[null,null,"Pubbl/distr/stampa",null,"Newark : , : John Wiley & Sons, Incorporated, , 2025"]
[{"$nulls":4},"©2026"]
[null,null,"ISBN",null,"1-394-40636-3"]
[{"$nulls":4},"1-394-36496-2"]
[{"$nulls":4},"1-394-36495-4"]
[null,null,"Edizione",null,"[5th ed.]"]
[null,null,"Descrizione fisica",null,"1 online resource (705 pages)"]
[null,null,"Collana",null,"Bible Series"]
[null,null,"Disciplina",null,"5.432"]
[null,null,"Soggetti",null,"Operating systems (Computers)"]
[null,null,"Lingua di pubblicazione",null,"Inglese"]
[null,null,"Formato",null,"Materiale a stampa"]
[null,null,null,"Livello bibliografico","Monografia"]
[null,null,null,"Note generali","STDIN."]
[null,null,"Nota di contenuto",null,"Cover -- Half Title Page -- Title Page -- Copyright -- About the Authors -- About the Technical Editor -- Acknowledgments -- Contents at a Glance -- Contents -- Introduction -- Part I: The Linux Command Line -- Chapter 1: Starting with Linux Shells -- Investigating Linux -- Looking into the Linux kernel -- System memory management -- Software program management -- Hardware management -- Filesystem management -- The GNU utilities -- The core GNU utilities -- The shell -- The Linux desktop environment -- The X Window software -- The KDE Plasma desktop -- The GNOME desktop -- Other desktops -- Examining Linux Distributions -- Core Linux distributions -- Specialized Linux distributions -- Summary -- Chapter 2: Getting to the Shell -- Reaching the Command Line -- Console terminals -- Graphical terminals -- Accessing the CLI via a Linux Console Terminal -- Accessing the CLI via Graphical Terminal Emulation -- Using the GNOME Terminal Emulator -- Accessing the GNOME terminal -- The menu bar -- Using the Konsole Terminal Emulator -- Accessing Konsole -- The menu bar -- Summary -- Chapter 3: Basic Bash Shell Commands -- Starting the Shell -- Using the Shell Prompt -- Interacting with the Bash Manual -- Navigating the Filesystem -- Looking at the Linux filesystem -- Traversing directories -- Using absolute directory references -- Using relative directory references -- Listing Files and Directories -- Displaying a basic listing -- Displaying a long listing -- Filtering listing output -- Handling Files -- Creating files -- Copying files -- Using command-line completion -- Linking "]
[{"$nulls":4},"files -- Renaming files -- Deleting files -- Managing Directories -- Creating directories -- Deleting directories -- Viewing File Contents -- Viewing the file type -- Viewing the whole file -- Using the cat command -- Using the more command -- Using the less command."]
[{"$nulls":4},"Viewing parts of a file -- Using the tail command -- Using the head command -- Summary -- Chapter 4: More Bash Shell Commands -- Monitoring Programs -- Peeking at the processes -- UNIX-style parameters -- BSD-style parameters -- The GNU long parameters -- Real-time process monitoring -- Stopping processes -- The kill command -- The pkill command -- Monitoring Disk Space -- Mounting media -- The mount command -- The umount command -- Using the df command -- Using the du command -- Working with Data Files -- Sorting data -- Searching for data -- Compressing data -- Archiving data -- Summary -- Chapter 5: Understanding the Shell -- Investigating Shell Types -- Exploring Parent and Child Shell Relationships -- Looking at process lists and subshells -- Creatively using subshells -- Investigating background mode -- Putting process lists into the background -- Looking at co-processing -- Understanding External and Built-In Commands -- Looking at external commands -- Looking at built-in commands -- Using the history command -- Using command aliases -- Summary -- Chapter 6: Using Linux Environment Variables -- Exploring Environment Variables -- Looking at global environment variables -- Looking at local environment variables -- Setting User-Defined Variables -- Setting local user-defined variables -- Setting global environment variables -- Removing Environment Variables -- Uncovering Default Shell Environment Variables -- Setting the PATH Environment Variable -- Locating System Environment Variables -- Understanding the login shell process -- Viewing the /etc/profile file -- Viewing the HOME startup files -- Understanding the interactive shell process -- Understanding the noninteractive shell process -- Making environment variables persistent -- Learning about Variable Arrays -- Summary -- Chapter 7: Understanding Linux File Permissions."]
[{"$nulls":4},"Exploring Linux Security -- The /etc/passwd file -- The /etc/shadow file -- Adding a new user -- Removing a user -- Modifying a user -- usermod -- passwd and chpasswd -- chsh, chfn, and chage -- Using Linux Groups -- The /etc/group file -- Creating new groups -- Modifying groups -- Decoding File Permissions -- Using file permission symbols -- Default file permissions -- Changing Security Settings -- Changing permissions -- Changing ownership -- Sharing Files -- Using Access Control Lists -- Summary -- Chapter 8: Managing Filesystems -- Exploring Linux Filesystems -- Exploring the Linux filesystem evolution -- Looking at the ext filesystem -- Looking at the ext2 filesystem -- Digging into journaling filesystems -- Looking at the ext3 filesystem -- Looking at the ext4 filesystem -- Looking at the JFS filesystem -- Looking at XFS -- Understanding the volume-managing filesystems -- Looking at the ZFS filesystem -- Looking at the Btrfs filesystem -- Looking at the Stratis filesystem -- Working with Filesystems -- Creating partitions -- Looking at the fdisk utility -- Working with gdisk -- The GNU parted command -- Creating a filesystem -- Checking and repairing a filesystem -- Managing Logical Volumes -- Exploring the LVM layout -- Physical volume -- Volume group -- Logical volume -- Understanding the LVM in Linux -- Create the PVs -- Create a VG -- Create an LV -- Using the Linux LVM -- Format and mount an LV -- Growing or shrinking your VGs and LVs -- Summary -- Chapter 9: Installing Software -- Exploring Package Management -- Inspecting the Debian-Based Systems -- Managing packages with apt -- Installing software packages with apt -- "]
[{"$nulls":4},"Upgrading software with apt -- Uninstalling software with apt -- The apt repositories -- Understanding the Red Hat-Based Systems -- Listing installed packages -- Installing software with dnf -- Upgrading software with dnf."]
[{"$nulls":4},"Uninstalling software with dnf -- Dealing with broken dependencies -- RPM repositories -- Managing Software Using Containers -- Using snap containers -- Using flatpak containers -- Summary -- Chapter 10: Working with Editors -- Visiting the vim Editor -- Checking your vim package -- Exploring vim basics -- Editing data -- Copying and pasting -- Searching and substituting -- Navigating the nano Editor -- Exploring the Emacs Editor -- Checking your Emacs package -- Using Emacs on the console -- Exploring the basics of Emacs -- Editing data -- Copying and pasting -- Searching and replacing -- Using buffers in Emacs -- Using windows in the Emacs console mode -- Using Emacs in a GUI -- Exploring the KDE Family of Editors -- Looking at the KWrite editor -- Looking at the Kate editor -- Exploring the GNOME Editor -- Starting gedit -- Understanding the basic gedit features -- Summary -- Part II: Shell Scripting Basics -- Chapter 11: Basic Script Building -- Using Multiple Commands -- Creating a Script File -- Displaying Messages -- Using Variables -- Environment variables -- User variables -- Command substitution -- Redirecting Input and Output -- Output redirection -- Input redirection -- Employing Pipes -- Performing Math -- Using the expr command -- Using brackets -- A floating-point solution -- The basics of bc -- Using bc in scripts -- Exiting the Script -- Checking the exit status -- The exit command -- Summary -- Chapter 12: Using Structured Commands -- Working with the if-then Statement -- Exploring the if-then-else Statement -- Nesting ifs -- Trying the test Command -- Using numeric comparisons -- Using string comparisons -- Looking at string equality -- Looking at string order -- Looking at string size -- Using file comparisons -- Checking directories -- Checking whether an object exists -- Checking for a file -- Checking for read access."]
[{"$nulls":4},"Checking for empty files -- Checking whether you can write to a file -- Checking whether you can run a file -- Checking ownership -- Checking default group membership -- Checking file date -- Considering Compound Testing -- Working with Advanced if-then Features -- Using single parentheses -- Using double parentheses -- Using double brackets -- Considering the case Command -- Summary -- Chapter 13: More Structured Commands -- Looking at the for Command -- Reading values in a list -- Reading complex values in a list -- Reading a list from a variable -- Reading values from a command -- Changing the field separator -- Reading a directory using wildcards -- Trying the C-Style for Command -- Understanding the C language for command -- Using multiple variables -- Exploring the while Command -- Understanding the basic while format -- Using multiple test commands -- Using the until Command -- Nesting Loops -- Looping on File Data -- Controlling the Loop -- The break command -- Breaking out of a single loop -- Breaking out of an inner loop -- Breaking out of an outer loop -- The continue command -- Processing the Output of a Loop -- Summary -- Chapter 14: Handling User Input -- Passing Parameters -- Reading parameters -- Reading the script name -- Testing parameters -- Using Special Parameter Variables -- Counting parameters -- Grabbing all the data -- Being Shifty -- Working with Options -- Finding your options -- Processing simple options -- Separating options from parameters -- Processing options with values -- Using the getopt command -- Looking at the command format -- Using getopt in your scripts -- Advancing to getopts -- Standardizing Options -- Getting User Input -- Reading "]
[{"$nulls":4},"basics -- Timing out -- Reading with no display -- Reading from a file -- Summary -- Chapter 15: Presenting Data -- Understanding Input and Output -- Standard file descriptors."]
[{"$nulls":4},"STDIN."]
[null,null,null,"Sommario/riassunto","The latest update to the gold standard in Linux shell scripting guides In the newly revised fifth edition of Linux Command Line and Shell Scripting Bible, experienced system and network administrator Richard Blum delivers an up-to-date and authoritative discussion of the fundamentals of shell scripting in Linux, as well as the advanced topics."]