Linux Environment Variables, PATH, .bashrc आणि alias सोप्या भाषेत
तुम्ही चालवता त्या प्रत्येक program ला settings ची छोटी पिशवी मिळते, तिला environment variables म्हणतात: तुम्ही कोण, home folder, commands कुठे शोधायच्या, आवडता editor, API endpoints वगैरे. या chapter मधे ते वाचणं, set, export आणि काढणं शिकाल, PATH commands कसे शोधतो, कोणती startup file कधी चालते, आणि aliases typing कशी वाचवतात.
या chapter मध्ये तुम्ही काय शिकाल
- echo, env आणि printenv ने variables वाचा
- Shell vs exported variables set, आणि unset
- PATH समजा आणि safely बदला
- which, type आणि command -v वापरा
- .bashrc, .bash_profile, /etc/profile.d आणि /etc/environment ओळखा
- Aliases, functions आणि चांगला PS1 बनवा
1. रोजचं उदाहरण: शाळेची bag आणि timetable
हे का लागतं?
रोज सकाळी मूल भिंतीवरच्या timetable प्रमाणे शाळेची bag भरतं. Bag मधे जे आहे ते शाळेत जातं; table वर राहिलेलं घरीच. लहान भावाने bag copy केली तर त्याला तीच पुस्तकं मिळतात. आणि मूल timetable वर लांब विषयांची छोटी टोपणनावं लिहितं.
हे काय आहे?
भिंतीवरचा timetable = .bashrc. Bag = exported environment. Table वरच्या वस्तू = shell-only variables. भावाने bag copy = child process ला env मिळणं. टोपणनावं = aliases.
कसं करायचं (step by step)
2. echo $VAR: एक variable वाचा
हे का लागतं?
Value पटकन तपासायची, जसं home folder किंवा कोणता editor set.
हे काय आहे?
$NAME value मधे बदलतो. Spaces ठेवायला "$NAME" quotes मधे. ${NAME:-default} रिकामं असेल तर default. Common: HOME, USER, SHELL, PWD, LANG, EDITOR, HOSTNAME, PATH.
कसं करायचं (step by step)
- Home आणि user.
echo "$USER lives in $HOME"
Output:
ravi lives in /home/ravi
याचा अर्थ: एका line मधे दोन variables.
- Default value.
echo "${EDITOR:-nano}"
Output:
nano
याचा अर्थ: EDITOR रिकामा, म्हणून nano.
3. env आणि printenv: environment list
हे का लागतं?
App दोन servers वर वेगळं वागतं तेव्हा environments तुलना करा.
हे काय आहे?
env आणि printenv सगळे exported variables. printenv NAME एक ($ नाही). env -i CMD रिकाम्या environment ने CMD. env VAR=x CMD फक्त त्या run साठी extra variable.
कसं करायचं (step by step)
- मोजा आणि filter.
env | wc -l; env | grep -i ^lang
Output:
28
LANG=en_IN.UTF-8
याचा अर्थ: 28 exported variables.
- एक value.
printenv SHELL
Output:
/bin/bash
याचा अर्थ: $ लागत नाही.
- Clean environment ने.
env -i /usr/bin/env
Output:
(no output)
याचा अर्थ: काही inherit नाही.
4. Variables set: shell vs export
हे का लागतं?
Set केलेलं variable export केलं नाही तर तुम्ही सुरू केलेल्या programs ना दिसत नाही. यात अनेक beginners गोंधळतात.
हे काय आहे?
NAME=value shell variable (= भोवती spaces नाही). export NAME किंवा export NAME=value environment मधे, म्हणजे child processes ना मिळतं. NAME=value cmd फक्त एका command साठी. Startup file मधे save केलं नाही तर terminal बंद झाल्यावर जातं.
कसं करायचं (step by step)
- Exported नाही.
CITY=Pune; bash -c 'echo "child sees: $CITY"'
Output:
child sees:
याचा अर्थ: Child ला मिळालं नाही.
- Exported.
export CITY=Pune; bash -c 'echo "child sees: $CITY"'
Output:
child sees: Pune
याचा अर्थ: आता bag मधे.
- एका command साठी.
TZ=Asia/Tokyo date +%H:%M; date +%H:%M
Output:
17:42
14:12
याचा अर्थ: फक्त पहिल्या date ला TZ दिसला.
- Space ची चूक.
CITY = Pune
Output:
bash: CITY: command not found
याचा अर्थ: = भोवती spaces नको.
5. unset आणि readonly
हे का लागतं?
चुकीचं किंवा secret value session मधून काढा, किंवा value बदलण्यापासून protect करा.
हे काय आहे?
unset NAME shell आणि environment मधून काढतो. export -n NAME shell मधे ठेवतो पण export थांबवतो. readonly NAME=value या shell साठी constant.
कसं करायचं (step by step)
- Token काढा.
export API_TOKEN=abc123; unset API_TOKEN; echo "[${API_TOKEN}]"
Output:
[]
याचा अर्थ: गेलं.
- Readonly.
readonly STAGE=prod; STAGE=dev
Output:
bash: STAGE: readonly variable
याचा अर्थ: Protected.
6. PATH: commands कुठे सापडतात
हे का लागतं?
Tool install केल्यावर 'command not found' म्हणजे जवळजवळ नेहमी त्याचा folder PATH मधे नाही.
हे काय आहे?
PATH म्हणजे : ने वेगळे folders. bash डावीकडून उजवीकडे शोधतो आणि पहिला match चालवतो. Folder जोडा: export PATH="$HOME/bin:$PATH" (पुढे = जिंकतो) किंवा "$PATH:/opt/tool/bin" (शेवटी). PATH मधे . कधी नको. hash -r bash च्या लक्षात ठेवलेल्या जागा साफ.
कसं करायचं (step by step)
- एका line ला एक folder.
echo "$PATH" | tr ':' '\n'
Output:
/usr/local/bin
/usr/bin
/bin
/usr/local/sbin
/usr/sbin
याचा अर्थ: वरून खाली शोधलं जातं.
- Tool सापडत नाही.
terraform version
Output:
bash: terraform: command not found
याचा अर्थ: ते /opt/terraform मधे.
- या session साठी जोडा.
export PATH="$PATH:/opt/terraform" && terraform version
Output:
Terraform v1.9.8
याचा अर्थ: आता चालतं.
- Permanent करा.
echo 'export PATH="$PATH:/opt/terraform"' >> ~/.bashrc && source ~/.bashrc
Output:
(no output)
याचा अर्थ: प्रत्येक नव्या shell मधे.
7. which, type आणि command -v
हे का लागतं?
python type केलं आणि चुकीचं version. नेमकं काय चालतं ते कळायला हवं.
हे काय आहे?
which NAME PATH मधली पहिली file. which -a सगळ्या. type NAME alias, function, builtin की file ते सांगतो (जास्त अचूक). command -v NAME 'installed आहे का?' साठी script-safe test.
कसं करायचं (step by step)
- सगळे pythons.
which -a python3
Output:
/usr/local/bin/python3
/usr/bin/python3
याचा अर्थ: पहिला जिंकतो.
- ll म्हणजे काय?
type ll
Output:
ll is aliased to `ls -alF'
याचा अर्थ: which हे दाखवणार नाही.
- Script मधे.
command -v jq >/dev/null || echo 'please install jq'
Output:
please install jq
याचा अर्थ: Clean check.
8. ~/.bashrc vs ~/.bash_profile
हे का लागतं?
काही जोडलं आणि नव्या tab मधे चालतं पण SSH वर नाही, किंवा उलट. Startup file निवड हे समजावते.
हे काय आहे?
Login shells (SSH, console) ~/.bash_profile (किंवा ~/.profile) वाचतात. Interactive non-login shells (नवा terminal tab) ~/.bashrc. Best practice: सगळं ~/.bashrc मधे आणि ~/.bash_profile ने ते source. आत्ता लागू करायला source ~/.bashrc (किंवा . ~/.bashrc).
| File | कधी चालते |
|---|---|
| /etc/profile, /etc/profile.d/*.sh | Login shells, सगळे users |
| ~/.bash_profile or ~/.profile | Login shell, तुम्ही |
| ~/.bashrc | प्रत्येक interactive shell |
| /etc/bashrc or /etc/bash.bashrc | Interactive, सगळे users |
| /etc/environment | Login ला PAM, script नाही |
कसं करायचं (step by step)
- Profile bashrc source करते का.
grep -n bashrc ~/.bash_profile
Output:
2:[ -f ~/.bashrc ] && . ~/.bashrc
याचा अर्थ: छान, edit ला एकच जागा.
- हा login shell आहे का?
shopt -q login_shell && echo login || echo non-login
Output:
login
याचा अर्थ: SSH sessions login shells.
- बदल आत्ता लागू.
source ~/.bashrc
Output:
(no output)
याचा अर्थ: Logout लागत नाही.
9. /etc/environment आणि /etc/profile.d
हे का लागतं?
Proxy किंवा company tool path server वरच्या प्रत्येक user साठी, फक्त तुमच्यासाठी नाही.
हे काय आहे?
/etc/environment मधे साध्या KEY=value lines (export नाही, $VAR expansion नाही), login ला वाचल्या जातात. /etc/profile.d/NAME.sh सगळ्या users च्या login shells चालवतात; तिथे export आणि $PATH वापरू शकता. systemd services हे वाचत नाहीत; unit मधे Environment=.
कसं करायचं (step by step)
- सगळ्यांसाठी company proxy.
echo 'https_proxy=http://proxy.corp:3128' | sudo tee -a /etc/environment
Output:
https_proxy=http://proxy.corp:3128
याचा अर्थ: साधी line, export नाही.
- सगळ्यांसाठी tool path.
echo 'export PATH="$PATH:/opt/terraform"' | sudo tee /etc/profile.d/terraform.sh
Output:
export PATH="$PATH:/opt/terraform"
याचा अर्थ: पुढच्या login नंतर.
- Service ला variable हवा.
sudo systemctl edit shop-api
[Service]
Environment=NODE_ENV=production
Output:
(override saved)
याचा अर्थ: Services .bashrc ignore करतात.
10. alias आणि unalias
हे का लागतं?
रोज तेच लांब commands type करता. Alias ते छोटे करतो आणि safety flags जोडतो.
हे काय आहे?
alias NAME='command' बनवतो. नुसतं alias सगळे list. unalias NAME काढतो. ठेवायला ~/.bashrc मधे save. \NAME किंवा command NAME alias skip करून खरा command. Scripts मधे aliases default चालत नाहीत.
कसं करायचं (step by step)
- छोटं आणि safe.
alias ll='ls -lh' rm='rm -i' k='kubectl'
Output:
(no output)
याचा अर्थ: आता rm आधी विचारतो.
- List.
alias | head -3
Output:
alias k='kubectl'
alias ll='ls -lh'
alias rm='rm -i'
याचा अर्थ: तुमचे shortcuts.
- एकदा alias skip.
\rm old.log
Output:
(no output)
याचा अर्थ: या वेळी प्रश्न नाही.
- काढा.
unalias k && type k
Output:
bash: type: k: not found
याचा अर्थ: गेलं.
11. मोठ्या shortcuts साठी shell functions
हे का लागतं?
Aliases मधे arguments घेऊ शकत नाहीत. Functions घेतात, आणि अनेक steps चालवतात.
हे काय आहे?
~/.bashrc मधे NAME() { commands; }. $1, $2 arguments, "$@" सगळे. declare -f NAME दाखवतो. unset -f NAME काढतो.
कसं करायचं (step by step)
- Folder बनवून आत जा.
mkcd() { mkdir -p "$1" && cd "$1"; }; mkcd /tmp/demo && pwd
Output:
/tmp/demo
याचा अर्थ: एक शब्द, दोन steps.
- Service चे logs.
logs() { journalctl -u "$1" -n "${2:-50}" --no-pager; }; logs nginx 5
Output:
(5 nginx log lines)
याचा अर्थ: Default 50 lines.
12. PS1: उपयोगी prompt
हे का लागतं?
चुकून production server वर command type करणं हा classic outage. स्पष्ट prompt तुम्ही कुठे आहात ते दाखवतो.
हे काय आहे?
PS1 prompt set करतो. \u user, \h host, \w folder, \$ root साठी #. Colours \[\e[31m\] (red) आणि \[\e[0m\] (reset). ~/.bashrc मधे.
कसं करायचं (step by step)
- साधा.
PS1='\u@\h:\w\$ '
Output:
ravi@web1:~/app$
याचा अर्थ: User, host, folder.
- लाल PROD tag.
PS1='\[\e[41m\]PROD\[\e[0m\] \u@\h:\w\$ '
Output:
PROD ravi@db1:~$
याचा अर्थ: चुकणं अशक्य.
13. HISTSIZE, HISTCONTROL आणि history tricks
हे का लागतं?
History परत type करणं वाचवतं आणि incident मधे काय केलं ते आठवायला मदत करतं.
हे काय आहे?
HISTSIZE (memory) आणि HISTFILESIZE (~/.bash_history) किती ठेवायचं. HISTCONTROL=ignoreboth duplicates आणि space ने सुरू lines skip (secrets साठी सुरुवातीला space). HISTTIMEFORMAT='%F %T ' times. history, !N, search साठी Ctrl+R.
कसं करायचं (step by step)
- चांगले history settings.
cat >> ~/.bashrc <<'X'
HISTSIZE=10000
HISTFILESIZE=20000
HISTCONTROL=ignoreboth
HISTTIMEFORMAT='%F %T '
X
Output:
(no output)
याचा अर्थ: मोठी, स्वच्छ, time सह history.
- Times सह.
source ~/.bashrc; history 2
Output:
501 2026-10-25 14:20:11 source ~/.bashrc
502 2026-10-25 14:20:14 history 2
याचा अर्थ: कधी चालवलं.
14. अनेक industries मधली खरी उदाहरणं
हे का लागतं?
तेच Linux skill प्रत्येक प्रकारच्या company मध्ये लागतं. वेगवेगळ्या ठिकाणी पाहिलं की लक्षात राहतं.
हे काय आहे?
प्रत्येक row म्हणजे एक काल्पनिक team. कोण हे वापरतं आणि कसं ते दाखवते.
कसं करायचं (step by step)
| Team आणि शहर | ते कसं वापरतात | Command |
|---|---|---|
| Shruti, fintech, Pune | Payment servers वर लाल PROD prompt | PS1='PROD \u@\h:\w\$ ' |
| Jack, game studio, Austin | सगळ्या users साठी SDK PATH मधे | /etc/profile.d/sdk.sh |
| Leila, airline, Abu Dhabi | /etc/environment ने proxy | https_proxy=http://proxy:3128 |
| Pedro, logistics, Lisbon | kubectl साठी k alias | alias k=kubectl |
| Arjun, data team, Bengaluru | which -a ने योग्य python | which -a python3 |
| Nina, SaaS, Stockholm | Environment= ने service env | Environment=NODE_ENV=production |
15. नेहमीच्या errors आणि त्यांचे fixes
हे का लागतं?
हे errors सगळ्यांना येतात. कारण माहीत असलं की तास वाचतात.
हे काय आहे?
आधी नेमका message वाचा. मग खालच्या row शी जुळवा.
कसं करायचं (step by step)
| दिसणारा error | का होतं | Fix कसा करायचा |
|---|---|---|
bash: terraform: command not found | Folder PATH मधे नाही | PATH मधे जोडा.export PATH="$PATH:/opt/terraform" |
bash: CITY: command not found (after CITY = Pune) | = भोवती spaces | NAME=value लिहा.CITY=Pune |
Child program does not see the variable | Export नाही | export करा.export CITY |
Change in .bashrc not working over SSH | Login shell .bash_profile वाचतो, ती .bashrc source करत नाही | .bash_profile मधून .bashrc source.echo '. ~/.bashrc' >> ~/.bash_profile |
ls: command not found (every command broken) | PATH append नाही, overwrite झाला | PATH restore, line fix.export PATH=/usr/local/bin:/usr/bin:/bin |
Service ignores my variable | systemd .bashrc वाचत नाही | Environment= किंवा EnvironmentFile=.sudo systemctl edit shop-api |
bash: STAGE: readonly variable | Readonly केलं होतं | नवा shell उघडा.bash |
Old version still runs after install | bash hash cache किंवा आधीची PATH entry | Hash साफ करा आणि क्रम तपासा.hash -r; which -a node |
Alias works in terminal but not in script | Non-interactive shells मधे aliases बंद | पूर्ण command किंवा function.command -v kubectl |
sudo: mytool: command not found | sudo secure_path वापरतो, तुमचा PATH नाही | Full path.sudo /opt/mytool/bin/mytool |
16. Troubleshooting step by step
हे का लागतं?
Command किंवा variable अपेक्षेप्रमाणे नसेल तर bash ला काय दिसतं ते step by step तपासा.
हे काय आहे?
वरून खाली जा. ज्या step ला problem दिसतो तिथे थांबा.
कसं करायचं (step by step)
- ते काय आहे?
type -a mytool
- PATH कुठे बघतो?
echo "$PATH" | tr ':' '\n'
- Variable set आणि exported?
declare -p MYVAR; printenv MYVAR
- कोणत्या startup files चालल्या?
shopt -q login_shell && echo login; grep -n bashrc ~/.bash_profile
- कोण set करतो?
grep -rn MYVAR ~/.bashrc ~/.bash_profile /etc/profile.d /etc/environment 2>/dev/null
- Clean shell मधे test.
env -i bash -l -c 'echo $PATH'
17. Lab 1: Variables, export आणि PATH
हे का लागतं?
Shell आणि exported variables मधला फरक बघा, मग स्वतःचा bin folder permanently PATH मधे.
हे काय आहे?
पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).
कसं करायचं (step by step)
- Shell vs export.
A=1; export B=2; bash -c 'echo A=$A B=$B'
Output:
A= B=2
- ~/bin मधे script.
mkdir -p ~/bin && printf '#!/bin/bash\necho hello from bin\n' > ~/bin/hi && chmod +x ~/bin/hi
Output:
(no output)
- अजून सापडत नाही?
hi
Output:
bash: hi: command not found (or it works if ~/bin is already in PATH)
- PATH मधे permanently.
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc && hi
Output:
hello from bin
- क्रम तपासा.
type -a hi; echo "$PATH" | tr ':' '\n' | head -n1
Output:
hi is /home/ravi/bin/hi
/home/ravi/bin
18. Lab 2: Aliases, function आणि safe prompt
हे का लागतं?
~/.bashrc मधे aliases आणि function, coloured prompt, आणि चांगली history.
हे काय आहे?
पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).
कसं करायचं (step by step)
- bashrc backup.
cp ~/.bashrc ~/.bashrc.bak
Output:
(no output)
- Aliases आणि function.
cat >> ~/.bashrc <<'X'
alias ll='ls -lh'
alias rm='rm -i'
mkcd() { mkdir -p "$1" && cd "$1"; }
PS1='\[\e[32m\]\u@\h\[\e[0m\]:\w\$ '
HISTCONTROL=ignoreboth
X
Output:
(no output)
- Load आणि test.
source ~/.bashrc && type ll && mkcd /tmp/lab24 && pwd
Output:
ll is aliased to `ls -lh'
/tmp/lab24
- Alias skip.
touch x && \rm x && echo removed
Output:
removed
- हवं तर restore.
cp ~/.bashrc.bak ~/.bashrc && source ~/.bashrc
Output:
(no output)
Ravindra Bagale's Tip
When you change PATH, always keep $PATH in the new value, and back up ~/.bashrc first. One wrong line like PATH=/opt/tool breaks every command, and then you have to type full paths like /usr/bin/vi to fix it.
Ravindra Bagale's Tip – मराठी
PATH बदलताना नव्या value मधे नेहमी $PATH ठेवा, आणि आधी ~/.bashrc backup. PATH=/opt/tool सारखी एक चुकीची line प्रत्येक command तोडते, आणि मग fix करायला /usr/bin/vi सारखे full paths type करावे लागतात.
Ravindra Bagale's Tip – हिंदी
PATH बदलते समय नई value में हमेशा $PATH रखें, और पहले ~/.bashrc का backup लें. PATH=/opt/tool जैसी एक गलत line हर command तोड़ देती है, और फिर ठीक करने के लिए /usr/bin/vi जैसे full paths type करने पड़ते हैं.
19. नेहमी विचारले जाणारे प्रश्न
प्र. export vs export नाही?
export शिवाय फक्त हा shell. export ने त्याने सुरू केलेले programs पण.
प्र. Variable का गायब?
फक्त त्या terminal मधे set. ~/.bashrc मधे save करा.
प्र. PATH च्या पुढे की शेवटी?
System tools override ला पुढे, नवे safely जोडायला शेवटी.
प्र. which vs type?
type ला aliases, functions आणि builtins कळतात; which फक्त files.
प्र. .bashrc edit नंतर logout?
नाही, source ~/.bashrc.
प्र. Secrets कुठे?
.bashrc किंवा history मधे नाही. Secrets manager किंवा root-only EnvironmentFile.
प्र. zsh चं काय?
तेच विचार; files ~/.zshrc आणि ~/.zprofile.
प्र. sudo ला command का सापडत नाही?
sudo sudoers मधला secure_path वापरतो. Full path.
20. मुलाखत प्रश्न आणि उत्तरं
Beginner level
प्र. सगळे environment variables?
env किंवा printenv.
प्र. Child processes साठी variable?
export NAME=value.
प्र. PATH म्हणजे?
Commands शोधायच्या folders ची list.
प्र. Alias कसा?
alias ll='ls -lh'.
Mid level level
प्र. .bashrc vs .bash_profile?
bashrc प्रत्येक interactive shell; bash_profile login shells, बहुतेक bashrc source.
प्र. कोणती binary चालते?
type -a किंवा which -a.
प्र. सगळ्या users साठी variable?
/etc/environment किंवा /etc/profile.d/*.sh.
प्र. वेगळ्या variable ने एक command?
VAR=value command.
Senior level
प्र. PATH मधे '.' धोकादायक का?
Current folder मधली common command सारख्या नावाची malicious file चालू शकते.
प्र. Env vars आणि twelve-factor apps?
Config env मधे, code मधे नाही; प्रत्येक environment ला inject; secrets images आणि logs बाहेर.
प्र. cron job आणि SSH session चा PATH वेगळा का?
cron profiles वाचत नाही; minimal environment.
प्र. Slow shell start-up debug?
bash -x -l -c exit किंवा time bash -i -c exit; rc files मधल्या slow lines.
घरी करून बघा
- खरंच वापराल असे तीन aliases आणि argument घेणारं एक function लिहा. ~/.bashrc मधे ठेवा आणि प्रत्येकाचं type output दाखवा.
- तुमचा PATH एका line ला एक folder print करा आणि प्रत्येक folder कुठून आला ते समजवा.
सराव Tasks
Ahmednagar Sugar Co-op हा अहिल्यानगर मधला साखर सहकारी व्यवसाय आहे. Balasaheb Pawar त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 16
सोपं Home folder
का: Settings प्रत्येक program चालवतात.
काय करायचं: HOME variable print.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं एक variable
का: Settings प्रत्येक program चालवतात.
काय करायचं: printenv ने PATH.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं env filter
का: Settings प्रत्येक program चालवतात.
काय करायचं: PROXY असलेल्या env lines, case ignore.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Variable export
का: Settings प्रत्येक program चालवतात.
काय करायचं: APP_ENV production set आणि export.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Variable काढा
का: Settings प्रत्येक program चालवतात.
काय करायचं: API_TOKEN variable काढा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं bashrc लागू
का: Settings प्रत्येक program चालवतात.
काय करायचं: ~/.bashrc बदल आत्ता लागू.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Alias बनवा
का: Settings प्रत्येक program चालवतात.
काय करायचं: kubectl साठी alias k.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Alias काढा
का: Settings प्रत्येक program चालवतात.
काय करायचं: alias k काढा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम PATH मधे जोडा
का: Settings प्रत्येक program चालवतात.
काय करायचं: /opt/tool/bin PATH च्या शेवटी.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम PATH per line
का: Settings प्रत्येक program चालवतात.
काय करायचं: PATH एका line ला एक folder.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम सगळ्या copies
का: Settings प्रत्येक program चालवतात.
काय करायचं: PATH मधल्या सगळ्या python3 जागा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम ते काय?
का: Settings प्रत्येक program चालवतात.
काय करायचं: ll alias आहे का ते शोधा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम एका command चा variable
का: Settings प्रत्येक program चालवतात.
काय करायचं: फक्त त्या command साठी TZ=Asia/Tokyo ने date.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड Script-safe check
का: Settings प्रत्येक program चालवतात.
काय करायचं: Script-safe पद्धतीने jq चा path.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड Clean environment
का: Settings प्रत्येक program चालवतात.
काय करायचं: रिकाम्या environment ने env.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड Login shell?
का: Settings प्रत्येक program चालवतात.
काय करायचं: shopt ने हा login shell आहे का.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
21. संबंधित chapters
- DevOps साठी Linux Ops Refresh
- Automation साठी Bash Scripting
- Linux grep आणि find Commands Examples सह
- Linux Servers मध्ये Passwordless SSH
थोडक्यात सांगायचं तर
- $VAR, env आणि printenv variables वाचतात.
- NAME=value set; export children शी share; unset काढतो.
- PATH डावीकडून उजवीकडे; जोडताना $PATH ठेवा.
- type, which आणि command -v काय चालतं ते दाखवतात.
- Interactive साठी bashrc, login साठी bash_profile, सगळ्यांसाठी /etc.
- alias, functions, PS1 आणि history shell तुमचा बनवतात.
उजळणी, तुलना आणि मुलाखत cards
हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.








अजून cards: Ravi Sir's Cards.