Shell Scripting & Linux Interview Questions for DevOps Engineers | Bash Zero to Hero |
HTML-код
- Опубликовано: 21 ноя 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
RUclips: / @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 yo so much
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
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
☺️☺️
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.
Awesome,wonderful 3 videos session on shell scripting. By practicing all these we will get confident on scripting. Thank you.
😍😍
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.
Really superb
In youtube i have never seen this type of shellscripting, i really liked this class.
Thanks Ram
Watched all 3 sessions. It was fantastic crisp and clear. Thanks a lot sir and please make some more.
Thank you, I will
Done with shell scripting moving ahead thankyou @abhishek anna for making the concepts easy.
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
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 :)
hey Abhishek, I had tried shell script in my 2nd year at college and didn't get it but now i am feeling very comfortable and looking forward for a great knowledge about devops
completed all three videos in shell script i have to practice once again to get confidence thanks abhisheik
Great!
You teach with such patience and love !
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
Hey Abhishek first of all loads of thanks, i really appreciate what ur doing and i really understand it so well, ur way of explaining concept is outstanding, i am very much new to this devOps world but because of u im finding little ease thanks a lot
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
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
Thank u so much abhishek for providing such a wonderful content
My pleasure 😊
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
Thanks abhishek for such a wonderful content
@AbhishekVeeramalla pls do more series on Advanced shell scripting.. much needed.
Sure
Hey Man, very nice video. Also you should explain earlier in the first session about "test" " [ " and club it together with the syntax with if [ expression ], this will give more idea to people why there's space between expression and [ .
It should be "vi -R " to open it in read mode.
Correct 😊
Thanks Abhishek, doing so much effort for free. Really appreciate 🙏🏻
Thank you so much for sharing the knowledge. You have covered almost everything in this video.
thanks abishek for such a nice video
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.
i have watched this complete playlist,it is really helpful,thank u broh,keep posting content like this..
Welcome
@Abhishek.Veeramalla please do a detailed video on advanced shell scripting including loops
You have good teaching skills sir... thank you for educating us keep posting videos sir !
Thank you, I will
thank you wonderful Video,
I think in advanced shell scripting we can see some automation and best practices on cron job and log rotates !
👍
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
This is very interesting and most useful one, once again Thanks Abhishek for your time and help.
Thanks !!
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
Tq so much abhishek veeramalla😊😊😊😊😊
❤️
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
Hi Abhishek , Please do the videos on Shell Scripting in advance level also.
the session was amazing thanks
any way your video's very useful for me, Thanks, Thanks,Thank you so much Dude !💝
You are welcome!
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
really great abhishek sir ji 👍🏻
thanks
thanks abisheck learnt a lot from your videos
Awesome
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
completed today .... i am confident i will crack shell scripting and devops interviews questions ..
thanks - Abhi
Wow 😍😍
Sir u r great, want to learn devops from you
Sure
such a awsome explaination abhi sir 😍😍
Can you please make videos on powershell scripting aswell
Hi, I will try
Thanks, its too good session
Can you share any example video or script related to logrotate.
Abhishek bro, please start a advance to hero shell scripting videos
Completed day 7 of journey 😊
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 }
Make video on advanced shell script commands and trap in details
U have good teaching skills sir... thank you for educating us keep posting videos sir
Thank you, I will
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
Can you please make advanced level shell scripting videos❤
great video thanks a lot :) ahishek
Can you please do the series for powershell too
Thanks, Abhi
Please share the Linux system admin interview preparation procedure
Hi Abhishek
Can you do the Powershell Videos also and it will be helpful lot of people
Will try
subscribed, How well you will explain,thak you
Welcome
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
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
I think the 2 you did was incorrect. The number should divide by both 3 and 5. I question it's AND not OR.
Hi Abhishek,
Fyi:You missed explaining questions 13 and 20
very explicit, 👏
❤️
The question which have here - Write a shell script to print numbers devided by 3 AND 5 and not 15. i feel the question its self is wrong it should be number devided by 3 OR 5 and not by 15. Am i right? Please correct me if i am wrong
Hi Abhi,, done with shell scriptibg course from your playlist.. You can help us more in it.. Thanks once again❤
nice video sir ..
diff between tar gzip and zip ?
good one
Thanks !!
please make an video on networking commands.
9:52 Write a shell script to print numbers divided by 3 & 5 and not 15?
in this question i am not getting the proper output
Can we get more videos on shell scripting and Linux command
Worth spending time in this
🙏
we can also use the "cat" command for read-only mode. isn't it?
yes. we can
thanks a lot making this video
You're welcome 😊
Hi abhishek ,
for other shell scripting questions for interview where we can study from ? Is there any resources we can follow
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
hi Abhishek, could you please explain fstab
Sure
I don't have the key for the OR symbol for the mathematical question. How do I write OR?
Thank you sir
Thank you.
Thank you ^^
You're welcome 😊
Abhishek, Can you please start Shell Scripting in advance level ?
Very good content
Thanks
Hi Abhishek,
While practicing I just noticed to open a file in ready only mode we use -R . -r is used to recover a file from previous vim session. Can you please correct me if there is anything wrong?
Can you please make series on powershell scripting
I am not an expert
Can we also use cat command to open a file in read only mode!!?
Hi i want to know that shell scripting you have taught is enough to learn or have to go more through any topics
Thank you
You are welcome
what's the use of shebang /bin/bash why only use bin instead of etc or other files pls explain
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.
sir plz make advonce video plz plz am wating for ur video
sure, noted
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?
same for me, did you find out the error?
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
You may not have set the right file permission. What is the error you're getting?
good