{"id":206,"date":"2018-01-21T21:40:57","date_gmt":"2018-01-21T21:40:57","guid":{"rendered":"http:\/\/labiol.xyz\/?p=206"},"modified":"2018-01-21T21:40:57","modified_gmt":"2018-01-21T21:40:57","slug":"powloka-w-systemie-linux","status":"publish","type":"post","link":"https:\/\/www.labiol.xyz\/index.php\/2018\/01\/21\/powloka-w-systemie-linux\/","title":{"rendered":"Pow\u0142oka w systemie linux"},"content":{"rendered":"<p>Kr\u00f3tki opis.<\/p>\n<div>\n<p>\u015arodowisko LINUX, pow\u0142oka, zachowanie:<\/p>\n<p>Najpopularniejsze pow\u0142oki:<\/p>\n<ul>\n<li>sh \u2013 jedna z pierwszych<\/li>\n<li>ksh \u2013 oparta na sh, wnosi du\u017co nowego ale te\u017c si\u0119 bardzo od niej r\u00f3\u017cni<\/li>\n<li>bash \u2013 oparta na sh, kompatybilna (czy w 100%) z sh, korzysta r\u00f3wnie\u017c z ksh<\/li>\n<li>zsh \u2013 oparta na bash, dodano do niej nowy zbi\u00f3r funkcji<\/li>\n<\/ul>\n<p>Istniej\u0105 te\u017c pow\u0142oki interpretuj\u0161ce j\u0119zyki programowania, na przyk\u0142ad: csh, tcsh \u2013 wzbogacona o funkcje j\u0119zyka C.<\/p>\n<p>Symbole:<\/p>\n<p>Pami\u0119taj o symbolach *, ?<\/p>\n<p>[] \u2013 zast\u0119puje zestaw znak\u00f3w podany w nawiasach, w nawiasie mo\u017cna wymieni\u0107 znaki po sobie [ab] lub napisa\u0107 [a-z] (lub na przyk\u0142ad [A-z], [A-z0-9]) albo stosowa\u0107 zaprzeczenie [!0-9]. \u2013 pytanie: jak zrobi\u0107 tak, \u017ceby wypisa\u0107 wszystkie pliki kt\u00f3re w nazwie maj\u0161 tylko okre\u0153lone literki \u2013 na przyk\u0142ad wszystkie literki to ,,a\u2019\u2019 albo ,,b\u2019\u2019.<\/p>\n<p>Pow\u0142oka utrzymuje te\u017c zmienne \u0153rodowiskowe. Ka\u017cda zmienna \u0153rodowiskowa ma nazw\u0119 oraz warto\u015b\u0107. Wa\u017cniejsze zmienne \u015brodowiskowe:<\/p>\n<p>HOME<br \/>\nLINE<br \/>\nPWD<\/p>\n<p>USER, LOGNAME \u2013 zwykle to samo, ale mo\u017ce si\u0119 r\u00f3\u017cni\u0107, je\u0153li u\u017cytkownik zmienia poziom uprawnie\u0144 (su) (nie wiem, czy to jest aktualne ?? \u2013 w ubuntu nie dzia\u0142a)<\/p>\n<p>W pow\u0142oce znak $ oznacza nazw\u0119 zmiennej. Na przyk\u0142ad, je\u0153li chce si\u0119 dowiedzie\u0107, jak\u0161 warto\u0153\u0107 ma zmienna HOME, nale\u017cy wyda\u0107 polecenie echo $HOME. Opr\u00f3cz $ bash proponuje jeszcze trzy zmienne: $, $?; $!. Oznaczaj\u0161 one kolejno: pid pow\u0142oki, status ostatniego polecenia pow\u0142oki, pid ostatniego polecenia.<\/p>\n<p>W bash s\u0105 trzy rodzaje cytowania. Znaki &#8220; (lewy apostrof), \u2018\u2019 (apostrof) oraz \u201e\u201d (cudzys\u0142\u00f3w). Cudzys\u0142owy interpretuj\u0105 znaki \\, \u2018, $. Apostrofy interpretuj\u0161 tylko lewy apostrof. Co w rezultacie dla cudzys\u0142owie da: echo \u201e$HOME\u201d \uf0e0 \/home\/labiol, natomiast dla: echo \u2018$HOME\u2019 \uf0e0 $HOME. Poni\u017cej kilka przyk\u0142ad\u00f3w:<\/p>\n<p>labiol@hosts:~&gt; echo &#8220;to jest: `date`&#8221;<\/p>\n<p>to jest: nie mar 11 11:16:30 CET 2007<\/p>\n<p>labiol@hosts:~&gt; echo &#8216;to jest: `date`&#8217;<\/p>\n<p>to jest: `date`<\/p>\n<p>labiol@hosts:~&gt; echo $HOME<\/p>\n<p>\/home\/labiol<\/p>\n<p>labiol@hosts:~&gt; echo &#8216;$HOME&#8217;<\/p>\n<p>$HOME<\/p>\n<p>labiol@hosts:~&gt; echo &#8220;$HOME&#8221;<\/p>\n<p>\/home\/labiol<\/p>\n<p>(Co nie interpretuje lewy apostrof ??)<\/p>\n<p>Historia polece\u0144 jest zapisywana w pliku okre\u0153lonym zmienn\u0161 HISTFILE. Domy\u0153lnie jest to plik ~\/.bash_history. Dodatkowo za pomoc\u0161 HISTFILESIZE, HISTSIZE okre\u0153la si\u0119 liczb\u0119 wpis\u00f3w zapami\u0119tywanych w ka\u017cdej sesji, natomiast HISTSIZE.<\/p>\n<p>(gdzie s\u0105 zapisane warto\u015bci tych zmiennych ??; HISTFILE okre\u0153lone jest w \/etc\/profile \u2013 mo\u017cna zmienia\u0107 warto\u0153ci w katalogu domowym w pliku .profile)<\/p>\n<p>Ciekawe polecenia:<\/p>\n<p>strings \u2013 pokazuje tekst z plik\u00f3w binarnych \u2013 na przyk\u0142ad strings \/bin\/bash<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Kr\u00f3tki opis. \u015arodowisko LINUX, pow\u0142oka, zachowanie: Najpopularniejsze pow\u0142oki: sh \u2013 jedna z pierwszych ksh \u2013 oparta na sh, wnosi du\u017co nowego ale te\u017c si\u0119 bardzo od niej r\u00f3\u017cni bash \u2013 oparta na sh, kompatybilna (czy w 100%) z sh, korzysta r\u00f3wnie\u017c z ksh zsh \u2013 oparta na bash, dodano do &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-206","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/posts\/206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/comments?post=206"}],"version-history":[{"count":1,"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/posts\/206\/revisions"}],"predecessor-version":[{"id":207,"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/posts\/206\/revisions\/207"}],"wp:attachment":[{"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/media?parent=206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/categories?post=206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.labiol.xyz\/index.php\/wp-json\/wp\/v2\/tags?post=206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}