{"version": 2, "width": 80, "height": 24, "timestamp": 1721310969, "env": {"SHELL": null, "TERM": "xterm"}, "title": "lesson02/part3"} [0.002975, "o", "To run a command as administrator (user \"root\"), use \"sudo \".\r\nSee \"man sudo_root\" for details.\r\n\r\n"] [0.016839, "o", "\u001b[00m\u001b[00m"] [0.017122, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [2.242933, "o", ":"] [2.303486, "o", " "] [2.374923, "o", "#"] [2.481969, "o", " "] [2.567982, "o", "L"] [2.614353, "o", "e"] [2.722984, "o", "s"] [2.75869, "o", "s"] [2.912043, "o", "o"] [2.980395, "o", "n"] [3.102799, "o", " "] [3.206881, "o", "0"] [3.224195, "o", "2"] [3.256655, "o", ":"] [3.32238, "o", " "] [3.406425, "o", "P"] [3.475882, "o", "a"] [3.528269, "o", "r"] [3.564538, "o", "t"] [3.634904, "o", " "] [3.736213, "o", "3"] [3.779462, "o", ":"] [3.82951, "o", " "] [3.887682, "o", "C"] [3.940997, "o", "o"] [4.103917, "o", "m"] [4.120928, "o", "m"] [4.249927, "o", "a"] [4.306147, "o", "n"] [4.34642, "o", "d"] [4.4227, "o", " "] [4.454672, "o", "h"] [4.559959, "o", "i"] [4.642872, "o", "s"] [4.650868, "o", "t"] [4.76641, "o", "o"] [4.790689, "o", "r"] [4.883527, "o", "y"] [4.918767, "o", "\r\n\u001b[?2004l\r"] [4.919052, "o", "\u001b[00m"] [4.919138, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [5.919505, "o", "\r\n\u001b[?2004l\r"] [5.919604, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [6.929297, "o", ":"] [7.003676, "o", " "] [7.012684, "o", "#"] [7.024749, "o", "#"] [7.131177, "o", " "] [7.196476, "o", "1"] [7.307024, "o", "."] [7.355214, "o", " "] [7.379139, "o", "T"] [7.399504, "o", "h"] [7.503362, "o", "e"] [7.59089, "o", " "] [7.593982, "o", "c"] [7.662259, "o", "o"] [7.690754, "o", "m"] [7.723344, "o", "m"] [7.740851, "o", "a"] [7.798917, "o", "n"] [7.850276, "o", "d"] [7.861012, "o", " "] [7.936975, "o", "`"] [7.945633, "o", "h"] [8.020185, "o", "i"] [8.041497, "o", "s"] [8.145448, "o", "t"] [8.150579, "o", "o"] [8.215427, "o", "r"] [8.347993, "o", "y"] [8.380669, "o", "`"] [8.384668, "o", " "] [8.543448, "o", "c"] [8.551235, "o", "a"] [8.564788, "o", "n"] [8.69004, "o", " "] [8.738897, "o", "b"] [8.762318, "o", "e"] [8.774253, "o", " "] [8.809642, "o", "u"] [8.992847, "o", "s"] [9.013738, "o", "e"] [9.080108, "o", "d"] [9.116705, "o", "\r\n\u001b[?2004l\r\u001b[00m"] [9.117079, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [10.22994, "o", ":"] [10.322754, "o", " "] [10.33913, "o", "#"] [10.378221, "o", " "] [10.392678, "o", " "] [10.433302, "o", " "] [10.455408, "o", " "] [10.48879, "o", " "] [10.533552, "o", "t"] [10.544271, "o", "o"] [10.567041, "o", " "] [10.752486, "o", "d"] [10.912883, "o", "i"] [10.977947, "o", "s"] [11.034859, "o", "p"] [11.1019, "o", "l"] [11.15337, "o", "a"] [11.18672, "o", "y"] [11.196086, "o", " "] [11.25079, "o", "t"] [11.259491, "o", "h"] [11.273934, "o", "e"] [11.300752, "o", " "] [11.403009, "o", "h"] [11.410793, "o", "i"] [11.432582, "o", "s"] [11.530905, "o", "t"] [11.547601, "o", "o"] [11.568711, "o", "r"] [11.640771, "o", "y"] [11.781412, "o", " "] [11.803778, "o", "o"] [11.824014, "o", "f"] [11.927616, "o", " "] [11.938786, "o", "t"] [11.97991, "o", "h"] [12.032012, "o", "e"] [12.143988, "o", " "] [12.148095, "o", "t"] [12.157877, "o", "y"] [12.247665, "o", "p"] [12.298372, "o", "e"] [12.375103, "o", "d"] [12.418738, "o", " "] [12.44598, "o", "c"] [12.520769, "o", "o"] [12.68914, "o", "m"] [12.775867, "o", "m"] [12.793307, "o", "a"] [12.886974, "o", "n"] [12.922238, "o", "d"] [12.990766, "o", "s"] [13.077914, "o", "\r\n\u001b[?2004l\r\u001b[00m"] [13.078341, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [14.078381, "o", "\r\n\u001b[?2004l\r\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [15.098131, "o", "h"] [15.152891, "o", "i"] [15.166555, "o", "s"] [15.26136, "o", "t"] [15.330014, "o", "o"] [15.378796, "o", "r"] [15.449172, "o", "y"] [15.558699, "o", "\r\n\u001b[?2004l\r\u001b[00m 1 ls\r\n 2 ls -al\r\n 3 exit\r\n 4 : # Lesson 01: Part 1: First commands\r\n 5 : ## 1. Display the current date and time\r\n 6 date\r\n 7 date +%Y-%m-%d\r\n 8 : ## 2. Display a calendar of the current month\r\n 9 cal\r\n 10 : # for another month:\r\n 11 cal 5 2020\r\n 12 : ## 3. Check how much free space there is on the disk drives\r\n 13 df\r\n 14 df -h\r\n 15 df -h /\r\n 16 : ## 4. Display the amount of the free memory\r\n 17 free\r\n 18 free -h\r\n 19 : # Lesson 01: Part 2: Navigation\r\n 20 : '\r\n 21 The command `cd` (change directory) is used to move from one directory\r\n 22 to another. The command `pwd` (print working directory) shows the\r\n 23 current location. The command `ls` (list) shows the content of the\r\n 24 current working directory.\r\n 25 '\r\n 26 : ## 1. Display the current working directory with `pwd` (print working directory):\r\n 27 pwd\r\n 28 : ## 2. List the contents of a directory:\r\n 29 ls /\r\n 30 ls /usr\r\n 31 ls -l /usr\r\n 32 : ## 3. Change the current working directory:\r\n 33 cd /usr\r\n 34 pwd\r\n 35 ls\r\n 36 cd /usr/bin\r\n 37 pwd\r\n 38 : '\r\n 39 The path \"/usr/bin\" is called \"absolute\", since it shows the full\r\n"] [15.559168, "o", " 40 path, starting from the \"root\" (\"/\").\r\n 41 '\r\n 42 : ## 4. Go to the directory one level up:\r\n 43 cd ..\r\n 44 pwd\r\n 45 : '\r\n 46 Two dots (\"..\") represent the \"parent\" of the current directory.\r\n 47 '\r\n 48 : '\r\n 49 A single dot (\".\") represents the current directory:\r\n 50 '\r\n 51 cd .\r\n 52 pwd\r\n 53 : ## 5. Use a relative path:\r\n 54 cd bin\r\n 55 pwd\r\n 56 : '\r\n 57 The directory \"bin\" is relative to the current one (in this case \"/usr\").\r\n 58 '\r\n 59 : ## 6. Go to the previous current directory:\r\n 60 cd /var/log\r\n 61 cd -\r\n 62 : ## 7. Go to the home directory:\r\n 63 cd\r\n 64 cd ~\r\n 65 : '\r\n 66 The tilde (\"~\") represents the home directory of the current user.\r\n 67 '\r\n 68 : # Lesson 01: Part 1: First commands\r\n 69 : ## 1. Display the current date and time\r\n 70 date\r\n 71 date +%Y-%m-%d\r\n 72 : ## 2. Display a calendar of the current month\r\n 73 cal\r\n 74 : # for another month:\r\n 75 cal 5 2020\r\n 76 : ## 3. Check how much free space there is on the disk drives\r\n 77 df\r\n 78 df -h\r\n 79 df -h /\r\n 80 : ## 4. Display the amount of the free memory\r\n 81 free\r\n 82 free -h\r\n 83 : # Lesson 01: Part 2: Navigation\r\n 84 : '\r\n 85 The command `cd` (change directory) is used to move to another directory.\r\n 86 The command `pwd` (print working directory) shows the current location.\r\n 87 The command `ls` (list) shows the content of the current working directory.\r\n 88 '\r\n"] [15.559564, "o", " 89 : ## 1. Display the current working directory\r\n 90 : # with `pwd` (print working directory)\r\n 91 pwd\r\n 92 : ## 2. List the contents of a directory:\r\n 93 ls /\r\n 94 ls /usr\r\n 95 ls -l /usr\r\n 96 : ## 3. Change the current working directory\r\n 97 cd /usr\r\n 98 pwd\r\n 99 ls\r\n 100 cd /usr/bin\r\n 101 pwd\r\n 102 : '\r\n 103 The path \"/usr/bin\" is called \"absolute\", since it shows the full path,\r\n 104 starting from the \"root\" (`/`).\r\n 105 '\r\n 106 : ## 4. Go to the directory one level up:\r\n 107 cd ..\r\n 108 pwd\r\n 109 : '\r\n 110 Two dots (`..`) represent the \"parent\" of the current directory.\r\n 111 '\r\n 112 : '\r\n 113 A single dot (`.`) represents the current directory:\r\n 114 '\r\n 115 cd .\r\n 116 pwd\r\n 117 : ## 5. Using a relative path\r\n 118 cd bin\r\n 119 pwd\r\n 120 : '\r\n 121 The directory `bin` is relative to the current one (in this case `/usr`).\r\n 122 '\r\n 123 : ## 6. Go to the previous current directory:\r\n 124 cd /var/log\r\n 125 cd -\r\n 126 : ## 7. Go to the home directory:\r\n 127 cd\r\n 128 cd ~\r\n 129 : '\r\n 130 The tilde (`~`) represents the home directory of the current user.\r\n 131 '\r\n 132 : # Lesson 01: Part 3: Command options\r\n 133 : # Let's see some options of the command `ls`.\r\n 134 : ## 1. List only some files:\r\n 135 ls /bin\r\n 136 ls /bin/b* /bin/c*\r\n 137 : '\r\n 138 We are listing only those files that start with `b`\r\n 139 and those that start with `c`, on the directory `/bin`.\r\n 140 '\r\n 141 : ## 2. Long listing:\r\n 142 ls -l /bin/b* /bin/c*\r\n 143 : '\r\n 144 The option `-l` stands for \"long\" listing,\r\n 145 where each file is printed on its own line, with more details.\r\n 146 '\r\n 147 : ## 3. Long and short options.\r\n 148 : '\r\n 149 Notice that the middle column shows the size of the file (in bytes).\r\n 150 To make the size more readable we can use the option `--human-readable`\r\n 151 '\r\n 152 ls -l --human-readable /bin/b* /bin/c*\r\n 153 : '\r\n 154 Instead of this long option we can use its short equivalent `-h`,\r\n 155 which is more convenient to write:\r\n 156 '\r\n 157 ls -l -h /bin/b* /bin/c*\r\n 158 : ' TIP:\r\n 159 In order to modify the previous command,\r\n 160 you can use the up-arrow key on the keyboard to display the previous command,\r\n 161 use left-arrow and right-arrow keys to locate the cursor, modify the command,\r\n 162 and then press .\r\n 163 '\r\n 164 : ## 4. Merging short options.\r\n 165 : '\r\n 166 We can also merge the short options like this:\r\n 167 '\r\n 168 ls -lh /bin/b* /bin/c*\r\n 169 : '\r\n 170 By default files are listed alphabetically,\r\n 171 but we can sort them by modification time, using the option `-t`:\r\n 172 '\r\n 173 ls -lht /bin/b* /bin/c*\r\n 174 : ## 5. With the option `--reverse` or `-r`\r\n 175 : # we can reverse the order of display:\r\n 176 ls -lt --reverse /bin/b* /bin/c*\r\n 177 ls -lh --reverse /bin/b* /bin/c*\r\n 178 ls -ltr /bin/b* /bin/c*\r\n 179 ls -lhr /bin/b* /bin/c*\r\n 180 : '\r\n 181 Usually the options have a long version\r\n 182 (like `--reverse` or `--human-readable`)\r\n 183 and a short one (like `-r` or `-h`).\r\n 184 But not all of them.\r\n 185 For example the options `-l` or `-t` do not have a long version.\r\n 186 '\r\n 187 : ' Q:\r\n 188 It seems like the short options are more convenient when writing commands.\r\n 189 In your opinion, why do we have long options as well? Why they might be useful?\r\n 190 '\r\n 191 : # Lesson 01: Part 4: Exploring the system\r\n 192 <<'---'\r\n 193 To explore the system we use these steps:\r\n 194 1. Use `cd` to go to a directory.\r\n 195 2. List the directory contents with `ls -l`.\r\n"] [15.559887, "o", " 196 3. If you see an interesting file,\r\n 197 determine its contents with the command `file`.\r\n 198 4. If it looks like it might be text, try viewing it with `less`.\r\n 199 ---\r\n 200 : # Let's try some of these:\r\n 201 : ## 1. Go to `/bin` and list its content:\r\n 202 cd /bin\r\n 203 ls -l\r\n 204 ls -l b*\r\n 205 ls -l bzless\r\n 206 : ## 2. Check the type of some files and their contents:\r\n 207 file bzless\r\n 208 : '\r\n 209 The file `bzless` is a \"symbolic link\",\r\n 210 a kind of shortcut, or alias, or a reference to another file.\r\n 211 There are also \"hard links\" which we will see later.\r\n 212 '\r\n 213 ls -l bzmore\r\n 214 file bzmore\r\n 215 : '\r\n 216 The file `bzmore` is a shell script\r\n 217 and actually a text file, so we can read its content.\r\n 218 Shell scripts are like programs and contain Linux commands.\r\n 219 '\r\n 220 less bzmore\r\n 221 : # To quit `less` press \"q\".\r\n 222 : '\r\n 223 The command `less` displays the contents of a \"text\" file.\r\n 224 '\r\n 225 : ## 3. Let's check another file:\r\n 226 ls -lh bash\r\n 227 file bash\r\n 228 : '\r\n 229 The file `bash` is an executable program, and a \"binary\" (non-text) file.\r\n 230 We can try to read its content:\r\n 231 '\r\n 232 less bash\r\n 233 : # Exit 'less' with `q`.\r\n 234 : '\r\n 235 As you see, \"text\" files have a content that is readable by humans,\r\n 236 \"non-text\" files (or \"binary\" files) have a content that is not readable\r\n 237 by humans (but it may be read and interpreted by some programs).\r\n 238 '\r\n 239 : ## 4. Let's check `/etc`:\r\n 240 file /etc\r\n 241 ls -l /etc/passwd\r\n 242 file /etc/passwd\r\n 243 : '\r\n 244 It is plain text. We can check its content:\r\n 245 '\r\n 246 less /etc/passwd\r\n 247 : '\r\n 248 This file contains the accounts of the system.\r\n 249 '\r\n 250 : '\r\n 251 The files on `/etc` are usually configuration files,\r\n 252 and almost all of them are text files (readable and writable by humans).\r\n 253 '\r\n"] [15.560276, "o", " 254 : ## 5. In contrast, the files on `/bin` are programs or commands\r\n 255 : '\r\n 256 They are mostly binary files or shell scripts.\r\n 257 The same goes for `/sbin`, `/usr/bin`, `/usr/sbin`, `/usr/local/bin`, etc.\r\n 258 '\r\n 259 ls /sbin\r\n 260 ls /usr/bin\r\n 261 ls /usr/sbin\r\n 262 ls /usr/local/bin\r\n 263 : ## 6. Some other important directories:\r\n 264 ls /boot\r\n 265 ls /boot/grub\r\n 266 : '\r\n 267 Contains the Linux kernel, initial RAM disk image, the boot loader, etc.\r\n 268 '\r\n 269 ls /dev\r\n 270 file /dev/tty\r\n 271 file /dev/pts/1\r\n 272 : '\r\n 273 Contains device nodes.\r\n 274 '\r\n 275 ls /home\r\n 276 : '\r\n 277 Contains home directories of the users.\r\n 278 '\r\n 279 ls /lib\r\n 280 ls /usr/lib\r\n 281 : '\r\n 282 Contains shared libraries.\r\n 283 '\r\n 284 ls /proc\r\n 285 less /proc/cpuinfo\r\n 286 : '\r\n 287 This is a special directory that exposes the settings and the state\r\n 288 of the kernel itself.\r\n 289 '\r\n 290 ls /var\r\n 291 ls /var/log\r\n 292 : '\r\n 293 Contains data that are likely to change frequently (like log files).\r\n 294 '\r\n 295 ls /tmp\r\n 296 : '\r\n 297 Temporary data which might be erased on each reboot.\r\n 298 '\r\n 299 : # Lesson 01: Part 4: Exploring the system\r\n 300 <<'---'\r\n 301 To explore the system we use these steps:\r\n 302 1. Use `cd` to go to a directory.\r\n 303 2. List the directory contents with `ls -l`.\r\n 304 3. If you see an interesting file,\r\n 305 determine its contents with the command `file`.\r\n 306 4. If it looks like it might be text, try viewing it with `less`.\r\n 307 ---\r\n 308 : # Let's try some of these:\r\n 309 : ## 1. Go to `/bin` and list its content:\r\n 310 cd /bin\r\n 311 ls -l\r\n 312 ls -l b*\r\n 313 ls -l bzless\r\n 314 : ## 2. Check the type of some files and their contents:\r\n 315 file bzless\r\n 316 : '\r\n 317 The file `bzless` is a \"symbolic link\",\r\n 318 a kind of shortcut, or alias, or a reference to another file.\r\n 319 There are also \"hard links\" which we will see later.\r\n 320 '\r\n 321 ls -l bzmore\r\n 322 file bzmore\r\n 323 : '\r\n 324 The file `bzmore` is a shell script\r\n 325 and actually a text file, so we can read its content.\r\n 326 Shell scripts are like programs and contain Linux commands.\r\n 327 '\r\n 328 less bzmore\r\n 329 : # To quit `less` press \"q\".\r\n 330 : '\r\n 331 The command `less` displays the contents of a \"text\" file.\r\n"] [15.560638, "o", " 332 '\r\n 333 : ## 3. Let's check another file:\r\n 334 ls -lh bash\r\n 335 file bash\r\n 336 : '\r\n 337 The file `bash` is an executable program, and a \"binary\" (non-text) file.\r\n 338 We can try to read its content:\r\n 339 '\r\n 340 less bash\r\n 341 : # Exit 'less' with `q`.\r\n 342 : '\r\n 343 As you see, \"text\" files have a content that is readable by humans,\r\n 344 \"non-text\" files (or \"binary\" files) have a content that is not readable\r\n 345 by humans (but it may be read and interpreted by some programs).\r\n 346 '\r\n 347 : ## 4. Let's check `/etc`:\r\n 348 file /etc\r\n 349 ls -l /etc/passwd\r\n 350 file /etc/passwd\r\n 351 : '\r\n 352 It is plain text. We can check its content:\r\n 353 '\r\n 354 less /etc/passwd\r\n 355 : '\r\n 356 This file contains the accounts of the system.\r\n 357 '\r\n 358 : '\r\n 359 The files on `/etc` are usually configuration files,\r\n 360 and almost all of them are text files (readable and writable by humans).\r\n 361 '\r\n 362 : ## 5. In contrast, the files on `/bin`\r\n 363 : # are programs or commands\r\n 364 : '\r\n 365 They are mostly binary files or shell scripts.\r\n 366 The same goes for `/sbin`, `/usr/bin`, `/usr/sbin`, `/usr/local/bin`, etc.\r\n 367 '\r\n 368 ls /sbin\r\n 369 ls /usr/bin\r\n 370 ls /usr/sbin\r\n 371 ls /usr/local/bin\r\n 372 : ## 6. Some other important directories:\r\n 373 ls /boot\r\n 374 : '\r\n 375 Contains the Linux kernel, initial RAM disk image, the boot loader, etc.\r\n 376 '\r\n 377 ls /dev\r\n 378 file /dev/tty\r\n 379 file /dev/pts/1\r\n 380 : '\r\n 381 Contains device nodes.\r\n 382 '\r\n 383 ls /home\r\n 384 : '\r\n 385 Contains home directories of the users.\r\n 386 '\r\n 387 ls /lib\r\n 388 ls /usr/lib\r\n 389 : '\r\n 390 Contains shared libraries.\r\n 391 '\r\n 392 ls /proc\r\n 393 : '\r\n 394 This is a special directory that exposes the settings and the state\r\n 395 of the kernel itself.\r\n 396 '\r\n 397 less /proc/cpuinfo\r\n 398 ls /var\r\n 399 ls /var/log\r\n 400 : '\r\n 401 Contains data that are likely to change frequently (like log files).\r\n 402 '\r\n 403 ls /tmp\r\n 404 : '\r\n 405 Temporary data which might be erased on each reboot.\r\n 406 '\r\n 407 : # Lesson 02: Part 1: Manipulating files and directories\r\n 408 <<'---'\r\n 409 To work with files and directories we can use these commands:\r\n 410 - `cp` -- Copy files and directories\r\n 411 - `mv` -- Move/rename files and directories\r\n 412 - `mkdir` -- Create directories\r\n 413 - `rm` -- Remove files and directories\r\n 414 - `ln` -- Create hard and symbolic links\r\n 415 ---\r\n 416 : # Let's use them in some examples.\r\n 417 : ## 1. Creating directories\r\n 418 cd\r\n 419 mkdir playground\r\n 420 cd playground\r\n 421 mkdir dir1 dir2\r\n"] [15.561017, "o", " 422 ls -l\r\n 423 : ## 2. Copying files\r\n 424 cp /etc/passwd .\r\n 425 ls -l\r\n 426 : '\r\n 427 Notice that `.` is the current working directory.\r\n 428 '\r\n 429 cp -v /etc/passwd .\r\n 430 : '\r\n 431 The option `-v` makes the command \"verbose\".\r\n 432 '\r\n 433 cp -i /etc/passwd .\r\n 434 The option `-i` makes the command \"interactive\".\r\n 435 This means that it asks you first, before doing any destructive actions.\r\n 436 Press `y` or `n` to continue.\r\n 437 '\r\n 438 : ## 3. Moving and renaming files\r\n 439 mv passwd fun\r\n 440 ls -l\r\n 441 mv fun dir1\r\n 442 ls -l\r\n 443 ls -l dir1\r\n 444 mv dir1/fun dir2\r\n 445 ls -l dir1\r\n 446 ls -l dir2\r\n 447 mv dir2/fun .\r\n 448 tree\r\n 449 mv fun dir1\r\n 450 mv dir1 dir2\r\n 451 tree\r\n 452 ls -l dir2/dir1\r\n 453 mv dir2/dir1 .\r\n 454 mv dir1/fun .\r\n 455 tree\r\n 456 : ## 4. Creating hard links:\r\n 457 ln fun fun-hard\r\n 458 ln fun dir1/fun-hard\r\n 459 ln fun dir2/fun-hard\r\n 460 ls -lR\r\n 461 : '\r\n 462 Notice that the second field in the listing of `fun` and `fun-hard` is `4`,\r\n 463 which shows the number of the links for the file.\r\n 464 Hard links are like different names for the same file content.\r\n 465 '\r\n 466 : '\r\n 467 To make sure that all four of them are the same file, try the option `-i`:\r\n 468 '\r\n 469 ls -lRi\r\n 470 : '\r\n 471 You may notice that the number on the first column is the same\r\n 472 for all the linked files. This is called the \"inode\" number of a file,\r\n 473 and can be thought as the address where the file is located.\r\n 474 Since it is the same for all the files, they are actually the same file.\r\n 475 '\r\n 476 : ## 5. Creating symbolic links:\r\n 477 ln -s fun fun-sym\r\n 478 ls -l\r\n 479 : '\r\n 480 Symbolic links are a special type of file that contains\r\n 481 a text pointer to the target file or directory.\r\n 482 They were created to overcome two disadvantages of hard links:\r\n 483 1. hard links cannot span physical devices\r\n 484 2. hard links cannot reference directories, only files\r\n 485 '\r\n 486 ln -s ../fun dir1/fun-sym\r\n 487 ln -s ../fun dir2/fun-sym\r\n 488 tree\r\n 489 : '\r\n 490 These two examples might seem a bit difficult to understand what is going on.\r\n 491 But remember that when we create a symbolic link, we are creating\r\n 492 a text description of where the target file is, relative to the symbolic link.\r\n 493 '\r\n 494 : '\r\n 495 We can also use absolute file names when creating symbolic links:\r\n 496 '\r\n 497 ln -sf \\\r\n 498 /home/user1/playground/fun \\\r\n 499 dir1/fun-sym\r\n 500 ls -l dir1/\r\n 501 : '\r\n 502 However, in most cases, using relative pathnames is more desirable,\r\n 503 because it allows a directory tree containing symbolic links and their\r\n 504 referenced files to be renamed and/or moved without breaking the links.\r\n 505 '\r\n 506 : '\r\n 507 In addition to regular files, symbolic links can also reference directories:\r\n 508 '\r\n 509 ln -s dir1 dir1-sym\r\n 510 ls -l\r\n"] [16.560074, "o", " 511 : ## 6. Removing files and directories.\r\n 512 : \"\r\n 513 Let's clean up the playground a little bit.\r\n 514 First let's delete one of the hard links:\r\n 515 \"\r\n 516 rm fun-hard\r\n 517 ls -l\r\n 518 : '\r\n 519 Notice that the link count for `fun` is reduced from 4 to 3\r\n 520 (as indicated in the second field of the directory listing).\r\n 521 '\r\n 522 rm -i fun\r\n 523 y\r\n 524 ls -l\r\n 525 less fun-sym\r\n 526 : '\r\n 527 Notice that the symbolic link now is broken.\r\n 528 '\r\n 529 rm fun-sym dir1-sym\r\n 530 ls -l\r\n 531 : '\r\n 532 When we remove a symbolic link the target is not touched.\r\n 533 '\r\n 534 rm -r dir1/\r\n 535 cd ..\r\n 536 rm -rf playground/\r\n 537 : # Lesson 02: Part 1: Manipulating files and directories\r\n 538 <<'---'\r\n 539 To work with files and directories we can use these commands:\r\n 540 - `cp` -- Copy files and directories\r\n 541 - `mv` -- Move/rename files and directories\r\n 542 - `mkdir` -- Create directories\r\n 543 - `rm` -- Remove files and directories\r\n 544 - `ln` -- Create hard and symbolic links\r\n 545 ---\r\n 546 : # Let's use them in some examples.\r\n 547 : ## 1. Creating directories\r\n 548 cd\r\n 549 mkdir playground\r\n 550 cd playground\r\n 551 mkdir dir1 dir2\r\n 552 ls -l\r\n 553 : ## 2. Copying files\r\n 554 cp /etc/passwd .\r\n 555 ls -l\r\n 556 : '\r\n 557 Notice that `.` is the current working directory.\r\n 558 '\r\n 559 cp -v /etc/passwd .\r\n 560 : '\r\n 561 The option `-v` makes the command \"verbose\".\r\n 562 '\r\n 563 cp -i /etc/passwd .\r\n 564 : '\r\n 565 The option `-i` makes the command \"interactive\".\r\n 566 This means that it asks you first, before doing any destructive actions.\r\n 567 Press `y` or `n` to continue.\r\n 568 '\r\n 569 : ## 3. Moving and renaming files\r\n 570 mv passwd fun\r\n 571 ls -l\r\n 572 mv fun dir1\r\n 573 ls -l\r\n 574 ls -l dir1\r\n 575 mv dir1/fun dir2\r\n 576 ls -l dir1\r\n 577 ls -l dir2\r\n 578 mv dir2/fun .\r\n 579 tree\r\n 580 mv fun dir1\r\n 581 mv dir1 dir2\r\n 582 tree\r\n 583 ls -l dir2/dir1\r\n 584 mv dir2/dir1 .\r\n 585 mv dir1/fun .\r\n 586 tree\r\n 587 : ## 4. Creating hard links:\r\n 588 ln fun fun-hard\r\n 589 ln fun dir1/fun-hard\r\n 590 ln fun dir2/fun-hard\r\n 591 ls -lR\r\n 592 : '\r\n 593 Notice that the second field in the listing of `fun` and `fun-hard` is `4`,\r\n 594 which shows the number of the links for the file.\r\n 595 Hard links are like different names for the same file content.\r\n"] [16.560499, "o", " 596 '\r\n 597 : '\r\n 598 To make sure that all four of them are the same file, try the option `-i`:\r\n 599 '\r\n 600 ls -lRi\r\n 601 : '\r\n 602 You may notice that the number on the first column is the same\r\n 603 for all the linked files. This is called the \"inode\" number of a file,\r\n 604 and can be thought as the address where the file is located.\r\n 605 Since it is the same for all the files, they are actually the same file.\r\n 606 '\r\n 607 : ## 5. Creating symbolic links:\r\n 608 ln -s fun fun-sym\r\n 609 ls -l\r\n 610 : '\r\n 611 Symbolic links are a special type of file that contains\r\n 612 a text pointer to the target file or directory.\r\n 613 They were created to overcome two disadvantages of hard links:\r\n 614 1. hard links cannot span physical devices\r\n 615 2. hard links cannot reference directories, only files\r\n 616 '\r\n 617 ln -s ../fun dir1/fun-sym\r\n 618 ln -s ../fun dir2/fun-sym\r\n 619 tree\r\n 620 : '\r\n 621 These two examples might seem a bit difficult to understand what is going on.\r\n 622 But remember that when we create a symbolic link, we are creating\r\n 623 a text description of where the target file is, relative to the symbolic link.\r\n 624 '\r\n 625 : '\r\n 626 We can also use absolute file names when creating symbolic links:\r\n 627 '\r\n 628 ln -sf /home/user1/playground/fun dir1/fun-sym\r\n 629 ls -l dir1/\r\n 630 : '\r\n 631 However, in most cases, using relative pathnames is more desirable,\r\n 632 because it allows a directory tree containing symbolic links and their\r\n 633 referenced files to be renamed and/or moved without breaking the links.\r\n 634 '\r\n 635 : '\r\n 636 In addition to regular files, symbolic links can also reference directories:\r\n 637 '\r\n 638 ln -s dir1 dir1-sym\r\n 639 ls -l\r\n 640 : ## 6. Removing files and directories.\r\n 641 : \"\r\n 642 Let's clean up the playground a little bit.\r\n 643 First let's delete one of the hard links:\r\n 644 \"\r\n 645 rm fun-hard\r\n 646 ls -l\r\n 647 : '\r\n 648 Notice that the link count for `fun` is reduced from 4 to 3\r\n 649 (as indicated in the second field of the directory listing).\r\n 650 '\r\n 651 rm -i fun\r\n 652 ls -l\r\n 653 less fun-sym\r\n 654 : '\r\n 655 Notice that the symbolic link now is broken.\r\n 656 '\r\n 657 rm fun-sym dir1-sym\r\n 658 ls -l\r\n 659 : '\r\n 660 When we remove a symbolic link the target is not touched.\r\n 661 '\r\n 662 rm -r dir1/\r\n 663 cd ..\r\n 664 rm -rf playground/\r\n 665 : # Lesson 02: Part 2: Some commands about commands\r\n 666 : ## 1. The command `type` displays the type of a command\r\n 667 type type\r\n 668 type ls\r\n 669 type cp\r\n 670 : '\r\n 671 The command `cp` is an executable program located on `/usr/bin/cp`.\r\n 672 '\r\n 673 : ## 2. The command `which` displays the location of an executable\r\n 674 which ls\r\n 675 which cd\r\n 676 : '\r\n 677 The command `cd` is not an executable but a shell builtin command.\r\n 678 '\r\n 679 type cd\r\n 680 : ## 3. The command `help` displays a help page\r\n 681 : # for the shell builtin commands\r\n 682 help cd\r\n 683 help mkdir\r\n 684 : '\r\n 685 The command `mkdir` is not a shell builtin.\r\n 686 '\r\n 687 : ## 4. The option `--help` displays usage information\r\n 688 mkdir --help\r\n 689 : ## 5. The command `man` displays the manual page of a program:\r\n 690 man ls\r\n 691 : # Exit with 'q' from a man page.\r\n 692 : '\r\n 693 Manual pages are organized into different sections,\r\n 694 where section 1 for example is about user commands,\r\n 695 and section 5 is about file formats.\r\n 696 So, these two commands will display different manual pages:\r\n 697 '\r\n 698 man passwd\r\n 699 man 5 passwd\r\n 700 : ## 6. The command `info` is another way to display manual pages\r\n 701 info coreutils\r\n 702 info passwd\r\n 703 : ## 7. The command `apropos` displays appropriate commands\r\n 704 apropos passwd\r\n 705 : # This is the same as:\r\n 706 man -k passwd\r\n 707 : '\r\n 708 It makes a simple search on man pages for the term `passwd`.\r\n 709 '\r\n 710 : ## 8. The command `whatis` displays "] [16.560693, "o", "a very brief description of a command\r\n 711 whatis ls\r\n 712 : ## 9. The command `alias` is used to create new commands\r\n 713 alias --help\r\n 714 alias\r\n 715 type alias\r\n 716 type ls\r\n 717 cd /usr; ls; cd -\r\n 718 type foo\r\n 719 alias foo=\"cd /usr; ls; cd -\"\r\n 720 type foo\r\n 721 foo\r\n 722 unalias foo\r\n 723 type foo\r\n 724 foo\r\n 725 : # Lesson 02: Part 3: Command history\r\n 726 : ## 1. The command `history` can be used\r\n 727 : # to display the history of the typed commands\r\n 728 history\r\n 729 history | less\r\n 730 history | tail\r\n 731 history | tail -n 20\r\n 732 history | grep man\r\n 733 : ## 2. The history is kept in the file `~/.bash_history`\r\n 734 echo $HISTFILE\r\n 735 ls $HISTFILE\r\n 736 tail ~/.bash_history\r\n 737 : '\r\n 738 Notice that the latest commands are not there.\r\n 739 Bash maintains the list of commands internally in memory while it is running,\r\n 740 and writes it to the history file on exit.\r\n 741 Let us tell Bash to \"append\" the command list to the history file now:\r\n 742 '\r\n 743 history -a\r\n 744 history | head\r\n 745 history | head -n 20\r\n 746 free -h\r\n 747 history | head -n 100\r\n 748 history | head -n 80\r\n 749 history | head -n 80 | tail\r\n 750 exit\r\n 751 : # Lesson 02: Part 3: Command history\r\n 752 : ## 1. The command `history` can be used\r\n 753 : # to display the history of the typed commands\r\n 754 history\r\n 755 history | less\r\n 756 history | tail\r\n 757 history | tail -n 20\r\n 758 history | grep man\r\n 759 : ## 2. The history is kept in the file `~/.bash_history`\r\n 760 echo $HISTFILE\r\n 761 ls $HISTFILE\r\n 762 tail ~/.bash_history\r\n 763 : '\r\n 764 Notice that the latest commands are not there.\r\n 765 Bash maintains the list of commands internally in memory while it is running,\r\n 766 and writes it to the history file on exit.\r\n 767 Let us tell Bash to \"append\" the command list to the history file now:\r\n 768 '\r\n 769 history -a\r\n 770 tail ~/.bash_history\r\n 771 : ## 3. We can re-run a previous command like this:\r\n 772 history | head -n 80 | tail\r\n 773 cal 5 2020\r\n 774 : '\r\n 775 Rerun the command which has the given number on the list.\r\n 776 '\r\n 777 ls $HISTFILE\r\n 778 : '\r\n 779 Rerun the last command that _starts_ with `ls`.\r\n 780 '\r\n 781 history | head -n 80 | tail\r\n 782 : '\r\n 783 Rerun the last command that _contains_ `tail`.\r\n 784 '\r\n 785 history | grep tail\r\n 786 : ## 4. We can recall the previous commands also by pressing the up-arrow multiple times.\r\n 787 : '\r\n 788 Rerun the last command that _starts_ with `ls`.\r\n 789 '\r\n 790 : ## 5. However the most useful way to rerun previous commands is searching interactively, with keyboard shortcuts.\r\n 791 : '\r\n 792 For example typing \"Ctrl-r\" will start a reverse incremental search.\r\n 793 It is \"reverse\" because it searches backwards in the history list,\r\n 794 starting from the last command.\r\n 795 While we start typing the search text it will display the last command\r\n 796 that matches it.\r\n 797 If we are happy with the search result we can just press to rerun it,\r\n 798 or we can use the left and right arrows to edit it first and then press .\r\n 799 Otherwise we can keep pressing \"Ctrl-r\" to get the next matching command,\r\n 800 and so on.\r\n 801 '\r\n 802 : # Let's try these steps:\r\n 803 : '\r\n 804 1. Press \"Ctrl-r\".\r\n 805 2. Type \"pass\".\r\n 806 3. Press \"Ctrl-r\" again.\r\n 807 4. Press \"Ctrl-r\" again.\r\n 808 5. Press \"Ctrl-r\" again.\r\n 809 6. Press \"Enter\".\r\n 810 '\r\n 811 apropos passwd\r\n 812 : # Lesson 02: Part 3: Command history\r\n 813 : ## 1. The command `history` can be used\r\n 814 : # to display the history of the typed commands\r\n 815 history\r\n 816 history | less\r\n 817 history | tail\r\n 818 history | tail -n 20\r\n 819 history | grep man\r\n 820 : ## 2. The history is kept in the file `~/.bash_history`\r\n 821 echo $HISTFILE\r\n 822 ls $HISTFILE\r\n 823 tail ~/.bash_history\r\n 824 : '\r\n 825 Notice that the latest commands are not there.\r\n 826 B"] [16.560833, "o", "ash maintains the list of commands internally in memory while it is running,\r\n 827 and writes it to the history file on exit.\r\n 828 Let us tell Bash to \"append\" the command list to the history file now:\r\n 829 '\r\n 830 history -a\r\n 831 : # Lesson 02: Part 3: Command history\r\n 832 : ## 1. The command `history` can be used\r\n 833 : # to display the history of the typed commands\r\n 834 history\r\n 835 history | less\r\n 836 history | tail\r\n 837 history | tail -n 20\r\n 838 history | grep man\r\n 839 : ## 2. The history is kept in the file `~/.bash_history`\r\n 840 echo $HISTFILE\r\n 841 ls $HISTFILE\r\n 842 tail ~/.bash_history\r\n 843 : '\r\n 844 Notice that the latest commands are not there.\r\n 845 Bash maintains the list of commands internally in memory while it is running,\r\n 846 and writes it to the history file on exit.\r\n 847 Let us tell Bash to \"append\" the command list to the history file now:\r\n 848 '\r\n 849 history -a\r\n 850 exit\r\n 851 : # Lesson 02: Part 3: Command history\r\n 852 : ## 1. The command `history` can be used\r\n 853 : # to display the history of the typed commands\r\n 854 history\r\n\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [17.56313, "o", "\r\n\u001b[?2004l\r\u001b[?2004h"] [17.563236, "o", "\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [18.592646, "o", "h"] [18.648095, "o", "i"] [18.69644, "o", "s"] [18.747041, "o", "t"] [18.769553, "o", "o"] [18.84462, "o", "r"] [18.951492, "o", "y"] [18.966704, "o", " "] [19.048509, "o", "|"] [19.189471, "o", " "] [19.245806, "o", "l"] [19.336454, "o", "e"] [19.481809, "o", "s"] [19.544421, "o", "s"] [19.571735, "o", "\r\n\u001b[?2004l\r"] [19.572119, "o", "\u001b[00m"] [19.572519, "o", "\u001b[00m"] [19.575951, "o", "\u001b[?1049h\u001b[22;0;0t\u001b[?1h\u001b=\r 1 ls\r\n 2 ls -al\r\n 3 exit\r\n 4 : # Lesson 01: Part 1: First commands\r\n 5 : ## 1. Display the current date and time\r\n 6 date\r\n 7 date +%Y-%m-%d\r\n 8 : ## 2. Display a calendar of the current month\r\n 9 cal\r\n 10 : # for another month:\r\n 11 cal 5 2020\r\n 12 : ## 3. Check how much free space there is on the disk drives\r\n 13 df\r\n 14 df -h\r\n 15 df -h /\r\n 16 : ## 4. Display the amount of the free memory\r\n 17 free\r\n 18 free -h\r\n 19 : # Lesson 01: Part 2: Navigation\r\n 20 : '\r\n 21 The command `cd` (change directory) is used to move from one directory\r\n 22 to another. The command `pwd` (print working directory) shows the\r\n 23 current location. The command `ls` (list) shows the content of the\r\n:\u001b[K"] [20.596662, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[K[\b[\u001b[KB\bB\u0007\r\u001b[K:\u001b[K\r\u001b[K 24 current working directory.\r\n:\u001b[K"] [20.760709, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[K[\b[\u001b[KB\bB\u0007\r\u001b[K:\u001b[K\r\u001b[K 25 '\r\n:\u001b[K"] [20.945161, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[K[\b[\u001b[KB\bB\u0007\r\u001b[K:\u001b[K\r\u001b[K 26 : ## 1. Display the current working directory with `pwd` (print working d \b:\u001b[K"] [21.048603, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[K[\b[\u001b[KB\bB\u0007\r\u001b[K:\u001b[K\r\u001b[K"] [21.048736, "o", "irectory):\r\n:\u001b[K"] [21.180537, "o", "\r\u001b[K \u001b[KESC\b\b\bESC\u001b[K[\b[\u001b[KB\bB\u0007\r\u001b[K:\u001b[K\r\u001b[K 27 pwd\r\n:\u001b[K"] [22.180447, "o", "\u0007\r\u001b[K:\u001b[K\r\u001b[K 28 : ## 2. List the contents of a directory:\r\n 29 ls /\r\n 30 ls /usr\r\n 31 ls -l /usr\r\n 32 : ## 3. Change the current working directory:\r\n 33 cd /usr\r\n 34 pwd\r\n 35 ls\r\n 36 cd /usr/bin\r\n 37 pwd\r\n 38 : '\r\n 39 The path \"/usr/bin\" is called \"absolute\", since it shows the full\r\n 40 path, starting from the \"root\" (\"/\").\r\n 41 '\r\n 42 : ## 4. Go to the directory one level up:\r\n 43 cd ..\r\n 44 pwd\r\n 45 : '\r\n 46 Two dots (\"..\") represent the \"parent\" of the current directory.\r\n 47 '\r\n 48 : '\r\n 49 A single dot (\".\") represents the current directory:\r\n 50 '\r\n:\u001b[K\u0007\r\u001b[K:\u001b[K"] [23.181183, "o", "\u0007\r\u001b[K:\u001b[K\r\u001b[K 51 cd .\r\n 52 pwd\r\n 53 : ## 5. Use a relative path:\r\n 54 cd bin\r\n 55 pwd\r\n 56 : '\r\n 57 The directory \"bin\" is relative to the current one (in this case \"/usr\").\r\n 58 '\r\n 59 : ## 6. Go to the previous current directory:\r\n 60 cd /var/log\r\n 61 cd -\r\n 62 : ## 7. Go to the home directory:\r\n 63 cd\r\n 64 cd ~\r\n 65 : '\r\n 66 The tilde (\"~\") represents the home directory of the current user.\r\n 67 '\r\n 68 : # Lesson 01: Part 1: First commands\r\n 69 : ## 1. Display the current date and time\r\n 70 date\r\n 71 date +%Y-%m-%d\r\n 72 : ## 2. Display a calendar of the current month\r\n 73 cal\r\n:\u001b[K\u0007\r\u001b[K:\u001b[K"] [24.1814, "o", "\r\u001b[K"] [24.182502, "o", "...skipping...\r\n 834 history\r\n 835 history | less\r\n 836 history | tail\r\n 837 history | tail -n 20\r\n 838 history | grep man\r\n 839 : ## 2. The history is kept in the file `~/.bash_history`\r\n 840 echo $HISTFILE\r\n 841 ls $HISTFILE\r\n 842 tail ~/.bash_history\r\n 843 : '\r\n 844 Notice that the latest commands are not there.\r\n 845 Bash maintains the list of commands internally in memory while it is runn \bing,\r\n 846 and writes it to the history file on exit.\r\n 847 Let us tell Bash to \"append\" the command list to the history file now:\r\n 848 '\r\n 849 history -a\r\n 850 exit\r\n 851 : # Lesson 02: Part 3: Command history\r\n 852 : ## 1. The command `history` can be used\r\n 853 : # to display the history of the typed commands\r\n 854 history\r\n 855 history | less\r\n\u001b[7m(END)\u001b[27m\u001b[K"] [25.182263, "o", "\r\u001b[K\u001b[?1l\u001b>\u001b[?1049l\u001b[23;0;0t"] [25.182776, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [26.181927, "o", "\r\n\u001b[?2004l\r\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [27.366892, "o", "h"] [27.437286, "o", "i"] [27.491177, "o", "s"] [27.518287, "o", "t"] [27.679119, "o", "o"] [27.733281, "o", "r"] [27.7601, "o", "y"] [27.897768, "o", " "] [28.045574, "o", "|"] [28.149413, "o", " "] [28.168815, "o", "t"] [28.221341, "o", "a"] [28.308003, "o", "i"] [28.432112, "o", "l"] [28.459717, "o", "\r\n\u001b[?2004l\r"] [28.459757, "o", "\u001b[00m"] [28.460157, "o", "\u001b[00m"] [28.461916, "o", " 847 Let us tell Bash to \"append\" the command list to the history file now:\r\n 848 '\r\n 849 history -a\r\n 850 exit\r\n 851 : # Lesson 02: Part 3: Command history\r\n 852 : ## 1. The command `history` can be used\r\n 853 : # to display the history of the typed commands\r\n 854 history\r\n 855 history | less\r\n 856 history | tail\r\n"] [28.461994, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [29.45987, "o", "\r\n\u001b[?2004l\r\u001b[?2004h"] [29.460099, "o", "\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [30.52559, "o", "h"] [30.569295, "o", "i"] [30.689275, "o", "s"] [30.70936, "o", "t"] [30.816128, "o", "o"] [30.845432, "o", "r"] [30.852654, "o", "y"] [30.924757, "o", " "] [30.991782, "o", "|"] [30.99349, "o", " "] [31.02847, "o", "t"] [31.161247, "o", "a"] [31.276259, "o", "i"] [31.377957, "o", "l"] [31.503541, "o", " "] [31.628836, "o", "-"] [31.755436, "o", "n"] [31.873611, "o", " "] [31.993273, "o", "2"] [32.037246, "o", "0"] [32.089195, "o", "\r\n\u001b[?2004l\r"] [32.089581, "o", "\u001b[00m"] [32.090193, "o", "\u001b[00m"] [32.092918, "o", " 838 history | grep man\r\n 839 : ## 2. The history is kept in the file `~/.bash_history`\r\n 840 echo $HISTFILE\r\n 841 ls $HISTFILE\r\n 842 tail ~/.bash_history\r\n 843 : '\r\n 844 Notice that the latest commands are not there.\r\n 845 Bash maintains the list of commands internally in memory while it is running,\r\n 846 and writes it to the history file on exit.\r\n 847 Let us tell Bash to \"append\" the command list to the history file now:\r\n 848 '\r\n 849 history -a\r\n 850 exit\r\n 851 : # Lesson 02: Part 3: Command history\r\n 852 : ## 1. The command `history` can be used\r\n 853 : # to display the history of the typed commands\r\n 854 history\r\n 855 history | less\r\n 856 history | tail\r\n 857 history | tail -n 20\r\n"] [32.093514, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [33.089028, "o", "\r\n\u001b[?2004l\r"] [33.089372, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [34.184249, "o", "h"] [34.246529, "o", "i"] [34.397998, "o", "s"] [34.469042, "o", "t"] [34.486452, "o", "o"] [34.505234, "o", "r"] [34.508331, "o", "y"] [34.543012, "o", " "] [34.637536, "o", "|"] [34.777557, "o", " "] [34.826919, "o", "g"] [34.90272, "o", "r"] [34.921494, "o", "e"] [35.009002, "o", "p"] [35.316175, "o", " "] [35.368419, "o", "m"] [35.430665, "o", "a"] [35.468162, "o", "n"] [35.528061, "o", "\r\n\u001b[?2004l\r"] [35.528162, "o", "\u001b[00m"] [35.52901, "o", "\u001b[00m"] [35.532246, "o", " 4 : # Lesson 01: Part 1: First com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds\r\n 21 The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `cd` (change directory) is used to move from one directory\r\n 22 to another. The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `pwd` (print working directory) shows the\r\n 23 current location. The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `ls` (list) shows the content of the\r\n 68 : # Lesson 01: Part 1: First com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds\r\n 85 The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `cd` (change directory) is used to move to another directory.\r\n 86 The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `pwd` (print working directory) shows the current location.\r\n 87 The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `ls` (list) shows the content of the current working directory.\r\n 132 : # Lesson 01: Part 3: Com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd options\r\n 133 : # Let's see some options of the com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `ls`.\r\n 150 To make the size more readable we can use the option `--hu\u001b[01;31m\u001b[Kman\u001b[m\u001b[K-readable`\r\n 152 ls -l --hu\u001b[01;31m\u001b[Kman\u001b[m\u001b[K-readable /bin/b* /bin/c*\r\n 159 In order to modify the previous com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd,\r\n 160 you can use the up-arrow key on the keyboard to display the previous com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd,\r\n 161 use left-arrow and right-arrow keys to locate the cursor, modify the com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd,\r\n 182 (like `--reverse` or `--hu\u001b[01;31m\u001b[Kman\u001b[m\u001b[K-readable`)\r\n 188 It seems like the short options are more convenient when writing com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds.\r\n 197 determine its contents with the com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `file`.\r\n 218 Shell scripts are like programs and contain Linux com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds.\r\n 223 The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `less` displays the contents of a \"text\" file.\r\n 235 As you see, \"text\" files have a content that is readable by hu\u001b[01;31m\u001b[Kman\u001b[m\u001b[Ks,\r\n 237 by hu\u001b[01;31m\u001b[Kman\u001b[m\u001b[Ks (but it may be read and interpreted by some programs).\r\n 252 and almost all of them are text files (readable and writable by hu\u001b[01;31m\u001b[Kman\u001b[m\u001b[Ks).\r\n 254 : ## 5. In contrast, the files on `/bin` are programs or com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds\r\n 305 determine its contents with the com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `file`.\r\n 326 Shell scripts are like programs and contain Linux com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds.\r\n 331 The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `less` displays the contents of a \"text\" file.\r\n 343 As you see, \"text\" files have a content that is readable by hu\u001b[01;31m\u001b[Kman\u001b[m\u001b[Ks,\r\n 345 by hu\u001b[01;31m\u001b[Kman\u001b[m\u001b[Ks (but it may be read and interpreted by some programs).\r\n 360 and almost all of them are text files (readable and writable by hu\u001b[01;31m\u001b[Kman\u001b[m\u001b[Ks).\r\n 363 : # are programs or com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds\r\n"] [35.532582, "o", " 409 To work with files and directories we can use these com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds:\r\n 431 The option `-v` makes the com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd \"verbose\".\r\n 434 The option `-i` makes the com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd \"interactive\".\r\n 539 To work with files and directories we can use these com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds:\r\n 561 The option `-v` makes the com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd \"verbose\".\r\n 565 The option `-i` makes the com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd \"interactive\".\r\n 665 : # Lesson 02: Part 2: Some com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds about com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds\r\n 666 : ## 1. The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `type` displays the type of a com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd\r\n 671 The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `cp` is an executable program located on `/usr/bin/cp`.\r\n 673 : ## 2. The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `which` displays the location of an executable\r\n 677 The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `cd` is not an executable but a shell builtin com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd.\r\n 680 : ## 3. The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `help` displays a help page\r\n 681 : # for the shell builtin com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds\r\n"] [35.532978, "o", " 685 The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `mkdir` is not a shell builtin.\r\n 689 : ## 5. The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `\u001b[01;31m\u001b[Kman\u001b[m\u001b[K` displays the \u001b[01;31m\u001b[Kman\u001b[m\u001b[Kual page of a program:\r\n 690 \u001b[01;31m\u001b[Kman\u001b[m\u001b[K ls\r\n 691 : # Exit with 'q' from a \u001b[01;31m\u001b[Kman\u001b[m\u001b[K page.\r\n 694 where section 1 for example is about user com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds,\r\n 696 So, these two com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds will display different \u001b[01;31m\u001b[Kman\u001b[m\u001b[Kual pages:\r\n 698 \u001b[01;31m\u001b[Kman\u001b[m\u001b[K passwd\r\n 699 \u001b[01;31m\u001b[Kman\u001b[m\u001b[K 5 passwd\r\n 700 : ## 6. The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `info` is another way to display \u001b[01;31m\u001b[Kman\u001b[m\u001b[Kual pages\r\n 703 : ## 7. The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `apropos` displays appropriate com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds\r\n 706 \u001b[01;31m\u001b[Kman\u001b[m\u001b[K -k passwd\r\n 708 It makes a simple search on \u001b[01;31m\u001b[Kman\u001b[m\u001b[K pages for the term `passwd`.\r\n 710 : ## 8. The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `whatis` displays a very brief description of a com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd\r\n 712 : ## 9. The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `alias` is used to create new com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds\r\n 725 : # Lesson 02: Part 3: Com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd history\r\n 726 : ## 1. The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `history` can be used\r\n 727 : # to display the history of the typed com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds\r\n 732 history | grep \u001b[01;31m\u001b[Kman\u001b[m\u001b[K\r\n 738 Notice that the latest com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds are not there.\r\n 739 Bash maintains the list of com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds internally in memory while it is running,\r\n 741 Let us tell Bash to \"append\" the com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd list to the history file now:\r\n 751 : # Lesson 02: Part 3: Com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd history\r\n 752 : ## 1. The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `history` can be used\r\n 753 : # to display the history of the typed com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds\r\n 758 history | grep \u001b[01;31m\u001b[Kman\u001b[m\u001b[K\r\n 764 Notice that the latest com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds are not there.\r\n 765 Bash maintains the list of com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds internally in memory while it is running,\r\n 767 Let us tell Bash to \"append\" the com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd list to the history file now:\r\n 771 : ## 3. We can re-run a previous com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd like this:\r\n 775 Rerun the com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd which has the given number on the list.\r\n 779 Rerun the last com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd that _starts_ with `ls`.\r\n 783 Rerun the last com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd that _contains_ `tail`.\r\n 786 : ## 4. We can recall the previous com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds also by pressing the up-arrow multiple times.\r\n 788 Rerun the last com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd that _starts_ with `ls`.\r\n 790 : ## 5. However the most useful way to rerun previous com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds is searching interactively, with keyboard shortcuts.\r\n 794 starting from the last com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd.\r\n 795 While we start typing the search text it will display the last com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd\r\n 799 Otherwise we can keep pressing \"Ctrl-r\" to get the next matching com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd,\r\n 812 : # Lesson 02: Part 3: Com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd history\r\n 813 : ## 1. The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `history` can be used\r\n 814 : # to display the history of the typed com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds\r\n 819 history | grep \u001b[01;31m\u001b[Kman\u001b[m\u001b[K\r\n 825 Notice that the latest com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds are not there.\r\n 826 Bash maintains the list of com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds internally in memory while it is running,\r\n 828 Let us tell Bash to \"append\" the com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd list to the history file now:\r\n 831 : # Lesson 02: Part 3: Com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd history\r\n 832 : ## 1. The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `history` can be used\r\n 833 : # to display the history of the typed com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds\r\n 838 history | grep \u001b[01;31m\u001b[Kman\u001b[m\u001b[K\r\n 844 Notice that the latest com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds are not there.\r\n 845 Bash maintains the list of com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds internally in memory while it is running,\r\n 847 Let us tell Bash to \"append\" the com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd list to the history file now:\r\n 851 : # Lesson 02: Part 3: Com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd history\r\n 852 : ## 1. The com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kd `history` can be used\r\n 853 : # to display the history of the typed com\u001b[01;31m\u001b[Kman\u001b[m\u001b[Kds\r\n 858 history | grep \u001b[01;31m\u001b[Kman\u001b[m\u001b[K\r\n"] [35.533645, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [36.528205, "o", "\r\n\u001b[?2004l\r"] [36.528362, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [37.527767, "m", ""] [38.671132, "o", ":"] [38.678762, "o", " "] [38.77511, "o", "#"] [38.874265, "o", "#"] [38.93369, "o", " "] [38.988787, "o", "2"] [38.997933, "o", "."] [39.040298, "o", " "] [39.112293, "o", "T"] [39.22481, "o", "h"] [39.270275, "o", "e"] [39.301787, "o", " "] [39.343671, "o", "h"] [39.371758, "o", "i"] [39.442958, "o", "s"] [39.477644, "o", "t"] [39.52138, "o", "o"] [39.54017, "o", "r"] [39.574306, "o", "y"] [39.716779, "o", " "] [39.822999, "o", "i"] [39.879037, "o", "s"] [39.964028, "o", " "] [40.040677, "o", "k"] [40.095055, "o", "e"] [40.217741, "o", "p"] [40.25189, "o", "t"] [40.271454, "o", " "] [40.328573, "o", "i"] [40.41459, "o", "n"] [40.437024, "o", " "] [40.503736, "o", "t"] [40.568891, "o", "h"] [40.6561, "o", "e"] [40.694302, "o", " "] [40.798459, "o", "f"] [40.841176, "o", "i"] [40.916816, "o", "l"] [40.928104, "o", "e"] [40.994945, "o", " "] [40.99687, "o", "`"] [41.001087, "o", "~"] [41.156986, "o", "/"] [41.231199, "o", "."] [41.286417, "o", "b"] [41.333032, "o", "a"] [41.413, "o", "s"] [41.426906, "o", "h"] [41.493366, "o", "_"] [41.617519, "o", "h"] [41.733858, "o", "i"] [41.767862, "o", "s"] [41.887983, "o", "t"] [41.909798, "o", "o"] [41.924026, "o", "r"] [42.007733, "o", "y"] [42.16537, "o", "`"] [42.17104, "o", "\r\n\u001b[?2004l\r"] [42.171603, "o", "\u001b[00m\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [43.171582, "o", "\r\n\u001b[?2004l\r"] [43.171684, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [44.186264, "o", "e"] [44.247438, "o", "c"] [44.274404, "o", "h"] [44.413035, "o", "o"] [44.52694, "o", " "] [44.609865, "o", "$"] [44.707238, "o", "H"] [44.764155, "o", "I"] [44.851454, "o", "S"] [44.867054, "o", "T"] [44.878844, "o", "F"] [44.935485, "o", "I"] [44.952593, "o", "L"] [45.086206, "o", "E"] [45.218076, "o", "\r\n\u001b[?2004l\r\u001b[00m"] [45.218115, "o", "/home/user1/.bash_history\r\n\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [46.218763, "o", "\r\n\u001b[?2004l\r"] [46.218867, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [47.342449, "o", "l"] [47.383857, "o", "s"] [47.412929, "o", " "] [47.448809, "o", "$"] [47.571707, "o", "H"] [47.592954, "o", "I"] [47.692163, "o", "S"] [47.730922, "o", "T"] [47.777033, "o", "F"] [47.855673, "o", "I"] [47.878864, "o", "L"] [47.936401, "o", "E"] [47.985141, "o", "\r\n\u001b[?2004l\r\u001b[00m"] [47.988459, "o", "/home/user1/.bash_history\r\n"] [47.989036, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [48.985407, "o", "\r\n\u001b[?2004l\r"] [48.985501, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [50.00085, "o", "t"] [50.152757, "o", "a"] [50.271823, "o", "i"] [50.42933, "o", "l"] [50.50532, "o", " "] [50.509843, "o", "~"] [50.529291, "o", "/"] [50.663644, "o", "."] [50.712771, "o", "b"] [50.717298, "o", "a"] [50.77032, "o", "s"] [50.808362, "o", "h"] [50.832937, "o", "_"] [50.863789, "o", "h"] [50.952585, "o", "i"] [50.977081, "o", "s"] [51.070271, "o", "t"] [51.128694, "o", "o"] [51.167861, "o", "r"] [51.185293, "o", "y"] [51.196477, "o", "\r\n\u001b[?2004l\r"] [51.196575, "o", "\u001b[00m"] [51.199041, "o", "ls $HISTFILE\r\ntail ~/.bash_history\r\n: '\r\nNotice that the latest commands are not there.\r\nBash maintains the list of commands internally in memory while it is running,\r\nand writes it to the history file on exit.\r\nLet us tell Bash to \"append\" the command list to the history file now:\r\n'\r\nhistory -a\r\nexit\r\n"] [51.199579, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [52.195905, "o", "\r\n\u001b[?2004l\r"] [52.195995, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [53.203015, "o", ":"] [53.221804, "o", " "] [53.251052, "o", "'"] [53.278452, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [54.313533, "o", "N"] [54.434202, "o", "o"] [54.491983, "o", "t"] [54.524717, "o", "i"] [54.621788, "o", "c"] [54.667304, "o", "e"] [54.672168, "o", " "] [54.71012, "o", "t"] [54.745679, "o", "h"] [54.75018, "o", "a"] [54.819765, "o", "t"] [54.827702, "o", " "] [54.850439, "o", "t"] [54.870975, "o", "h"] [54.952479, "o", "e"] [54.963047, "o", " "] [55.019184, "o", "l"] [55.040541, "o", "a"] [55.112305, "o", "t"] [55.260754, "o", "e"] [55.381515, "o", "s"] [55.403495, "o", "t"] [55.519694, "o", " "] [55.540128, "o", "c"] [55.574344, "o", "o"] [55.652844, "o", "m"] [55.799113, "o", "m"] [55.889316, "o", "a"] [55.903735, "o", "n"] [55.957473, "o", "d"] [56.033216, "o", "s"] [56.10189, "o", " "] [56.171756, "o", "a"] [56.197641, "o", "r"] [56.30579, "o", "e"] [56.34082, "o", " "] [56.358691, "o", "n"] [56.396887, "o", "o"] [56.467655, "o", "t"] [56.589346, "o", " "] [56.652915, "o", "t"] [56.790031, "o", "h"] [56.851756, "o", "e"] [56.908663, "o", "r"] [56.924333, "o", "e"] [56.978168, "o", "."] [57.026329, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [58.219053, "o", "B"] [58.250652, "o", "a"] [58.27552, "o", "s"] [58.296008, "o", "h"] [58.318932, "o", " "] [58.456822, "o", "m"] [58.622433, "o", "a"] [58.691973, "o", "i"] [58.762671, "o", "n"] [58.783411, "o", "t"] [58.883468, "o", "a"] [59.030357, "o", "i"] [59.116515, "o", "n"] [59.277314, "o", "s"] [59.460525, "o", " "] [59.579892, "o", "t"] [59.601606, "o", "h"] [59.656112, "o", "e"] [59.656668, "o", " "] [59.697094, "o", "l"] [59.715756, "o", "i"] [59.734379, "o", "s"] [59.74395, "o", "t"] [59.781621, "o", " "] [59.889982, "o", "o"] [59.925072, "o", "f"] [60.003045, "o", " "] [60.024935, "o", "c"] [60.128021, "o", "o"] [60.175443, "o", "m"] [60.282305, "o", "m"] [60.326895, "o", "a"] [60.381903, "o", "n"] [60.408373, "o", "d"] [60.428867, "o", "s"] [60.560832, "o", " "] [60.656631, "o", "i"] [60.736349, "o", "n"] [60.778532, "o", "t"] [60.797818, "o", "e"] [60.814261, "o", "r"] [60.998844, "o", "n"] [61.138099, "o", "a"] [61.243534, "o", "l"] [61.247639, "o", "l"] [61.315062, "o", "y"] [61.35392, "o", " "] [61.388676, "o", "i"] [61.416461, "o", "n"] [61.565123, "o", " "] [61.6458, "o", "m"] [61.799586, "o", "e"] [61.959146, "o", "m"] [61.962917, "o", "o"] [62.068636, "o", "r"] [62.152247, "o", "y"] [62.178936, "o", " "] [62.204092, "o", "w"] [62.249153, "o", "h"] [62.31481, "o", "i"] [62.418081, "o", "l"] [62.49172, "o", "e"] [62.503395, "o", " "] [62.524799, "o", "i"] [62.570073, "o", "t"] [62.686997, "o", " "] [62.799752, "o", "i"] [62.80483, "o", "s"] [62.9309, "o", " "] [63.064044, "o", "r"] [63.148709, "o", "u"] [63.21904, "o", "n"] [63.258968, "o", "n"] [63.286863, "o", "i"] [63.48381, "o", "n"] [63.582048, "o", "g"] [63.601039, "o", ","] [63.607441, "o", "\r\n"] [63.607495, "o", "\u001b[?2004l\r"] [63.607733, "o", "\u001b[?2004h> "] [64.789515, "o", "a"] [64.846141, "o", "n"] [64.852002, "o", "d"] [64.871776, "o", " "] [64.892079, "o", "w"] [64.921864, "o", "r"] [65.066867, "o", "i"] [65.119569, "o", "t"] [65.125887, "o", "e"] [65.14354, "o", "s"] [65.152978, "o", " "] [65.211432, "o", "i"] [65.245236, "o", "t"] [65.277967, "o", " "] [65.362729, "o", "t"] [65.363924, "o", "o"] [65.534181, "o", " "] [65.567598, "o", "t"] [65.579874, "o", "h"] [65.715689, "o", "e"] [65.754114, "o", " "] [65.80087, "o", "h"] [65.816973, "o", "i"] [65.891351, "o", "s"] [66.017272, "o", "t"] [66.040249, "o", "o"] [66.081458, "o", "r"] [66.165449, "o", "y"] [66.248524, "o", " "] [66.366179, "o", "f"] [66.430485, "o", "i"] [66.515447, "o", "l"] [66.61614, "o", "e"] [66.67809, "o", " "] [66.780009, "o", "o"] [66.837874, "o", "n"] [66.871018, "o", " "] [66.918311, "o", "e"] [67.01406, "o", "x"] [67.038942, "o", "i"] [67.080472, "o", "t"] [67.198456, "o", "."] [67.254515, "o", "\r\n\u001b[?2004l\r"] [67.254662, "o", "\u001b[?2004h> "] [68.262879, "o", "L"] [68.271432, "o", "e"] [68.320657, "o", "t"] [68.368012, "o", " "] [68.400531, "o", "u"] [68.497764, "o", "s"] [68.579879, "o", " "] [68.684666, "o", "t"] [68.833768, "o", "e"] [68.863155, "o", "l"] [68.9723, "o", "l"] [69.007634, "o", " "] [69.067054, "o", "B"] [69.265145, "o", "a"] [69.285184, "o", "s"] [69.298106, "o", "h"] [69.340925, "o", " "] [69.400288, "o", "t"] [69.530499, "o", "o"] [69.566275, "o", " "] [69.644596, "o", "\""] [69.808535, "o", "a"] [69.866457, "o", "p"] [69.980545, "o", "p"] [70.01818, "o", "e"] [70.02841, "o", "n"] [70.152609, "o", "d"] [70.298101, "o", "\""] [70.374111, "o", " "] [70.461218, "o", "t"] [70.499061, "o", "h"] [70.716727, "o", "e"] [70.86487, "o", " "] [70.962634, "o", "c"] [71.01139, "o", "o"] [71.131853, "o", "m"] [71.13601, "o", "m"] [71.272081, "o", "a"] [71.319817, "o", "n"] [71.34552, "o", "d"] [71.516932, "o", " "] [71.603905, "o", "l"] [71.653632, "o", "i"] [71.748567, "o", "s"] [71.824266, "o", "t"] [71.91492, "o", " "] [71.970191, "o", "t"] [72.0186, "o", "o"] [72.056082, "o", " "] [72.150851, "o", "t"] [72.219783, "o", "h"] [72.339967, "o", "e"] [72.413004, "o", " "] [72.506644, "o", "h"] [72.512137, "o", "i"] [72.603321, "o", "s"] [72.678648, "o", "t"] [72.759827, "o", "o"] [72.891931, "o", "r"] [72.906049, "o", "y"] [72.944752, "o", " "] [72.96477, "o", "f"] [73.092486, "o", "i"] [73.12809, "o", "l"] [73.142228, "o", "e"] [73.164094, "o", " "] [73.26192, "o", "n"] [73.316434, "o", "o"] [73.408212, "o", "w"] [73.483454, "o", ":"] [73.528309, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [74.549342, "o", "'"] [74.584282, "o", "\r\n\u001b[?2004l\r"] [74.584377, "o", "\u001b[00m\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [75.623955, "o", "h"] [75.693052, "o", "i"] [75.783759, "o", "s"] [75.911886, "o", "t"] [75.924642, "o", "o"] [76.037992, "o", "r"] [76.156057, "o", "y"] [76.325652, "o", " "] [76.422146, "o", "-"] [76.554842, "o", "a"] [76.61097, "o", "\r\n\u001b[?2004l\r"] [76.611357, "o", "\u001b[00m"] [76.611743, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [77.61143, "o", "\r\n\u001b[?2004l\r\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [78.653267, "o", "t"] [78.694999, "o", "a"] [78.804655, "o", "i"] [78.862954, "o", "l"] [78.936707, "o", " "] [78.994543, "o", "~"] [79.033801, "o", "/"] [79.105005, "o", "."] [79.129816, "o", "b"] [79.252308, "o", "a"] [79.33084, "o", "s"] [79.337509, "o", "h"] [79.385224, "o", "_"] [79.489189, "o", "h"] [79.554456, "o", "i"] [79.641998, "o", "s"] [79.684152, "o", "t"] [79.737235, "o", "o"] [79.774772, "o", "r"] [79.83999, "o", "y"] [79.88815, "o", "\r\n\u001b[?2004l\r\u001b[00m"] [79.890636, "o", "echo $HISTFILE\r\nls $HISTFILE\r\ntail ~/.bash_history\r\n: '\r\nNotice that the latest commands are not there.\r\nBash maintains the list of commands internally in memory while it is running,\r\nand writes it to the history file on exit.\r\nLet us tell Bash to \"append\" the command list to the history file now:\r\n'\r\nhistory -a\r\n"] [79.891282, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [80.888454, "o", "\r\n\u001b[?2004l\r\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [81.888209, "m", ""] [82.907631, "o", ":"] [82.926758, "o", " "] [82.979653, "o", "#"] [82.990894, "o", "#"] [83.147696, "o", " "] [83.187872, "o", "3"] [83.305471, "o", "."] [83.333702, "o", " "] [83.408348, "o", "W"] [83.471595, "o", "e"] [83.474764, "o", " "] [83.560389, "o", "c"] [83.56113, "o", "a"] [83.666484, "o", "n"] [83.673793, "o", " "] [83.740176, "o", "r"] [83.793875, "o", "e"] [83.846091, "o", "-"] [83.850835, "o", "r"] [83.921598, "o", "u"] [84.066437, "o", "n"] [84.124289, "o", " "] [84.152216, "o", "a"] [84.199335, "o", " "] [84.311113, "o", "p"] [84.341897, "o", "r"] [84.361188, "o", "e"] [84.457939, "o", "v"] [84.511943, "o", "i"] [84.633601, "o", "o"] [84.712613, "o", "u"] [84.861946, "o", "s"] [84.921172, "o", " "] [84.950947, "o", "c"] [84.970587, "o", "o"] [85.095154, "o", "m"] [85.165556, "o", "m"] [85.264549, "o", "a"] [85.343755, "o", "n"] [85.368179, "o", "d"] [85.458482, "o", " "] [85.548993, "o", "l"] [85.553222, "o", "i"] [85.631953, "o", "k"] [85.708811, "o", "e"] [85.909795, "o", " "] [85.924148, "o", "t"] [85.96991, "o", "h"] [85.981839, "o", "i"] [86.062956, "o", "s"] [86.083997, "o", ":"] [86.186963, "o", "\r\n\u001b[?2004l\r"] [86.187106, "o", "\u001b[00m"] [86.18773, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [87.187191, "o", "\r\n\u001b[?2004l\r"] [87.187397, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [88.30257, "o", "h"] [88.401581, "o", "i"] [88.50898, "o", "s"] [88.558072, "o", "t"] [88.675805, "o", "o"] [88.706987, "o", "r"] [88.838889, "o", "y"] [88.984545, "o", " "] [89.013161, "o", "|"] [89.015938, "o", " "] [89.032971, "o", "h"] [89.052422, "o", "e"] [89.161343, "o", "a"] [89.294155, "o", "d"] [89.324046, "o", " "] [89.468465, "o", "-"] [89.538143, "o", "n"] [89.65454, "o", " "] [89.715854, "o", "8"] [89.76598, "o", "0"] [89.815741, "o", " "] [89.965013, "o", "|"] [90.054689, "o", " "] [90.171821, "o", "t"] [90.209077, "o", "a"] [90.227952, "o", "i"] [90.234283, "o", "l"] [90.332862, "o", "\r\n\u001b[?2004l\r"] [90.332961, "o", "\u001b[00m"] [90.333601, "o", "\u001b[00m"] [90.334049, "o", "\u001b[00m"] [90.33635, "o", " 71 date +%Y-%m-%d\r\n 72 : ## 2. Display a calendar of the current month\r\n 73 cal\r\n 74 : # for another month:\r\n 75 cal 5 2020\r\n 76 : ## 3. Check how much free space there is on the disk drives\r\n 77 df\r\n 78 df -h\r\n 79 df -h /\r\n 80 : ## 4. Display the amount of the free memory\r\n"] [90.336999, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [91.333222, "o", "\r\n\u001b[?2004l\r"] [91.333317, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [92.374642, "o", "!"] [92.453544, "o", "7"] [92.479888, "o", "5"] [92.590636, "o", "\r\n\u001b[?2004l\rcal 5 2020\r\n"] [92.590736, "o", "\u001b[00m"] [92.593662, "o", " May 2020 \r\nSu Mo Tu We Th Fr Sa \r\n 1 2 \r\n 3 4 5 6 7 8 9 \r\n10 11 12 13 14 15 16 \r\n17 18 19 20 21 22 23 \r\n24 25 26 27 28 29 30 \r\n31 \r\n"] [92.594144, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [93.590914, "o", "\r\n\u001b[?2004l\r"] [93.591054, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [94.713044, "o", ":"] [94.740794, "o", " "] [94.745839, "o", "'"] [94.807105, "o", "\r\n\u001b[?2004l\r"] [94.807494, "o", "\u001b[?2004h> "] [95.986072, "o", "R"] [96.012986, "o", "e"] [96.04758, "o", "r"] [96.086688, "o", "u"] [96.206044, "o", "n"] [96.34177, "o", " "] [96.47883, "o", "t"] [96.585529, "o", "h"] [96.616309, "o", "e"] [96.677028, "o", " "] [96.700128, "o", "c"] [96.836934, "o", "o"] [96.962942, "o", "m"] [97.073053, "o", "m"] [97.096214, "o", "a"] [97.166834, "o", "n"] [97.270036, "o", "d"] [97.357757, "o", " "] [97.425836, "o", "w"] [97.468463, "o", "h"] [97.500832, "o", "i"] [97.591904, "o", "c"] [97.703015, "o", "h"] [97.727976, "o", " "] [97.809707, "o", "h"] [97.90133, "o", "a"] [97.902227, "o", "s"] [97.974252, "o", " "] [98.073017, "o", "t"] [98.170131, "o", "h"] [98.22258, "o", "e"] [98.24829, "o", " "] [98.256126, "o", "g"] [98.413031, "o", "i"] [98.419382, "o", "v"] [98.550876, "o", "e"] [98.55445, "o", "n"] [98.556245, "o", " "] [98.647998, "o", "n"] [98.727438, "o", "u"] [98.772894, "o", "m"] [98.814753, "o", "b"] [98.847999, "o", "e"] [98.885768, "o", "r"] [98.963456, "o", " "] [98.965054, "o", "o"] [99.049456, "o", "n"] [99.067834, "o", " "] [99.19382, "o", "t"] [99.222127, "o", "h"] [99.276893, "o", "e"] [99.328852, "o", " "] [99.398059, "o", "l"] [99.403666, "o", "i"] [99.517137, "o", "s"] [99.654116, "o", "t"] [99.666687, "o", "."] [99.726028, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [100.870485, "o", "'"] [100.927573, "o", "\r\n\u001b[?2004l\r"] [100.927708, "o", "\u001b[00m\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [101.928108, "o", "\r\n\u001b[?2004l\r"] [101.928207, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [102.930565, "o", "!"] [102.956377, "o", "l"] [103.009152, "o", "s"] [103.123412, "o", "\r\n\u001b[?2004l\rls $HISTFILE\r\n\u001b[00m"] [103.126663, "o", "/home/user1/.bash_history\r\n"] [103.12694, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [104.125563, "o", ":"] [104.201453, "o", " "] [104.239666, "o", "'"] [104.269208, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [105.287928, "o", "R"] [105.382636, "o", "e"] [105.390746, "o", "r"] [105.446454, "o", "u"] [105.523709, "o", "n"] [105.541669, "o", " "] [105.674684, "o", "t"] [105.712787, "o", "h"] [105.770417, "o", "e"] [105.778613, "o", " "] [105.812368, "o", "l"] [105.883551, "o", "a"] [105.952931, "o", "s"] [106.137068, "o", "t"] [106.28741, "o", " "] [106.317755, "o", "c"] [106.331692, "o", "o"] [106.458847, "o", "m"] [106.462879, "o", "m"] [106.482687, "o", "a"] [106.576499, "o", "n"] [106.649027, "o", "d"] [106.83261, "o", " "] [106.863539, "o", "t"] [106.892694, "o", "h"] [106.986733, "o", "a"] [107.108075, "o", "t"] [107.154044, "o", " "] [107.187535, "o", "_"] [107.196045, "o", "s"] [107.288797, "o", "t"] [107.329538, "o", "a"] [107.363954, "o", "r"] [107.380183, "o", "t"] [107.429745, "o", "s"] [107.44237, "o", "_"] [107.457872, "o", " "] [107.533035, "o", "w"] [107.573863, "o", "i"] [107.726281, "o", "t"] [107.776071, "o", "h"] [107.873284, "o", " "] [108.054518, "o", "`"] [108.081441, "o", "l"] [108.208931, "o", "s"] [108.276128, "o", "`"] [108.342853, "o", "."] [108.385546, "o", "\r\n\u001b[?2004l\r"] [108.385628, "o", "\u001b[?2004h> "] [109.471719, "o", "'"] [109.540524, "o", "\r\n\u001b[?2004l\r\u001b[00m"] [109.540621, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [110.540314, "o", "\r\n\u001b[?2004l\r"] [110.540341, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [111.59655, "o", "!"] [111.651452, "o", "?"] [111.675746, "o", "t"] [111.706962, "o", "a"] [111.754487, "o", "i"] [111.811741, "o", "l"] [111.840642, "o", "\r\n\u001b[?2004l\rhistory | head -n 80 | tail\r\n"] [111.841129, "o", "\u001b[00m"] [111.841595, "o", "\u001b[00m"] [111.842037, "o", "\u001b[00m"] [111.844236, "o", " 71 date +%Y-%m-%d\r\n 72 : ## 2. Display a calendar of the current month\r\n 73 cal\r\n 74 : # for another month:\r\n 75 cal 5 2020\r\n 76 : ## 3. Check how much free space there is on the disk drives\r\n 77 df\r\n 78 df -h\r\n 79 df -h /\r\n 80 : ## 4. Display the amount of the free memory\r\n"] [111.844817, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [112.884327, "o", ":"] [112.949367, "o", " "] [113.097304, "o", "'"] [113.190196, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [114.202441, "o", "R"] [114.206845, "o", "e"] [114.221446, "o", "r"] [114.334897, "o", "u"] [114.338873, "o", "n"] [114.344237, "o", " "] [114.346952, "o", "t"] [114.43786, "o", "h"] [114.579492, "o", "e"] [114.76146, "o", " "] [114.851752, "o", "l"] [114.895182, "o", "a"] [114.930953, "o", "s"] [115.097123, "o", "t"] [115.188661, "o", " "] [115.193717, "o", "c"] [115.229432, "o", "o"] [115.290837, "o", "m"] [115.356414, "o", "m"] [115.422859, "o", "a"] [115.504025, "o", "n"] [115.643193, "o", "d"] [115.654088, "o", " "] [115.725549, "o", "t"] [115.824546, "o", "h"] [115.850546, "o", "a"] [115.98444, "o", "t"] [116.130352, "o", " "] [116.200122, "o", "_"] [116.25077, "o", "c"] [116.385756, "o", "o"] [116.478565, "o", "n"] [116.559751, "o", "t"] [116.615423, "o", "a"] [116.760361, "o", "i"] [116.83344, "o", "n"] [116.852824, "o", "s"] [116.938618, "o", "_"] [117.011813, "o", " "] [117.098244, "o", "`"] [117.116085, "o", "t"] [117.171093, "o", "a"] [117.308544, "o", "i"] [117.37265, "o", "l"] [117.46238, "o", "`"] [117.593127, "o", "."] [117.619488, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [118.672728, "o", "'"] [118.677706, "o", "\r\n\u001b[?2004l\r"] [118.6778, "o", "\u001b[00m\u001b[?2004h"] [118.677912, "o", "\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [119.67756, "o", "\r\n\u001b[?2004l\r"] [119.677814, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [120.832065, "o", "h"] [121.012989, "o", "i"] [121.025404, "o", "s"] [121.141353, "o", "t"] [121.145288, "o", "o"] [121.177511, "o", "r"] [121.254921, "o", "y"] [121.271019, "o", " "] [121.330214, "o", "|"] [121.439733, "o", " "] [121.447925, "o", "g"] [121.565419, "o", "r"] [121.629637, "o", "e"] [121.691801, "o", "p"] [121.782699, "o", " "] [121.869641, "o", "t"] [121.920529, "o", "a"] [121.9442, "o", "i"] [121.949385, "o", "l"] [122.041888, "o", "\r\n\u001b[?2004l\r"] [122.041985, "o", "\u001b[00m"] [122.042784, "o", "\u001b[00m"] [122.045964, "o", " 145 where each file is printed on its own line, with more de\u001b[01;31m\u001b[Ktail\u001b[m\u001b[Ks.\r\n 730 history | \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K\r\n 731 history | \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K -n 20\r\n 736 \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K ~/.bash_history\r\n 749 history | head -n 80 | \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K\r\n 756 history | \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K\r\n 757 history | \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K -n 20\r\n 762 \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K ~/.bash_history\r\n 770 \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K ~/.bash_history\r\n"] [122.04633, "o", " 772 history | head -n 80 | \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K\r\n 781 history | head -n 80 | \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K\r\n 783 Rerun the last command that _contains_ `\u001b[01;31m\u001b[Ktail\u001b[m\u001b[K`.\r\n 785 history | grep \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K\r\n 817 history | \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K\r\n 818 history | \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K -n 20\r\n 823 \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K ~/.bash_history\r\n 836 history | \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K\r\n 837 history | \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K -n 20\r\n 842 \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K ~/.bash_history\r\n 856 history | \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K\r\n 857 history | \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K -n 20\r\n 862 \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K ~/.bash_history\r\n 865 \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K ~/.bash_history\r\n 867 history | head -n 80 | \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K\r\n 872 history | head -n 80 | \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K\r\nRerun the last command that _contains_ `\u001b[01;31m\u001b[Ktail\u001b[m\u001b[K`.\r\n 874 history | grep \u001b[01;31m\u001b[Ktail\u001b[m\u001b[K\r\n"] [122.046949, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [123.042247, "o", "\r\n\u001b[?2004l\r"] [123.042347, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [124.041946, "m", ""] [125.074165, "o", ":"] [125.084352, "o", " "] [125.104507, "o", "#"] [125.164689, "o", "#"] [125.183515, "o", " "] [125.208971, "o", "4"] [125.30563, "o", "."] [125.332621, "o", " "] [125.420269, "o", "W"] [125.496296, "o", "e"] [125.508476, "o", " "] [125.622693, "o", "c"] [125.653777, "o", "a"] [125.74768, "o", "n"] [125.825674, "o", " "] [125.85002, "o", "r"] [125.904105, "o", "e"] [125.969319, "o", "c"] [126.009982, "o", "a"] [126.069749, "o", "l"] [126.202388, "o", "l"] [126.347265, "o", " "] [126.355328, "o", "t"] [126.479485, "o", "h"] [126.597321, "o", "e"] [126.616954, "o", " "] [126.669224, "o", "p"] [126.672886, "o", "r"] [126.714131, "o", "e"] [126.810564, "o", "v"] [126.907943, "o", "i"] [126.991104, "o", "o"] [127.042784, "o", "u"] [127.063246, "o", "s"] [127.155364, "o", " "] [127.182283, "o", "c"] [127.230391, "o", "o"] [127.360195, "o", "m"] [127.415604, "o", "m"] [127.485832, "o", "a"] [127.555985, "o", "n"] [127.651226, "o", "d"] [127.701857, "o", "s"] [127.770708, "o", " "] [127.845956, "o", "a"] [127.85043, "o", "l"] [127.908974, "o", "s"] [127.933801, "o", "o"] [127.966643, "o", " "] [128.023988, "o", "b"] [128.0789, "o", "y"] [128.133827, "o", " "] [128.160522, "o", "p"] [128.17304, "o", "r"] [128.260212, "o", "e"] [128.310946, "o", "s"] [128.338864, "o", "s"] [128.42761, "o", "i"] [128.437891, "o", "n"] [128.443652, "o", "g"] [128.469099, "o", " \r"] [128.500982, "o", "t"] [128.53335, "o", "h"] [128.622107, "o", "e"] [128.705259, "o", " "] [128.71834, "o", "u"] [128.82001, "o", "p"] [128.88651, "o", "-"] [128.971871, "o", "a"] [129.043036, "o", "r"] [129.109684, "o", "r"] [129.245571, "o", "o"] [129.306659, "o", "w"] [129.31797, "o", " "] [129.370968, "o", "m"] [129.488886, "o", "u"] [129.617522, "o", "l"] [129.676901, "o", "t"] [129.771517, "o", "i"] [129.964789, "o", "p"] [130.090782, "o", "l"] [130.134874, "o", "e"] [130.177844, "o", " "] [130.311663, "o", "t"] [130.32171, "o", "i"] [130.371776, "o", "m"] [130.442971, "o", "e"] [130.474181, "o", "s"] [130.541055, "o", "."] [130.57888, "o", "\r\n\u001b[?2004l\r\u001b[00m"] [130.579034, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [131.579005, "o", "\r\n\u001b[?2004l\r"] [131.579354, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [132.634565, "o", ": ## 4. We can recall the previous commands also by pressing the up-arrow multiple times."] [133.671155, "o", "\u001b[A\b\b\b\b\b\b\b\b\bhistory | grep tail\u001b[K\r\n\r\u001b[K\u001b[A\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C"] [134.778835, "o", "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b: ' \r\n\rRerun the last command that _contains_ `tail`.\r\n\r'"] [135.79462, "o", "\u001b[A\u001b[A\r\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32mhistory | head -n 80 | tail\r\n\r\u001b[K\r\n\r\u001b[K\u001b[A\u001b[A\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C"] [136.841523, "o", "\r\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C: ' \r\n\rRerun the last command that _starts_ with `ls`.\r\n\r'"] [137.868197, "o", "\u001b[A\u001b[A\r\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32mls $HISTFILE\r\n\r\u001b[K\r\n\r\u001b[K\u001b[A\u001b[A\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C"] [138.868039, "o", "\r\n\u001b[?2004l\r"] [138.868107, "o", "\u001b[00m"] [138.869799, "o", "/home/user1/.bash_history\r\n"] [138.870096, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [139.932292, "o", ":"] [140.010282, "o", " "] [140.046533, "o", "#"] [140.055934, "o", "#"] [140.159409, "o", " "] [140.265556, "o", "5"] [140.390075, "o", "."] [140.399091, "o", " "] [140.485556, "o", "H"] [140.527407, "o", "o"] [140.66517, "o", "w"] [140.669884, "o", "e"] [140.694546, "o", "v"] [140.721418, "o", "e"] [140.868742, "o", "r"] [140.992816, "o", " "] [141.058722, "o", "t"] [141.215009, "o", "h"] [141.223423, "o", "e"] [141.257774, "o", " "] [141.282989, "o", "m"] [141.317251, "o", "o"] [141.416941, "o", "s"] [141.498543, "o", "t"] [141.517575, "o", " "] [141.677827, "o", "u"] [141.73519, "o", "s"] [141.855692, "o", "e"] [141.962732, "o", "f"] [142.008086, "o", "u"] [142.022438, "o", "l"] [142.131948, "o", " "] [142.172832, "o", "w"] [142.277464, "o", "a"] [142.484777, "o", "y"] [142.540905, "o", " "] [142.632461, "o", "t"] [142.6613, "o", "o"] [142.682841, "o", " "] [142.741137, "o", "r"] [142.768081, "o", "e"] [142.780156, "o", "r"] [142.871198, "o", "u"] [142.921693, "o", "n"] [143.010887, "o", " "] [143.131666, "o", "p"] [143.153545, "o", "r"] [143.195415, "o", "e"] [143.220954, "o", "v"] [143.227767, "o", "i"] [143.366745, "o", "o"] [143.408447, "o", "u"] [143.416313, "o", "s"] [143.493295, "o", " "] [143.607986, "o", "c"] [143.662307, "o", "o"] [143.706748, "o", "m"] [143.775454, "o", "m"] [143.88343, "o", "a"] [143.962775, "o", "n"] [144.038195, "o", "d \r"] [144.092267, "o", "s"] [144.24218, "o", " "] [144.330528, "o", "i"] [144.463384, "o", "s"] [144.501727, "o", " "] [144.608255, "o", "s"] [144.709712, "o", "e"] [144.76112, "o", "a"] [144.794957, "o", "r"] [144.815425, "o", "c"] [144.941951, "o", "h"] [145.037447, "o", "i"] [145.03966, "o", "n"] [145.042642, "o", "g"] [145.137164, "o", " "] [145.181419, "o", "i"] [145.328999, "o", "n"] [145.350986, "o", "t"] [145.356699, "o", "e"] [145.440192, "o", "r"] [145.552591, "o", "a"] [145.604347, "o", "c"] [145.726663, "o", "t"] [145.768629, "o", "i"] [145.85111, "o", "v"] [145.867337, "o", "e"] [145.944795, "o", "l"] [146.082404, "o", "y"] [146.141519, "o", ","] [146.305362, "o", " "] [146.447664, "o", "w"] [146.516696, "o", "i"] [146.533248, "o", "t"] [146.550623, "o", "h"] [146.575431, "o", " "] [146.593301, "o", "k"] [146.688065, "o", "e"] [146.738919, "o", "y"] [146.782639, "o", "b"] [146.798983, "o", "o"] [146.810574, "o", "a"] [146.850709, "o", "r"] [146.930746, "o", "d"] [146.960314, "o", " "] [147.097145, "o", "s"] [147.14101, "o", "h"] [147.204043, "o", "o"] [147.206674, "o", "r"] [147.315926, "o", "t"] [147.344073, "o", "c"] [147.366905, "o", "u"] [147.377582, "o", "t"] [147.4253, "o", "s"] [147.540381, "o", "."] [147.58267, "o", "\r\n\u001b[?2004l\r"] [147.582842, "o", "\u001b[00m\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [148.582913, "o", "\r\n\u001b[?2004l\r\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [149.632393, "o", ":"] [149.764686, "o", " "] [149.771512, "o", "'"] [149.785739, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [150.790358, "o", "F"] [150.940588, "o", "o"] [151.031926, "o", "r"] [151.117437, "o", " "] [151.145571, "o", "e"] [151.231188, "o", "x"] [151.326879, "o", "a"] [151.351764, "o", "m"] [151.527444, "o", "p"] [151.602375, "o", "l"] [151.636871, "o", "e"] [151.669201, "o", " "] [151.764725, "o", "t"] [151.917533, "o", "y"] [151.995243, "o", "p"] [152.030106, "o", "i"] [152.103794, "o", "n"] [152.105567, "o", "g"] [152.143381, "o", " "] [152.274943, "o", "\""] [152.290219, "o", "C"] [152.319971, "o", "t"] [152.378723, "o", "r"] [152.463811, "o", "l"] [152.53498, "o", "-"] [152.544487, "o", "r"] [152.565967, "o", "\""] [152.580549, "o", " "] [152.690044, "o", "w"] [152.699745, "o", "i"] [152.783461, "o", "l"] [152.789632, "o", "l"] [152.870064, "o", " "] [152.889362, "o", "s"] [152.896714, "o", "t"] [152.998375, "o", "a"] [153.176105, "o", "r"] [153.287425, "o", "t"] [153.431775, "o", " "] [153.448035, "o", "a"] [153.506984, "o", " "] [153.565292, "o", "r"] [153.677158, "o", "e"] [153.823412, "o", "v"] [153.900062, "o", "e"] [153.926808, "o", "r"] [154.031692, "o", "s"] [154.07142, "o", "e"] [154.096276, "o", " "] [154.184199, "o", "i"] [154.192897, "o", "n"] [154.240503, "o", "c"] [154.313686, "o", "r"] [154.467014, "o", "e"] [154.521565, "o", "m"] [154.535787, "o", "e"] [154.567499, "o", "n"] [154.65003, "o", "t"] [154.704756, "o", "a"] [154.72507, "o", "l"] [154.76803, "o", " "] [154.870181, "o", "s"] [154.871625, "o", "e"] [154.929881, "o", "a"] [154.970821, "o", "r"] [154.992307, "o", "c"] [155.140833, "o", "h"] [155.219445, "o", "."] [155.230084, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [156.245163, "o", "I"] [156.336404, "o", "t"] [156.390937, "o", " "] [156.397747, "o", "i"] [156.479062, "o", "s"] [156.492879, "o", " "] [156.543762, "o", "\""] [156.629891, "o", "r"] [156.636236, "o", "e"] [156.658994, "o", "v"] [156.764113, "o", "e"] [156.828757, "o", "r"] [156.899973, "o", "s"] [156.912069, "o", "e"] [156.930249, "o", "\""] [156.931856, "o", " "] [157.004377, "o", "b"] [157.049009, "o", "e"] [157.125499, "o", "c"] [157.144073, "o", "a"] [157.146999, "o", "u"] [157.193757, "o", "s"] [157.366961, "o", "e"] [157.37304, "o", " "] [157.448518, "o", "i"] [157.494478, "o", "t"] [157.496869, "o", " "] [157.508687, "o", "s"] [157.511433, "o", "e"] [157.524458, "o", "a"] [157.664003, "o", "r"] [157.680328, "o", "c"] [157.691826, "o", "h"] [157.718012, "o", "e"] [157.735752, "o", "s"] [157.765757, "o", " "] [157.832161, "o", "b"] [157.919882, "o", "a"] [157.971, "o", "c"] [157.997499, "o", "k"] [158.087493, "o", "w"] [158.101366, "o", "a"] [158.181131, "o", "r"] [158.241749, "o", "d"] [158.289964, "o", "s"] [158.388479, "o", " "] [158.485686, "o", "i"] [158.558254, "o", "n"] [158.663205, "o", " "] [158.672054, "o", "t"] [158.715145, "o", "h"] [158.736654, "o", "e"] [158.818996, "o", " "] [158.974747, "o", "h"] [158.996046, "o", "i"] [159.026003, "o", "s"] [159.064796, "o", "t"] [159.122279, "o", "o"] [159.124849, "o", "r"] [159.137941, "o", "y"] [159.155645, "o", " "] [159.167787, "o", "l"] [159.245286, "o", "i"] [159.260128, "o", "s"] [159.290496, "o", "t"] [159.303661, "o", ","] [159.468844, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [160.505612, "o", "s"] [160.508707, "o", "t"] [160.540108, "o", "a"] [160.552765, "o", "r"] [160.573026, "o", "t"] [160.63566, "o", "i"] [160.660392, "o", "n"] [160.67296, "o", "g"] [160.678585, "o", " "] [160.704097, "o", "f"] [160.718988, "o", "r"] [160.743727, "o", "o"] [160.883812, "o", "m"] [160.96444, "o", " "] [161.073565, "o", "t"] [161.079507, "o", "h"] [161.082506, "o", "e"] [161.199454, "o", " "] [161.221054, "o", "l"] [161.229406, "o", "a"] [161.288457, "o", "s"] [161.380339, "o", "t"] [161.412181, "o", " "] [161.484879, "o", "c"] [161.588336, "o", "o"] [161.596931, "o", "m"] [161.682886, "o", "m"] [161.711723, "o", "a"] [161.784402, "o", "n"] [161.8215, "o", "d"] [161.850786, "o", "."] [161.853686, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [162.949977, "o", "W"] [163.02953, "o", "h"] [163.133662, "o", "i"] [163.237121, "o", "l"] [163.24352, "o", "e"] [163.273772, "o", " "] [163.314301, "o", "w"] [163.326766, "o", "e"] [163.373267, "o", " "] [163.450213, "o", "s"] [163.547887, "o", "t"] [163.593289, "o", "a"] [163.662567, "o", "r"] [163.683699, "o", "t"] [163.78017, "o", " "] [163.810181, "o", "t"] [163.872313, "o", "y"] [163.900802, "o", "p"] [163.923065, "o", "i"] [163.952123, "o", "n"] [163.98239, "o", "g"] [164.066426, "o", " "] [164.222891, "o", "t"] [164.299049, "o", "h"] [164.332584, "o", "e"] [164.362577, "o", " "] [164.409918, "o", "s"] [164.489601, "o", "e"] [164.514673, "o", "a"] [164.53031, "o", "r"] [164.578039, "o", "c"] [164.68298, "o", "h"] [164.722748, "o", " "] [164.78083, "o", "t"] [164.890024, "o", "e"] [164.908018, "o", "x"] [164.940047, "o", "t"] [164.979352, "o", " "] [165.112078, "o", "i"] [165.152649, "o", "t"] [165.158164, "o", " "] [165.307041, "o", "w"] [165.322531, "o", "i"] [165.431506, "o", "l"] [165.495138, "o", "l"] [165.521368, "o", " "] [165.532154, "o", "d"] [165.626471, "o", "i"] [165.642047, "o", "s"] [165.646501, "o", "p"] [165.667614, "o", "l"] [165.674138, "o", "a"] [165.736176, "o", "y"] [165.750141, "o", " "] [165.864118, "o", "t"] [165.905072, "o", "h"] [165.90833, "o", "e"] [166.005274, "o", " "] [166.095668, "o", "l"] [166.123015, "o", "a"] [166.178234, "o", "s"] [166.273887, "o", "t"] [166.298685, "o", " "] [166.321236, "o", "c"] [166.361384, "o", "o"] [166.460787, "o", "m"] [166.476169, "o", "m"] [166.598463, "o", "a"] [166.690922, "o", "n"] [166.732128, "o", "d"] [166.799132, "o", "\r\n\u001b[?2004l\r"] [166.799594, "o", "\u001b[?2004h> "] [167.834457, "o", "t"] [167.841617, "o", "h"] [167.896088, "o", "a"] [168.052833, "o", "t"] [168.071385, "o", " "] [168.113285, "o", "m"] [168.209801, "o", "a"] [168.213477, "o", "t"] [168.256024, "o", "c"] [168.280133, "o", "h"] [168.286872, "o", "e"] [168.428142, "o", "s"] [168.434159, "o", " "] [168.493048, "o", "i"] [168.50594, "o", "t"] [168.630797, "o", "."] [168.77308, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [169.880755, "o", "I"] [169.908619, "o", "f"] [170.004914, "o", " "] [170.073503, "o", "w"] [170.128803, "o", "e"] [170.132477, "o", " "] [170.158833, "o", "a"] [170.190151, "o", "r"] [170.230946, "o", "e"] [170.275466, "o", " "] [170.31707, "o", "h"] [170.396372, "o", "a"] [170.471659, "o", "p"] [170.580285, "o", "p"] [170.642076, "o", "y"] [170.655014, "o", " "] [170.674995, "o", "w"] [170.828071, "o", "i"] [170.949504, "o", "t"] [171.021704, "o", "h"] [171.035357, "o", " "] [171.113807, "o", "t"] [171.144521, "o", "h"] [171.177364, "o", "e"] [171.302871, "o", " "] [171.340644, "o", "s"] [171.41656, "o", "e"] [171.50549, "o", "a"] [171.541975, "o", "r"] [171.572243, "o", "c"] [171.630711, "o", "h"] [171.676232, "o", " "] [171.752914, "o", "r"] [171.816284, "o", "e"] [171.847911, "o", "s"] [171.959057, "o", "u"] [172.005267, "o", "l"] [172.134354, "o", "t"] [172.152082, "o", " "] [172.203457, "o", "w"] [172.245716, "o", "e"] [172.251371, "o", " "] [172.308569, "o", "c"] [172.507049, "o", "a"] [172.645251, "o", "n"] [172.646159, "o", " "] [172.652409, "o", "j"] [172.735431, "o", "u"] [172.834535, "o", "s"] [172.842858, "o", "t"] [172.856971, "o", " "] [172.941247, "o", "p"] [172.971475, "o", "r"] [172.97281, "o", "e"] [173.071552, "o", "s"] [173.150597, "o", "s"] [173.183803, "o", " "] [173.22685, "o", "<"] [173.338353, "o", "e"] [173.398224, "o", "n"] [173.478161, "o", "t"] [173.529473, "o", "e"] [173.5788, "o", "r"] [173.721666, "o", ">"] [173.741145, "o", " "] [173.840718, "o", "t"] [173.843031, "o", "o"] [173.906272, "o", " "] [173.909009, "o", "r"] [174.015157, "o", "e"] [174.065357, "o", "r"] [174.170703, "o", "u"] [174.190681, "o", "n"] [174.20748, "o", " "] [174.292238, "o", "i"] [174.328317, "o", "t"] [174.430117, "o", ","] [174.530982, "o", "\r\n\u001b[?2004l\r"] [174.531533, "o", "\u001b[?2004h> "] [175.580266, "o", "o"] [175.589806, "o", "r"] [175.71536, "o", " "] [175.735962, "o", "w"] [175.862386, "o", "e"] [176.027873, "o", " "] [176.172098, "o", "c"] [176.230992, "o", "a"] [176.281433, "o", "n"] [176.377904, "o", " "] [176.574061, "o", "u"] [176.619664, "o", "s"] [176.624958, "o", "e"] [176.658696, "o", " "] [176.700827, "o", "t"] [176.838093, "o", "h"] [176.88612, "o", "e"] [176.913488, "o", " "] [176.950663, "o", "l"] [177.064729, "o", "e"] [177.218766, "o", "f"] [177.389321, "o", "t"] [177.451038, "o", " "] [177.618391, "o", "a"] [177.652869, "o", "n"] [177.700221, "o", "d"] [177.800083, "o", " "] [177.862806, "o", "r"] [177.912298, "o", "i"] [177.958065, "o", "g"] [177.969737, "o", "h"] [178.041564, "o", "t"] [178.123134, "o", " "] [178.205284, "o", "a"] [178.29199, "o", "r"] [178.30039, "o", "r"] [178.439829, "o", "o"] [178.476679, "o", "w"] [178.480775, "o", "s"] [178.578982, "o", " "] [178.649618, "o", "t"] [178.670517, "o", "o"] [178.789706, "o", " "] [178.930344, "o", "e"] [179.015112, "o", "d"] [179.016607, "o", "i"] [179.042786, "o", "t"] [179.122893, "o", " "] [179.130266, "o", "i"] [179.176959, "o", "t"] [179.198323, "o", " "] [179.245389, "o", "f"] [179.258338, "o", "i"] [179.342258, "o", "r"] [179.381112, "o", "s"] [179.500062, "o", "t"] [179.562721, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [180.566951, "o", "a"] [180.613732, "o", "n"] [180.641857, "o", "d"] [180.651438, "o", " "] [180.654018, "o", "t"] [180.686769, "o", "h"] [180.787786, "o", "e"] [180.81765, "o", "n"] [180.897971, "o", " "] [181.013141, "o", "p"] [181.06828, "o", "r"] [181.099857, "o", "e"] [181.121937, "o", "s"] [181.206787, "o", "s"] [181.236081, "o", " "] [181.299907, "o", "<"] [181.325265, "o", "e"] [181.346211, "o", "n"] [181.453928, "o", "t"] [181.48974, "o", "e"] [181.536916, "o", "r"] [181.560268, "o", ">"] [181.585763, "o", "."] [181.614979, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [182.707889, "o", "O"] [182.770488, "o", "t"] [182.878644, "o", "h"] [182.892855, "o", "e"] [182.920577, "o", "r"] [182.993195, "o", "w"] [183.14175, "o", "i"] [183.178657, "o", "s"] [183.266276, "o", "e"] [183.320325, "o", " "] [183.387776, "o", "w"] [183.432137, "o", "e"] [183.522946, "o", " "] [183.574094, "o", "c"] [183.584347, "o", "a"] [183.597423, "o", "n"] [183.653575, "o", " "] [183.701718, "o", "k"] [183.738922, "o", "e"] [183.853959, "o", "e"] [183.913877, "o", "p"] [183.940588, "o", " "] [183.975925, "o", "p"] [184.016142, "o", "r"] [184.041667, "o", "e"] [184.156152, "o", "s"] [184.160978, "o", "s"] [184.210043, "o", "i"] [184.286933, "o", "n"] [184.413983, "o", "g"] [184.493756, "o", " "] [184.546261, "o", "\""] [184.64719, "o", "C"] [184.659813, "o", "t"] [184.700367, "o", "r"] [184.848873, "o", "l"] [184.880464, "o", "-"] [184.995826, "o", "r"] [185.00552, "o", "\""] [185.063381, "o", " "] [185.224326, "o", "t"] [185.253348, "o", "o"] [185.317619, "o", " "] [185.378123, "o", "g"] [185.549681, "o", "e"] [185.663129, "o", "t"] [185.6883, "o", " "] [185.718632, "o", "t"] [185.80618, "o", "h"] [185.867777, "o", "e"] [185.921199, "o", " "] [185.948472, "o", "n"] [185.983264, "o", "e"] [186.120572, "o", "x"] [186.146424, "o", "t"] [186.202711, "o", " "] [186.255115, "o", "m"] [186.28852, "o", "a"] [186.396723, "o", "t"] [186.506951, "o", "c"] [186.545644, "o", "h"] [186.577501, "o", "i"] [186.587864, "o", "n"] [186.765232, "o", "g"] [186.816978, "o", " "] [186.874975, "o", "c"] [186.971754, "o", "o"] [187.022464, "o", "m"] [187.121932, "o", "m"] [187.160125, "o", "a"] [187.21405, "o", "n"] [187.307932, "o", "d"] [187.324721, "o", ","] [187.339432, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [188.370272, "o", "a"] [188.420936, "o", "n"] [188.439876, "o", "d"] [188.516371, "o", " "] [188.554343, "o", "s"] [188.557434, "o", "o"] [188.624163, "o", " "] [188.661652, "o", "o"] [188.765038, "o", "n"] [188.785771, "o", "."] [188.825044, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [189.867067, "o", "'"] [189.88539, "o", "\r\n\u001b[?2004l\r"] [189.885515, "o", "\u001b[00m"] [189.885784, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [190.898401, "o", ":"] [191.056917, "o", " "] [191.123542, "o", "#"] [191.198018, "o", " "] [191.23424, "o", "L"] [191.318109, "o", "e"] [191.355818, "o", "t"] [191.403114, "o", "'"] [191.506708, "o", "s"] [191.521534, "o", " "] [191.597609, "o", "t"] [191.685891, "o", "r"] [191.72302, "o", "y"] [191.814843, "o", " "] [191.854387, "o", "t"] [191.957313, "o", "h"] [192.03818, "o", "e"] [192.15197, "o", "s"] [192.157328, "o", "e"] [192.206733, "o", " "] [192.28008, "o", "s"] [192.357254, "o", "t"] [192.398737, "o", "e"] [192.553201, "o", "p"] [192.557586, "o", "s"] [192.640478, "o", ":"] [192.770033, "o", "\r\n\u001b[?2004l\r"] [192.77014, "o", "\u001b[00m\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [193.778089, "o", ":"] [193.792347, "o", " "] [193.826363, "o", "'"] [193.83007, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [194.908008, "o", "1"] [194.944339, "o", "."] [195.007856, "o", " "] [195.083799, "o", "p"] [195.093362, "o", "r"] [195.105718, "o", "e"] [195.225593, "o", "s"] [195.299717, "o", "s"] [195.335152, "o", " "] [195.346551, "o", "\""] [195.402882, "o", "C"] [195.477172, "o", "t"] [195.483436, "o", "r"] [195.496108, "o", "l"] [195.565653, "o", "-"] [195.647001, "o", "r"] [195.694692, "o", "\""] [195.696837, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [196.742833, "o", "2"] [196.882867, "o", "."] [196.993692, "o", " "] [197.072713, "o", "t"] [197.095281, "o", "y"] [197.105636, "o", "p"] [197.11583, "o", "e"] [197.146191, "o", " "] [197.299192, "o", "\""] [197.302038, "o", "t"] [197.336025, "o", "a"] [197.358706, "o", "i"] [197.408653, "o", "l"] [197.421528, "o", "\""] [197.449368, "o", "\r\n\u001b[?2004l\r"] [197.449464, "o", "\u001b[?2004h> "] [198.566864, "o", "3"] [198.642072, "o", "."] [198.680136, "o", " "] [198.719002, "o", "p"] [198.793386, "o", "r"] [198.897031, "o", "e"] [198.9143, "o", "s"] [198.931473, "o", "s"] [199.045255, "o", " "] [199.165665, "o", "\""] [199.238847, "o", "C"] [199.264247, "o", "t"] [199.379447, "o", "r"] [199.38383, "o", "l"] [199.475062, "o", "-"] [199.552794, "o", "r"] [199.599482, "o", "\""] [199.62647, "o", " "] [199.654796, "o", "s"] [199.790216, "o", "e"] [199.874767, "o", "v"] [199.954591, "o", "e"] [200.026926, "o", "r"] [200.139014, "o", "a"] [200.305105, "o", "l"] [200.353168, "o", " "] [200.388456, "o", "t"] [200.429335, "o", "i"] [200.542582, "o", "m"] [200.619549, "o", "e"] [200.657412, "o", "s"] [200.728926, "o", "\r\n\u001b[?2004l\r\u001b[?2004h> "] [201.804971, "o", "4"] [201.952565, "o", "."] [202.034997, "o", " "] [202.061309, "o", "p"] [202.070181, "o", "r"] [202.095418, "o", "e"] [202.266028, "o", "s"] [202.31337, "o", "s"] [202.350934, "o", " "] [202.397552, "o", "\""] [202.456337, "o", "<"] [202.479896, "o", "e"] [202.486906, "o", "n"] [202.518192, "o", "t"] [202.550464, "o", "e"] [202.661664, "o", "r"] [202.692605, "o", ">"] [202.792459, "o", "\""] [202.823006, "o", "\r\n\u001b[?2004l\r\u001b[?2004h"] [202.823118, "o", "> "] [203.87916, "o", "'"] [204.043568, "o", "\r\n"] [204.04361, "o", "\u001b[?2004l\r"] [204.04373, "o", "\u001b[00m"] [204.043754, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [205.044605, "o", "\r(reverse-i-search)`': \u001b[K"] [206.044763, "o", "\b\b\bt': : '\r\n\r1. press \"Ctrl-r\"\r\n\r2. type \"tail\"\r\n\r3. press \"Ctrl-r\" several times\r\n\r4. press \"\"\r\n\r'\u001b[A\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C"] [207.045121, "o", "\u001b[A\u001b[A\u001b[A\u001b[A\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[1@a\r\n\r\n\r\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[7mta\u001b[27mil\"\r\n\r\n\r\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[Cter>\"\u001b[A\u001b[A\b\b\b\b\b\b\b\b\b"] [208.045377, "o", "\u001b[A\u001b[A\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[1@i\r\n\r\n\r\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[7mi\u001b[27ml\"\b\b\b\b\b"] [209.045572, "o", "\u001b[A\u001b[A\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[1@l\r\n\r\n\r\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[7ml\u001b[27m\"\b\b\b\b\b"] [210.04574, "o", "\u001b[A\u001b[A\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[Chistory | grep \u001b[7mtail\u001b[27m\r\n\r\u001b[K\r\n\r\u001b[K\r\n\r\u001b[K\r\n\r\u001b[K\r\n\r\u001b[K\u001b[A\u001b[A\u001b[A\u001b[A\u001b[A\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C"] [211.046051, "o", "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b: ' \r\n\rRerun the last command that _contains_ `\u001b[7mtail\u001b[27m`.\r\n\r'\u001b[A\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C"] [212.046295, "o", "\u001b[A\b\b\b\b\b\b\b\b\b\b\b\b\b\bhistory | head -n 80 | \u001b[7mtail\u001b[27m\r\n\r\u001b[K\r\n\r\u001b[K\u001b[A\u001b[A\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C\u001b[C"] [213.046695, "o", "\r\u001b[7P\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32mhistory | head -n 80 | tail\b\b\b\b\r\n\u001b[?2004l\r"] [213.046795, "o", "\u001b[00m"] [213.047713, "o", "\u001b[00m"] [213.048314, "o", "\u001b[00m"] [213.050672, "o", " 71 date +%Y-%m-%d\r\n 72 : ## 2. Display a calendar of the current month\r\n 73 cal\r\n 74 : # for another month:\r\n 75 cal 5 2020\r\n 76 : ## 3. Check how much free space there is on the disk drives\r\n 77 df\r\n 78 df -h\r\n 79 df -h /\r\n 80 : ## 4. Display the amount of the free memory\r\n"] [213.051033, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [214.04684, "o", "\r\n\u001b[?2004l\r\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [215.046778, "o", "\u001b[?2004l\r\r\nlogout\r\n"] [215.047118, "o", "\u001b[00m"]