Jump to content

Recommended Posts

EDIT: Aktualizacja 07.01.2010

Nowy punkt (Drag & Drop) w pkt.3, oraz drobne poprawki redakcyjne.

 

 

UWAGA! - Przy pomocy Terminala można system naprawić, jak i bardzo łatwo go również uszkodzić!

Trzeba pamiętać, że zmiany dokonane w terminalu są nieodwracalne. Nie ma tu ani" kosza" ani opcji "undo" ani system nie pyta "czy jesteś pewien" !!!

 

Terminal czy inaczej konsola, działa tak samo w przypadku MacOS, jak i innych systemów NIX'owych (Unix, Linux). Dotyczy to komend, ich działania, jak i faktu, że przy ich wpisywaniu istotna jest wielkość liter.

Jeśli jakieś pojęcia czy zwroty są dla Ciebie niejasne, to polezajrzyj do Słowniczka.

 

1. Uruchomienie terminala

Do terminala w MacOS można dostać się na kilka sposobów. Podstawowy to uruchomienie go przez wybranie w z folderu Applications > Utilities > Terminal.

 

W sytuacjach awaryjnych można to zrobić tak:

  • Uruchamiająć system z parametram "-s", czyli w trybie single user. Gdy pokaże się wiersz poleceń należy wpisać komendę, która umożliwi dokonanie zmian na dysku:
    mount -uw /

    * W trybie single user automatycznie mamy uprawnienia root'a i nie musimy używać komendy sudo.

  • Jeśli nie da się w ogóle uruchomić systemu, to można uruchomić instalator dowolnej hackintoshowej dystrybucji OSx86. I tam wybieramy z menu Tools > Terminal.

2. Podstawowe komendy

Poruszanie się po dysku:

  • ls : (list) pokazuje zawartość aktualnej lokalizacji.
    • ls -la : pełna zawartość, wraz z ukrytymi plikami oraz informacjami o uprawnieniach i właścicielach.

cd : (change directory) : zmiana folderu.

  • cd : wejście do folderu o danej nazwie.
    cd .. : wyjście z folderu, przejście poziom wyżej.
    cd / : przejście do głównego folderu na dysku.

Operacje na plikach i forlderach:

  • cp : (copy) kopiowanie.
    • cp <źródło> : kopiowanie pliku do podanej lokalizacji.
      cp -R <źródło> : kopiowanie folderu* (wraz z subfolderami) do podanej lokalizacji.

mv : (move) przenoszenie lub zmiana nazwy.

  • mv <źródło> : przeniesienie pliku lub folderu do podanej lokalizacji.
    mv : zmiana nazwy pliku lub folderu.
    Jeśli podana lokalizacja docelowa, lub plik o podanej nowej nazwie, istnieje - to zostanie nadpisany.

rm : (remove) usuwanie.

  • rm : usunięcie pliku.
    rm -R : usunięcie folderu* (wraz z subfolderami).

mkdir : (make directory) utworzenie folderu.

  • mkdir : (make directory) utworzenie nowego folderu o zadanej nazwie.

* -R : (recursive) rekurencja - dodanie tego parametru sprawia, że funkcja działa także na zawartość tego do czego się odnosi. W praktyce trzeba ten parametr dopisać do komend, które odwołują się do folderów, w tym i kextów.

Modyfikacje w systemie:

  • sudo : (superuser do) powoduje, że komenda następująca po tej, zostanie wykonana na prawach root'a (wymaga podania hasła).
    • sudo -s : powoduje przełącznie się na root'a. Wtedy nie trzeba przed kolejnymi komendami w danej sesji wpisywać ciągle "sudo".

chown : (change owner) zmiana tzw. właściciela

  • chown -R root:wheel : zmiana właściciela na root z grupy wheel (główna).

chmod : (change file modes - permissions) zmiana uprawnień.

  • chmod -R 755 : nadanie uprawnień 755 (niezbędnych dla takich plików systemowych jak np. kexty).

kextstat : (kext status) podaje listę kextów załądowanych do systemu wraz z ich tzw. statusem - w tym m.in. adres, rozmiar, wersja...

  • Jest to przydatne przy tzw. diagnostyce, gdy chcemy sprawdzić, co i jak się ładuje.

3. Tips & tricks

Kilka rzeczy, które mogą byc pomocne w różnych sytuacjach:


  • man : (manual) czyli podręcznik
    • man : wyświetla wbudowany w terminal podręcznik dotyczący danej komendy.
      Podpowiedzi są skrótowe i po angielsku, ale zawsze coś.

 

TAB : autouzupełnianie

  • Wystarczy napisać początek komendy, nazwy pliku lub folderu i nacisnąć przycisk TAB, a zostanie ona uzupełniona automatycznie o brakującą część.
    Funkcja ta przydaje się szczególnie przy dłuższych, w tym wieloczłonowych, nazwach.

 

Drag & Drop : autouzupełnianie

  • Bardzo wygodną alternatywą, dla ręcznego wpisywania namiarów na plik lub folder, jest przeciągnięcie jego ikony na okno Terminala. Pełna nazwa pliku, wraz z całą ścieżką dostępu, pojawi się sama.

 

nano : edytor

  • nano : otwiera zadany plik przy pomocy wbudowanego w terminal, prostego edytora tekstu "nano".
     
    Edytowanie plików z nadanymi uprawnieniami (np. com.apple.Boot.plist),w normalny sposób - czyli przez GUI - jest nieco uciążliwa. Dużo wygodniej jest zrobić to w terminalu, przy pomocy "nano":
sudo nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

 

grep : filtr wyników

  • | grep : dodanie tego polecenia do innej komendy spowoduje przefiltrowanie danych do wyświetlenia, zgodnie z zadanym parametrem.
     
    Jeśli będąc w /S*/L*/E* wpiszemy komendę "ls", to zobaczymy tylko końcówkę długiej listy. Można ją jednak przefiltrować korzystając z programu wyszukującego "grep". np:
cd /System/Library/Extensions
ls | grep USB

...spowoduje wyświetlenie listy wpisów zawierających "USB" (wielkość liter ma znaczenie):

AppleMIDIUSBDriver.plugin
AppleUSBAudio.kext
AppleUSBDisplays.kext
AppleUSBEthernetHost.kext
AppleUSBMultitouch.kext
AppleUSBTopCase.kext
BJUSBLoad.kext
IOUSBFamily.kext
IOUSBMassStorageClass.kext
SM56KUSBAudioFamily.kext


Wygodne jest też użycie grep razem z komendą kextstat. np:

kextstat | grep USB

...wyświetli nam:

37    8 0x5b77b000 0x2b000    0x2a000    com.apple.iokit.IOUSBFamily (3.4.4) <7 6 5 4 2> 
38    0 0x5b8a1000 0xe000     0xd000     com.apple.driver.AppleUSBUHCI (3.4.4) <37 17 7 6 5 4> 
43    0 0x5ba69000 0x12000    0x11000    com.apple.driver.AppleUSBEHCI (3.4.3) <37 17 7 6 5 4> 
50    0 0x5bed6000 0x2000     0x1000     com.apple.iokit.IOUSBUserClient (3.3.1) <37 6 5 4> 
51    0 0x5bf52000 0xc000     0xb000     com.apple.driver.AppleUSBHub (3.4.0) <37 6 5 4> 
59    1 0x5c37b000 0x4000     0x3000     com.apple.driver.AppleUSBComposite (3.2.0) <37 5 4> 
60    0 0x5c386000 0x2000     0x1000     com.apple.driver.AppleUSBMergeNub (3.4.3) <59 37 5 4> 
61    2 0x5c476000 0x5000     0x4000     com.apple.iokit.IOUSBHIDDriver (3.2.2) <37 24 6 5 4> 
64    0 0x5c57a000 0x3000     0x2000     com.apple.driver.AppleUSBHIDMouse (1.2.3f1) <63 61 37 12>

 

montowanie klucza USB w trybie Single User

  • Jeśli instalujemy lub naprawiamy system w trybie "sigle user", zachodzi czasem potrzeba dogrania np. jakiegoś kexta, który mamy na kluczu USB. Aby dostać się do niego z terminala w tym trybie trzeba wykonać następujące polecenia (zaczynamy z odłączonym kluczem USB):
mkdir /Volumes/
ls /dev      (po tym podłączamy nasz klucz USB i czekamy chwilę) 
ls /dev      (na liście powinien pojawić się nowy dysk, np. disk2s1(**). To nasz klucz USB!) 
mount -t msdos /dev/disk2s1 /Volumes/ (zakładam, że klucz jest sformatowany na FAT32)


Po tej operacji nasz klucz już powinien normalnie funkcjonować w /Volumes/.
** Oczywiście w miejsce "disk2s1" trzeba wpisać właściwy, w naszym przypadku, nr dysku i partycji.

 

4. Przydatne linki

Więcej informacji o komendach dostępnych w terminalu:

http://www.ss64.com/osx/

Informacje na temat Grup i Użytkowników w systemach Unix (a takim jest właśnie MacOS):

http://pl.wikibooks.org/wiki/Linux/Definicje/Użytkownicy_i_grupy

Share this post


Link to post
Share on other sites

Metoda powyżej dotyczy konkretnie trybu Single User. W innych przypadach PenDrive powinien zamontować się automatycznie (w /Volumes), o ile masz poprawnie działające pod Mac OS X złącze USB.

W przykładzie jest FAT32, bo tak najczęściej jest w praktyce. Jeśli masz klucz w HFS+, to pomijamy opcję formatu: "msdos".

Share this post


Link to post
Share on other sites

A ja chciałem zapytać jak zastąpić znak spacji w terminalu bo nigdzie nie znalazłem ponieważ przy wydawaniu komend jesli mam katalog np. "Macintosh HD" i próbowałem zamiast spacji dawać "_" oraz "-" ale nie skutkowało ,a wiadomo jak naciskam spacje to terminal mnie przykładowo nie przeniesie do tego katalogu

Share this post


Link to post
Share on other sites
A ja chciałem zapytać jak zastąpić znak spacji w terminalu bo nigdzie nie znalazłem ponieważ przy wydawaniu komend jesli mam katalog np. "Macintosh HD" i próbowałem zamiast spacji dawać "_" oraz "-" ale nie skutkowało ,a wiadomo jak naciskam spacje to terminal mnie przykładowo nie przeniesie do tego katalogu

Spacje poprzedza się ukośnikiem:

Nazwa\ Dalszy\ Ciąg

Możesz też ułatwić sobie wpisywanie długich nazw... zacznij wpisywać np "Macinto" i naciśnij "Tab" - powinien dokończyć nazwę...

Tak się wpisuje:

Macintosh\ HD

A jak cię to wkurzy po raz xyz, to nazwiesz dysk bez spacji. ;-)

Share this post


Link to post
Share on other sites
Jeśli nie da się w ogóle uruchomić systemu, to można uruchomić instalator dowolnej hackintoshowej dystrybucji OSx86. I tam wybieramy z menu Tools > Terminal.

 

Potrzebuję wywalić kexta z /S/L/E/ i wymazać plik z cache bo po dobraniu go dostałem kernel panic.

Odpalam terminal z płyty instalacyjnej i zamiast nazwy mojej instalacji na dysku HDD mam nazwę "basch3.1$"

 

Czy teraz kolejnym krokiem jest podmontowanie dysku i dopiero jego eksplorowanie czy jednak wystarczy zmienić usera ? To moje początki w terminalu więc proszę o pomoc

Share this post


Link to post
Share on other sites
Po odpaleniu z płytki nie trzeba montować dysku, a przeglądać go możesz w katalogu /Volumes/nazwa_partycji

 

Zrobiłem jak pisałeś i partycję bez problemu można przeglądać natomiast w /S/L/E nie znalazłem tego kextra (SleepEnabler) który był tam na 100% i zastanawiam się dlaczego ?

 

Ostatecznie poradziłem sobie w ten sposób że podpiąłem ten HDD do MacBooka i wywaliłem ten plik Finderem, system wstał bez problemu

Share this post


Link to post
Share on other sites
Bo pewnie patrzyłeś do /S/L/E na płycie a nie na dysku -> /Volumes/dysk/System/Library/Extensions

 

Dokładnie tak myślałem już wtedy że exploruję DVD a nie HDD ale instalacja na HDD nazywa się MAC OSX PC więc w terminalu wklepałem: cd /Volumes/MAC/ OSX / PC/Library/Extensions (slashe dlatego bo w nazwie użyłem spacje) i potem komenda ls i kexta nie było więc wydaje mi się że katalog powinien być poprawny zważywszy fakt że instalacja na DVD nazywa się iATKOS L2 a nie MAC OSX PC ?? dziwne ;)

Share this post


Link to post
Share on other sites

jeżeli dysk nazywa się: MAC OSX to ścieżkę zapisujemy jako:

"/Volumes/MAC OSX" lub /Volumes/MAC\ OSX - widzisz analogię ? Jeżeli w nazwie jest spacja ujmujemy wszystko w cudzysłów lub spację poprzedzamy znakiem \ (backslash)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.