Programmēšana

10 Unix komandas jāzina katram Mac un Linux lietotājam

GUI ir lieliski - mēs negribētu dzīvot bez tiem. Bet, ja esat Mac vai Linux lietotājs un vēlaties maksimāli izmantot operētājsistēmu (un taustiņsitienus), esat parādā to sev, lai iepazītos ar Unix komandrindu. Noklikšķināt un noklikšķināt ir brīnišķīgi ikreiz, kad jums kaut kas jādara vienu vai divas reizes. Bet, ja jums ir jāatkārto šis uzdevums daudzas reizes, komandrinda ir jūsu glābējs.

Komandrinda ir logs pilnai, lieliskai datora jaudai. Ja jūs ilgojaties atbrīvoties no GUI ierobežojumiem vai domājat, ka tālvadības mašīnu programmēšana vai administrēšana ir jūsu nākotne, tad Unix komandrindas apgūšana noteikti ir domāta jums.

Neuztraucieties, ja Unix komandas šķiet maģiskas burvestības vai arī noslēpumainie sistēmas iekšējie elementi šķiet ārpus jums. Viņus nav tik grūti iemācīties, un šis raksts sniegs jums 10 svarīgākās komandas, kas nepieciešamas, lai sāktu darbu. Pēc neilga laika šīs kriptiskās stīgas būs otrā daba.

Korpusa pamati

Unix komandrindas apvalks ir aptuveni līdzvērtīgs Microsoft Windows komandu logam (cmd vai PowerShell). Komandas, kuras mēs ejam tālāk, darbosies jebkurā Unix līdzīgajā sistēmā, ieskaitot Linux, Darvinu (MacOS pamats), FreeBSD un pat Windows ar kaut ko līdzīgu Git Bash vai jauno Bash apvalku sistēmā Windows 10. Opcijas un izvade atšķiras nedaudz, bet jums nevajadzētu sagādāt grūtības tos saprast.

Pirmkārt, jums jāatver apvalks, ko dažreiz sauc par termināla logu. Bieži vien Unix izplatītāji to ievieto Administrācijas vai Sistēmas izvēlnēs. MacOS terminālu atradīsit sadaļā Applications> Utilities> Terminal. Kad to palaižat, redzēsit kaut ko līdzīgu:

Šis ekrāns no MacOS 10.11 ir raksturīgs lielākajai daļai GUI čaulu. Loga augšdaļā mēs redzam čaulas veidu, šajā gadījumā Bash (Bourne Again Shell, kas ir noklusējuma apvalks MacOS un lielākajā daļā Linux izplatījumu), un loga lielumu. Loga iekšpusē ir uzvedne, šajā gadījumā konfigurēta tā, lai parādītu mašīnas nosaukumu (Dzīvsudrabs), pašreizējā darba direktorija nosaukums (šeit tilde, ~, kas ir lietotāja mājas direktorija stenogrāfija), lietotāja vārds un visbeidzot uzvednes simbols ( $). Ņemiet vērā, ka uzvedne mainīsies, pārvietojoties pa failu sistēmu vai ja jūsu datorā kļūsit par citu lietotāju (piemēram, root vai superlietotāju, lai palaistu administratīvās komandas). Uzvednē tiek parādīta šī informācija, lai jūs varētu viegli pateikt, kur un kas jūs atrodaties jebkurā mašīnā.

Ir vērts zināt, ka ir divi galvenie Unix apvalka aromāti: Bourne un C apvalks. Bourne un kompānija tika iegūti no sākotnējā AT&T Unix, savukārt C apvalks ir no Kalifornijas Universitātes Berkeley un BSD Unix. Parasti Bourne un C čaulas atvasinājumi ir noderīgi interaktīvam darbam terminālā. POSIX standarta apvalks, Korn apvalks, ir tas, kuru vēlaties izmantot, lai čaulā ierakstītu savas programmas, sauktas par skriptiem. Šīs apmācības piemēriem mēs izmantojam Bash apvalku.

Apvalka vide

Viens no pirmajiem faktiem, kas jāsaprot par darbu pie Unix komandrindas, ir tāds, ka čaula darbojas savā vidē. Izpratne par to, kā kontrolēt čaulas vidi, ir svarīga, lai kļūtu efektīvāka komandrindā. Apskatīsim vidi, izmantojot env komanda:

Neuztraucieties par visu vides mainīgo izpratni tagad, bet ziniet, ka tie tur ir. Jums jau vajadzētu atpazīt dažus mainīgos. Piemēram, ČaulA = = bin / bash stāsta mums, ka mēs izmantojam Bash apvalku. MĀJAS = / Lietotāji / nunez norāda lietotāja mājas direktorijas atrašanās vietu. Jūs varat mainīt vai izveidot vides mainīgos, un jūs to bieži darīsit. Šeit ir piemērs vides mainīgā iestatīšanai ar nosaukumu FOO un parādot tā vērtību:

Kā redzat, pēc vienošanās mainīgos lielumus ieliekam ar lielajiem burtiem. Īpaši ņemiet vērā, kā mēs atsaucamies uz vides mainīgajiem, kad tos izmantojam komandās, ar iepriekšējiem $. The $ komandu tulkotājam liek izmantot mainīgā vērtību. Bez $, atbalss komanda iepriekš izdrukās mainīgā nosaukumu, FOO.

Unix komandas

Neatkarīgi no tā, kuru čaulu izmantojat, ikreiz, kad čaulā ierakstāt komandu, jūs izraisīsit Unix programmas izpildi. Unix dizaina filozofija ir tādu programmu izveide, kas labi izdara vienu lietu, un ķēdes (vai “caurules”) tās kopā, lai veiktu noderīgu darbu. Apskatīsim vienkāršu piemēru, lai saskaitītu failu skaitu direktorijā / etc (mēs redzēsim, kā pāriet uz direktoriju / etc vēlāk):

Šī komandu secība ilustrē divus svarīgus jēdzienus: cauruļvadi un opcijas. The ls komanda (ekvivalenta rež komanda sistēmā Windows) parāda direktorija saturu un tualete (vārdu skaits) vārdu skaits. Ievērojiet vertikālo joslu starp tām? Tas ir pīpes raksturs. Caurule ņem pirmās komandas izvadi un novirza to kā ievades otro komandu. Jūs varat sasaistīt jebkuru komandu skaitu Unix, savienojot viens otru ar caurulēm.

Otra pamanāmā lieta ir katrai komandai piešķirtās iespējas. Programmā Unix opcijas tradicionāli tiek pievienotas ar vienu domuzīmi, -. Šīs komandrindas opcijas maina komandas uzvedību. Šajā piemērā -l iespēja ls nozīmē direktorija satura izvade "garā" formātā, bet –L iespēja tualete nozīmē vārdu vietā skaitīt “rindas”. Angļu valodā šo komandu var izlasīt:

Uzskaitiet pašreizējā direktorijā esošo rindu skaitu un pēc tam nosūtiet tos vārdu skaitīšanas programmai, lai skaitītu rindu skaitu.

Bieži vien šīs komandrindas opcijas ignorē vidē iestatītos noklusējumus. Ja vēlaties mainīt komandas pastāvīgu uzvedību, piesakoties, varat automātiski iestatīt vides mainīgo. Daudzas komandas ļauj apvienot opcijas vienā virknē, piemēram, ls -la- bet citi to nedara. Jūs varat uzzināt par visām komandas iespējām, pārbaudot tās rokasgrāmatu vai “man lapas” (kuras mēs apspriedīsim tālāk).

Komandrindas opciju apgūšana un izmantošana ir liela daļa no efektivitātes Unix komandrindā. Dažām komandām ir tik daudz iespēju, ka dokumentācija iet uz desmitiem lappušu. Neļaujiet tam tagad uztraukties. Lai veiktu noteiktu uzdevumu, bieži vien ir nepieciešamas tikai dažas iespējas, un daudzas opcijas tiek izmantotas tikai, rakstot programmas čaulas valodā.

Rokasgrāmata

Kad esat sapratis komandrindas un vides pamatus, mēs varam sākt ienirt dziļāk sistēmā. Vispirms jāsāk ar rokasgrāmatu.

Viens no jaukajiem Unix aspektiem ir dokumentācijas augstā kvalitāte. Tur ir dokumentācija lietotājiem, sistēmas administratoriem un programmatūras izstrādātājiem. Jūs piekļūstat dokumentācijai, izmantojot cilvēks komandu. Sāksim ar rokasgrāmatas izlasīšanu (ievadiet cilvēks cilvēks komandrindā):

Rokasgrāmatas ir sadalītas astoņās sadaļās, kas nedaudz atšķiras atkarībā no tā, vai izmantojat BSD / Linux / Mac vai System V tipa Unix. Vispirms ir noderīgi izlasīt katras sadaļas ievadu, un jūs to varat izdarīt ar līdzīgu burvestību cilvēks -s 1 ievads, kas nozīmē meklēt 1. sadaļā, lai atrastu manuālu lapu ar nosaukumu “intro”:

Ja neesat pārliecināts, kādu komandu meklējat, varat izmēģināt -f un -k iespējas. cilvēks –f komandu pateiks komandas funkciju, ja jūs zināt tās nosaukumu cilvēks –k mājiens uzskaitīs attiecīgo komandu nosaukumus, pamatojoties uz vienu vai vairākiem atslēgvārdiem. Abas opcijas meklēs iebūvēto datu bāzi (ja tā ir konfigurēta; parasti ir) un atgriezīs visas atbilstības. Piemēram, cilvēks –k bzer parādīs rokasgrāmatas lapas, kas sākas ar virkni bz:

Failu sistēma

Ir daudz komandu, kas saistītas ar Unix failu sistēmu, jo tā ir operētājsistēmas galvenā sastāvdaļa. Vienu no viņiem mēs redzējām agrāk: ls, kurā faili tiek uzskaitīti direktorijā:

The ls komanda var būt visbiežāk izmantotā komanda no visām, un tai ir daudz iespēju pielāgot savu izvadi. Viena iespēja, par kuru vēlaties uzzināt uzreiz, ir ls -a (uzskaitīt visus). Tas atklās “punktu” failus (failus vai direktorijus, kuru nosaukums sākas ar punktu vai punktu), kuri pēc noklusējuma ir paslēpti. Šie faili vai direktoriji parasti satur konfigurācijas informāciju vai Unix sistēmas žurnāla failus. Piemēram, failā .bash_history tiek reģistrētas visas komandas, kuras ievadījāt komandrindā.

Otra komanda, kas jums būs nepieciešama uzreiz, ir cd komandu, kuru izmantojat, lai mainītu direktorijus. Tas ir līdzīgs tai pašai komandai sistēmā Windows, taču ar būtisku atšķirību. Programmā Unix visi diski (ierīces) tiek parādīti kā viens disks. Tā kā operētājsistēmā Windows jūsu attēli var būt uz ārējā cietā diska, kas parādās kā E:, Unix versijā šis disks varētu būt / home / user / pictures. Visiem Unix sistēmas failiem var piekļūt, izmantojot ceļu, kas sākas ar / (saknes direktorijs), un dažādos failu sistēmas punktos atbilstoši savām vajadzībām varat uzstādīt dažādus cietos diskus.

Pirms sākat klīst pa failu sistēmu, ļaujiet man ieviest vēl vienu komandu, kas jums būs nepieciešama: pwd (izdrukāt darba direktoriju). Tā kā augošā failu sistēmā ir potenciāli daudz vietu, kur pazust, šīs komandas ļauj ātri noteikt, kur atrodaties. Pārslēdzīsim direktorijus uz vietu, kur tiek glabāti sistēmas konfigurācijas faili, un pārbaudīsim mūsu atrašanās vietu:

Ņemiet vērā, ka varat izmantot cd komandu bez argumentiem, lai ātri atgrieztos mājas direktorijā. Vēl viens padoms: ~ var izmantot kā saīsni, lai atsauktos uz jūsu mājas direktoriju gan Bash, gan C čaulā.

Šajā brīdī jūs zināt, kā pārvietoties failu sistēmā un uzskaitīt direktoriju saturu. Tagad mums ir nepieciešams veids, kā nolasīt tajos saglabātos failus. Mūsdienās vairumam sistēmu nāk ar mazāk komandu. mazāk parādīs failu pa lappusēm un ļaus jums pārvietoties, izmantojot Vi komandas (nospiediet j virzīties uz leju, k virzīties uz augšu, h lai saņemtu palīdzību, un q lai izietu no faila).

Apskatīsim, kas atrodas mūsu failā / etc / passwd, ievadot mazāk / etc / passwd:

Passwd failā tiek uzskaitīti Unix sistēmas lietotāju konti, kā arī viņu lietotāju un grupu ID numuri, viņu mājas katalogs un ceļš uz atbilstošo komandu vai čaulu. MacOS tomēr passwd atradīsit tikai sistēmas pakalpojumu kontus. Tas ir tāpēc, ka lietotāji lietotāji ir konfigurēti MacOS sistēmas preferenču sadaļā Lietotāji un grupas.

Vieta diskā

Diska vietas izbeigšana ir pakāpenisks process, kas var aizņemt gadus, taču tas joprojām var aizkavēt. Ir divas komandas, kuras varat izmantot, lai pārbaudītu brīvo vietu un noteiktu, kuri faili piesaista jūsu disku: du (diska izmantošana) un df (bez diska). Viņi abi ņem a -h variants (lasāms cilvēkiem). Lai uzzinātu, cik pilns ir disks, izmantojiet df komanda:

Pagaidām koncentrējieties uz %ES izmantoju un uzstādīts uz kolonnas. Tas parāda, ka mans mājas katalogs ir piepildīts par 92 procentiem, tāpēc man, iespējams, vajadzētu to sakopt. Bet kā es varu zināt, kur tiek izmantota visa vieta? Tas ir kas du ir priekš:

Šajā piemērā es devos ar burvestību, kas ierobežo izlaidi pirmajās 10 rindās. Citādi du uzskaitīs katru direktoriju mašīnā, kuru varētu viegli uztvert. Šajā sarakstā jūs varat redzēt, cik daudz vietas patērē katrs direktorijs. Jūs varētu arī redzēt, kā, sasaistot dažas komandas kopā, mēs varētu viegli izveidot skriptu, kurā būtu uzskaitīti 10 labākie direktoriji pēc vietas izmantošanas. Komanda, kas mums ir jāizšķiro, protams, ir kārtot komandu.

Tā kā MacOS versija kārtot nevaru tikt galā duCilvēka lasāmā izvadā es izmantoju -m opcija du lai diska lietojumu parādītu megabaitos (izmantojiet -g vai -k iespēja parādīt gigabaitos vai kilobaitos). The -n un -r opcijas kārtot kārtojiet izvadi skaitliski un apgrieztā secībā, tāpēc lielākie direktoriji parādīsies saraksta augšdaļā.

Superlietotāji, su un sudo

Vairākas komandas attiecas uz sistēmas administrēšanu. Mēģiniet rakstīt cilvēks -s 8 ievads par ievadu viņiem. Es jums došu vienu būtisko komandu sistēmas administrēšanai: su. Tas nozīmē “super lietotājs” un attiecas uz administratīvo lietotāju vai root kontu. Visi sistēmai piederošie faili pieder šim lietotājam, un, lai veiktu administrēšanu, jums jākļūst par šo lietotāju.

Saistīta komanda, sudo, ļauj jums kļūt par vienas komandas superlietotāju. Kāpēc izmantot sudo tā vietā su? Tā kā paraugprakse nosaka, ka jūs neskrienat kā galvenais lietotājs, ar varu nejauši nodarīt neatgriezenisku kaitējumu. Jūs vienmēr vēlaties darīt visu iespējamo kā parasts lietotājs un kļūt par superlietotāju tikai tad, kad jums tas nepieciešams. Tas, kā jūs iegūsiet superlietotāja privilēģijas, būs atkarīgs no jūsu Unix izplatīšanas. Apskatīsim, kā su darbojas MacOS:

Huh? Esmu pārliecināts, ka pareizi ievadīju paroli. Šeit ir noticis tas, ka mans pašreizējais lietotājs, nunez, nav atļaujas su. Dažos Unixos tas nozīmē, ka lietotājam jāatrodas ritenis grupā un citās sistēmās (ieskaitot MacOS) lietotājam jāatrodas sudoers failu.

Pabeigsim, pievienojot nunez uz sudoers, kas ļaus jums nogaršot failu rediģēšanu komandrindā. Enerģijas lietotāji dzied Emacs un Vi redaktoru uzslavas, un es aicinu jūs tos izmēģināt, taču šeit mēs izmantosim Nano. Nano ir viegli iemācīties un lietot, un MacOS un daudzi Linux distros ir jau instalēti.

$config[zx-auto] not found$config[zx-overlay] not found