ዛሬ የምናተምበት ቁሳቁስ፣ የሊኑክስ የትእዛዝ መስመርን ለመቆጣጠር ለሚፈልጉ የታሰበ ነው። ይህንን መሳሪያ ውጤታማ በሆነ መንገድ የመጠቀም ችሎታ ብዙ ጊዜ መቆጠብ ይችላል. በተለይም ስለ ባሽ ሼል እና ስለ 21 ጠቃሚ ትዕዛዞች እዚህ እንነጋገራለን. እንዲሁም የረጅም መመሪያዎችን መተየብ ለማፋጠን የትዕዛዝ ባንዲራዎችን እና ባሽ ተለዋጭ ስሞችን እንዴት መጠቀም እንደሚቻል እንነጋገራለን ።
→
ውሎች
ከሊኑክስ የትእዛዝ መስመር ጋር መስራትን ስትማር፣ ለማሰስ የሚረዱ ብዙ ፅንሰ-ሀሳቦችን ታገኛለህ። አንዳንዶቹ እንደ "ሊኑክስ" እና "ዩኒክስ" ወይም "ሼል" እና "ተርሚናል" ያሉ አንዳንድ ጊዜ ግራ ይጋባሉ. ስለ እነዚህ እና ሌሎች አስፈላጊ ቃላት እንነጋገር.
አሁን አስፈላጊ የሆኑትን ቃላት ከጨረስን በኋላ፣ “ባሽ”፣ “ሼል” እና “የትእዛዝ መስመር” የሚሉትን ቃላት እዚህ ጋር በተለዋዋጭነት እንደምጠቀም ለመጠቆም እወዳለሁ።
መደበኛ stdin
መደበኛ ውፅዓት (መደበኛ ውፅዓት ፣ stdout
) እና መደበኛ የስህተት ውፅዓት (መደበኛ ስህተት ፣ stderr
).
ከዚህ በታች በሚሰጡት የምሳሌ ትእዛዞች ውስጥ ከሆነ, እንደዚህ ያለ ነገር ያገኛሉ my_whatever
- ይህ ማለት ይህ ቁርጥራጭ በእርስዎ ነገር መተካት አለበት ማለት ነው። ለምሳሌ, የፋይል ስም.
አሁን፣ ይህ ቁሳቁስ የተሰጠበትን የትእዛዛት ትንተና ከመቀጠላችን በፊት፣ ዝርዝራቸውን እና አጭር መግለጫዎቻቸውን እንመልከት።
21 ባሽ ያዛል
▍መረጃ በማግኘት ላይ
man
: ለትእዛዙ የተጠቃሚ መመሪያ (እርዳታ) ያሳያል.pwd
ስለ የስራ ማውጫው መረጃ ያሳያል።ls
: የማውጫውን ይዘቶች ያሳያል.ps
ስለ አሂድ ሂደቶች መረጃን እንዲመለከቱ ይፈቅድልዎታል።
▍የፋይል ስርዓት ማጭበርበር
cd
የስራ ማውጫ ቀይር።touch
ፋይል ፍጠር።mkdir
: ማውጫ ፍጠር።cp
ፋይል ቅዳ።mv
: ፋይል ያንቀሳቅሱ ወይም ይሰርዙ።ln
: አገናኝ ይፍጠሩ.
▍የአይ/ኦ አቅጣጫ መቀየር እና የቧንቧ መስመሮች
<
: ማዞርstdin
.>
: ማዞርstdout
.|
: የአንዱን ትእዛዝ ውፅዓት ወደ ሌላ ትእዛዝ ግቤት ያስገባ።
▍ፋይሎችን ማንበብ
head
: የፋይሉን መጀመሪያ ያንብቡ.tail
የፋይሉን መጨረሻ አንብብ።cat
ፋይል አንብብ እና ይዘቱን በስክሪኑ ላይ አትም ወይም ፋይሎችን አጣምር።
▍ ፋይሎችን መሰረዝ, ሂደቶችን ማቆም
rm
: ፋይል ሰርዝ።kill
: ሂደቱን አቁም።
▍ፈልግ
grep
: መረጃ መፈለግ.ag
ለመፈለግ የላቀ ትእዛዝ።
▍ማህደር ማስቀመጥ
tar
: ማህደሮችን መፍጠር እና ከእነሱ ጋር መስራት.
ስለእነዚህ ትዕዛዞች በበለጠ ዝርዝር እንነጋገር.
የቡድን ዝርዝሮች
ለመጀመር, በትእዛዞቹ ላይ እንነጋገር, ውጤቶቹ በቅጹ ውስጥ ይወጣሉ stdout
. ብዙውን ጊዜ እነዚህ ውጤቶች በተርሚናል መስኮት ውስጥ ይታያሉ.
▍መረጃ በማግኘት ላይ
man command_name
: የትዕዛዝ መመሪያውን ያሳዩ, ማለትም የእገዛ መረጃ.
pwd
ወደ የአሁኑ የስራ ማውጫ የሚወስደውን መንገድ አሳይ። ከትዕዛዝ መስመሩ ጋር አብሮ በሚሰራበት ጊዜ ተጠቃሚው ብዙውን ጊዜ በስርዓቱ ውስጥ የት እንዳለ በትክክል ማወቅ ያስፈልገዋል.
ls
የማውጫውን ይዘቶች አሳይ። ይህ ትእዛዝ እንዲሁ ብዙ ጊዜ ጥቅም ላይ ይውላል።
ls -a
የተደበቁ ፋይሎችን አሳይ። ባንዲራ እዚህ ተተግብሯል። -a
ትዕዛዞች ls
. ባንዲራዎችን መጠቀም የትእዛዞችን ባህሪ ለማበጀት ይረዳል.
ls -l
ስለ ፋይሎች ዝርዝር መረጃ አሳይ።
ባንዲራዎች ሊጣመሩ እንደሚችሉ ልብ ይበሉ. ለምሳሌ - እንደዚህ: ls -al
.
ps
: የአሂድ ሂደቶችን ይመልከቱ.
ps -e
አሁን ካለው የተጠቃሚ ሼል ጋር የተያያዙትን ብቻ ሳይሆን ስለ ሁሉም አሂድ ሂደቶች መረጃን አሳይ። ይህ ትእዛዝ ብዙውን ጊዜ በዚህ ቅጽ ውስጥ ጥቅም ላይ ይውላል።
▍የፋይል ስርዓት ማጭበርበር
cd my_directory
የስራ ማውጫ ወደ ቀይር my_directory
. በማውጫው ዛፍ ውስጥ አንድ ደረጃን ለማንቀሳቀስ ይጠቀሙ my_directory
አንጻራዊ መንገድ ../
.
ሲዲ ትዕዛዝ
touch my_file
ፋይል መፍጠር my_file
በተሰጠው መንገድ.
mkdir my_directory
: አቃፊ ፍጠር my_directory
በተሰጠው መንገድ.
mv my_file target_directory
: ፋይል አንቀሳቅስ my_file
ወደ አቃፊ target_directory
. የታለመውን ማውጫ ሲገልጹ፣ ወደ እሱ የሚወስደውን ፍጹም መንገድ መጠቀም ያስፈልግዎታል (እና እንደ ግንባታ ሳይሆን) ../
).
ቡድን mv
እንዲሁም ፋይሎችን ወይም አቃፊዎችን እንደገና ለመሰየም ጥቅም ላይ ሊውል ይችላል. ለምሳሌ፣ ይህን ሊመስል ይችላል፡-
mv my_old_file_name.jpg my_new_file_name.jpg
: የፋይል ቅጂ ይፍጠሩ
cp my_source_file target_directorymy_source_file
እና በአንድ አቃፊ ውስጥ ያስቀምጡት target_directory
.
ln -s my_source_file my_target_file
ምሳሌያዊ አገናኝ ፍጠር my_target_file
በፋይል my_source_file
. አገናኙን ከቀየሩ ዋናው ፋይል እንዲሁ ይለወጣል።
ፋይል ከሆነ my_source_file
ከዚያም ይሰረዛል my_target_file
ይቆያል። ባንዲራ -s
ትዕዛዞች ln
ለማውጫ አገናኞች እንዲፈጥሩ ይፈቅድልዎታል.
አሁን ስለ I/O ማዘዋወር እና የቧንቧ መስመሮች እንነጋገር.
▍የአይ/ኦ አቅጣጫ መቀየር እና የቧንቧ መስመሮች
my_command < my_file
መደበኛውን የግቤት ፋይል ገላጭ ይተካዋል (stdin
) በፋይል my_file
. ትዕዛዙ ከቁልፍ ሰሌዳው የተወሰነ ግብዓት እየጠበቀ ከሆነ ይህ ጠቃሚ ሊሆን ይችላል, እና ይህ ውሂብ አስቀድሞ በፋይል ውስጥ ተቀምጧል.
my_command > my_file
: የትዕዛዙን ውጤቶች ማለትም በመደበኛነት ወደ ውስጥ የሚገባውን አቅጣጫ ያዞራል። stdout
እና ወደ ማያ ገጹ, ወደ ፋይል ውጣ my_file
. ፋይሉ ከሆነ my_file
የለም - የተፈጠረ ነው. ፋይሉ ካለ, ተጽፏል.
ለምሳሌ, ትዕዛዙን ከፈጸሙ በኋላ ls > my_folder_contents.txt
አሁን ባለው የሥራ ማውጫ ውስጥ ያለውን ዝርዝር የያዘ የጽሑፍ ፋይል ይፈጠራል።
ከምልክቱ ይልቅ ከሆነ >
ግንባታውን ይጠቀሙ >>
, እንግዲያው, የትዕዛዙ ውፅዓት ወደ ሌላ አቅጣጫ የሚሄድበት ፋይል ካለ, ይህ ፋይል አይገለበጥም. ውሂቡ በዚህ ፋይል መጨረሻ ላይ ይታከላል።
አሁን የዳታ ቧንቧ ማቀነባበሪያን እንመልከት።
የአንድ ትዕዛዝ ውፅዓት በሌላ ትዕዛዝ ግቤት ውስጥ ይመገባል. አንዱን ቧንቧ ከሌላው ጋር እንደማገናኘት ነው።
first_command | second_command
የማጓጓዣ ምልክት; |
, የአንዱን ትዕዛዝ ውጤት ወደ ሌላ ትዕዛዝ ለመላክ ያገለግላል. በተገለጸው መዋቅር በግራ በኩል ያለው ትእዛዝ ወደ ምን ይልካል stdout
, ወደ ውስጥ መውደቅ stdin
ከቧንቧ ምልክት በስተቀኝ ትእዛዝ.
በሊኑክስ ላይ፣ መረጃ በትክክል የተሰራውን ማንኛውንም ትእዛዝ በመጠቀም ሊሰራ ይችላል። ብዙውን ጊዜ በሊኑክስ ውስጥ ያለው ነገር ሁሉ የቧንቧ መስመር ነው ይባላል.
የቧንቧ መስመር ምልክትን በመጠቀም ብዙ ትዕዛዞችን ሰንሰለት ማድረግ ይችላሉ. ይህን ይመስላል።
first_command | second_command | third_command
የበርካታ ትዕዛዞች የቧንቧ መስመር ከቧንቧ መስመር ጋር ሊመሳሰል ይችላል
ከምልክቱ በስተግራ ያለው ትእዛዝ መቼ እንደሆነ ልብ ይበሉ |
፣ የሆነ ነገር ያወጣል። stdout
, እሷ የምታወጣው ወዲያውኑ እንደ ይገኛል stdin
ሁለተኛ ቡድን. ማለትም ፣ የቧንቧ መስመርን በመጠቀም ፣ ትይዩ ትዕዛዞችን አፈፃፀም እያስተናገድን ነው ። አንዳንድ ጊዜ ይህ ወደ ያልተጠበቀ ውጤት ሊያመራ ይችላል. ስለዚህ ጉዳይ ዝርዝሮች ማንበብ ይቻላል
አሁን ከፋይሎች ላይ መረጃን ስለማንበብ እና በስክሪኑ ላይ ስለማሳየት እንነጋገር.
▍ፋይሎችን ማንበብ
head my_file
: ከፋይሉ መጀመሪያ ላይ መስመሮችን ያነባል እና ወደ ስክሪኑ ያትሟቸዋል. የፋይሎቹን ይዘት ብቻ ሳይሆን ትእዛዞቹ የሚወጡትንም ማንበብ ይችላሉ። stdin
ይህንን ትእዛዝ እንደ ቧንቧው አካል በመጠቀም።
tail my_file
: ከፋይሉ መጨረሻ ላይ መስመሮችን ያነባል። ይህ ትእዛዝ በቧንቧ ውስጥም ጥቅም ላይ ሊውል ይችላል.
ጭንቅላት (ራስ) ከፊት ነው ፣ እና ጅራት (ጅራት) ከኋላ ነው።
የፓንዳስ ቤተ-መጽሐፍትን በመጠቀም ከመረጃ ጋር እየሰሩ ከሆነ, ከዚያም ትእዛዞቹ head
и tail
እርስዎን ማወቅ አለበት. ጉዳዩ ይህ ካልሆነ, ከላይ ያለውን ምስል ይመልከቱ, እና በቀላሉ ያስታውሷቸዋል.
ፋይሎችን ለማንበብ ሌሎች መንገዶችን አስቡ, ስለ ትዕዛዙ እንነጋገር cat
.
ቡድን cat
የፋይሉን ይዘት ወደ ስክሪኑ ያትማል ወይም ብዙ ፋይሎችን ያገናኛል። በሚጠራበት ጊዜ ምን ያህል ፋይሎች ወደዚህ ትዕዛዝ እንደተላለፉ ይወሰናል.
ድመት ትእዛዝ
cat my_one_file.txt
: አንድ ነጠላ ፋይል ወደዚህ ትዕዛዝ ሲተላለፍ ወደ እሱ ያወጣል። stdout
.
ሁለት ፋይሎችን ወይም ከዚያ በላይ ፋይሎችን ከሰጡ, ከዚያ በተለየ መንገድ ይሠራል.
cat my_file1.txt my_file2.txt
ብዙ ፋይሎችን እንደ ግብአት ከተቀበለ ይህ ትእዛዝ ይዘታቸውን ያገናኛል እና ምን እንደተፈጠረ ያሳያል stdout
.
የፋይል ማገናኘት ውጤቱ እንደ አዲስ ፋይል መቀመጥ ካለበት ኦፕሬተሩን መጠቀም ይችላሉ። >
:
cat my_file1.txt my_file2.txt > my_new_file.txt
አሁን ፋይሎችን እንዴት መሰረዝ እና ሂደቶችን ማቆም እንዳለብን እንነጋገር.
▍ ፋይሎችን መሰረዝ, ሂደቶችን ማቆም
rm my_file
: ፋይል ሰርዝ my_file
.
rm -r my_folder
: ማህደር ይሰርዛል my_folder
እና በውስጡ የያዘው ሁሉም ፋይሎች እና አቃፊዎች. ባንዲራ -r
ትዕዛዙ በተደጋጋሚ ሁነታ እንደሚሰራ ያመለክታል.
አንድ ፋይል ወይም አቃፊ በተሰረዘ ቁጥር ስርዓቱ ማረጋገጫ እንዳይጠይቅ ለመከላከል ባንዲራውን ይጠቀሙ -f
.
kill 012345
: የተገለጸውን የሩጫ ሂደት ያቆማል, በጸጋ ለመዝጋት ጊዜ ይሰጣል.
kill -9 012345
: የተገለጸውን የአሂድ ሂደት በግዳጅ ያቋርጣል። ባንዲራ ይመልከቱ -s SIGKILL
ከባንዲራ ጋር አንድ ነው ማለት ነው። -9
.
▍ፈልግ
ውሂብ ለመፈለግ የተለያዩ ትዕዛዞችን መጠቀም ይችላሉ። በተለየ ሁኔታ - grep
, ag
и ack
. ትውውቃችንን በእነዚህ ትዕዛዞች እንጀምር grep
. ይህ በጊዜ የተረጋገጠ አስተማማኝ ትእዛዝ ነው, ሆኖም ግን, ከሌሎች ይልቅ ቀርፋፋ እና እንደነሱ ለመጠቀም ምቹ አይደለም.
grep ትዕዛዝ
grep my_regex my_file
: ፍለጋዎች my_regex
в my_file
. አንድ ግጥሚያ ከተገኘ፣ ለእያንዳንዱ ግጥሚያ ሙሉው ሕብረቁምፊ ይመለሳል። ነባሪ my_regex
እንደ መደበኛ መግለጫ ተደርጎ ይቆጠራል።
grep -i my_regex my_file
ፍለጋው የሚከናወነው ለጉዳይ በማይታወቅ ሁኔታ ነው።
grep -v my_regex my_file
: ያልያዙትን ሁሉንም ረድፎች ይመልሳል my_regex
. ባንዲራ -v
ተገላቢጦሽ ማለት ኦፕሬተሩን ይመስላል NOT
በብዙ የፕሮግራሚንግ ቋንቋዎች ይገኛል።
grep -c my_regex my_file
በፋይሉ ውስጥ ለተፈለገው ስርዓተ ጥለት የተዛማጆች ብዛት መረጃን ይመልሳል።
grep -R my_regex my_folder
: በተጠቀሰው አቃፊ ውስጥ እና በውስጡ በተቀመጡት አቃፊዎች ውስጥ በሚገኙ ሁሉም ፋይሎች ውስጥ ተደጋጋሚ ፍለጋን ያከናውናል.
አሁን ስለ ቡድኑ እንነጋገር ag
. በኋላ መጣች። grep
, ፈጣን ነው, ከእሱ ጋር ለመስራት የበለጠ አመቺ ነው.
አግ ትእዛዝ
ag my_regex my_file
: ስለ መስመር ቁጥሮች መረጃ ይመልሳል, እና መስመሮች እራሳቸው, ግጥሚያዎች የተገኙበት my_regex
.
ag -i my_regex my_file
ፍለጋው የሚከናወነው ለጉዳይ በማይታወቅ ሁኔታ ነው።
ቡድን ag
ፋይሉን በራስ-ሰር ያካሂዱ .gitignore
እና በፋይሉ ውስጥ በተዘረዘሩት አቃፊዎች ወይም ፋይሎች ውስጥ የሚገኘውን ከውጤቱ አያካትትም. በጣም ምቹ ነው.
ag my_regex my_file -- skip-vcs-ignores
ራስ-ሰር ስሪት ቁጥጥር ፋይሎች ይዘቶች (እንደ .gitignore
) በፍለጋው ውስጥ ግምት ውስጥ አይገቡም.
በተጨማሪም, ለቡድኑ ለመንገር ag
በየትኞቹ የፋይል ዱካዎች ከፍለጋው ማግለል እንደሚፈልጉ, ፋይል መፍጠር ይችላሉ .agignore
.
በዚህ ክፍል መጀመሪያ ላይ ትዕዛዙን ጠቅሰናል ack
. ቡድኖች ack
и ag
በጣም ተመሳሳይ, 99% የሚለዋወጡ ናቸው ማለት እንችላለን. ይሁን እንጂ ቡድኑ ag
በፍጥነት ይሰራል፣ ለዚህ ነው የገለጽኩት።
አሁን ከማህደር ጋር ስለ መስራት እንነጋገር.
▍ማህደር ማስቀመጥ
tar my_source_directory
ከአቃፊ ፋይሎችን ያገናኛል። my_source_directory
ወደ ነጠላ የታርቦል ፋይል. እንደነዚህ ዓይነቶቹ ፋይሎች ትልቅ የፋይል ስብስቦችን ወደ አንድ ሰው ለማስተላለፍ ጠቃሚ ናቸው.
ታር ትዕዛዝ
በዚህ ትዕዛዝ የተፈጠሩት የታርቦል ፋይሎች ቅጥያው ያላቸው ፋይሎች ናቸው። .tar
(የቴፕ መዝገብ)። "ቴፕ" (ቴፕ) የሚለው ቃል በትእዛዙ ስም እና በፋይሎች ስም ማራዘሚያ ውስጥ መደበቅ ይህ ትዕዛዝ ለምን ያህል ጊዜ እንደቆየ ያሳያል.
tar -cf my_file.tar my_source_directory
: የተሰየመ የታርቦል ፋይል ይፈጥራል my_file.tar
ከአቃፊ ይዘቶች ጋር my_source_directory
. ባንዲራ -c
“ፍጠር” (መፈጠር) እና ባንዲራ ማለት ነው። -f
እንደ "ፋይል" (ፋይል).
ፋይሎችን ለማውጣት .tar
- ፋይል ፣ ትዕዛዙን ይጠቀሙ tar
ከባንዲራዎች ጋር -x
("ማውጣት", ማውጣት) እና -f
("ፋይል", ፋይል).
tar -xf my_file.tar
: ፋይሎችን ያወጣል። my_file.tar
አሁን ላለው የስራ ማውጫ።
አሁን እንዴት መጭመቅ እና መጨፍለቅ እንደሚቻል እንነጋገር .tar
- ፋይሎች.
tar -cfz my_file.tar.gz my_source_directory
: እዚህ ባንዲራ በመጠቀም -z
("ዚፕ", compressionalgorithm) ስልተ ቀመር ፋይሎችን ለመጭመቅ ጥቅም ላይ መዋል እንዳለበት ያመለክታል gzip
(ጂኤንዩዚፕ) የፋይል መጭመቂያ እንደነዚህ ያሉ ፋይሎችን በሚከማችበት ጊዜ የዲስክ ቦታን ይቆጥባል. ፋይሎቹ የታቀዱ ከሆነ, ለምሳሌ, ወደ ሌሎች ተጠቃሚዎች እንዲተላለፉ, ይህ እንደነዚህ ያሉ ፋይሎችን በፍጥነት ለማውረድ አስተዋፅኦ ያደርጋል.
ፋይልን ዚፕ ይንቀሉ .tar.gz
ባንዲራ ማከል ይችላሉ -z
ወደ የማውጫ ይዘት ትዕዛዝ .tar
- ፋይሎች, ከላይ የተነጋገርነው. ይህን ይመስላል።
tar -xfz my_file.tar.gz
ቡድኑ መሆኑን ልብ ሊባል ይገባል። tar
ብዙ ጠቃሚ ባንዲራዎች አሉ።
ባሽ ተለዋጭ ስሞች
ባሽ ተለዋጭ ስሞች (በተጨማሪም ተለዋጭ ስሞች ወይም አህጽሮተ ቃላት) የተነደፉ የትዕዛዝ ስሞችን ወይም ቅደም ተከተላቸውን ለመፍጠር የተነደፉ ናቸው ፣ ይህም ከመደበኛ ትዕዛዞች ይልቅ አጠቃቀሙ ሥራን ያፋጥናል። ተለዋጭ ስም ካለህ bu
, ይህም ትዕዛዙን ይደብቃል python setup.py sdist bdist_wheel
, ከዚያ ይህን ትዕዛዝ ለመጥራት, ይህን ተለዋጭ ስም መጠቀም በቂ ነው.
እንደዚህ አይነት ተለዋጭ ስም ለመፍጠር የሚከተለውን ትዕዛዝ ወደ ፋይሉ ብቻ ያክሉ ~/.bash_profile
:
alias bu="python setup.py sdist bdist_wheel"
የእርስዎ ስርዓት ፋይሉ ከሌለው ~/.bash_profile
, ከዚያ ትዕዛዙን በመጠቀም እራስዎ መፍጠር ይችላሉ touch
. ተለዋጭ ስም ከፈጠሩ በኋላ ተርሚናሉን እንደገና ያስጀምሩ, ከዚያ በኋላ ይህን ተለዋጭ ስም መጠቀም ይችላሉ. በዚህ አጋጣሚ የሁለት ቁምፊዎች ግቤት ከሦስት ደርዘን በላይ የሆኑ የትዕዛዙን ቁምፊዎችን ይተካዋል, ይህም የታሰበ ነው.
В ~/.bash_profile
ለማንኛውም በተደጋጋሚ ለሚጠቀሙት ትዕዛዞች ተለዋጭ ስሞችን ማከል ይችላሉ።
▍ውጤቶች
በዚህ ጽሁፍ ላይ 21 ታዋቂ የ Bash ትዕዛዞችን ሸፍነናል እና የትዕዛዝ ተለዋጭ ስሞችን ስለመፍጠር ተነጋግረናል። በዚህ ርዕስ ላይ ፍላጎት ካሎት -
ውድ አንባቢዎች! በዚህ ጽሑፍ ውስጥ በተገለጹት ላይ ለጀማሪዎች ጠቃሚ የሆኑ የትኞቹን ትእዛዞች ይጨምራሉ?
→
ምንጭ: hab.com