If you are like most people, and you end up searching the internet for the commands for Kubernetes and Linux, this is the blog for you.

By following some easy syntax rules, using kubectl is relatively straightforward. The CLI supports Windows, Mac and Linux operating systems; simply choose the appropriate install package to get started. Once the process is complete, you’re free to use kubectl. The controls available through the GUI are somewhat limited, so the CLI is geared more toward power users.

While learning Kubernetes, I ended up posting 14 or 15 sticky notes on my monitor to help me in those moments – but after a while, I could barely read what was on the screen. So finally, I created one small, easy-to-read piece of paper to reference when I or you – get stuck.

At the end, you can download of this blog, you can download the pdf version of these commonly used commands.

What is Kubernetes?

Kubernetes is a platform for managing containerized workloads. Kubernetes orchestrates computing, networking and storage to provide a seamless portability across infrastructure providers. Confused? Check out Introduction to Kubernetes, our Kubernetes 101 crash course in all the fundamentals you need to know.

Take a Poll to See How You Compare With Others

How would you rate yourself on Linux?

How would you rate yourself on Kubernetes?

Kubernetes Commonly Used Commands

Creating and Updating a Resource

Command NameDescription
kubectl create namespace [namespace-name]Create a new namespace
kubectl create –f [filename]Create a resource from a JSON or YAML file
kubectl apply -f [service-name].yamlCreate a new service with the definition contained in [service-name].yaml
kubectl apply -f [controller-name].yamlCreate a new replication controller with the definition contained in [controller-name].yaml
kubectl apply -f [directory-name]Create the objects defined in any .yaml, .yml, or .json file in a directory
kubectl edit svc/[service-name]Edit a service
KUBE_EDITOR=”[editor-name]” kubectl edit svc/[service-name]Edit a service in a non-default editor

Modifying kubeconfig Files

Command NameDescription
kubectl config current-contextDisplay the current context
kubectl config set-cluster [cluster-name] –server= [server-name]Set a cluster entry in kubeconfig
kubectl config unset [property-name]Unset an entry in kubeconfig

Listing Resources

Command NameDescription
kubectl get namespacesGenerate a plain-text list of all namespaces
kubectl get podsGenerate a plain-text list of all pods
kubectl get pods -o wideGenerate a detailed plain-text list of all pods
kubectl get pods –field-selector=spec.nodeName=[server-name]Generate a list of all pods running on a particular node server
kubectl get replicationcontroller [replication-controllername]List a specific replication controller in plain text
kubectl get replicationcontroller, servicesGenerate a plain-text list of all replication controllers and services
kubectl get deamonsetGenerate a plain-text list of all daemon sets

Deleting Resources

Command NameDescription
kubectl delete -f pod.yamlRemove a pod using the name and type listed in pod.yaml
kubectl delete pods,services -l [label-key]=[label-value]Remove all the pods and services with a specific label
kubectl delete pods –allRemove all pods. The command will include uninitialized pods as well

Displaying the State of Resources

Command NameDescription
kubectl describe nodes [node-name]See details about a particular node
kubectl describe pods [pod-name]See details about a particular pod
Kubectl describe –f pod.jsonSee details about a pod whose name and type are listed in pod.json
kubectl describe pods [replication-controller-name]See details about all pods managed by a specific replication controller
kubectl describe podsSee details about all pods

Executing a Command

Command NameDescription
kubectl exec [pod-name] –[command]Receive output from a command run on the first container in a pod
kubectl exec [pod-name] -c[container-name] –[command]Receive output from a command run on a specific container in a pod
kubectl exec -ti [pod-name] –/bin/bashRun /bin/bash from a specific pod. The output received comes from the first container

Printing Container Logs

Command NameDescription
kubectl logs [pod-name]Print logs from a pod
kubectl logs -f [pod-name]Stream logs from a pod

Linux Commonly Used Commands

Basic Linux Commands

Command NameDescription
lsLists all files and directories in the present working directory
ls -RLists files in sub-directories as well
ls -aLists hidden files as well
ls -alLists files and directories with detailed information like permissions,size, owner, etc.
cd or cd ~Navigate to HOME directory
cd ..Move one level up
cdTo change to a particular directory
cd /Move to the root directory
cat > filenameCreates a new file
cat filenameDisplays the file content
cat file1 file2 > file3Joins two files (file1, file2) and stores the output in a new file (file3)
mv file “new file path”Moves the files to the new location
mv filename new_file_nameRenames the file to a new filename
sudoAllows regular users to run programs with the security privileges of the superuser or root
rm filenameDeletes a file
manGives help information on a command
historyGives a list of all past commands typed in the current terminal session
clearClears the terminal
mkdir directorynameCreates a new directory in the present working directory or a at the specified path
rmdirDeletes a directory
mvRenames a directory
pr -xDivides the file into x columns
pr -hAssigns a header to the file
pr -nDenotes the file with Line Numbers
lp -nc , lpr cPrints “c” copies of the File
 lp-d lp-PSpecifies name of the printer
apt-getCommand used to install and update packages
mail -s ‘subject’
-c ‘cc-address’
-b ‘bcc-address’
‘to-address’
Command to send email
mail -s “Subject”
to-address < Filename
Command to send email with attachment

User management commands of linux

Command NameDescription
sudo adduser usernameTo add a new user
sudo passwd -l ‘username’To change the password of a user
sudo userdel -r ‘username’To remove a newly created user
sudo usermod -a -G GROUPNAME USERNAMETo add a user to a group
sudo deluser USER GROUPNAMETo remove a user from a group
fingerShows information of all the users logged in
finger usernameGives information of a particular user

File management

Command NameDescription
findsearch for a file
ls -a -C -hlist content of directory
rm -r -fremove files and directory
locate -ifind file, using updatedb(8) database
cp -a -R -icopy files or directory
du -sdisk usage
file -b -iidentify the file type
mv -f -imove files or directory
grep, egrep, fgrep -i -vprint lines matching pattern

File Permission commands

Command NameDescription
ls -lto show file type and access permission
rread permission
wwrite permission
xexecute permission
-=no permission
Chown userFor changing the ownership of a file/directory
Chown user:group filenamechange the user as well as group for a file or directory

Process command

Command NameDescription
bgTo send a process to the background
fgTo run a stopped process in the foreground
topDetails on all Active Processes
psGive the status of processes running for a user
ps PIDGives the status of a particular process
pidofGives the Process ID (PID) of a process
kill PIDKills a process
niceStarts a process with a given priority
reniceChanges priority of an already running process
dfGives free hard disk space on your system
freeGives free RAM on your system

Networking command

Command NameDescription
SSH username@ip-address or hostnamelogin into a remote Linux machine using SSH
Ping hostname=”” or =””To ping and Analyzing network and host connections
dirDisplay files in the current directory of a remote computer
cd “dirname”change directory to “dirname” on a remote computer
put fileupload ‘file’ from local to remote computer
get fileDownload ‘file’ from remote to local computer
quitLogout

VI Editing Commands

Command NameDescription
iInsert at cursor (goes into insert mode)
aWrite after cursor (goes into insert mode)
AWrite at the end of line (goes into insert mode)
ESCTerminate insert mode
uUndo last change
UUndo all changes to the entire line
oOpen a new line (goes into insert mode)
ddDelete line
3ddDelete 3 lines
DDelete contents of line after the cursor
CDelete contents of a line after the cursor and insert new text. Press ESC key to end insertion.
dwDelete word
4dwDelete 4 words
cwChange word
xDelete character at the cursor
rReplace character
ROverwrite characters from cursor onward
sSubstitute one character under cursor continue to insert
SSubstitute entire line and begin to insert at the beginning of the line
~Change case of individual character

Environment Variables command

Command NameDescription
echo $VARIABLETo display value of a variable
envDisplays all environment variables
VARIABLE_NAME= variable_valueCreate a new variable
UnsetRemove a variable
export Variable=valueTo set value of an environment variable

Memory and Process

Command NameDescription
free -mdisplay free and used system memory
killallstop all process by name
sensorsCPU temperature
topdisplay current processes, real time monitoring
kill -1 -9send signal to process
service [start|stop|restart]manage or run sysV init script
ps auxdisplay current processes, snapshot
dmesg -kdisplay system messages

Download Free PDF Version of Commands

PS: Don’t forget to take the poll and see how you compare with others.

Further Reading: How to Prepare for CKAD Certification