Linux Log and Text Processing Commands for DevOps Engineers¶
This page covers essential Linux commands used to analyze logs and process text files in real production environments. You will learn how DevOps engineers search, filter, and extract useful information from large log files efficiently.
Types of Shell¶
- sh
- bash (Bourne Again Shell)
- zsh
- ksh (Korn Shell)
- csh
Reference: https://www.shiksha.com/online-courses/articles/introduction-to-types-of-shell/
Redirection¶
> Overwrites the file content, if the file already exists
>> Appends the content to the existing content in the file
In both cases, if the file is not present, it will create the file and write the content to it.
By default, the echo command prints the output to the screen. But if we use redirection arrows, it can store the output to files.
[opc@new-k8s ~]$ mkdir redirection
[opc@new-k8s ~]$ cd redirection/
[opc@new-k8s redirection]$ pwd
/home/opc/redirection
[opc@new-k8s redirection]$ ll
total 0
[opc@new-k8s redirection]$ echo "hello devops" > hello.txt
[opc@new-k8s redirection]$ ll
total 4
-rw-rw-r--. 1 opc opc 13 Apr 17 14:11 hello.txt
[opc@new-k8s redirection]$ cat hello.txt
hello devops
[opc@new-k8s redirection]$ echo "I am learning devops" > hello.txt
[opc@new-k8s redirection]$ ll
total 4
-rw-rw-r--. 1 opc opc 21 Apr 17 14:11 hello.txt
[opc@new-k8s redirection]$ cat hello.txt
I am learning devops
[opc@new-k8s redirection]$ pwd
/home/opc/redirection
[opc@new-k8s redirection]$ ll
total 0
[opc@new-k8s redirection]$ echo "I eat fruits daily" >> double-arrow.txt
[opc@new-k8s redirection]$ ll
total 4
-rw-rw-r--. 1 opc opc 19 Apr 17 14:13 double-arrow.txt
[opc@new-k8s redirection]$ cat double-arrow.txt
I eat fruits daily
[opc@new-k8s redirection]$ echo "I love banana" >> double-arrow.txt
[opc@new-k8s redirection]$ echo "I also like apples" >> double-arrow.txt
[opc@new-k8s redirection]$ ll
total 4
-rw-rw-r--. 1 opc opc 52 Apr 17 14:13 double-arrow.txt
[opc@new-k8s redirection]$ cat double-arrow.txt
I eat fruits daily
I love banana
I also like apples
wget Command¶
The wget command is used to download binary or large files (e.g., zip, tar, tar.gz files).
[opc@new-k8s ~]$ pwd
/home/opc
[opc@new-k8s ~]$ mkdir wget-examples
[opc@new-k8s ~]$ cd wget-examples/
[opc@new-k8s wget-examples]$ pwd
/home/opc/wget-examples
[opc@new-k8s wget-examples]$ ll
total 0
[opc@new-k8s wget-examples]$ wget https://dlcdn.apache.org/maven/maven-3/3.9.1/binaries/apache-maven-3.9.1-bin.zip
--2023-04-17 13:27:27-- https://dlcdn.apache.org/maven/maven-3/3.9.1/binaries/apache-maven-3.9.1-bin.zip
Resolving dlcdn.apache.org (dlcdn.apache.org)... 151.101.2.132, 2a04:4e42::644
Connecting to dlcdn.apache.org (dlcdn.apache.org)|151.101.2.132|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9143026 (8.7M) [application/zip]
Saving to: ‘apache-maven-3.9.1-bin.zip’
100%[=========================================================================================================================>] 9,143,026 24.9MB/s in 0.4s
2023-04-17 13:27:28 (24.9 MB/s) - ‘apache-maven-3.9.1-bin.zip’ saved [9143026/9143026]
[opc@new-k8s wget-examples]$ ll
total 8932
-rw-rw-r--. 1 opc opc 9143026 Mar 15 10:00 apache-maven-3.9.1-bin.zip
wget - Quiet Mode¶
-q or --quiet → Quiet mode, will not show any logs or progress bar.
[opc@new-k8s wget-examples]$ wget -q https://dlcdn.apache.org/maven/maven-3/3.9.1/binaries/apache-maven-3.9.1-bin.tar.gz
[opc@new-k8s wget-examples]$ ll -h
total 18M
-rw-rw-r--. 1 opc opc 8.7M Mar 15 10:00 apache-maven-3.9.1-bin.tar.gz
-rw-rw-r--. 1 opc opc 8.8M Mar 15 10:00 apache-maven-3.9.1-bin.zip
curl Command¶
[opc@new-k8s ~]$ mkdir curl-examples
[opc@new-k8s ~]$ cd curl-examples/
[opc@new-k8s curl-examples]$ pwd
/home/opc/curl-examples
[opc@new-k8s curl-examples]$ ll
total 0
[opc@new-k8s curl-examples]$ curl https://dlcdn.apache.org/maven/maven-3/3.9.1/binaries/apache-maven-3.9.1-bin.zip -o apache-maven-3.9.1-bin.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 8928k 100 8928k 0 0 13.4M 0 --:--:-- --:--:-- --:--:-- 13.4M
[opc@new-k8s curl-examples]$ ll
total 8932
-rw-rw-r--. 1 opc opc 9143026 Apr 17 13:35 apache-maven-3.9.1-bin.zip
curl - Silent Mode¶
-s or --silent → Will not show the logs or progress bar.
[opc@new-k8s curl-examples]$ curl -s https://dlcdn.apache.org/maven/maven-3/3.9.1/source/apache-maven-3.9.1-src.tar.gz -o apache-maven-3.9.1-src.tar.gz
[opc@new-k8s curl-examples]$ ll -h
total 12M
-rw-rw-r--. 1 opc opc 8.8M Apr 17 13:35 apache-maven-3.9.1-bin.zip
-rw-rw-r--. 1 opc opc 2.7M Apr 17 13:38 apache-maven-3.9.1-src.tar.gz
zip & unzip Commands¶
By default, the unzip command will unzip the zip package to the current directory.
[opc@new-k8s curl-examples]$ ll
total 11652
-rw-rw-r--. 1 opc opc 9143026 Apr 17 13:35 apache-maven-3.9.1-bin.zip
-rw-rw-r--. 1 opc opc 2784624 Apr 17 13:38 apache-maven-3.9.1-src.tar.gz
[opc@new-k8s curl-examples]$ pwd
/home/opc/curl-examples
[opc@new-k8s curl-examples]$ unzip apache-maven-3.9.1-bin.zip
Archive: apache-maven-3.9.1-bin.zip
creating: apache-maven-3.9.1/
creating: apache-maven-3.9.1/lib/
creating: apache-maven-3.9.1/boot/
creating: apache-maven-3.9.1/lib/jansi-native/
creating: apache-maven-3.9.1/lib/jansi-native/Windows/
creating: apache-maven-3.9.1/lib/jansi-native/Windows/x86/
creating: apache-maven-3.9.1/lib/jansi-native/Windows/x86_64/
creating: apache-maven-3.9.1/bin/
creating: apache-maven-3.9.1/conf/
creating: apache-maven-3.9.1/conf/logging/
creating: apache-maven-3.9.1/lib/ext/
creating: apache-maven-3.9.1/lib/ext/hazelcast/
creating: apache-maven-3.9.1/lib/ext/redisson/
inflating: apache-maven-3.9.1/README.txt
inflating: apache-maven-3.9.1/LICENSE
inflating: apache-maven-3.9.1/NOTICE
inflating: apache-maven-3.9.1/lib/aopalliance.license
inflating: apache-maven-3.9.1/lib/commons-cli.license
inflating: apache-maven-3.9.1/lib/commons-codec.license
inflating: apache-maven-3.9.1/lib/commons-lang3.license
inflating: apache-maven-3.9.1/lib/failureaccess.license
inflating: apache-maven-3.9.1/lib/guava.license
inflating: apache-maven-3.9.1/lib/guice.license
inflating: apache-maven-3.9.1/lib/httpclient.license
inflating: apache-maven-3.9.1/lib/httpcore.license
inflating: apache-maven-3.9.1/lib/jansi.license
inflating: apache-maven-3.9.1/lib/javax.annotation-api.license
inflating: apache-maven-3.9.1/lib/javax.inject.license
inflating: apache-maven-3.9.1/lib/jcl-over-slf4j.license
inflating: apache-maven-3.9.1/lib/org.eclipse.sisu.inject.license
inflating: apache-maven-3.9.1/lib/org.eclipse.sisu.plexus.license
inflating: apache-maven-3.9.1/lib/plexus-cipher.license
inflating: apache-maven-3.9.1/lib/plexus-component-annotations.license
inflating: apache-maven-3.9.1/lib/plexus-interpolation.license
inflating: apache-maven-3.9.1/lib/plexus-sec-dispatcher.license
inflating: apache-maven-3.9.1/lib/plexus-utils.license
inflating: apache-maven-3.9.1/lib/slf4j-api.license
inflating: apache-maven-3.9.1/boot/plexus-classworlds.license
inflating: apache-maven-3.9.1/lib/jansi-native/Windows/x86/jansi.dll
inflating: apache-maven-3.9.1/lib/jansi-native/Windows/x86_64/jansi.dll
inflating: apache-maven-3.9.1/bin/m2.conf
inflating: apache-maven-3.9.1/bin/mvn.cmd
inflating: apache-maven-3.9.1/bin/mvnDebug.cmd
inflating: apache-maven-3.9.1/bin/mvn
inflating: apache-maven-3.9.1/bin/mvnDebug
inflating: apache-maven-3.9.1/bin/mvnyjp
inflating: apache-maven-3.9.1/conf/logging/simplelogger.properties
inflating: apache-maven-3.9.1/conf/settings.xml
inflating: apache-maven-3.9.1/conf/toolchains.xml
inflating: apache-maven-3.9.1/lib/ext/README.txt
inflating: apache-maven-3.9.1/lib/ext/hazelcast/README.txt
inflating: apache-maven-3.9.1/lib/ext/redisson/README.txt
inflating: apache-maven-3.9.1/lib/jansi-native/README.txt
inflating: apache-maven-3.9.1/boot/plexus-classworlds-2.6.0.jar
inflating: apache-maven-3.9.1/lib/maven-embedder-3.9.1.jar
inflating: apache-maven-3.9.1/lib/maven-settings-3.9.1.jar
inflating: apache-maven-3.9.1/lib/maven-settings-builder-3.9.1.jar
inflating: apache-maven-3.9.1/lib/maven-plugin-api-3.9.1.jar
inflating: apache-maven-3.9.1/lib/maven-model-3.9.1.jar
inflating: apache-maven-3.9.1/lib/maven-model-builder-3.9.1.jar
inflating: apache-maven-3.9.1/lib/maven-builder-support-3.9.1.jar
inflating: apache-maven-3.9.1/lib/maven-resolver-api-1.9.7.jar
inflating: apache-maven-3.9.1/lib/maven-resolver-util-1.9.7.jar
inflating: apache-maven-3.9.1/lib/maven-shared-utils-3.3.4.jar
inflating: apache-maven-3.9.1/lib/guice-5.1.0.jar
inflating: apache-maven-3.9.1/lib/aopalliance-1.0.jar
inflating: apache-maven-3.9.1/lib/guava-30.1-jre.jar
inflating: apache-maven-3.9.1/lib/failureaccess-1.0.1.jar
inflating: apache-maven-3.9.1/lib/javax.inject-1.jar
inflating: apache-maven-3.9.1/lib/javax.annotation-api-1.3.2.jar
inflating: apache-maven-3.9.1/lib/plexus-utils-3.5.1.jar
inflating: apache-maven-3.9.1/lib/plexus-sec-dispatcher-2.0.jar
inflating: apache-maven-3.9.1/lib/plexus-cipher-2.0.jar
inflating: apache-maven-3.9.1/lib/plexus-interpolation-1.26.jar
inflating: apache-maven-3.9.1/lib/slf4j-api-1.7.36.jar
inflating: apache-maven-3.9.1/lib/commons-lang3-3.8.1.jar
inflating: apache-maven-3.9.1/lib/maven-core-3.9.1.jar
inflating: apache-maven-3.9.1/lib/maven-repository-metadata-3.9.1.jar
inflating: apache-maven-3.9.1/lib/maven-artifact-3.9.1.jar
inflating: apache-maven-3.9.1/lib/maven-resolver-provider-3.9.1.jar
inflating: apache-maven-3.9.1/lib/maven-resolver-impl-1.9.7.jar
inflating: apache-maven-3.9.1/lib/maven-resolver-named-locks-1.9.7.jar
inflating: apache-maven-3.9.1/lib/maven-resolver-spi-1.9.7.jar
inflating: apache-maven-3.9.1/lib/org.eclipse.sisu.inject-0.3.5.jar
inflating: apache-maven-3.9.1/lib/plexus-component-annotations-2.1.0.jar
inflating: apache-maven-3.9.1/lib/maven-compat-3.9.1.jar
inflating: apache-maven-3.9.1/lib/wagon-provider-api-3.5.3.jar
inflating: apache-maven-3.9.1/lib/org.eclipse.sisu.plexus-0.3.5.jar
inflating: apache-maven-3.9.1/lib/commons-cli-1.4.jar
inflating: apache-maven-3.9.1/lib/wagon-http-3.5.3.jar
inflating: apache-maven-3.9.1/lib/wagon-http-shared-3.5.3.jar
inflating: apache-maven-3.9.1/lib/httpclient-4.5.14.jar
inflating: apache-maven-3.9.1/lib/commons-codec-1.11.jar
inflating: apache-maven-3.9.1/lib/wagon-file-3.5.3.jar
inflating: apache-maven-3.9.1/lib/jcl-over-slf4j-1.7.36.jar
inflating: apache-maven-3.9.1/lib/maven-resolver-connector-basic-1.9.7.jar
inflating: apache-maven-3.9.1/lib/maven-resolver-transport-file-1.9.7.jar
inflating: apache-maven-3.9.1/lib/maven-resolver-transport-http-1.9.7.jar
inflating: apache-maven-3.9.1/lib/httpcore-4.4.15.jar
inflating: apache-maven-3.9.1/lib/maven-resolver-transport-wagon-1.9.7.jar
inflating: apache-maven-3.9.1/lib/maven-slf4j-provider-3.9.1.jar
inflating: apache-maven-3.9.1/lib/jansi-2.4.0.jar
[opc@new-k8s curl-examples]$ ll
total 11652
drwxr-xr-x. 6 opc opc 99 Mar 15 09:39 apache-maven-3.9.1
-rw-rw-r--. 1 opc opc 9143026 Apr 17 13:35 apache-maven-3.9.1-bin.zip
-rw-rw-r--. 1 opc opc 2784624 Apr 17 13:38 apache-maven-3.9.1-src.tar.gz
Unzip to Specific Directory¶
Using the -d parameter, we can extract the zip package to a different folder.
-q → Silent mode
Let's extract to the /tmp folder.
[opc@new-k8s tmp]$ pwd
/tmp
[opc@new-k8s tmp]$ ll
total 0
[opc@new-k8s tmp]$ cd ~/curl-examples/
[opc@new-k8s curl-examples]$ ll
total 11652
-rw-rw-r--. 1 opc opc 9143026 Apr 17 13:35 apache-maven-3.9.1-bin.zip
-rw-rw-r--. 1 opc opc 2784624 Apr 17 13:38 apache-maven-3.9.1-src.tar.gz
[opc@new-k8s curl-examples]$ pwd
/home/opc/curl-examples
[opc@new-k8s curl-examples]$ unzip apache-maven-3.9.1-bin.zip -d /tmp
Archive: apache-maven-3.9.1-bin.zip
creating: /tmp/apache-maven-3.9.1/
creating: /tmp/apache-maven-3.9.1/lib/
creating: /tmp/apache-maven-3.9.1/boot/
creating: /tmp/apache-maven-3.9.1/lib/jansi-native/
creating: /tmp/apache-maven-3.9.1/lib/jansi-native/Windows/
creating: /tmp/apache-maven-3.9.1/lib/jansi-native/Windows/x86/
creating: /tmp/apache-maven-3.9.1/lib/jansi-native/Windows/x86_64/
creating: /tmp/apache-maven-3.9.1/bin/
creating: /tmp/apache-maven-3.9.1/conf/
creating: /tmp/apache-maven-3.9.1/conf/logging/
creating: /tmp/apache-maven-3.9.1/lib/ext/
creating: /tmp/apache-maven-3.9.1/lib/ext/hazelcast/
creating: /tmp/apache-maven-3.9.1/lib/ext/redisson/
inflating: /tmp/apache-maven-3.9.1/README.txt
inflating: /tmp/apache-maven-3.9.1/LICENSE
inflating: /tmp/apache-maven-3.9.1/NOTICE
inflating: /tmp/apache-maven-3.9.1/lib/aopalliance.license
inflating: /tmp/apache-maven-3.9.1/lib/commons-cli.license
inflating: /tmp/apache-maven-3.9.1/lib/commons-codec.license
inflating: /tmp/apache-maven-3.9.1/lib/commons-lang3.license
inflating: /tmp/apache-maven-3.9.1/lib/failureaccess.license
inflating: /tmp/apache-maven-3.9.1/lib/guava.license
inflating: /tmp/apache-maven-3.9.1/lib/guice.license
inflating: /tmp/apache-maven-3.9.1/lib/httpclient.license
inflating: /tmp/apache-maven-3.9.1/lib/httpcore.license
inflating: /tmp/apache-maven-3.9.1/lib/jansi.license
inflating: /tmp/apache-maven-3.9.1/lib/javax.annotation-api.license
inflating: /tmp/apache-maven-3.9.1/lib/javax.inject.license
inflating: /tmp/apache-maven-3.9.1/lib/jcl-over-slf4j.license
inflating: /tmp/apache-maven-3.9.1/lib/org.eclipse.sisu.inject.license
inflating: /tmp/apache-maven-3.9.1/lib/org.eclipse.sisu.plexus.license
inflating: /tmp/apache-maven-3.9.1/lib/plexus-cipher.license
inflating: /tmp/apache-maven-3.9.1/lib/plexus-component-annotations.license
inflating: /tmp/apache-maven-3.9.1/lib/plexus-interpolation.license
inflating: /tmp/apache-maven-3.9.1/lib/plexus-sec-dispatcher.license
inflating: /tmp/apache-maven-3.9.1/lib/plexus-utils.license
inflating: /tmp/apache-maven-3.9.1/lib/slf4j-api.license
inflating: /tmp/apache-maven-3.9.1/boot/plexus-classworlds.license
inflating: /tmp/apache-maven-3.9.1/lib/jansi-native/Windows/x86/jansi.dll
inflating: /tmp/apache-maven-3.9.1/lib/jansi-native/Windows/x86_64/jansi.dll
inflating: /tmp/apache-maven-3.9.1/bin/m2.conf
inflating: /tmp/apache-maven-3.9.1/bin/mvn.cmd
inflating: /tmp/apache-maven-3.9.1/bin/mvnDebug.cmd
inflating: /tmp/apache-maven-3.9.1/bin/mvn
inflating: /tmp/apache-maven-3.9.1/bin/mvnDebug
inflating: /tmp/apache-maven-3.9.1/bin/mvnyjp
inflating: /tmp/apache-maven-3.9.1/conf/logging/simplelogger.properties
inflating: /tmp/apache-maven-3.9.1/conf/settings.xml
inflating: /tmp/apache-maven-3.9.1/conf/toolchains.xml
inflating: /tmp/apache-maven-3.9.1/lib/ext/README.txt
inflating: /tmp/apache-maven-3.9.1/lib/ext/hazelcast/README.txt
inflating: /tmp/apache-maven-3.9.1/lib/ext/redisson/README.txt
inflating: /tmp/apache-maven-3.9.1/lib/jansi-native/README.txt
inflating: /tmp/apache-maven-3.9.1/boot/plexus-classworlds-2.6.0.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-embedder-3.9.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-settings-3.9.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-settings-builder-3.9.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-plugin-api-3.9.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-model-3.9.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-model-builder-3.9.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-builder-support-3.9.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-resolver-api-1.9.7.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-resolver-util-1.9.7.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-shared-utils-3.3.4.jar
inflating: /tmp/apache-maven-3.9.1/lib/guice-5.1.0.jar
inflating: /tmp/apache-maven-3.9.1/lib/aopalliance-1.0.jar
inflating: /tmp/apache-maven-3.9.1/lib/guava-30.1-jre.jar
inflating: /tmp/apache-maven-3.9.1/lib/failureaccess-1.0.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/javax.inject-1.jar
inflating: /tmp/apache-maven-3.9.1/lib/javax.annotation-api-1.3.2.jar
inflating: /tmp/apache-maven-3.9.1/lib/plexus-utils-3.5.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/plexus-sec-dispatcher-2.0.jar
inflating: /tmp/apache-maven-3.9.1/lib/plexus-cipher-2.0.jar
inflating: /tmp/apache-maven-3.9.1/lib/plexus-interpolation-1.26.jar
inflating: /tmp/apache-maven-3.9.1/lib/slf4j-api-1.7.36.jar
inflating: /tmp/apache-maven-3.9.1/lib/commons-lang3-3.8.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-core-3.9.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-repository-metadata-3.9.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-artifact-3.9.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-resolver-provider-3.9.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-resolver-impl-1.9.7.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-resolver-named-locks-1.9.7.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-resolver-spi-1.9.7.jar
inflating: /tmp/apache-maven-3.9.1/lib/org.eclipse.sisu.inject-0.3.5.jar
inflating: /tmp/apache-maven-3.9.1/lib/plexus-component-annotations-2.1.0.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-compat-3.9.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/wagon-provider-api-3.5.3.jar
inflating: /tmp/apache-maven-3.9.1/lib/org.eclipse.sisu.plexus-0.3.5.jar
inflating: /tmp/apache-maven-3.9.1/lib/commons-cli-1.4.jar
inflating: /tmp/apache-maven-3.9.1/lib/wagon-http-3.5.3.jar
inflating: /tmp/apache-maven-3.9.1/lib/wagon-http-shared-3.5.3.jar
inflating: /tmp/apache-maven-3.9.1/lib/httpclient-4.5.14.jar
inflating: /tmp/apache-maven-3.9.1/lib/commons-codec-1.11.jar
inflating: /tmp/apache-maven-3.9.1/lib/wagon-file-3.5.3.jar
inflating: /tmp/apache-maven-3.9.1/lib/jcl-over-slf4j-1.7.36.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-resolver-connector-basic-1.9.7.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-resolver-transport-file-1.9.7.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-resolver-transport-http-1.9.7.jar
inflating: /tmp/apache-maven-3.9.1/lib/httpcore-4.4.15.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-resolver-transport-wagon-1.9.7.jar
inflating: /tmp/apache-maven-3.9.1/lib/maven-slf4j-provider-3.9.1.jar
inflating: /tmp/apache-maven-3.9.1/lib/jansi-2.4.0.jar
[opc@new-k8s curl-examples]$ ll
total 11652
-rw-rw-r--. 1 opc opc 9143026 Apr 17 13:35 apache-maven-3.9.1-bin.zip
-rw-rw-r--. 1 opc opc 2784624 Apr 17 13:38 apache-maven-3.9.1-src.tar.gz
[opc@new-k8s curl-examples]$ cd /tmp
[opc@new-k8s tmp]$ pwd
/tmp
[opc@new-k8s tmp]$ ll
total 0
drwxr-xr-x. 6 opc opc 99 Mar 15 09:39 apache-maven-3.9.1
tar Command¶
[opc@new-k8s curl-examples]$ ll
total 11652
-rw-rw-r--. 1 opc opc 9143026 Apr 17 13:35 apache-maven-3.9.1-bin.zip
-rw-rw-r--. 1 opc opc 2784624 Apr 17 13:38 apache-maven-3.9.1-src.tar.gz
[opc@new-k8s curl-examples]$ pwd
/home/opc/curl-examples
[opc@new-k8s curl-examples]$ tar --version
tar (GNU tar) 1.26
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason.
[opc@new-k8s curl-examples]$ tar -xvf apache-maven-3.9.1-src.tar.gz
apache-maven-3.9.1/
apache-maven-3.9.1/.github/
apache-maven-3.9.1/.github/workflows/
apache-maven-3.9.1/apache-maven/
apache-maven-3.9.1/apache-maven/src/
apache-maven-3.9.1/apache-maven/src/bin/
apache-maven-3.9.1/apache-maven/src/conf/
apache-maven-3.9.1/apache-maven/src/conf/logging/
apache-maven-3.9.1/apache-maven/src/lib/
apache-maven-3.9.1/apache-maven/src/lib/ext/
apache-maven-3.9.1/apache-maven/src/lib/ext/hazelcast/
apache-maven-3.9.1/apache-maven/src/lib/ext/redisson/
apache-maven-3.9.1/apache-maven/src/lib/jansi-native/
apache-maven-3.9.1/apache-maven/src/main/
apache-maven-3.9.1/apache-maven/src/main/appended-resources/
apache-maven-3.9.1/apache-maven/src/main/appended-resources/META-INF/
apache-maven-3.9.1/apache-maven/src/main/appended-resources/licenses/
apache-maven-3.9.1/apache-maven/src/main/assembly/
apache-maven-3.9.1/apache-maven/src/site/
apache-maven-3.9.1/apache-maven/src/site/apt/
apache-maven-3.9.1/apache-maven/src/test/
apache-maven-3.9.1/apache-maven/src/test/java/
apache-maven-3.9.1/apache-maven/src/test/java/org/
apache-maven-3.9.1/apache-maven/src/test/java/org/apache/
apache-maven-3.9.1/apache-maven/src/test/java/org/apache/maven/
apache-maven-3.9.1/apache-maven/src/test/java/org/apache/maven/settings/
apache-maven-3.9.1/maven-artifact/
apache-maven-3.9.1/maven-artifact/src/
apache-maven-3.9.1/maven-artifact/src/main/
apache-maven-3.9.1/maven-artifact/src/main/java/
apache-maven-3.9.1/maven-artifact/src/main/java/org/
apache-maven-3.9.1/maven-artifact/src/main/java/org/apache/
apache-maven-3.9.1/maven-artifact/src/main/java/org/apache/maven/
apache-maven-3.9.1/maven-artifact/src/main/java/org/apache/maven/artifact/
apache-maven-3.9.1/maven-artifact/src/main/java/org/apache/maven/artifact/handler/
apache-maven-3.9.1/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/
apache-maven-3.9.1/maven-artifact/src/main/java/org/apache/maven/artifact/repository/
apache-maven-3.9.1/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/
apache-maven-3.9.1/maven-artifact/src/main/java/org/apache/maven/artifact/repository/metadata/
apache-maven-3.9.1/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/
apache-maven-3.9.1/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/filter/
apache-maven-3.9.1/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/
apache-maven-3.9.1/maven-artifact/src/main/java/org/apache/maven/repository/
apache-maven-3.9.1/maven-artifact/src/main/java/org/apache/maven/repository/legacy/
apache-maven-3.9.1/maven-artifact/src/main/java/org/apache/maven/repository/legacy/metadata/
[opc@new-k8s curl-examples]$ ll -h
total 12M
drwxr-xr-x. 18 opc opc 4.0K Mar 15 09:39 apache-maven-3.9.1
-rw-rw-r--. 1 opc opc 8.8M Apr 17 13:35 apache-maven-3.9.1-bin.zip
-rw-rw-r--. 1 opc opc 2.7M Apr 17 13:38 apache-maven-3.9.1-src.tar.gz
[opc@new-k8s curl-examples]$ cd apache-maven-3.9.1/
[opc@new-k8s apache-maven-3.9.1]$ ll
total 108
drwxr-xr-x. 3 opc opc 50 Apr 17 13:48 apache-maven
-rw-r--r--. 1 opc opc 4726 Mar 15 09:39 CONTRIBUTING.md
-rw-r--r--. 1 opc opc 11354 Mar 15 09:39 DEPENDENCIES
-rw-r--r--. 1 opc opc 871 Mar 15 09:39 deploySite.sh
-rw-r--r--. 1 opc opc 23461 Mar 15 09:39 doap_Maven.rdf
-rw-r--r--. 1 opc opc 7487 Mar 15 09:39 Jenkinsfile
-rw-r--r--. 1 opc opc 11358 Mar 15 09:39 LICENSE
drwxr-xr-x. 3 opc opc 32 Apr 17 13:48 maven-artifact
drwxr-xr-x. 3 opc opc 32 Apr 17 13:48 maven-builder-support
drwxr-xr-x. 3 opc opc 32 Apr 17 13:48 maven-compat
drwxr-xr-x. 3 opc opc 88 Apr 17 13:48 maven-core
drwxr-xr-x. 3 opc opc 32 Apr 17 13:48 maven-embedder
drwxr-xr-x. 3 opc opc 32 Apr 17 13:48 maven-model
drwxr-xr-x. 3 opc opc 32 Apr 17 13:48 maven-model-builder
drwxr-xr-x. 3 opc opc 32 Apr 17 13:48 maven-plugin-api
drwxr-xr-x. 3 opc opc 32 Apr 17 13:48 maven-repository-metadata
drwxr-xr-x. 3 opc opc 32 Apr 17 13:48 maven-resolver-provider
drwxr-xr-x. 3 opc opc 32 Apr 17 13:48 maven-settings
drwxr-xr-x. 3 opc opc 32 Apr 17 13:48 maven-settings-builder
drwxr-xr-x. 3 opc opc 32 Apr 17 13:48 maven-slf4j-provider
-rw-r--r--. 1 opc opc 166 Mar 15 09:39 NOTICE
-rw-r--r--. 1 opc opc 28045 Mar 15 09:39 pom.xml
-rw-r--r--. 1 opc opc 4114 Mar 15 09:39 README.md
drwxr-xr-x. 3 opc opc 18 Mar 15 09:39 src
[opc@new-k8s apache-maven-3.9.1]$ du -sh .
14M .
Extract to Specific Directory¶
Use the -C argument to extract to a different directory.
By default, the tar command doesn't print any logs to output; if we use -v, it shows the logs (extracting file names).
[opc@new-k8s tmp]$ pwd
/tmp
[opc@new-k8s tmp]$ ll
total 0
[opc@new-k8s tmp]$ cd ~/curl-examples/
[opc@new-k8s curl-examples]$ pwd
/home/opc/curl-examples
[opc@new-k8s curl-examples]$ ll
total 11652
-rw-rw-r--. 1 opc opc 9143026 Apr 17 13:35 apache-maven-3.9.1-bin.zip
-rw-rw-r--. 1 opc opc 2784624 Apr 17 13:38 apache-maven-3.9.1-src.tar.gz
[opc@new-k8s curl-examples]$ tar -xf apache-maven-3.9.1-src.tar.gz -C /tmp
[opc@new-k8s curl-examples]$ ll
total 11652
-rw-rw-r--. 1 opc opc 9143026 Apr 17 13:35 apache-maven-3.9.1-bin.zip
-rw-rw-r--. 1 opc opc 2784624 Apr 17 13:38 apache-maven-3.9.1-src.tar.gz
[opc@new-k8s curl-examples]$ cd /tmp/
[opc@new-k8s tmp]$ ll
total 4
drwxr-xr-x. 18 opc opc 4096 Mar 15 09:39 apache-maven-3.9.1
[opc@new-k8s tmp]$ pwd
/tmp
Creating Zip Files¶
zip -r ZIP_FILE_NAME.zip folder_name
or
zip ZIP_FILE_NAME.zip file1.txt file2.txt
-q → Silent mode
[opc@new-k8s zip-file]$ pwd
/home/opc/zip-file
[opc@new-k8s zip-file]$ ll
total 0
drwxr-xr-x. 6 opc opc 99 Mar 15 09:39 apache-maven-3.9.1
[opc@new-k8s zip-file]$ ll apache-maven-3.9.1/
total 36
drwxr-xr-x. 2 opc opc 97 Mar 15 09:39 bin
drwxr-xr-x. 2 opc opc 76 Mar 15 09:39 boot
drwxr-xr-x. 3 opc opc 63 Mar 15 09:39 conf
drwxr-xr-x. 4 opc opc 4096 Mar 15 09:39 lib
-rw-r--r--. 1 opc opc 18644 Mar 15 09:39 LICENSE
-rw-r--r--. 1 opc opc 5036 Mar 15 09:39 NOTICE
-rw-r--r--. 1 opc opc 2533 Mar 15 09:39 README.txt
[opc@new-k8s zip-file]$ zip -r newapache-maven.zip apache-maven-3.9.1
adding: apache-maven-3.9.1/ (stored 0%)
adding: apache-maven-3.9.1/lib/ (stored 0%)
adding: apache-maven-3.9.1/lib/jansi-native/ (stored 0%)
adding: apache-maven-3.9.1/lib/jansi-native/Windows/ (stored 0%)
adding: apache-maven-3.9.1/lib/jansi-native/Windows/x86/ (stored 0%)
adding: apache-maven-3.9.1/lib/jansi-native/Windows/x86/jansi.dll (deflated 69%)
adding: apache-maven-3.9.1/lib/jansi-native/Windows/x86_64/ (stored 0%)
adding: apache-maven-3.9.1/lib/jansi-native/Windows/x86_64/jansi.dll (deflated 70%)
adding: apache-maven-3.9.1/lib/jansi-native/README.txt (deflated 40%)
adding: apache-maven-3.9.1/lib/ext/ (stored 0%)
adding: apache-maven-3.9.1/lib/ext/hazelcast/ (stored 0%)
adding: apache-maven-3.9.1/lib/ext/hazelcast/README.txt (deflated 35%)
adding: apache-maven-3.9.1/lib/ext/redisson/ (stored 0%)
adding: apache-maven-3.9.1/lib/ext/redisson/README.txt (deflated 34%)
adding: apache-maven-3.9.1/lib/ext/README.txt (deflated 26%)
adding: apache-maven-3.9.1/lib/aopalliance.license (stored 0%)
adding: apache-maven-3.9.1/lib/commons-cli.license (deflated 65%)
adding: apache-maven-3.9.1/lib/commons-codec.license (deflated 65%)
adding: apache-maven-3.9.1/lib/commons-lang3.license (deflated 65%)
adding: apache-maven-3.9.1/lib/failureaccess.license (deflated 65%)
adding: apache-maven-3.9.1/lib/guava.license (deflated 65%)
adding: apache-maven-3.9.1/lib/guice.license (deflated 65%)
adding: apache-maven-3.9.1/lib/httpclient.license (deflated 65%)
adding: apache-maven-3.9.1/lib/httpcore.license (deflated 65%)
adding: apache-maven-3.9.1/lib/jansi.license (deflated 65%)
adding: apache-maven-3.9.1/lib/javax.annotation-api.license (deflated 67%)
adding: apache-maven-3.9.1/lib/javax.inject.license (deflated 65%)
adding: apache-maven-3.9.1/lib/jcl-over-slf4j.license (deflated 65%)
adding: apache-maven-3.9.1/lib/org.eclipse.sisu.inject.license (deflated 63%)
adding: apache-maven-3.9.1/lib/org.eclipse.sisu.plexus.license (deflated 63%)
adding: apache-maven-3.9.1/lib/plexus-cipher.license (deflated 65%)
adding: apache-maven-3.9.1/lib/plexus-component-annotations.license (deflated 65%)
adding: apache-maven-3.9.1/lib/plexus-interpolation.license (deflated 65%)
adding: apache-maven-3.9.1/lib/plexus-sec-dispatcher.license (deflated 65%)
adding: apache-maven-3.9.1/lib/plexus-utils.license (deflated 65%)
adding: apache-maven-3.9.1/lib/slf4j-api.license (deflated 42%)
adding: apache-maven-3.9.1/lib/maven-embedder-3.9.1.jar (deflated 10%)
adding: apache-maven-3.9.1/lib/maven-settings-3.9.1.jar (deflated 8%)
adding: apache-maven-3.9.1/lib/maven-settings-builder-3.9.1.jar (deflated 17%)
adding: apache-maven-3.9.1/lib/maven-plugin-api-3.9.1.jar (deflated 12%)
adding: apache-maven-3.9.1/lib/maven-model-3.9.1.jar (deflated 5%)
adding: apache-maven-3.9.1/lib/maven-model-builder-3.9.1.jar (deflated 12%)
adding: apache-maven-3.9.1/lib/maven-builder-support-3.9.1.jar (deflated 18%)
adding: apache-maven-3.9.1/lib/maven-resolver-api-1.9.7.jar (deflated 14%)
adding: apache-maven-3.9.1/lib/maven-resolver-util-1.9.7.jar (deflated 11%)
adding: apache-maven-3.9.1/lib/maven-shared-utils-3.3.4.jar (deflated 9%)
adding: apache-maven-3.9.1/lib/guice-5.1.0.jar (deflated 9%)
adding: apache-maven-3.9.1/lib/aopalliance-1.0.jar (deflated 41%)
adding: apache-maven-3.9.1/lib/guava-30.1-jre.jar (deflated 11%)
adding: apache-maven-3.9.1/lib/failureaccess-1.0.1.jar (deflated 40%)
adding: apache-maven-3.9.1/lib/javax.inject-1.jar (deflated 28%)
adding: apache-maven-3.9.1/lib/javax.annotation-api-1.3.2.jar (deflated 12%)
adding: apache-maven-3.9.1/lib/plexus-utils-3.5.1.jar (deflated 7%)
adding: apache-maven-3.9.1/lib/plexus-sec-dispatcher-2.0.jar (deflated 18%)
adding: apache-maven-3.9.1/lib/plexus-cipher-2.0.jar (deflated 16%)
adding: apache-maven-3.9.1/lib/plexus-interpolation-1.26.jar (deflated 15%)
adding: apache-maven-3.9.1/lib/slf4j-api-1.7.36.jar (deflated 12%)
adding: apache-maven-3.9.1/lib/commons-lang3-3.8.1.jar (deflated 8%)
adding: apache-maven-3.9.1/lib/maven-core-3.9.1.jar (deflated 10%)
adding: apache-maven-3.9.1/lib/maven-repository-metadata-3.9.1.jar (deflated 12%)
adding: apache-maven-3.9.1/lib/maven-artifact-3.9.1.jar (deflated 13%)
adding: apache-maven-3.9.1/lib/maven-resolver-provider-3.9.1.jar (deflated 9%)
adding: apache-maven-3.9.1/lib/maven-resolver-impl-1.9.7.jar (deflated 10%)
adding: apache-maven-3.9.1/lib/maven-resolver-named-locks-1.9.7.jar (deflated 15%)
adding: apache-maven-3.9.1/lib/maven-resolver-spi-1.9.7.jar (deflated 23%)
adding: apache-maven-3.9.1/lib/org.eclipse.sisu.inject-0.3.5.jar (deflated 9%)
adding: apache-maven-3.9.1/lib/plexus-component-annotations-2.1.0.jar (deflated 43%)
adding: apache-maven-3.9.1/lib/maven-compat-3.9.1.jar (deflated 10%)
adding: apache-maven-3.9.1/lib/wagon-provider-api-3.5.3.jar (deflated 13%)
adding: apache-maven-3.9.1/lib/org.eclipse.sisu.plexus-0.3.5.jar (deflated 14%)
adding: apache-maven-3.9.1/lib/commons-cli-1.4.jar (deflated 8%)
adding: apache-maven-3.9.1/lib/wagon-http-3.5.3.jar (deflated 19%)
adding: apache-maven-3.9.1/lib/wagon-http-shared-3.5.3.jar (deflated 8%)
adding: apache-maven-3.9.1/lib/httpclient-4.5.14.jar (deflated 9%)
adding: apache-maven-3.9.1/lib/commons-codec-1.11.jar (deflated 16%)
adding: apache-maven-3.9.1/lib/wagon-file-3.5.3.jar (deflated 16%)
adding: apache-maven-3.9.1/lib/jcl-over-slf4j-1.7.36.jar (deflated 15%)
adding: apache-maven-3.9.1/lib/maven-resolver-connector-basic-1.9.7.jar (deflated 10%)
adding: apache-maven-3.9.1/lib/maven-resolver-transport-file-1.9.7.jar (deflated 15%)
adding: apache-maven-3.9.1/lib/maven-resolver-transport-http-1.9.7.jar (deflated 9%)
adding: apache-maven-3.9.1/lib/httpcore-4.4.15.jar (deflated 10%)
adding: apache-maven-3.9.1/lib/maven-resolver-transport-wagon-1.9.7.jar (deflated 15%)
adding: apache-maven-3.9.1/lib/maven-slf4j-provider-3.9.1.jar (deflated 11%)
adding: apache-maven-3.9.1/lib/jansi-2.4.0.jar (deflated 6%)
adding: apache-maven-3.9.1/boot/ (stored 0%)
adding: apache-maven-3.9.1/boot/plexus-classworlds.license (deflated 65%)
adding: apache-maven-3.9.1/boot/plexus-classworlds-2.6.0.jar (deflated 14%)
adding: apache-maven-3.9.1/bin/ (stored 0%)
adding: apache-maven-3.9.1/bin/m2.conf (deflated 52%)
adding: apache-maven-3.9.1/bin/mvn.cmd (deflated 64%)
adding: apache-maven-3.9.1/bin/mvnDebug.cmd (deflated 55%)
adding: apache-maven-3.9.1/bin/mvn (deflated 62%)
adding: apache-maven-3.9.1/bin/mvnDebug (deflated 51%)
adding: apache-maven-3.9.1/bin/mvnyjp (deflated 48%)
adding: apache-maven-3.9.1/conf/ (stored 0%)
adding: apache-maven-3.9.1/conf/logging/ (stored 0%)
adding: apache-maven-3.9.1/conf/logging/simplelogger.properties (deflated 52%)
adding: apache-maven-3.9.1/conf/settings.xml (deflated 63%)
adding: apache-maven-3.9.1/conf/toolchains.xml (deflated 60%)
adding: apache-maven-3.9.1/README.txt (deflated 57%)
adding: apache-maven-3.9.1/LICENSE (deflated 72%)
adding: apache-maven-3.9.1/NOTICE (deflated 58%)
[opc@new-k8s zip-file]$ ll
total 8924
drwxr-xr-x. 6 opc opc 99 Mar 15 09:39 apache-maven-3.9.1
-rw-rw-r--. 1 opc opc 9137892 Apr 17 14:39 newapache-maven.zip
JSON Basics¶
JSON file contains key-value pairs.
A JSON file name ends with the extension ".json" (e.g., output.json).
{
"name": "john",
"age": "30",
"car": "BMW",
"games": ["cricket", "basketball", "badminton"]
}
or
{"name":"John", "age":30, "car":null, "games": ["cricket", "basketball", "badminton"]}
Processing JSON with curl¶
Most of the time, the curl command is used for calling a REST API.
In simple terms, a REST API is a URL (e.g., https://example.com). When we call that URL, we get response data.
In most cases, the response data will be in JSON format.
Actual Data in GUI : https://github.com/vigneshsweekaran/hello-world/releases/tag/clean
[opc@new-k8s redirection]$ curl https://api.github.com/repos/vigneshsweekaran/hello-world/releases/latest
{
"url": "https://api.github.com/repos/vigneshsweekaran/hello-world/releases/43010389",
"assets_url": "https://api.github.com/repos/vigneshsweekaran/hello-world/releases/43010389/assets",
"upload_url": "https://uploads.github.com/repos/vigneshsweekaran/hello-world/releases/43010389/assets{?name,label}",
"html_url": "https://github.com/vigneshsweekaran/hello-world/releases/tag/clean",
"id": 43010389,
"author": {
"login": "vigneshsweekaran",
"id": 40670015,
"node_id": "MDQ6VXNlcjQwNjcwMDE1",
"avatar_url": "https://avatars.githubusercontent.com/u/40670015?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/vigneshsweekaran",
"html_url": "https://github.com/vigneshsweekaran",
"followers_url": "https://api.github.com/users/vigneshsweekaran/followers",
"following_url": "https://api.github.com/users/vigneshsweekaran/following{/other_user}",
"gists_url": "https://api.github.com/users/vigneshsweekaran/gists{/gist_id}",
"starred_url": "https://api.github.com/users/vigneshsweekaran/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/vigneshsweekaran/subscriptions",
"organizations_url": "https://api.github.com/users/vigneshsweekaran/orgs",
"repos_url": "https://api.github.com/users/vigneshsweekaran/repos",
"events_url": "https://api.github.com/users/vigneshsweekaran/events{/privacy}",
"received_events_url": "https://api.github.com/users/vigneshsweekaran/received_events",
"type": "User",
"site_admin": false
},
"node_id": "MDc6UmVsZWFzZTQzMDEwMzg5",
"tag_name": "clean",
"target_commitish": "master",
"name": "Clean repo with maven application",
"draft": false,
"prerelease": false,
"created_at": "2021-05-16T06:18:49Z",
"published_at": "2021-05-16T06:26:47Z",
"assets": [
],
"tarball_url": "https://api.github.com/repos/vigneshsweekaran/hello-world/tarball/clean",
"zipball_url": "https://api.github.com/repos/vigneshsweekaran/hello-world/zipball/clean",
"body": ""
}
Saving API Response to File¶
[opc@new-k8s ~]$ mkdir json-response
[opc@new-k8s ~]$ cd json-response/
[opc@new-k8s json-response]$ ll
total 0
[opc@new-k8s json-response]$ pwd
/home/opc/json-response
[opc@new-k8s json-response]$ curl https://api.github.com/repos/vigneshsweekaran/hello-world/releases/latest > output.json
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2026 100 2026 0 0 2809 0 --:--:-- --:--:-- --:--:-- 2809
[opc@new-k8s json-response]$ ll
total 4
-rw-rw-r--. 1 opc opc 2026 Apr 17 14:23 output.json
[opc@new-k8s json-response]$ cat output.json
{
"url": "https://api.github.com/repos/vigneshsweekaran/hello-world/releases/43010389",
"assets_url": "https://api.github.com/repos/vigneshsweekaran/hello-world/releases/43010389/assets",
"upload_url": "https://uploads.github.com/repos/vigneshsweekaran/hello-world/releases/43010389/assets{?name,label}",
"html_url": "https://github.com/vigneshsweekaran/hello-world/releases/tag/clean",
"id": 43010389,
"author": {
"login": "vigneshsweekaran",
"id": 40670015,
"node_id": "MDQ6VXNlcjQwNjcwMDE1",
"avatar_url": "https://avatars.githubusercontent.com/u/40670015?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/vigneshsweekaran",
"html_url": "https://github.com/vigneshsweekaran",
"followers_url": "https://api.github.com/users/vigneshsweekaran/followers",
"following_url": "https://api.github.com/users/vigneshsweekaran/following{/other_user}",
"gists_url": "https://api.github.com/users/vigneshsweekaran/gists{/gist_id}",
"starred_url": "https://api.github.com/users/vigneshsweekaran/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/vigneshsweekaran/subscriptions",
"organizations_url": "https://api.github.com/users/vigneshsweekaran/orgs",
"repos_url": "https://api.github.com/users/vigneshsweekaran/repos",
"events_url": "https://api.github.com/users/vigneshsweekaran/events{/privacy}",
"received_events_url": "https://api.github.com/users/vigneshsweekaran/received_events",
"type": "User",
"site_admin": false
},
"node_id": "MDc6UmVsZWFzZTQzMDEwMzg5",
"tag_name": "clean",
"target_commitish": "master",
"name": "Clean repo with maven application",
"draft": false,
"prerelease": false,
"created_at": "2021-05-16T06:18:49Z",
"published_at": "2021-05-16T06:26:47Z",
"assets": [
],
"tarball_url": "https://api.github.com/repos/vigneshsweekaran/hello-world/tarball/clean",
"zipball_url": "https://api.github.com/repos/vigneshsweekaran/hello-world/zipball/clean",
"body": ""
}
🧠 Quick Quiz — Log & Text Processing¶
Which command allows you to follow a log file in real time as new lines are added?
📝 Want More Practice?¶
To strengthen your understanding and prepare for interviews, try the full 20-question practice quiz based on this chapter:
👉 Start Log & Text Processing Quiz (20 Questions)
📬 DevopsPilot Weekly — Learn DevOps, Cloud & Gen AI the simple way.
👉 Subscribe here