<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>terminal - TestHub.pl</title>
	<atom:link href="https://testhub.pl/tag/terminal/feed/" rel="self" type="application/rss+xml" />
	<link>https://testhub.pl/tag/terminal/</link>
	<description>Nowości Technologiczne - Testy, Opinie, Prezentacje, Recenzje</description>
	<lastBuildDate>Sun, 14 Jan 2018 18:16:44 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://testhub.pl/wp-content/uploads/2017/10/ico-80x80.png</url>
	<title>terminal - TestHub.pl</title>
	<link>https://testhub.pl/tag/terminal/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Terminal w macOS – część 3</title>
		<link>https://testhub.pl/terminal-macos-czesc-3/</link>
		
		<dc:creator><![CDATA[Krzysztof Kania]]></dc:creator>
		<pubDate>Sun, 14 Jan 2018 15:38:55 +0000</pubDate>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[Soft]]></category>
		<category><![CDATA[cask]]></category>
		<category><![CDATA[homebrew]]></category>
		<category><![CDATA[mac os]]></category>
		<category><![CDATA[macOS]]></category>
		<category><![CDATA[terminal]]></category>
		<guid isPermaLink="false">https://testhub.pl/?p=6740</guid>

					<description><![CDATA[<p>Podstawy pracy z Homebrew W pierwszej części cyklu zainstalowaliśmy Homebrew, czyli menadżer pakietów dla macOS. Czas do niego wrócić i poznać go lepiej, tym bardziej, że prośbę o to wyraził jeden...</p>
<p>Artykuł <a href="https://testhub.pl/terminal-macos-czesc-3/">Terminal w macOS – część 3</a> pochodzi z serwisu <a href="https://testhub.pl">TestHub.pl</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2 style="text-align: justify"><strong>Podstawy pracy z Homebrew</strong></h2>
<p style="text-align: justify">W <a href="https://testhub.pl/terminal-macos-czesc-1/">pierwszej części</a> cyklu zainstalowaliśmy Homebrew, czyli menadżer pakietów dla macOS. Czas do niego wrócić i poznać go lepiej, tym bardziej, że prośbę o to wyraził jeden z czytelników w komentarzu. A że taki odcinek i tak był w planach, to czemu jej nie spełnić. Zanim zaczniemy, warto upewnić się, że Homebrew jest zainstalowane poprawnie i działa wydając w terminalu polecenie <strong>brew doctor</strong>. W idealnej sytuacji wynik będzie brzmiał <em>&#8222;Your system is ready to brew&#8221;</em> lub też pojawią się dodatkowe informacje o konieczności aktualizacji innych pakietów, np. &#8222;<em>Warning: Your XQuartz (2.7.8) is outdated&#8221;</em>, tudzież inne zalecenia. Nie wszystkie komunikaty wskazują na problem, część ma wyłącznie charakter informacyjny i jak piszą autorzy <em>&#8222;If everything you use Homebrew for is </em><em>working fine: please don&#8217;t worry or file an issue; just ignore this. Thanks!&#8221;</em>, czyli <em>&#8222;Jeśli wszystko do czego używasz Homebrew działa, to nie przejmuj się ostrzeżeniami i nie wysyłaj zgłoszenia; po prostu je zignoruj. Dziękujemy!&#8221;</em>.</p>
<h2 style="text-align: justify"><strong>Aktualizujemy Homebrew</strong></h2>
<p style="text-align: justify">Warto dbać o aktualność pakietu Homebrew, a update wykonamy komendą <strong>brew update </strong>(czyż to nie jest intuicyjne?). W zależności od stanu instalacji wynikiem będzie lista zmian, które wprowadza aktualizacja lub też, jeśli nic nie uległo zmianie, komunikat <em>&#8222;Already up-to-date&#8221;</em>. A czy można zaktualizować wszystkie pakiety, którymi zarządza Homebrew? Ależ oczywiście. Komenda jest bardzo podobna: <strong>brew upgrade</strong>. Stąd już droga prosta do polecenia, które aktualizuje jedną konkretną aplikację <strong>brew upgrade &#8222;nazwa&#8221;</strong>.</p>
<h2 style="text-align: justify">Szukanie w repozytorium Homebrew</h2>
<p style="text-align: justify">Najprościej znaleźć jest aplikację, której nazwę lub fragment nazwy znamy. Załóżmy, że chcemy zainstalować przyjaźniejszy w obsłudze edytor tekstu <strong>nano</strong>, żeby uniknąć zmagań z edytorem <strong>vi</strong>.</p>
<p><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-6743" src="https://testhub.pl/wp-content/uploads/2018/01/brew_search_nano.jpeg" alt="" width="570" height="402" srcset="https://testhub.pl/wp-content/uploads/2018/01/brew_search_nano.jpeg 570w, https://testhub.pl/wp-content/uploads/2018/01/brew_search_nano-300x212.jpeg 300w" sizes="(max-width: 570px) 100vw, 570px" /></p>
<p style="text-align: justify">Czasem sprawa nie jest aż tak prosta. Na przykład, zapytanie <strong>brew search php</strong>, zwróci długą listę z wynikami, albo niekoniecznie te wersje pakietu PHP, które nas interesują. Warto wówczas uszczegółowić zapytanie <strong>brew search php72</strong>. Oczywiście to jest świetne rozwiązanie, gdy doskonale wiemy co chcemy zainstalować. Jak jednak poradzić sobie bez znajomości nazwy poszukiwanej aplikacji? Albo gdy informacja, której poszukujemy zawarta jest w opisie pakietu? Tak, tak, jest i odpowiednia komenda, która pozwala poradzić sobie w tej sytuacji &#8211; <strong>brew search &#8211;desc &#8222;tekst&#8221; </strong>&#8211; gdzie tekst oznacza treść, której szukamy, czyli np. <strong>brew search &#8211;desc &#8222;text editor&#8221;</strong>.</p>
<h2><img decoding="async" class="aligncenter size-full wp-image-6746" src="https://testhub.pl/wp-content/uploads/2018/01/brew_search_desc.jpeg" alt="" width="570" height="387" srcset="https://testhub.pl/wp-content/uploads/2018/01/brew_search_desc.jpeg 570w, https://testhub.pl/wp-content/uploads/2018/01/brew_search_desc-300x204.jpeg 300w" sizes="(max-width: 570px) 100vw, 570px" /></h2>
<h2 style="text-align: justify">A można prościej?</h2>
<p style="text-align: justify">Ależ można. Z pomocą przychodzi strona <a href="http://braumeister.org/">http://braumeister.org/</a>, na której znajduje się wyszukiwarka pakietów dostępnych w Homebrew. Trzymając się przykładu, wystarczy w polu na zapytanie wpisać &#8222;text editor&#8221;, by otrzymać listę edytorów tekstu wraz z krótkim opisem.</p>
<p><img decoding="async" class="aligncenter size-full wp-image-6745" src="https://testhub.pl/wp-content/uploads/2018/01/braumeister.jpeg" alt="" width="909" height="735" srcset="https://testhub.pl/wp-content/uploads/2018/01/braumeister.jpeg 909w, https://testhub.pl/wp-content/uploads/2018/01/braumeister-300x243.jpeg 300w, https://testhub.pl/wp-content/uploads/2018/01/braumeister-768x621.jpeg 768w, https://testhub.pl/wp-content/uploads/2018/01/braumeister-585x473.jpeg 585w" sizes="(max-width: 909px) 100vw, 909px" /></p>
<p style="text-align: justify">Klikając na nazwie pakietu, zostaniemy przeniesieni do strony z dodatkowymi informacjami, jak adres strony domowej pakietu, lista zależności (czyli jakie pakiety muszą być zainstalowane, aby aplikacja działała), czy historia zmian.</p>
<h2 style="text-align: justify">Instalujemy, usuwamy, sprzątamy</h2>
<p style="text-align: justify">Teraz już mamy z górki. Pewnie każdy już się domyślił, że do instalacji pakietu służy komenda <strong>brew install &#8222;nazwa&#8221;</strong>. Analogicznie do usunięcia pakietu służy polecenie <strong>brew uninstall &#8222;nazwa&#8221;</strong>. Spróbujmy zatem zebrać zgromadzoną wiedzę, poszukajmy jakiegoś menedżera plików w terminalu i zainstalujmy go. Krok pierwszy to wyszukanie dostępnych możliwości <strong>brew search &#8211;desc &#8222;file manager&#8221;</strong>,<strong> </strong>a następnie instalacja wybranego pakietu <strong>brew install fdclone</strong>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6748" src="https://testhub.pl/wp-content/uploads/2018/01/brew_install.jpeg" alt="" width="570" height="402" srcset="https://testhub.pl/wp-content/uploads/2018/01/brew_install.jpeg 570w, https://testhub.pl/wp-content/uploads/2018/01/brew_install-300x212.jpeg 300w" sizes="auto, (max-width: 570px) 100vw, 570px" /></p>
<p style="text-align: justify">I już można wydać polecenie <strong>fd</strong>,<strong> </strong>by uruchomić dopiero co zainstalowaną aplikację. Nie jest zbyt przyjazna, prawda? Pewnie midnight-commander byłby znacznie lepszym wyborem. Więc szybko naprawmy swój błąd komendą <strong>brew uninstall fdclone</strong>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6749" src="https://testhub.pl/wp-content/uploads/2018/01/brew_uninstall.jpeg" alt="" width="570" height="402" srcset="https://testhub.pl/wp-content/uploads/2018/01/brew_uninstall.jpeg 570w, https://testhub.pl/wp-content/uploads/2018/01/brew_uninstall-300x212.jpeg 300w" sizes="auto, (max-width: 570px) 100vw, 570px" /></p>
<p style="text-align: justify">Z czasem system zaśmieca się pobranymi pakietami i warto okresowo posprzątać cache Homebrew poleceniem <strong>brew cleanup</strong>.</p>
<h2 style="text-align: justify">Jeden, by wszystkimi rządzić</h2>
<p style="text-align: justify">A co z aplikacjami macOS? Z aplikacjami spoza repozytorium Homebrew? Na nie też jest sposób i nazywa się <a href="https://caskroom.github.io/">Cask</a>. Dzięki temu projektowi w równie prosty, elegancki i szybki sposób zarządzać można pozostałymi aplikacjami. Nie, nic już nie trzeba instalować. Cask jest częścią Homebrew i jest gotowy do pracy od razu po zainstalowaniu tegoż ostatniego. Składnia poleceń jest bardzo podobna, dodajemy tylko słowo kluczowe <strong>cask</strong>, więc całość wygląda, np. tak: <strong>brew cask search &#8222;nazwa&#8221;</strong>. Wszystkie dostępne komendy to:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6751" src="https://testhub.pl/wp-content/uploads/2018/01/brew_cask.jpeg" alt="" width="752" height="462" srcset="https://testhub.pl/wp-content/uploads/2018/01/brew_cask.jpeg 752w, https://testhub.pl/wp-content/uploads/2018/01/brew_cask-300x184.jpeg 300w, https://testhub.pl/wp-content/uploads/2018/01/brew_cask-585x359.jpeg 585w" sizes="auto, (max-width: 752px) 100vw, 752px" /></p>
<p style="text-align: justify">Widać poznane już <strong>doctor</strong>, <strong>search</strong>, <strong>upgrade</strong>, <strong>install</strong>, czy <strong>uninstall</strong>. Zakładam, że z wiedzą, którą już dysponujecie, poradzicie sobie bez ponownego omawiania każdej z tych opcji.</p>
<p>Artykuł <a href="https://testhub.pl/terminal-macos-czesc-3/">Terminal w macOS – część 3</a> pochodzi z serwisu <a href="https://testhub.pl">TestHub.pl</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Terminal w macOS &#8211; część 2</title>
		<link>https://testhub.pl/terminal-macos-czesc-2/</link>
		
		<dc:creator><![CDATA[Krzysztof Kania]]></dc:creator>
		<pubDate>Mon, 18 Dec 2017 17:17:17 +0000</pubDate>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[Soft]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[mac os]]></category>
		<category><![CDATA[macOS]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[terminal]]></category>
		<guid isPermaLink="false">https://testhub.pl/?p=5275</guid>

					<description><![CDATA[<p>Pierwsze kroki w terminalu W poprzednim &#8222;odcinku&#8221; było trochę teorii, trochę zabawy i instalacja dodatkowych programów. Czyli wszystkiego po trochu, w proporcjach mam nadzieję zadowalających każdego. Zanim przejdziemy do poważniejszych...</p>
<p>Artykuł <a href="https://testhub.pl/terminal-macos-czesc-2/">Terminal w macOS &#8211; część 2</a> pochodzi z serwisu <a href="https://testhub.pl">TestHub.pl</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2 style="text-align: justify">Pierwsze kroki w terminalu</h2>
<p style="text-align: justify">W <a href="https://testhub.pl/terminal-macos-czesc-1/">poprzednim &#8222;odcinku&#8221;</a> było trochę teorii, trochę zabawy i instalacja dodatkowych programów. Czyli wszystkiego po trochu, w proporcjach mam nadzieję zadowalających każdego. Zanim przejdziemy do poważniejszych tematów, warto poznać pewne podstawy, co istotne, wspólne czy to dla powłoki <strong>bash</strong> na różnych systemach operacyjnych, a nawet dla większości powłok systemowych, z jakimi się spotkacie, więc warto raz poświęcić chwilę na tę lekcję i odrobić ją sumiennie, a zaprocentuje to wielokrotnie w przyszłości.</p>
<h2 style="text-align: justify">Pytaj, a dostaniesz odpowiedź</h2>
<p style="text-align: justify">Komputery mają zasadniczą zaletę nad ludźmi &#8211; są cierpliwe, nie oceniają i cierpliwie odpowiadają na pytania, nawet jeśli te się powtarzają, czy nie są zbyt mądre. Możemy więc &#8222;zapytać&#8221; macOS o wszystkie komendy, jakie są dostępne w systemie i nawet jeśli nie jest to rozsądne, to system usłużnie spyta, czy na pewno chcemy wyświetlić wszystkie komendy <em>&#8222;Display all 1738 possibilities? (y or n)&#8221; </em>i jeśli odpowiemy twierdząco, uczyni to. Wystarczy po uruchomieniu <strong>Terminala</strong> dwukrotnie nacisnąć klawisz <strong>Esc</strong>. Ale to tylko ciekawostka (i jeśli czepiać się szczegółów, to efektem jest wyświetlenie wszystkich plików z atrybutem wykonywalny). W istocie miało być o komendzie <strong><em>&#8222;man&#8221;</em></strong> (z ang. manual &#8211; podręcznik, instrukcja). Wystarczy wydać polecenie <em><strong>&#8222;</strong></em><em><strong>man komenda&#8221;</strong></em>, by otrzymać bardzo szczegółowy opis działania <em>&#8222;</em><em>komendy&#8221;</em>, o którą zapytaliśmy. Być może tylko mi wydaje się to zabawne, ale <strong>man</strong> też ma swój podręcznik, więc możemy wydać polecenie <em><strong>&#8222;</strong></em><em><strong>man man&#8221;</strong></em> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-5280" src="https://testhub.pl/wp-content/uploads/2017/12/man-1.jpeg" alt="" width="710" height="642" srcset="https://testhub.pl/wp-content/uploads/2017/12/man-1.jpeg 710w, https://testhub.pl/wp-content/uploads/2017/12/man-1-300x271.jpeg 300w, https://testhub.pl/wp-content/uploads/2017/12/man-1-585x529.jpeg 585w" sizes="auto, (max-width: 710px) 100vw, 710px" /></p>
<p style="text-align: justify">Podręczniki zazwyczaj pisane są według zdefiniowanego wzorca i składają się z określonych sekcji. Czyli na początku (sekcja NAME) pojawia się nazwa wraz z krótkim opisem polecenia, następnie (sekcja SYNOPSIS) sposób użycia komendy, po której (DESCRIPTION) zamieszczony jest szerszy niż we wstępie opis polecenia. Szczególną uwagę należy poświęcić opcjom (OPTIONS) oraz pod sam koniec dokumentu, referencjom (SEE ALSO) do komend pokrewnych.</p>
<h2 style="text-align: justify">Pomoc do pomocy</h2>
<p style="text-align: justify">Jakby tego było mało, <strong>man</strong> posiada też pomoc, wywoływaną klawiszem <strong>h</strong>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-5281" src="https://testhub.pl/wp-content/uploads/2017/12/man_help.jpeg" alt="" width="710" height="642" srcset="https://testhub.pl/wp-content/uploads/2017/12/man_help.jpeg 710w, https://testhub.pl/wp-content/uploads/2017/12/man_help-300x271.jpeg 300w, https://testhub.pl/wp-content/uploads/2017/12/man_help-585x529.jpeg 585w" sizes="auto, (max-width: 710px) 100vw, 710px" /></p>
<p style="text-align: justify">Wiem, pierwsze wrażenie jest takie &#8222;a gdzie jest pomoc do pomocy od pomocy&#8221; <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Spokojnie. Autorzy po prostu starali się być zapobiegliwi i zostawili użytkownikom dużą swobodę. Nie ma zatem znaczenia, czy wciśniemy <strong>h</strong>, czy <strong>H</strong>, zawsze wywołamy okno z pomocą, a wyjść z niej możemy na aż pięć sposobów &#8211; klawiszem <strong>q</strong>, wpisując <strong>:q</strong> (dwukropek q) i tak dalej. <strong>^</strong> oznacza klawisz <strong>Ctrl</strong>, <strong>CR</strong> to skrót od <em>Carriage Return</em>, czyli po prostu <strong>Enter</strong>, a zapis <strong>ESC-n</strong> oznacza, że należy najpierw wcisnąć klawisz <strong>Esc</strong>, puścić go, a następnie wcisnąć klawisz <strong>n</strong>. Na początek wystarczy jednak zapamiętać, że po podręczniku możemy się poruszać strzałkami góra/dół przewijając pojedyncze linie, spacją przechodząc do kolejnej strony lub przeszukiwać go po wciśnięciu klawisza <strong>/</strong> i wpisaniu szukanej frazy, a wyjść klawiszem <strong>q</strong> (z ang. quit).</p>
<h2 style="text-align: justify">A jak nie wiem czego szukam?</h2>
<p style="text-align: justify">Oczywiście, taka pomoc jest świetna, jeśli się wie dokładnie, czego się szuka. Co w sytuacji, gdy nie pamiętamy dokładnej nazwy szukanego polecenia? Jak to mówią &#8211; na wszystko jest jakaś apka. Czyli w naszym przypadku komenda i brzmi ona jakże swojsko <em><strong>&#8222;</strong></em><em><strong>apropos&#8221;</strong></em> (z franc. à propos). Powiedzmy zatem, że szukamy edytora teksu. Wydajmy więc polecenie <em><strong>&#8222;</strong></em><em><strong>apropos editor&#8221;</strong></em> i przyjrzyjmy się wynikowi:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-5283" src="https://testhub.pl/wp-content/uploads/2017/12/apropos.jpeg" alt="" width="710" height="627" srcset="https://testhub.pl/wp-content/uploads/2017/12/apropos.jpeg 710w, https://testhub.pl/wp-content/uploads/2017/12/apropos-300x265.jpeg 300w, https://testhub.pl/wp-content/uploads/2017/12/apropos-585x517.jpeg 585w" sizes="auto, (max-width: 710px) 100vw, 710px" /></p>
<p style="text-align: justify">Cóż, wynik nie jest może taki jak część, a może nawet większość oczekiwałaby, ale komputer to nie szklana kula. Więc można by rzec, jakie pytanie, taka odpowiedź, ale aż tak źle nie jest. Otóż cyferka pojawiająca się po nazwie ma istotne znaczenie i tak, najważniejsza w tym momencie jest 1 (jedynka), gdyż tą właśnie cyfrą oznaczane są, ogólnie rzecz biorąc komendy. Jeśli kogoś to bardzo nurtuje, to pojawiająca się w wynikach cyfra 3, wskazuje na funkcje zawarte w bibliotekach, a cyfra, m.in. 8, na polecenia administratora. Czyli uwagę należy skupić na wynikach z cyferką 1 i ewentualnie użyć poznanego już <strong>man</strong>, by o każdym z nich dowiedzieć się więcej. Uprzedzając pytania &#8211; polecam <em><strong>&#8222;</strong></em><em><strong>nano&#8221;</strong></em> i pewnie w którymś z odcinku będziemy z niego korzystać. Aczkolwiek <em><strong>&#8222;</strong></em><a href="https://en.wikipedia.org/wiki/Vim_(text_editor)"><em><strong>vim</strong></em></a><em><strong>&#8222;</strong></em> (lub jego pierwowzór <em><strong>vi</strong></em>) warto poznać &#8211; szczególnie podstawowe komendy, bo czasem jest to jedyny dostępny edytor, a jego obsługa jest &#8230; specyficzna.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-5284" src="https://testhub.pl/wp-content/uploads/2017/12/escape-room-1024x828.png" alt="" width="1024" height="828" srcset="https://testhub.pl/wp-content/uploads/2017/12/escape-room-1024x828.png 1024w, https://testhub.pl/wp-content/uploads/2017/12/escape-room-300x242.png 300w, https://testhub.pl/wp-content/uploads/2017/12/escape-room-768x621.png 768w, https://testhub.pl/wp-content/uploads/2017/12/escape-room-585x473.png 585w, https://testhub.pl/wp-content/uploads/2017/12/escape-room.png 1183w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p style="text-align: justify"><em><strong>&#8222;vi/vim&#8221;</strong></em> jest często nazywany najlepszym pseudolosowym generatorem znaków <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Nie wiecie czemu? To spróbujcie z niego <a href="https://sekurak.pl/jak-wyjsc-z-vim-a-stackoverflow-sie-przepelnil/">wyjść</a>. No dobra, nie będę taki podły, w końcu idą święta, więc tutaj <a href="https://leniwy.eu/news,5,Podstawy-edytora-Vim-skroty-klawiszowe.html">link</a> do krótkiego przewodnika.</p>
<p style="text-align: justify">Tym żartem kończymy dzisiejszy odcinek i do zobaczenia w kolejnym.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Artykuł <a href="https://testhub.pl/terminal-macos-czesc-2/">Terminal w macOS &#8211; część 2</a> pochodzi z serwisu <a href="https://testhub.pl">TestHub.pl</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Terminal w macOS &#8211; część 1</title>
		<link>https://testhub.pl/terminal-macos-czesc-1/</link>
		
		<dc:creator><![CDATA[Krzysztof Kania]]></dc:creator>
		<pubDate>Thu, 14 Dec 2017 19:26:10 +0000</pubDate>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[mac os]]></category>
		<category><![CDATA[macOS]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[terminal]]></category>
		<guid isPermaLink="false">https://testhub.pl/?p=4596</guid>

					<description><![CDATA[<p>macOS to nie tylko GUI Wiele osób, zarówno użytkowników, jak i te, które tylko przelotnie miały styczność z systemem macOS, uważają go za system z graficznym interfejsem użytkownika i nic...</p>
<p>Artykuł <a href="https://testhub.pl/terminal-macos-czesc-1/">Terminal w macOS &#8211; część 1</a> pochodzi z serwisu <a href="https://testhub.pl">TestHub.pl</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2 style="text-align: justify">macOS to nie tylko GUI</h2>
<p style="text-align: justify">Wiele osób, zarówno użytkowników, jak i te, które tylko przelotnie miały styczność z systemem macOS, uważają go za system z graficznym interfejsem użytkownika i nic ponadto. Przecież okno terminala w Microsoft Windows kojarzy się wyłącznie z &#8222;historycznym bagażem&#8221; jakim był MS DOS i koniecznością zachowania wstecznej kompatybilności, a sukces firmy z logo nadgryzionego jabłka od zawsze jest kojarzony z okienkami i myszą. Skąd więc terminal w macOS? Pomijając zawiłe losy systemu operacyjnego macOS, który w swojej historii zmieniał nazwy i ostatnio znany był jako OS X, a także Mac OS X, to, z czym obecnie użytkownicy mają styczność to spadek po systemie NeXTStep, który pracował na komputerach firmy NeXT, wykupionej przez Apple w 1996 roku. Ten natomiast został napisany na bazie mikrojądra Mach i kodu systemu BSD Unix. Tym sposobem, wiele osób tego nieświadomych, ma na swoim komputerze system operacyjny, który w dużym uproszczeniu, pochodzi z tego samego drzewa genealogicznego co Linux (według niektórych źródeł Linux to akronim od  Linus Torvald&#8217;s UNIX). I to tyle tytułem wstępu, bo nie o historii macOS jest ten artykuł <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h2 style="text-align: justify">Nudnej teorii słów kilka</h2>
<p style="text-align: justify">Celem tego artykułu, nie jest wyjaśnianie zawiłości architektury systemu macOS, a zainteresowanych zgłębieniem tematu odsyłam do lektury na przykład <a href="https://en.wikipedia.org/wiki/Architecture_of_macOS">tego wpisu</a> (uprzedzam, po angielsku) na Wikipedii. Kluczowym natomiast dla dalszej lektury, jest zrozumienie, że macOS ma kilka warstw. W uproszczeniu ta graficzna, z którą na co dzień użytkownik macOS ma do czynienia, w istocie jest grupą aplikacji i API pracujących na niżej położonych komponentach, jak jądro, stos sieciowy, system plików i sterowniki sprzętowe. Dlaczego o tym piszę? Ponieważ każdy użytkownik systemu macOS może również &#8222;skomunikować&#8221; się z tymi niżej położonymi komponentami systemu. Realizowane jest to poprzez powłokę systemową <a href="https://en.wikipedia.org/wiki/Bash_(Unix_shell)">bash</a>, która to skądinąd jest domyślną powłoką w większości dystrybucji systemu Linux. Dostęp do niej realizowany jest poprzez emulator terminala, najczęściej w uproszczeniu zwany po prostu terminalem.</p>
<h2 style="text-align: justify">Instalacja</h2>
<p style="text-align: justify">Wbrew pozorom, nie będzie to akapit o instalacji aplikacji terminala w macOS, bo takowy każdy użytkownik komputera Apple posiada. Gdzie więc go szukać i jak uruchomić? Jest kilka sposobów. Najprostsze to kliknąć na ikonę <strong>Launchpad</strong>, a następnie wybrać folder <strong>Inne</strong> i w nim odszukać ikonę aplikacji <strong>Terminal</strong>. Można też analogicznie, wybrać <strong>Finder</strong> i przejść do <strong>Programy,</strong> a następnie <strong>Narzędzia</strong> i kliknąć na <strong>Terminal.app</strong>. Czy też wybrać <strong>Wyszukiwanie Spotlight</strong> i wpisać <em><strong>terminal</strong></em>, zatwierdzają komendę klawiszem Enter. Na przyszłość można sobie przypiąć terminal w Docku, by mieć do niego szybki dostęp. Co więc będziemy instalować? Terminal, chociaż w pełni funkcjonalny, jest mało przyjazny i ma niewiele opcji personalizacji. Warto więc zacząć swoją przygodę z linią komend systemu macOS od instalacji przyjaźniejszej aplikacji terminala. Z czasem każdy pewnie znajdzie coś dla siebie, ale na razie polecam <strong><a href="https://iterm2.com/">iTerm2</a></strong>, z którego sam korzystam. Zachęcam zatem do pobrania <a href="https://iterm2.com/downloads/stable/latest">pliku ZIP</a> zawierającego aplikację a przy pierwszym uruchomieniu <strong>iTerm.app</strong>, aplikacja sama zapyta, czy chcemy, aby skopiowała się do folderu <strong>Programy</strong>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4605" src="https://testhub.pl/wp-content/uploads/2017/12/iTerm_instalacja.jpeg" alt="" width="468" height="163" srcset="https://testhub.pl/wp-content/uploads/2017/12/iTerm_instalacja.jpeg 468w, https://testhub.pl/wp-content/uploads/2017/12/iTerm_instalacja-300x104.jpeg 300w" sizes="auto, (max-width: 468px) 100vw, 468px" /></p>
<p style="text-align: justify">Co oczywiście polecam uczynić. Jak też przypiąć go do Docka, aby w przyszłości dostęp do niego był błyskawiczny. Dla jasności, w kolejnych krokach zakładam, że aplikacja <strong>Terminal</strong> lub <strong>iTerm</strong> są już uruchomione i w nich będą wydawane komendy.</p>
<h2 style="text-align: justify">Ale po co to wszystko?</h2>
<p style="text-align: justify">Odpowiedź jest dość prozaiczna &#8211; by MÓC WIĘCEJ. Wiele zaawansowanych ustawień systemowych, o których istnieniu przeciętny użytkownik macOS nie ma pojęcia, jest dostępnych tylko z poziomu linii komend. Podobnie wiele narzędzi, szczególnie tych bardziej zaawansowanych, wymaga sięgania do linii komend. Ale też wiele prostych czynności można wykonać szybko i sprawnie korzystając z terminala, nie wspominając o automatyzacji rutynowo wykonywanych operacji za pomocą skryptów. Ale dość tej teorii, zróbmy zatem coś w tym terminalu, najlepiej zabawnego i prostego na zachętę. Włączcie zatem głośniki (koniecznie!) i wydajcie komendę:</p>
<ul style="text-align: justify">
<li><em><strong>say &#8222;Twoje życzenie jest dla mnie rozkazem&#8221;</strong></em></li>
</ul>
<p style="text-align: justify">Spodobało się? To spróbujmy w innych językach. Najpierw sprawdźmy jakie są dostępne:</p>
<ul style="text-align: justify">
<li><em><strong>say -v ?</strong></em></li>
</ul>
<p style="text-align: justify">I teraz możemy już mieć komputer przemawiający jak J.A.R.V.I.S. (tak, to jest poprawna pisownia, ponieważ to z ang. Just A Really Very Inteligent System) do Tony&#8217;ego Stark&#8217;a:</p>
<ul>
<li style="text-align: justify"><em><strong>say -v Alex &#8222;Let me introduce myself. I am JARVIS. A virtual artificial intelligence. And I am here to assist you.&#8221;</strong></em></li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-5057" src="https://testhub.pl/wp-content/uploads/2017/12/say-1.jpeg" alt="" width="773" height="837" srcset="https://testhub.pl/wp-content/uploads/2017/12/say-1.jpeg 773w, https://testhub.pl/wp-content/uploads/2017/12/say-1-277x300.jpeg 277w, https://testhub.pl/wp-content/uploads/2017/12/say-1-768x832.jpeg 768w, https://testhub.pl/wp-content/uploads/2017/12/say-1-585x633.jpeg 585w" sizes="auto, (max-width: 773px) 100vw, 773px" /></p>
<p style="text-align: justify">Mam nadzieję, że Wam się spodobało i możemy przejść do bardziej zaawansowanych rzeczy. Ale zacznijmy od &#8230;</p>
<h2 style="text-align: justify">Warzymy piwo</h2>
<p style="text-align: justify">Użytkownik komputera Apple, zapytany o źródło aplikacji, zapewne wskaże App Store. Jednakże macOS to nie iOS i wybór źródeł programów jest w tym wypadku znacznie szerszy. A gdyby tak istniało narzędzie, równie wygodne, jak App Store i dające znacznie większą swobodę wyboru? Ależ ono istnieje. Jest nim <strong><a href="https://brew.sh/index_pl.html">Homebrew</a></strong><a href="https://brew.sh/index_pl.html">,</a> czyli jak sami autorzy piszą o swoim dziele, &#8222;brakujący menadżer pakietów dla macOS&#8221;. Idea menadżera pakietów zaczerpnięta jest z różnych dystrybucji Linuxa, gdzie znajdziemy takie projekty jak na przykład APT (Debian, Ubuntu) czy Yum (CentOS). Aby zainstalować Homebrew wydajemy w terminalu polecenie:</p>
<pre><strong>/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"</strong></pre>
<p style="text-align: justify">W efekcie zostaniemy poinformowani jakie zmiany zostaną wprowadzone w naszym systemie i poproszeni o zgodę na kontynuację (klawisz Enter) lub przerwanie operacji (dowolny inny klawisz).</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-4816" src="https://testhub.pl/wp-content/uploads/2017/12/brew_install.jpeg" alt="" width="696" height="822" srcset="https://testhub.pl/wp-content/uploads/2017/12/brew_install.jpeg 696w, https://testhub.pl/wp-content/uploads/2017/12/brew_install-254x300.jpeg 254w, https://testhub.pl/wp-content/uploads/2017/12/brew_install-585x691.jpeg 585w" sizes="auto, (max-width: 696px) 100vw, 696px" /></p>
<p style="text-align: justify">W zależności od szybkości połączenia z Internetem instalacja może zając kilka-kilkanaście minut, w sam raz na wycieczkę do lodówki po jakiś napój przed lekturą kolejnego odcinka.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Artykuł <a href="https://testhub.pl/terminal-macos-czesc-1/">Terminal w macOS &#8211; część 1</a> pochodzi z serwisu <a href="https://testhub.pl">TestHub.pl</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
