[bookmarked] Bash ee bilawga: 21 amarro waxtar leh

Qalabka, tarjumaadda aan daabacno maanta, waxaa loogu talagalay kuwa raba inay bartaan khadka taliska Linux. Awoodda isticmaalka qalabkan si wax ku ool ah ayaa badbaadin karta waqti badan. Gaar ahaan, waxaan ka hadli doonaa Bash shell iyo 21 amarrada waxtarka leh halkan. Waxaan sidoo kale ka hadli doonaa sida loo isticmaalo calanka amarka iyo Bash aliases si loo dedejiyo qorista tilmaamaha dhaadheer.

[bookmarked] Bash ee bilawga: 21 amarro waxtar leh

β†’ Sidoo kale ka akhri blog-kayaga daabacaado taxane ah oo ku saabsan qoraallada bash-ka

Shuruudaha

Markaad barato inaad la shaqeyso khadka taliska Linux, waxaad la kulmi doontaa fikrado badan oo waxtar u leh socodka. Qaar ka mid ah, sida "Linux" iyo "Unix", ama "shell" iyo "terminal", ayaa mararka qaarkood wareersan. Aynu ka hadalno kuwan iyo ereyo kale oo muhiim ah.

Unix waa nidaam hawleed caan ah oo ay samaysay Bell Labs sannadihii 1970-yadii. Koodhkeedii waa la xidhay.

Linux waa nidaamka ugu caansan ee Unix u eg. Hadda waxaa loo isticmaalaa qalabyo badan, oo ay ku jiraan kombiyuutarada.

terminal (terminal), ama emulator terminal waa barnaamij siiya marin u helka nidaamka hawlgalka. Waxaad isku mar furnaan kartaa daaqado badan oo terminal ah.

Shell (shell) waa barnaamij kuu ogolaanaya inaad u dirto amarro ku qoran luqad gaar ah nidaamka hawlgalka.

Man uted waxay u taagan tahay Bourne Again Shell. Waa luqadda qolofka ugu badan ee loo isticmaalo in lagula falgalo nidaamka qalliinka. Sidoo kale, qolofka Bash waa mid ku habboon macOS.

Interface line Command (Command Line Interface, CLI) waa habka is dhexgalka qofka iyo kumbiyuutarka, marka la isticmaalayo kaas oo isticmaaluhu uu ka soo galo amarrada Keyboard-ka, kombuyuutarku marka uu fulinayo amarradan, wuxuu soo bandhigayaa fariimaha qoraalka ah ee isticmaalaha. CLI waxaa inta badan loo isticmaalaa in lagu helo macluumaadka cusub ee ku saabsan hay'adaha qaarkood, tusaale ahaan, ku saabsan faylasha, iyo in lagu shaqeeyo faylasha. Interface line line waa in laga soocaa garaafyada user interface (GUI), kaas oo inta badan loo isticmaalo jiirka. Interface-ka khadka taliska waxaa badanaa loogu yeeraa si fudud sida khadka taliska.

Qoraal (script) waa barnaamij yar oo ka kooban amarrada qolofka. Qoraallada waxaa lagu qoraa faylal, si isdaba joog ah ayaa loo isticmaali karaa. Markaad qorayso qoraallada, waxaad isticmaali kartaa doorsoomayaal, shuruudo, wareegyo, hawlo, iyo astaamo kale.

Hadda oo aan soo koobnay ereyada muhiimka ah, waxaan rabaa in aan tilmaamo in aan isticmaali doono ereyada "Bash", "shell" iyo "line order" halkan iyo sidoo kale ereyada "directory" iyo "folder".

Heerka durdurrada, taas oo aan ku isticmaali doono halkan waa gelinta caadiga ah (qalabka caadiga ah, stdinwax soo saarka caadiga ah (wax soo saarka caadiga ah, stdout) iyo soo saarista qaladka caadiga ah (khalad caadi ah, stderr).

Haddii amarrada tusaalaha ah ee hoos lagu siin doono, waxaad ka heli doontaa wax la mid ah my_whatever - Tani waxay ka dhigan tahay in jajabkan loo baahan yahay in lagu beddelo wax kaaga. Tusaale ahaan, magaca faylka.

Haddaba, ka hor intaanan u gudbin falanqaynta amarada loo qoondeeyay qoraalkan, aan eegno liiskooda iyo sharraxaaddooda kooban.

21 Bash baa amray

Helitaanka macluumaadka

  • man: Waxay soo bandhigaysaa hagaha adeegsadaha (caawinta) amarka.
  • pwd: soo bandhigaya macluumaadka ku saabsan hagaha shaqada.
  • ls: wuxuu soo bandhigayaa waxa ku jira hagaha.
  • psWaxay kuu ogolaanaysaa inaad aragto macluumaadka ku saabsan hababka socodsiinta.

▍ Hab-dhaqanka nidaamka faylka

  • cdBeddel hagaha shaqada.
  • touch: samee fayl.
  • mkdir: samee hagaha.
  • cpNuqul ka samee.
  • mvDhaqaaq ama tirtir faylka.
  • lnxiriir samee.

▍I/O dib u hagidda iyo dhuumaha

  • <: dib u jiheeyaha stdin.
  • >: dib u jiheeyaha stdout.
  • |: tuubooyin wax soo saarka hal amar si ay u geliso amar kale.

▍ Akhrinta faylasha

  • head: akhri bilowga faylka.
  • tail: akhri dhamaadka faylka.
  • cat: Akhri fayl oo ku daabac waxa ku jira shaashadda, ama faylasha isku xidh.

▍ Tirtirka faylasha, joojinta hababka

  • rm: Tirtir faylka.
  • kill: jooji habka.

▍Baadi

  • grep: raadi xog.
  • ag: taliska sare ee raadinta.

Kaydinta kaydinta

  • tar: abuurista kayd iyo la shaqayntooda.

Aynu si faahfaahsan uga hadalno amarradan.

Faahfaahinta Kooxda

Si aad u bilawdo, aynu la macaamilno amarrada, natiijooyinka kuwaas oo lagu soo saaro foomka stdout. Caadi ahaan natiijooyinkani waxay ka muuqdaan daaqada terminaalka.

Helitaanka macluumaadka

man command_name: muuji hagaha amarka, tusaale ahaan macluumaadka caawinta.

pwd: muuji dariiqa loo marayo hagaha shaqada ee hadda. Inta lagu jiro la shaqeynta khadka taliska, isticmaaluhu wuxuu inta badan u baahan yahay inuu ogaado meesha saxda ah ee nidaamka uu ku jiro.

ls: soo bandhig waxa ku jira hagaha. Amarkan waxa kale oo la isticmaalaa marar badan.

ls -a: tus faylasha qarsoon. calanka halkan ka codsatay -a amarrada ls. Isticmaalka calamada waxay caawisaa in la habeeyo hab-dhaqanka amarada.

ls -l: Muuji macluumaad faahfaahsan oo ku saabsan faylasha.

Ogow in calanka la isku dari karo. Tusaale ahaan - sida tan: ls -al.

ps: Eeg hababka socodsiinta

ps -e: Muuji macluumaadka ku saabsan dhammaan hababka socda, ma aha oo kaliya kuwa la xidhiidha qolofka isticmaalaha hadda. Amarkan waxaa badanaa lagu isticmaalaa qaabkan.

▍ Hab-dhaqanka nidaamka faylka

cd my_directory: u beddel hagaha shaqada my_directory. Si kor loogu qaado hal heer geedka hagaha, isticmaal my_directory qaraabo ../.

[bookmarked] Bash ee bilawga: 21 amarro waxtar leh
cd amar

touch my_file: abuurista faylka my_file jidka la siiyey.

mkdir my_directory: samee gal my_directory jidka la siiyey.

mv my_file target_directory: guurto faylka my_file gal target_directory. Markaad tilmaamayso tusaha bartilmaameedka, waxaad u baahan tahay inaad isticmaasho dariiqa saxda ah ee loo maro (oo ma aha dhismo la mid ah ../).

kooxda mvWaxa kale oo loo isticmaali karaa in dib loogu magacaabo faylasha ama galka. Tusaale ahaan, waxay u ekaan kartaa sidan:

mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
: samee nuqul fayl ah my_source_file oo gal gal target_directory.

ln -s my_source_file my_target_file: samee xiriir calaamad ah my_target_file fayl kasta my_source_file. Haddii aad beddesho isku xirka, feylka asalka ah sidoo kale wuu beddeli doonaa.

Haddii faylka my_source_file waa la tirtiri doonaa, markaas my_target_file sii ahaan doona. Calan -s amarrada ln wuxuu kuu ogolaanayaa inaad abuurto xiriiriyeyaasha hagayaasha.

Hadda aan ka hadalno dib u habeynta I/O iyo dhuumaha.

▍I/O dib u hagidda iyo dhuumaha

my_command < my_file: waxay bedeshaa sharaxaadaha faylka galinta caadiga ah (stdin) fayl kasta my_file. Tani waxay noqon kartaa mid faa'iido leh haddii amarku uu sugayo qayb ka mid ah kiiboodhka, oo xogtan mar hore ayaa lagu kaydiyay fayl.

my_command > my_file: dib u hagaya natiijada amarka, i.e. waxa caadi ahaan geli lahaa stdout iyo soo saarida shaashadda, fayl my_file. Haddii faylka my_file ma jiro - waa la abuuray. Haddii faylku jiro, dib baa loo qoraa.

Tusaale ahaan, ka dib fulinta amarka ls > my_folder_contents.txt faylka qoraalka ayaa la abuuri doonaa oo ka kooban liiska waxa ku jira tusaha shaqada ee hadda.

Haddii halkii astaanta > isticmaal dhismaha >>, ka dib, waa haddii faylka loo wareejiyo amarka amarka, faylkan dib looma qori doono. Xogta waxaa lagu dari doonaa dhamaadka faylkan.

Hadda aynu eegno habaynta dhuumaha xogta.

[bookmarked] Bash ee bilawga: 21 amarro waxtar leh
Wax-soo-saarka hal amar waxaa lagu shubaa gelinta amar kale. Waxay la mid tahay isku xidhka tuubo kale

first_command | second_command: calaamad qaade, |, waxaa loo isticmaalaa in lagu diro wax soo saarka hal amar amar kale. Waxa amarka dhinaca bidix ee qaab-dhismeedka la tilmaamay u soo diro stdout, Ku dhac stdin amarka dhanka midig ee calaamadda dhuumaha.

Linux, xogta waxaa lagu shubi karaa iyadoo la isticmaalayo kaliya amar kasta oo si wanaagsan loo sameeyay. Inta badan waxaa la sheegaa in wax walba oo Linux ah ay yihiin dhuumo.

Waxaad ku xidhi kartaa amarro badan adoo isticmaalaya calaamadda dhuumaha. Waxay u egtahay sidan:

first_command | second_command | third_command

[bookmarked] Bash ee bilawga: 21 amarro waxtar leh
Dhuumaha dhowr amarro ayaa la barbar dhigi karaa dhuunta

Ogow in marka amarka bidix ee calaamadda |, wax u soo saara stdout, waxa ay soo saarto isla markiiba waa la heli karaa sida stdin kooxda labaad. Taasi waa, waxay soo baxday, iyadoo la adeegsanayo dhuumaha, waxaan la macaamilaynaa fulinta amarrada barbar socda. Mararka qaarkood tani waxay keeni kartaa natiijooyin lama filaan ah. Faahfaahinta arrintan waa la akhriyi karaa halkan.

Hadda aan ka hadalno akhrinta xogta faylasha iyo muujinta shaashadda.

▍ Akhrinta faylasha

head my_file: wuxuu akhriyaa khadadka bilowga faylka wuxuuna ku daabacaa shaashadda. Ma akhrin kartid kaliya waxa ku jira faylalka, laakiin sidoo kale waxa amarrada ka soo baxa stdiniyadoo la adeegsanayo amarkan qayb ka mid ah dhuumaha.

tail my_file: wuxuu akhriyaa khadadka dhamaadka faylka. Amarkan waxa kale oo loo isticmaali karaa dhuumaha.

[bookmarked] Bash ee bilawga: 21 amarro waxtar leh
Madaxa (madaxa) ayaa ka horreeya, dabada (dabada)na waa ka dambeeyaan

Haddii aad ku shaqaynayso xogta adoo isticmaalaya maktabadda pandas, markaa amarrada head ΠΈ tail waa in aad taqaan. Haddii taasi aysan ahayn kiiska, u fiirso sawirka kore, si fudud ayaad u xasuusan doontaa.

Tixgeli siyaabo kale oo loo akhriyo faylasha, aan ka hadalno amarka cat.

kooxda cat ama waxa ku jira fayl ku daabacaa shaashadda, ama waxay isku xidhaa faylal badan. Waxay kuxirantahay inta fayl ee loo gudbiyo amarkan marka loo yeero.

[bookmarked] Bash ee bilawga: 21 amarro waxtar leh
bisadaha amar

cat my_one_file.txt: marka hal fayl loo gudbiyo amarkan, wuu soo saarayaa stdout.

Haddii aad siiso laba fayl ama fayl ka badan, markaa si ka duwan ayay u dhaqmaysaa.

cat my_file1.txt my_file2.txt: isagoo helay dhowr fayl sida gelinta, amarkani wuxuu isku xiraa waxa ku jira oo soo bandhigayaa waxa ku dhacay stdout.

Haddii natiijada isku xidhka faylka loo baahan yahay in loo kaydiyo sidii fayl cusub, waxaad isticmaali kartaa hawlwadeenka >:

cat my_file1.txt my_file2.txt > my_new_file.txt

Hadda aan ka hadalno sida loo tirtiro faylasha iyo joojinta hababka.

▍ Tirtirka faylasha, joojinta hababka

rm my_file: tirtir faylka my_file.

rm -r my_folder: waxay tirtirtaa gal my_folder iyo dhammaan faylasha iyo faylalka ay ka kooban tahay. Calan -r waxay tusinaysaa in amarku ku shaqayn doono hab soo noqnoqda.

Si looga hortago in nidaamka uu weydiiyo xaqiijin mar kasta oo fayl ama gal la tirtiro, isticmaal calanka -f.

kill 012345: Waxay joojisaa nidaamka socodsiinta ee cayiman, iyadoo siinaya waqti uu si qurux badan u xidho.

kill -9 012345: Si xoog ah u joojiya nidaamka socodsiinta ee cayiman. Daawo calanka -s SIGKILL waxay la macno tahay calanka -9.

▍Baadi

Waxaad isticmaali kartaa amarro kala duwan si aad u raadiso xogta. Khaas ahaan - grep, ag ΠΈ ack. Aan ku bilowno aqoontayada amarradan grep. Kani waa amar waqti la tijaabiyay, amar la isku halayn karo, kaas, si kastaba ha ahaatee, wuu ka gaabiyaa kuwa kale mana aha sida ugu habboon in loo isticmaalo sida ay yihiin.

[bookmarked] Bash ee bilawga: 21 amarro waxtar leh
amarka grep

grep my_regex my_file: baadi goob my_regex Π² my_file. Haddii kabriid la helo, xadhigga oo dhan waa la soo celinayaa, ciyaar kasta. Asal ahaan my_regex loola dhaqmo sida hadal joogto ah.

grep -i my_regex my_file: Baadhitaanka waxaa loo sameeyaa si aan dareen lahayn.

grep -v my_regex my_file: soo celisa dhammaan safafka aan ku jirin my_regex. Calan -v macneheedu waa rogaal celis, waxay u egtahay hawlwadeenka NOT, oo laga helay luqado badan oo barnaamijka ah.

grep -c my_regex my_file: Soo celisa macluumaadka ku saabsan tirada taranka ee laga helay faylka qaabka raadinta.

grep -R my_regex my_folder: wuxuu ku sameeyaa baaritaan soo noqnoqda dhammaan faylasha ku yaal galka la cayimay iyo faylalka ku dhex jira.

Hadda aan ka hadalno kooxda ag. Mar dambe ayay timid grep, way dhakhso badan tahay, way ku habboon tahay in lala shaqeeyo.

[bookmarked] Bash ee bilawga: 21 amarro waxtar leh
ag amar

ag my_regex my_file: waxay soo celisaa macluumaadka ku saabsan lambarrada laynka, iyo khadadka laftooda, kuwaas oo taraq lagu helay my_regex.

ag -i my_regex my_file: Baadhitaanka waxaa loo sameeyaa si aan dareen lahayn.

kooxda ag si toos ah uga baaraandega faylka .gitignore oo ka saaraysa wax-soo-saarka waxa ku jira galka ama faylasha ku taxan faylkaas. Aad bay u raaxo badan tahay.

ag my_regex my_file -- skip-vcs-ignores: waxa ku jira faylasha xakamaynta nooca tooska ah (sida .gitignore) laguma xisaabtamo raadinta.

Intaa waxaa dheer, si loogu sheego kooxda ag Wadooyinka faylka aad rabto inaad ka saarto raadinta, waxaad abuuri kartaa fayl .agignore.

Bilowgii qaybtan, waxaan ku xusnay amarka ack. Kooxaha ack ΠΈ ag aad bay isugu dhow yihiin, waxaan odhan karnaa waa 99% waa la is beddeli karaa. Si kastaba ha ahaatee, kooxda ag si degdeg ah ayuu u shaqeeyaa, waana sababta aan u qeexay.

Hadda aan ka hadalno la shaqaynta kaydka.

Kaydinta kaydinta

tar my_source_directory: wuxuu isku xiraa faylalka gal my_source_directory geli hal fayl tarball ah. Faylasha noocan oo kale ah ayaa faa'iido u leh u wareejinta qaybo badan oo faylal ah qof.

[bookmarked] Bash ee bilawga: 21 amarro waxtar leh
amarka daamurka

Faylasha daamurka ee uu soo saaray amarkani waa faylal wata kordhinta .tar (Kaydhka cajaladda). Xaqiiqda ah in ereyga "cajalad" (cajalad) uu ku qarsoon yahay magaca amarka iyo kordhinta magacyada faylalka uu abuurayo waxay muujinaysaa muddada amarkani jiray.

tar -cf my_file.tar my_source_directory: wuxuu sameeyaa faylal kubbadda cagta ah oo magaciisu yahay my_file.tar oo leh galka waxyaallaha my_source_directory. Calan -c waxay u taagan tahay "abuur" (abuur), iyo calanka -f sida "faylka" (faylka).

Si aad faylasha uga soo saarto .tar-fayl, isticmaal amarka tar calammo leh -x ("saar", soo saarid) iyo -f ("faylka", faylka).

tar -xf my_file.tar: ka soo saara faylasha my_file.tar ilaa tusaha shaqada ee hadda.

Hadda aan ka hadalno sida loo cadaadiyo oo loo kala furfuro .tar-faylal

tar -cfz my_file.tar.gz my_source_directory: halkan adigoo isticmaalaya calanka -z ("zip", algorithm riixitaanka) waxay tusinaysaa in algoorithm-ka loo isticmaalo in lagu cadaadiyo faylasha gzip (GNUzip). Isku-buufinta feylasha waxay badbaadisaa booska diskka marka la kaydinayo faylasha noocaas ah. Haddii faylasha la qorsheeyay, tusaale ahaan, in lagu wareejiyo isticmaalayaasha kale, tani waxay gacan ka geysaneysaa soo dejinta degdegga ah ee faylasha noocaas ah.

Ka fur faylka .tar.gz waxaad ku dari kartaa calan -z si ay u soo saaraan amarka content .tar-faylalka, kuwaas oo aan kor ku soo hadalnay. Waxay u egtahay sidan:

tar -xfz my_file.tar.gz
Waa in la ogaadaa in kooxda tar Waxaa jira calamo kale oo badan oo faa'iido leh.

Bash magacyo

Bash aliases (oo sidoo kale loo yaqaan aliases ama soo gaabinta) ayaa loogu talagalay in lagu abuuro magacyo la soo gaabiyey oo amarro ah ama taxanehooda, isticmaalka kuwaas oo halkii amarrada caadiga ah ay dardargeliyaan shaqada. Haddi aad magac u leedahay bu, kaas oo qariya amarka python setup.py sdist bdist_wheel, ka dibna si aad u wacdo amarkan, waa ku filan inaad isticmaasho magacan.

Si aad u abuurto magac noocan oo kale ah, kaliya ku dar amarka soo socda faylka ~/.bash_profile:

alias bu="python setup.py sdist bdist_wheel"

Haddii nidaamkaagu aanu lahayn faylka ~/.bash_profile, ka dib waxaad samayn kartaa naftaada adoo isticmaalaya amarka touch. Ka dib markaad abuurto alias, dib u bilaw terminalka, ka dib markaa waxaad isticmaali kartaa magacan. Xaaladdan oo kale, gelinta laba xaraf ayaa beddelaya gelinta in ka badan saddex darsin xarfood ee amarka, kaas oo loogu talagalay kiniisadaha Xirmooyinka Python.

Π’ ~/.bash_profile waxaad ku dari kartaa magacyo amarrada inta badan la isticmaalo.

▍Natiijooyinka

Maqaalkan, waxaan ku daboolnay 21 amarrada Bash ee caanka ah waxaanan ka hadalnay abuurista magacyo amar. Haddii aad xiisaynayso mawduucan - bal eega daabacaado taxane ah oo loogu talagalay Bash. waa Waxaad ka heli kartaa nuqul pdf ah oo daabacadahan ah. Sidoo kale, haddii aad rabto inaad barato Bash, xusuusnow, sida nidaamka kale ee barnaamijyada, ku celcelinta ayaa fure u ah.

Akhristayaasha sharafta leh! Waa maxay amarrada faa'iido u leh kuwa bilowga ah miyaad ku dari kartaa kuwa looga hadlay maqaalkan?

β†’ Sidoo kale ka akhri blog-kayaga daabacaado taxane ah oo ku saabsan qoraallada bash-ka

[bookmarked] Bash ee bilawga: 21 amarro waxtar leh

Source: www.habr.com

Add a comment