Shell Scripting & Linux Interview Questions for DevOps Engineers | Bash Zero to Hero |
Вставка
- Опубліковано 20 сер 2024
- Support my work
www.buymeacoff... Hi Everyone, Welcome back to my channel.
In this video, Some most commonly asked Shell Scripting Interview Questions. It is very important for every devops engineers to have answers to these questions.
About me:
-----------------
LinkedIn: / abhishek-veeramalla-77...
GitHub: github.com/iam...
Medium: / abhishekveeramalla-av
UA-cam: / @abhishekveeramalla .
.
Disclaimer: Unauthorized copying, reproduction, or distribution of this video content, in whole or in part, is strictly prohibited. Any attempt to upload, share, or use this content for commercial or non-commercial purposes without explicit permission from the owner will be subject to legal action. All rights reserved.
0:47 List some of the commonly used shell commands ?
3:18 Write a simple shell script to list all processes
5:30 Write a script to print only errors from a remote log
9:52 Write a shell script to print numbers divided by 3 & 5 and not 15
19:24 Write a script to print number of "S" in Mississippi
23:36 How will you debug the shell script?
23:59 What is crontab in Linux? Can you provide an example of usage?
24:58 How to open a read-only file?
25:24 What is a difference between soft and hard link?
28:05 What is a difference between break and continue statements ?
30:58 What are some disadvantages of Shell scripting?
31:45 What a different types of loops and when to use?
32:19 Is bash dynamic or statically typed and why?
33:23 Explain about a network troubleshooting utility?
35:06 How will you sort list on names in a file ?
35:43 How will you manage logs of a system that generate huge log files everyday?
"I think it will be convenient, give it a like."
good job denys. I appreciate
Thank you Abhishek !! :)
Questions which I faced in interview that people should be aware of.
1) what is sticky bit in linux
2) how do we verify if out shell script is executed successfully?
3) what is the flag to check if file is empty or not?
4)What is positional parameter ?
5)what is command substitution?
6)How do you set crontab?
7) how will your .sh script configured in CRONTAB will run when system is restarted?
Thanks for posting:)
Hey nikhil ..thanks for sharing
Sure, let's go through each of these interview questions one by one with explanations.
### 1. What is a Sticky Bit in Linux?
The sticky bit is a special permission that can be set on directories. When the sticky bit is set on a directory, only the owner of the directory, the owner of the file, or the root user can delete or rename the files within that directory.
#### Example
To set the sticky bit on a directory:
```bash
chmod +t /path/to/directory
```
To check if the sticky bit is set:
```bash
ls -ld /path/to/directory
```
You will see a `t` at the end of the permissions:
```
drwxrwxrwt 2 root root 4096 Jul 1 12:34 /path/to/directory
```
### 2. How Do We Verify if Our Shell Script is Executed Successfully?
The exit status of a command can be checked using the special variable `$?`. A zero exit status (`0`) indicates success, while a non-zero value indicates failure.
#### Example
```bash
#!/bin/bash
your_command
if [ $? -eq 0 ]; then
echo "Command executed successfully"
else
echo "Command failed"
fi
```
You can also use the `set -e` option at the beginning of your script to exit the script immediately if any command returns a non-zero status.
### 3. What is the Flag to Check if a File is Empty or Not?
The `-s` flag in the test command (`[ ... ]`) checks if a file is not empty.
#### Example
```bash
#!/bin/bash
file="path/to/yourfile"
if [ -s "$file" ]; then
echo "File is not empty"
else
echo "File is empty"
fi
```
### 4. What is a Positional Parameter?
Positional parameters are variables that hold the arguments passed to a shell script or function. They are referenced using `$1`, `$2`, `$3`, etc., where `$1` is the first argument, `$2` is the second, and so on. `$0` refers to the script or command itself.
#### Example
```bash
#!/bin/bash
echo "First argument: $1"
echo "Second argument: $2"
```
### 5. What is Command Substitution?
Command substitution allows you to capture the output of a command and use it as an argument in another command. It can be done using backticks (\`) or `$(...)`.
#### Example
Using backticks:
```bash
current_date=`date`
echo "Current date is $current_date"
```
Using `$(...)`:
```bash
current_date=$(date)
echo "Current date is $current_date"
```
### 6. How Do You Set Crontab?
Crontab is used to schedule commands to be executed periodically. You can edit the crontab file for your user by running:
```bash
crontab -e
```
This will open an editor where you can add your cron jobs. The format is:
```
* * * * * command_to_be_executed
```
The fields represent:
1. Minute (0 - 59)
2. Hour (0 - 23)
3. Day of month (1 - 31)
4. Month (1 - 12)
5. Day of week (0 - 7) (Sunday is 0 or 7)
#### Example
To run a script every day at 2 AM:
```bash
0 2 * * * /path/to/your_script.sh
```
### 7. How Will Your .sh Script Configured in CRONTAB Run When the System is Restarted?
To ensure a script runs at startup, you can use the `@reboot` cron directive.
#### Example
To add a script that runs at system startup:
```bash
@reboot /path/to/your_script.sh
```
This entry in the crontab will execute `your_script.sh` every time the system boots up.
### Summary
1. **Sticky Bit**: Special permission on directories preventing users from deleting or renaming files they do not own.
2. **Verify Script Execution**: Check `$?` for the exit status of the last command.
3. **Check If File is Empty**: Use `-s` flag.
4. **Positional Parameter**: Variables holding script arguments, accessed via `$1`, `$2`, etc.
5. **Command Substitution**: Capturing command output using `$(...)` or backticks.
6. **Set Crontab**: Use `crontab -e` to schedule jobs.
7. **Run Script at Startup**: Use `@reboot` in crontab.
These are some essential Linux concepts and commands that can help in understanding and managing a Unix-like environment efficiently.
@@SathyaManikanta Thank you for providing the answers.
Thanks @@SathyaManikanta for the answers
Abhishek, Can you please start Shell Scripting in advance level. You are the best mentor.
### Summary:
- [00:01] 🎯 Understanding and mastering shell scripting interview questions involves a structured approach, starting from basics and building up to advanced topics.
- [01:12] 💼 Interviewers often begin by asking about **commonly used shell commands** to gauge your practical familiarity with scripting in daily tasks.
- [04:15] 📜 **Demonstrating simple shell scripts**, such as **listing all processes**, showcases your ability to work effectively on Linux systems. (`ps -ef` )
- [06:30] 🛠 Using the `curl` command and piping output to `grep` allows you to fetch and filter specific lines from remote log files.
- [09:03] 🔢 Crafting scripts to manipulate numbers based on conditions, like divisibility by 3, 5, and exclusion of 15, demonstrates algorithmic thinking.
- [11:01] 🖋 Writing scripts step-by-step, explaining each segment as you build, showcases your clarity of thought and logical progression.
- [14:31] 🔄 Employing for loops to iterate through a range of numbers, combining with logical conditions, allows effective script control.
- [19:08] 🔠 Manipulating strings like counting occurrences of a specific character ("s" in "Mississippi") highlights your ability to process and analyze textual data in scripts.
- [21:40] 📜 The `grep` command with `o` option filters text for specific patterns.
- [22:05] 📜 `wc -l` counts lines in a file; used in conjunction with `grep`.
- [22:46] 📜 Combine `grep` and `wc` to filter and count specific patterns.
- [23:13] 📜 Practice is crucial to mastering shell scripting techniques.
- [24:09] 📜 Cron tab automates tasks, scheduling scripts to run at specific times.
- [25:04] 📜 Use `-r` option to open a file in read-only mode with `vim`.
- [25:32] 📜 Differentiate between soft links and hard links; understand use cases.
- [28:08] 📜 Explain the concepts of `break` and `continue` statements in loops.
- [30:59] 📜 Address disadvantages of shell scripting, focusing on practical scenarios.
- [31:54] 📜 Understand the types of loops (for, while, do-while) and their use cases.
- [32:20] 📜 Shell scripting is dynamically typed; differences from statically typed languages.
- [33:32] 📜 Utilize `traceroute` and `tracepath` commands for network troubleshooting.
- [34:01] 📜 Use the `sort` command for sorting and listing names in files.
- [35:10] 📜 Employ `logrotate` to manage and maintain large log files efficiently.
- [36:22] 📜 Explain how `logrotate` helps manage logs generated by applications.
Thank you
good job deva. I appreciate
Really superb
In youtube i have never seen this type of shellscripting, i really liked this class.
Thanks Ram
Awesome,wonderful 3 videos session on shell scripting. By practicing all these we will get confident on scripting. Thank you.
😍😍
You are the best teacher I have ever learned . I am from sri lanka and . I started learning devops in just 3 days . I gain a lot of knowledge from you . Thank you boss
☺️☺️
Watched all 3 sessions. It was fantastic crisp and clear. Thanks a lot sir and please make some more.
Thank you, I will
Hi @Abhishek.Veeramalla ,
Thanks for your first two videos and for this video. I would like to see more of it in relation to the Devops Engineer. You are good at what you are doing. Keep going and I wish you all the best.
Thanks
Thanks for the feedback
Date- 20-08-2024 . Completed the video and it is very easy to follow.
You're an awesome tutuor/Guru or what to name you.
Thank you.
Very useful information you have provided in this session. You are doing great job. Your teaching style is very good.
Most welcome !!
@@AbhishekVeeramalla nice teaching bro easy to understand as a begginer thank you for making this session for free
completed all three videos in shell script i have to practice once again to get confidence thanks abhisheik
Great!
Hi Abhishek, that's very interesting to know these interview point of view questions. That's very informative. Please do more of these.
Part -3 of Shell Scripting done :)
Hi @Abhishek Veeramalla, Really you are a great mentor, teacher, trainer, expert & all for Cloud, Linux & DevOps domain. Thanks for such great sessions for free. Thanks keep it up bhai!
You are most welcome
@@AbhishekVeeramallapls do more videos on shell scripting advanced
very well explained abhishek. I never wrote a shell script so far being an experienced DevOps engineer but after watching your videos, my confidence levels boosted in a way that from now on even I also will start writing the shell scripts. thanks a lot for your videos and hoping for more upcoming videos that will help lot of people.
best wishes!!
Glad to hear that
You have good teaching skills sir... thank you for educating us keep posting videos sir !
Thank you, I will
Done with shell scripting moving ahead thankyou @abhishek anna for making the concepts easy.
19:25 few ways of doing it
Method 1: Using grep Command
#!/bin/bash
x=mississippi
# Count occurrences of 's' using grep
echo "$x" | grep -o "s" | wc -l
Method 2: Using tr command
#!/bin/bash
x=mississippi
# Count occurrences of 's' using tr
echo "$x" | tr -cd 's' | wc -c
Explanation:
tr -cd 's': Translates and deletes all characters except 's', leaving only 's' characters.
wc -c: Counts the number of remaining characters, which corresponds to the number of 's' in the string.
Method 3 : Using awk
#!/bin/bash
x=mississippi
# Count occurrences of 's' using awk
echo "$x" | awk -F's' '{print NF-1}'
Explanation:
awk -F's' '{print NF-1}':
-F's' sets the field separator to 's'.
NF is the number of fields, which would be the number of parts the string is divided into by 's'.
NF-1 gives the number of 's' in the string.
i have watched this complete playlist,it is really helpful,thank u broh,keep posting content like this..
Welcome
The way u r teaching is really good and coming to shell scripting,as a devops engineer where and when we use in our daily activities in the real time please make a video on that so it could help....Thankyou bro
Thanks
@AbhishekVeeramalla Do you have any more scenario based on shell scripting..if u have please share..Thanks bro
thanks abishek for such a nice video
Thank you so much for sharing the knowledge. You have covered almost everything in this video.
Thank u so much abhishek for providing such a wonderful content
My pleasure 😊
completed today .... i am confident i will crack shell scripting and devops interviews questions ..
thanks - Abhi
Wow 😍😍
Hi Abhi, Kindly continue the Advance Shell scripting videos TQ
sure, noted
Yes, please and if possible please make videos on ansible as well. Thank you Sir dil se.
It should be "vi -R " to open it in read mode.
U have good teaching skills sir... thank you for educating us keep posting videos sir
Thank you, I will
Thanks Abhishek, doing so much effort for free. Really appreciate 🙏🏻
@AbhishekVeeramalla pls do more series on Advanced shell scripting.. much needed.
Sure
@Abhishek.Veeramalla please do a detailed video on advanced shell scripting including loops
Thankyou so much with your explanation and teaching skills shell scripting concepts is clear for me ❤️❤️❤️
Happy to hear that!
Thanks for your Video ..explained everything in a simple way which makes us to understand well
awesome
thank you wonderful Video,
I think in advanced shell scripting we can see some automation and best practices on cron job and log rotates !
👍
This is very interesting and most useful one, once again Thanks Abhishek for your time and help.
Thanks !!
Thanks abhishek for such a wonderful content
Hi can you post list of command which you used in this playlist, its esay to refer from git repository, I am followed your AWS series it's very nice document you maintain
hello ,the video was nice but i kinda felt like you were rushing it, if its possible can you explain all the networking commands and other scripts in detail
I think the 2 you did was incorrect. The number should divide by both 3 and 5. I question it's AND not OR.
Sorry to say but this is true, Nowadays no interviewer ask such straight question, all come with scenario base questions, this wont work for me at all
This is for beginners.
Where can i learn scenario based questions? Is there any source? pls share
Hi Abhishek , Please do the videos on Shell Scripting in advance level also.
really great abhishek sir ji 👍🏻
thanks
Tq so much abhishek veeramalla😊😊😊😊😊
❤️
any way your video's very useful for me, Thanks, Thanks,Thank you so much Dude !💝
You are welcome!
Can you please make videos on powershell scripting aswell
Hi, I will try
1.Thanks for the video , i have question , if application is getting down or getting 404 .. 300 ..etc what should we cheked in logs ..means as application logs or apache logs or gc.logs or error.logs can please explain us for each log like what uses of logs.
If you make it a video it will more help to us .
2.Can please explain me apache rules like inbound and outbound some says that in real-time do white list end point in outbound /inbound
3. Confluence page like user jornny make simple example
4. Can pleas exaplane the urca calls like request-out and response-in logs in monitering tools like splunk or other tools
Sir u r great, want to learn devops from you
Sure
such a awsome explaination abhi sir 😍😍
Hi Abhishek
Can you do the Powershell Videos also and it will be helpful lot of people
Will try
Can you please do the series for powershell too
very explicit, 👏
❤️
thanks abisheck learnt a lot from your videos
Awesome
I don't have the key for the OR symbol for the mathematical question. How do I write OR?
Anna i would like to ask you do on this flow don't stop inbetween 😢 regarding shell scripting
I did live project as well. Please check the playlist for shell scripting
Abhishek bro, please start a advance to hero shell scripting videos
Make video on advanced shell script commands and trap in details
Hi Abhishek,
Even I have typed the same commands for the question (number divisible by 3, 5 not 15). While running the file, nothing is printed. All the 777 permissions are given, but till no output. Any suggestions?
great video thanks a lot :) ahishek
somebody please confirm this..linux commands shell scripting commands are same..!..wt is shell scripting what is linux commands please explain
subscribed, How well you will explain,thak you
Welcome
Thanks, its too good session
Can you share any example video or script related to logrotate.
Worth spending time in this
🙏
Thank you very much for such helpful vedios to prepare for the interview. I have a second round tomorrow for Devops . Could you please guide me which one should I watch
Hey, That's awesome .. All the best
It depends on the JD. I think we have covered most of the scenarios and tools. So checkout the playlists
question i was asked during my interview about linux was what is a zombie process
Here the solution ,A zombie process, also known as a defunct process, is a terminated process that has not been fully removed from the process table. It exists in this state until the parent process acknowledges its termination and collects its exit status. Zombie processes consume minimal system resources but still occupy an entry in the process table. { Writing for myself }
good one
Thanks !!
thanks a lot making this video
You're welcome 😊
Very good content
Thanks
Please share the Linux system admin interview preparation procedure
Hi Abhi,, done with shell scriptibg course from your playlist.. You can help us more in it.. Thanks once again❤
Abhishek, Can you please start Shell Scripting in advance level ?
Alternate to using expr,
if ([ $((i%3)) -eq 0 ] || [ $((i%5)) -eq 0 ]) && [ $((i%15)) -ne 0 ];
Hi Abhishek,
Fyi:You missed explaining questions 13 and 20
even after changing permissions why I am not getting output, tried with -x get below error.
+ for i in {1..100}
+ '[' 'expr $i % 3' == 0 ']'
+ '[' 'expr $i % 5' == 0 ']'
+ for i in {1..100}
what are you expecting ?
please make video on deploying java application to kubernetes with sonar and nexus integration using CI CD Please
Will try for sure
@@AbhishekVeeramalla thank you
this command is not working "vim -r test.txt"
Error : "E305: No swap file found for test.txt"
5:15 No need of Field delimitter -F as awk has whitespace as Field seperator by default.
Hello vasu, from where can I learn bash scripting apart from this, can you please suggest?
@@apurva6234 basics are enough, read documentation and do questions regularly, there are many free and cheap resources on internet.
@@apurva6234 And I also landed on your channel, and found few music playlists. I was just curious, that did you made them by yourself, all perfectly curated.
@vasujhawar.6987 I'm glad you liked it. Yes, I made those myself. :)
@@vasujhawar.6987 , also thanks! I'll go through the documentation
Start adavance level Brother we are waiting
we can also use the "cat" command for read-only mode. isn't it?
yes. we can
Can we get more videos on shell scripting and Linux command
Hi Abhishek, thank u for your excellent videos. I wanted to switch from developer to deveops domain. I'm currently woking as angular developer but there is no consistency of gaining any knowledge and improvisation due to lack of projects. Is it good choice to make my carrier to deveops domain. If it so can i showcase my experience as deveops engineer and switch on ???
Kindly do the needful. Thank you.
please make an video on networking commands.
Can you please make series on powershell scripting
I am not an expert
I tried two three examples like mississipi. I have a doubt if mississipi is a single word. If it is a paragraph, how can i find a word from a paragraph ?Please help
on 18:16 I have a doubt I have followed all that but it is not executing it.. Please could you tell it!!!
Same here
When I am executing the script it's throwing a error called command not found !
which command, please share the error.
Thank you ^^
You're welcome 😊
what's the use of shebang /bin/bash why only use bin instead of etc or other files pls explain
sir plz make advonce video plz plz am wating for ur video
sure, noted
Thanks, Abhi
Thank you sir
I am getting Sengmentation Fault : 11
can someone please explain why we got that at 7:00 along with intended the grep result
amazing sir,
One question though sir, why dont we have a discord or slack server so that we can talk to other people who are learning also
We tried in the past. Once more people are added, it became spam. I have seen alot of groups and it is the same.
So there is only a dedicated group for members who subscribed to the join button
@@AbhishekVeeramalla ok didn't know about groups of subscribed button members.
Are there any other benefits sir of this group?
And are you still available on Top mate sir, I posted a request there but no response sir.
Thank you.
Can we also use cat command to open a file in read only mode!!?
Nice bro
Thanks
Hello Abhishek can you help with how to write Github action workflow to run my bash script which extracts tls key and secret and in the workflow it will also include steps to save those files on github repo folder
Noted
hi Abhishek, could you please explain fstab
Sure
brother can you create a video in linux admin interview question
Sure, will add it to to-do list
Thank in advance brother 💕
wrote same as you code in shell but getting command not found message after doint same as u have done check many times still i am getting errror while doing the no id divible by 3&5not by 15 plz provide us source code file or solution
check one more time this time check spaces ,semicolons also
for i in {1..100}; do
if ([ `expr $i % 3` == 0 ] || [ `expr $i % 5` == 0 ]) && [ `expr $i % 15` != 0 ];
then
echo $i
fi;
done
Hi i want to know that shell scripting you have taught is enough to learn or have to go more through any topics