Skocz do zawartości

Terminal dla początkujących


Rekomendowane odpowiedzi

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

Odnośnik do komentarza
Udostępnij na innych stronach

  • 6 miesięcy temu...

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".

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 miesiące temu...

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

Odnośnik do komentarza
Udostępnij na innych stronach

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. ;-)

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 lata później...
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

Odnośnik do komentarza
Udostępnij na innych stronach

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

Odnośnik do komentarza
Udostępnij na innych stronach

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 ;)

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 lata później...

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie
 Udostępnij

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystanie z tej witryny, wymaga zakceptowanie naszych warunków Warunki użytkowania.