Polecenia powłoki bash

Materiały dodatkowe do warsztatów technologii webowych prowadzonych na Wydziale Matematyki i Informatyki Uniwersytetu im. Adama Mickiewicza w Poznaniu.
Wróć do spisu materiałów

1. Polecenia powłoki bash

Na tej stronie znajdują się ćwiczenia wraz z przykładowymi (ale nie jedynymi) rozwiązaniami z praktycznej wiedzy o powłoce bash.

Przydatne strony:

1.1. Poruszanie się po katalogach

Ćwiczenie 1.1.1.

Wywołaj w swoim katalogu domowym polecenia:

mkdir test
cd test
touch plik
mkdir test01
mkdir test02
mkdir test03
cd test02
mkdir test0201
mkdir test0202
cd test0201

Następnie wykonaj poniższe zadania:

  • przejdź jednym poleceniem do katalogu test;
Pokaż rozwiązanie
  • wyświetl informacje o zawartości katalogu test oraz jego podkatalogach (czyli rekursywnie);
Pokaż rozwiązanie
  • podaj, jakie uprawnienia posiada grupa, w której znajduje się właściciel katalogu test02;
Pokaż rozwiązanie
Ukryj rozwiązanie Wywołujemy polecenie: ls -l.
Sprawdzamy w pierszej kolumnie: drwxrwxrwx.
Druga trójka rwx oznacza prawo odczytu, zapisu i wykonania dla grupy.
  • użyj odpowiedniego polecenia, aby wywołać pomoc do programu/polecenia ln;
Pokaż rozwiązanie
  • powiedz, do czego służy polecenie ln;
Pokaż rozwiązanie
Ukryj rozwiązanie
Polecenie ln służy do tworzenia dowiązań/linków pomiędzy plikami.
  • korzystając z polecenia ln z odpowiednią opcją, utwórz dowiązanie symboliczne o nazwie skrot do pliku o nazwie plik;
Pokaż rozwiązanie
Ukryj rozwiązanie
ln -s plik skrot
  • wyświetl szczegółowe informacje o zawartości katalogu test;
Pokaż rozwiązanie
  • podaj, jak oznaczane są dowiązania symboliczne w powłoce bash;
Pokaż rozwiązanie
Ukryj rozwiązanie

Dowiązania symboliczne oznaczane są literą l w szczegółowym raporcie programu ls w pierwszej kolumnie przed oznaczeniem poziomów dostępu do pliku.

  • wyczyść ekran konsoli.
Pokaż rozwiązanie

1.2. Operacje na katalogach i plikach

Ćwiczenie 1.2.1.

Wykonaj poniższe polecenia:

  • utwórz 2 katalogi: nowy i nowy1;
Pokaż rozwiązanie
Ukryj rozwiązanie
mkdir nowy nowy1
  • przejdź do katalogu nowy;
Pokaż rozwiązanie
  • utwórz w nim jednym poleceniem 2 pliki: plik i plik2;
Pokaż rozwiązanie
Ukryj rozwiązanie
touch plik plik2
  • sprawdź uprawnienia pliku plik2 i podaj te uprawnienia jako trójkę liczb zapisanych w systemie ósemkowym;
Pokaż rozwiązanie
Ukryj rozwiązanie Wywołujemy polecenie: ls -l.
Odczytujemy, uprawnienia rw-rw-rw-.
W systemie ósemkowym: 666.
  • zmień uprawnienia pliku plik2 tak, aby właściciel pliku miał wszystkie prawa, grupa - prawo do odczytu a pozostali bez żadnych praw;
Pokaż rozwiązanie
Ukryj rozwiązanie
chmod u=rwx,g=r--,o=--- plik2
  • sprawdź, że prawa dostępu dla pliku plik2 zostały zmodyfikowane;
Pokaż rozwiązanie
  • usuń plik plik;
Pokaż rozwiązanie
  • zmień nazwę pliku plik2 na zmieniony;
Pokaż rozwiązanie
Ukryj rozwiązanie
mv plik2 zmieniony
  • utwórz dowiązanie symboliczne do pliku zmieniony o nazwie skrot_do_zmienionego tak, aby dowiązanie to znalazło się w Twoim katalogu domowym (użyj polecenia ln);
Pokaż rozwiązanie
Ukryj rozwiązanie
ln -s zmieniony ~/skrot_do_zmienionego
  • skopiuj plik zmieniony do katalogu-rodzica (jeden poziom wyżej);
Pokaż rozwiązanie
Ukryj rozwiązanie
cp zmieniony ..
  • przejdź do katalogu-rodzica;
Pokaż rozwiązanie
  • usuń katalog nowy1;
Pokaż rozwiązanie
Ukryj rozwiązanie
rmdir nowy1
  • usuń katalog nowy.
Pokaż rozwiązanie
Ukryj rozwiązanie
rm -r nowy

1.3. Przekierowania i potoki

Ćwiczenie 1.3.1.

Wykonaj poniższe polecenia:

  • utwórz plik pisanie;
Pokaż rozwiązanie
Ukryj rozwiązanie
touch pisanie
  • zapisz do pliku pisanie zdanie “Ala ma kota**;
Pokaż rozwiązanie
Ukryj rozwiązanie
echo "Ala ma kota" > pisanie
  • wypisz zawartość pliku pisanie;
Pokaż rozwiązanie
Ukryj rozwiązanie
cat pisanie
  • dopisz do pliku pisanie wartość zmiennej środowiskowej, która przechowuje adres katalogu domowego;
Pokaż rozwiązanie
Ukryj rozwiązanie
echo $HOME >> pisanie
  • dopisz do pliku pisanie wartość zmiennej środowiskowej, która przechowuje nazwę aktualnie zalogowanego użytkownika;
Pokaż rozwiązanie
Ukryj rozwiązanie
echo $USER >> pisanie
  • dopisz do pliku pisanie zawartość polecenia ls -l wywołanego w katalogu, w którym aktualnie się znajdujesz;
Pokaż rozwiązanie
Ukryj rozwiązanie
ls -l >> pisanie
  • wypisz zawartość pliku pisanie w kolejności od ostatniej linii;
Pokaż rozwiązanie
Ukryj rozwiązanie
tac pisanie
  • wypisz pierwszą linię pliku pisanie;
Pokaż rozwiązanie
Ukryj rozwiązanie
head -n 1 pisanie
  • wypisz, ile słów zawiera plik pisanie;
Pokaż rozwiązanie
Ukryj rozwiązanie
wc -w pisanie
  • wypisz ostatnią linię pliku pisanie;
Pokaż rozwiązanie
Ukryj rozwiązanie
tail -n 1 pisanie
  • wypisz trzecią linię pliku pisanie;
Pokaż rozwiązanie
Ukryj rozwiązanie
head -n 3 pisanie | tail -n 1
  • wypisz kolejno czwartą, trzecią i drugą linię pliku pisanie;
Pokaż rozwiązanie
Ukryj rozwiązanie
head -n 4 pisanie | tac | head -n 3
  • utwórz plik zapis;
Pokaż rozwiązanie
Ukryj rozwiązanie
touch zapis
  • zapisz do pliku zapis przedostatnią linię pliku pisanie.
Pokaż rozwiązanie
Ukryj rozwiązanie
tac pisanie | head -n 2 | tac | head -n 1 > zapis