Zadania linux bash

0

Mam problem z kilkoma zadaniami. Niektóre to nawet nie wiem jak zrobić. Mogę liczyc na Waszą pomoc?

  1. Skopiuj z katalogu '/etc' pliki o rozszerzeniu .net do swego katalogu domowego używając ścieżek bezwzględnych. Nie należy używać polecenia find.

  2. Wyszukaj wszystkie niepuste pliki zwykłe w katalogu '/etc' (i jego podkatalogach), które mają rozszerzenie '.conf' - wielkość liter bez znaczenia, rozmiar mniejszy niż 100B, z czasem ostatniego dostępu większym od 10 dni, wynik skopiuj za pomocą przełącznika 'find -exec' do katalogu 'conf' utworzonego w swoim katalogu domowym.

  3. Dla pliku 'a.txt' o prawach dostępu rw-r--r-- za pomocą jednego polecenia nadaj prawa do wykonywania dla pozostałych oraz grupy i odejmij prawa do odczytu dla pozostałych. Podaj rozwiązanie przy użyciu kodów znakowych, jak i liczbowych.

  4. Wyświetl zawartość pliku '/etc/services' usuwając wszystkie linie całkowicie zakomentowane.

  5. Wyświetl nazwy użytkowników, GID, UID i powłokę logowania z pliku '/etc/passwd' posortowaną numerycznie najpierw wg. numerów GID w kolejności od największego do najmniejszego, a następnie UID.

  6. Policz sumę wszystkich liczb podanych jako parametry wywołania skryptu. Obsłuż błędy, tzn. załóż, że podano inne parametry niż liczby.

W 1) próbowałem coś w tym stylu, ale jest źle cp *net /etc/home

W 2) nie wiem jak wyszukać niepuste
5) sort -t : -k4 -r /etc/passwd | sort -t : -k3
6)

#!/bin/bash
for i in $@; 
do suma=$((suma+i));
done; echo $suma
2

Jeśli wklejasz kod, formatuj go wcześniej i wklej między znaczniki języka jak na zrzucie
screenshot-20210115135428.png

Odnośnie punktu

  1. *.net dopasowuje ci pliki w bieżącym katalogu. Bieżący katalog to ścieżka względna a ty masz zająć się ścieżkami bezwzględnymi.
  2. https://superuser.com/a/1015124 - przełącznika size używasz dwa razy: dla parametrów +0 i -100k.
  3. Tu przyda się polecenie chmod. Parametr możesz dobrać obliczając to na stronie https://chmod-calculator.com/ . Np.
chmod 775 plik

Możesz sprawdzić na podanej stronie jakie prawa nada powyższe polecenie.
4) Sprawdź polecenie grep, np.

grep -Pv '^#' plik

To polecenie pokaże wszystkie linie, które nie zaczynają się znakiem #. Sprawdź jaki znak jest dla komentarzy w pliku /etc/services.

1 użytkowników online, w tym zalogowanych: 0, gości: 1