लिनक्स बैश चीट शीट
कुछ उपकरण कमांड लाइन पैरामीटर
एक बहुत व्यापक सूची नहीं, बस कुछ जो मुझे उपयोगी लगता है
लिनक्स यूबंटू के संस्करण की जांच
विधि 1
lsb_release -a
कुछ ऐसा उत्पन्न करेगा
कोई LSB मॉड्यूल उपलब्ध नहीं है।
वितरक के आईडी: लिनक्समिंट
विवरण: लिनक्स मिंट 22.1
रिलीज: 22.1
कोडनेम: एक्सिया
विधि 2
cat /etc/os-release
कुछ ऐसा उत्पन्न करेगा
नाम="लिनक्स मिंट"
वर्जन="22.1 (एक्सिया)"
आईडी=लिनक्समिंट
आईडी_लाइक="यूबंटू डीबियन"
प्रेटी_नाम="लिनक्स मिंट 22.1"
वर्जन_आईडी="22.1"
होम_यूआरएल="https://www.linuxmint.com/"
सपोर्ट_यूआरएल="https://forums.linuxmint.com/"
बग_रिपोर्ट_यूआरएल="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
प्राइवेसी_पॉलिसी_यूआरएल="https://www.linuxmint.com/"
वर्जन_कोडनेम=एक्सिया
यूबंटू_कोडनेम=नोबल
आर्काइविंग और अन-आर्काइविंग
संपीड़न
tar -zcvf आर्काइव-नाम.tgz डायरेक्टरी-नाम
असंपीड़न
tar -zxvf आर्काइव-नाम.tgz
दूरस्थ सर्वर
दूरस्थ सर्वर पर उपयोगकर्ता पहचान भेजें
ssh-copy-id उपयोगकर्ता@10.0.0.225
इससे अगली बार पासवर्ड के बिना लॉगिन करने की अनुमति मिलेगी जैसे
ssh उपयोगकर्ता@10.0.0.225
फ़ाइल अपलोड
scp ~/फ़ाइल.ext उपयोगकर्ता@होस्ट-आईपी:/होम/उपयोगकर्ता/फ़ाइल.ext
नेस्टेड चीजों के साथ फ़ोल्डर डाउनलोड करें
scp -r उपयोगकर्ता@होस्ट-आईपी:/होम/उपयोगकर्ता/डिर ~/डिर
फ़ोल्डर और फ़ाइल
अस्तित्व की जांच
# यदि फ़ोल्डर नहीं है तो बनाएं, सभी मध्यस्थ फ़ोल्डर के साथ
[ -d $repdir ] || mkdir -p $repdir
# या
if [ -d $fname ]; then
echo "फ़ाइल मौजूद नहीं है: $fname"
return
fi
विशिष्ट उपयोगकर्ता के लिए फ़ोल्डर बनाएं
sudo mkdir dir1
sudo chown विशिष्ट_उपयोगकर्ता dir1
sudo chown :विशिष्ट_समूह dir1
फ़ोल्डर में फ़ाइलों के ऊपर चले
# यह एक फ़ोल्डर में सभी jpg फ़ाइलों को fits में परिवर्तित करता है
for f in कुछ-फ़ोल्डर/*.jpg
do
convert "$f" "${f/.jpg/.fits}"
done
सभी फ़ाइलों को एक में मिला दें
cat ./* > merged.txt
क्रोनटब में कमांड के निष्पादन को जोड़ें
(crontab -l 2>/dev/null | \
grep -v control-marker-1; \
echo '*/15 * * * * /bin/bash /home/user/stest/stest.sh /home/user/stest >> /home/user/stest/stest.log 2>&1 #control-marker-1') | \
crontab -
यहाँ:
- */15 - हर 15 मिनट में चले
- control-marker-1 - क्रोन कॉन्फ़िग में इस कमांड के लिए पहचानकर्ता है जिसे अगली बार इसी स्क्रिप्ट के साथ अपडेट करें
- /bin/bash - निष्पादित कमांड
- /home/user/stest/stest.sh - बैश पैराम - यह स्क्रिप्ट चलेगा
- /home/user/stest - स्क्रिप्ट पैराम - $1 द्वारा एक्सेस किया जाएगा
- /home/user/stest/stest.log - stest.sh के कंसोल आउटपुट के साथ लॉग फ़ाइल
जांच
grep /home/user/stest/stest.sh /var/log/syslog
crontab -e
लॉग्स
लाइव लॉग फ़ाइल देखें
sudo tail -f /var/log/megalog.log
करल के स्थिति कोड
response=$(curl --write-out '%{http_code}' --silent --output /dev/null सर्वरनाम)
# या
url='http://localhost:8080/'
status=$(curl --head --location --connect-timeout 5 --write-out %{http_code} --silent --output /dev/null ${url})
[[ $status == 500 ]] || [[ $status == 000 ]] && echo restarting ${url} # शुरू/पुनः शुरू लॉजिक करें
एसएसएच कमांड के बाद लॉगऑफ़ के बाद चले रहे
मान लीजिए कि आपके पास एक फ़ॉरग्राउंड में चल रहा प्रोग्राम है, दबाएं
- कंट्रोल-जेड, फिर:
[1]+ बंद myprogram
- disown -h %1
- bg 1
[1]+ myprogram &
- लॉगआउट
JSON उत्पन्न करें
jo इंस्टॉल करें
sudo apt-get install jo
a="123"
b="456"
jo "model=a" "prompt=b" "stream=false"
आउटपुट करेगा
{"model":"a", "prompt":"b", "stream":false}
कुछ अधिक जटिल:
jo -p name=जेन बिंदु[]=1 बिंदु[]=2 जिओ[लैट]=10 जिओ[लॉन]=20
{
"name": "जेन",
"बिंदु": [
1,
2
],
"जिओ": {
"लैट": 10,
"लॉन": 20
}
}
JSON के फॉर्मेट
उपयोग करें
| jq .
उपरोक्त जेएसओएन के फॉर्मेट करने के लिए:
a="123"
b="456"
jo "model=$a" "prompt=$b" "stream=false" | jq .
फॉर्मेट किया गया जेएसओएन होगा:
{
"model": 123,
"prompt": 456,
"stream": false
}
JSON के विश्लेषण और कुछ क्षेत्र के मान के लौटाना
पहले jq को इंस्टॉल करें
sudo apt-get install jq
उपयोग करें
| jq -r '.fieldName'
ओलामा के आउटपुट के विश्लेषण के लिए जैसे:
curl http://localhost:11434/api/generate -d '{
"model": "llama3",
"prompt": "Why is the sky blue?",
"stream": false
}' | jq -r '.response'
फ़ाइल में शब्दों की संख्या की गिनती
शब्द गिनती:
wc -w filename.txt
कुछ ऐसा लौटाएगा
261 filename.txt
यदि आपको केवल एक पूर्णांक चाहिए, तो आप पहला शब्द जो एक संख्या है, काट सकते हैं
words=`wc -w filename.txt | cut -f1 -d' '`
echo "$words शब्द"
या इस तरह वीसी वाला उपयोग करें:
words=`wc -w < filename.txt`
echo "$words शब्द"
डिरेक्टरी के द्वारा HDD पर कितना स्पेस ले रहा है
du ~/dirname
चल रहे स्क्रिप्ट के फ़ोल्डर के नाम को प्राप्त करें
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
स्क्रिप्ट के निष्पादन समय के माप
एक विकल्प टाइम फ़ंक्शन का उपयोग करना है
time your_script.sh
एक अन्य तरीका थोड़ा अधिक जटिल है:
start=`date +%s`
# बहुत महत्वपूर्ण कोड
# यहाँ आता है
end=`date +%s`
runtime=$((end-start))
दो फ़ाइलों की तुलना वीएस कोड के साथ
code -d <फ़ाइल 1> <फ़ाइल 2>
यूबंटू रिपॉजिटरी में उपलब्ध पैकेजों की जांच
sudo apt-cache policy <packageName>