ไม่สามารถเล่นวิดีโอนี้
ขออภัยในความไม่สะดวก
Shell Scripting & Linux Interview Questions for DevOps Engineers | Bash Zero to Hero |
ฝัง
- เผยแพร่เมื่อ 5 ธ.ค. 2022
- 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
TH-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
### 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
Abhishek, Can you please start Shell Scripting in advance level. You are the best mentor.
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.
😍😍
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
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, 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 :)
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
You have good teaching skills sir... thank you for educating us keep posting videos sir !
Thank you, I will
completed all three videos in shell script i have to practice once again to get confidence thanks abhisheik
Great!
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.
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 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.
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
Done with shell scripting moving ahead thankyou @abhishek anna for making the concepts easy.
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
i have watched this complete playlist,it is really helpful,thank u broh,keep posting content like this..
Welcome
thanks abishek for such a nice video
It should be "vi -R " to open it in read mode.
Thank you so much for sharing the knowledge. You have covered almost everything in this video.
@Abhishek.Veeramalla please do a detailed video on advanced shell scripting including loops
@AbhishekVeeramalla pls do more series on Advanced shell scripting.. much needed.
Sure
Thank u so much abhishek for providing such a wonderful content
My pleasure 😊
U 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 !
👍
completed today .... i am confident i will crack shell scripting and devops interviews questions ..
thanks - Abhi
Wow 😍😍
Thanks Abhishek, doing so much effort for free. Really appreciate 🙏🏻
Thanks for your Video ..explained everything in a simple way which makes us to understand well
awesome
Thankyou so much with your explanation and teaching skills shell scripting concepts is clear for me ❤️❤️❤️
Happy to hear that!
Can you please make videos on powershell scripting aswell
Hi, I will try
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
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 , Please do the videos on Shell Scripting in advance level also.
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 don't have the key for the OR symbol for the mathematical question. How do I write OR?
This is very interesting and most useful one, once again Thanks Abhishek for your time and help.
Thanks !!
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
Can you please do the series for powershell too
Hi Abhishek
Can you do the Powershell Videos also and it will be helpful lot of people
Will try
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
Make video on advanced shell script commands and trap in details
Thanks abhishek for such a wonderful content
Sir u r great, want to learn devops from you
Sure
really great abhishek sir ji 👍🏻
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
Abhishek bro, please start a advance to hero shell scripting videos
Tq so much abhishek veeramalla😊😊😊😊😊
❤️
any way your video's very useful for me, Thanks, Thanks,Thank you so much Dude !💝
You are welcome!
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
Thanks, its too good session
Can you share any example video or script related to logrotate.
very explicit, 👏
❤️
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
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
thanks abisheck learnt a lot from your videos
Awesome
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 share the Linux system admin interview preparation procedure
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
we can also use the "cat" command for read-only mode. isn't it?
yes. we can
good one
Thanks !!
this command is not working "vim -r test.txt"
Error : "E305: No swap file found for test.txt"
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 }
such a awsome explaination abhi sir 😍😍
please make an video on networking commands.
Hi Abhishek Thanks for the sessions... i have a query.. whatever scripts i give and execute, i see the same command not found error. tried installing a couple of things as per google. still see the same error.. please help!!!
If u r running these commands or script in your windows machine, it wont work
@@AbhishekVeeramalla in ec2 instance i see the same error :( then what would work for windows could you please help me on this...
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
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
Can you please make series on powershell scripting
I am not an expert
what's the use of shebang /bin/bash why only use bin instead of etc or other files pls explain
When I am executing the script it's throwing a error called command not found !
which command, please share the error.
Can we get more videos on shell scripting and Linux command
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.
I was trying to push to github repository but due to large file lfs error come. So I delete the larg file which is not necessary due to which error was coming but still error is there of git LFS. Any suggestions Sir about this problem it is live web server code
Need to check your repo
Very good content
Thanks
one my interviewer ask me how do you clean apache webserver logs without deleting? can you clarify me bro..
May be he is asking about log rotation ?
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 ?
sir plz make advonce video plz plz am wating for ur video
sure, noted
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.
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
can someone please explain why we got that at 7:00 along with intended the grep result
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
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
Worth spending time in this
🙏
hi Abhishek, could you please explain fstab
Sure
Can we also use cat command to open a file in read only mode!!?
brother can you create a video in linux admin interview question
Sure, will add it to to-do list
Thank in advance brother 💕
Hi i want to know that shell scripting you have taught is enough to learn or have to go more through any topics
thanks a lot making this video
You're welcome 😊
Thanks, Abhi
I am getting Sengmentation Fault : 11
nice video sir ..
diff between tar gzip and zip ?
Start adavance level Brother we are waiting
Question:- write a script to print only errors from a remote log
i've a logs file which is located on other site.. wanna review logs using curl command
curl is using to test the access the https address with html body
the remote file how to access ? its via github? all remote files logs stores on github ??
how the curl can get the remote file access and do the log review ?
kindly clear
the same project is explained in future video in this series, please check the shells scripting playlist
Remote file we can access through ssh
Nice bro
Thanks