Środowisko programisty/Bash - podstawowe komendy: Różnice pomiędzy wersjami
→mkdir: Pierwsza wersja |
→cp: Pierwsza wersja |
||
Linia 143: | Linia 143: | ||
=== cp === | === cp === | ||
Zasadniczo są trzy najczęściej stosowane wywołania komendy cp: | |||
; cp plik1 plik2 : kopiuje plik1 i zapisuje go jako plik2, jeśli plik2 istnieje to go nadpisuje, | |||
; cp plik katalog : kopiuje plik do katalogu, jeśli taki plik istnieje już w katalogu docelowym, to go nadpisuje, | |||
; cp -a katalog1 katalog2 : kopiuje rekurencyjnie katalog1 wraz zawartością do katalog2. | |||
Jeśli chcemy, aby cp pytało nas, czy nadpisywać istniejące już pliki, to dodajemy opcję '''-i'''. Jeżeli taki tryb mamy ustawiony domyślnie, to możemy też chcieć, aby cp pytało nas, czy nadpisywać istniejące już pliki, wtedy dodajemy opcję '''-f'''. | |||
=== rm === | === rm === |
Wersja z 14:15, 11 sie 2006
Okno terminala
Polecenie | Opis |
---|---|
echo | wypisywanie na ekran |
sleep | zawieszanie wykonania |
clear | czyszczenie okna |
reset | resetowanie terminala |
echo
Polecenie echo służy do wypisywania swoich argumentów.
Wybrane opcje
-n | nie przechodzi do następnej linii |
-e | interpretacja znaków specjalnych (ze znakiem \) |
Przy użyciu opcji -e rozpoznawane są znaki specjalne (poprzedzone \), na przykład
\\ | \ |
\a | syngnał dzwiękowy |
\b | znak w tył (backspace) |
\n | nowa linia |
\r | powrót karetki, tzn. kursor jest przesuwany do początku linii |
\t | znak tabulacji |
Przykłady
bashtest@host:~$ echo -e 'abc\rdef' def bashtest@host:~$ echo -n who; echo -n am; echo -n x; echo -en '\b'; echo i whoami bashtest@host:~$ echo -e "Linia 1\nLinia 2" Linia 1 Linia 2 bashtest@host:~$
Początkowo może być niejasne co ocnacza wywołanie echo -en '\b'. Otóż jest to konwencja podawania opcji w sposób skrócony. Zamiast pisać -e -n możemy skrócić te dwie opcje do -en. Konwencji skrótowej można używać we wszystkich przedstawionych tutaj narzędziach. Więcej o tej konwencji można przeczytać w man 3 getopt.
sleep
Polecenie sleep bierze jeden argument, liczbę całkowitą i czeka tyle sekund. Na przykład sleep 60 czeka minutę. Polecenie to jest przydatne w skryptach lub w pętlach, gdy między jedną, a drugą czynnościa potrzebujemy odstępu czasowego.
clear
Czyści ekran. Przydatne przed wykonanie polecenia, które wypisuje dużą ilość komunikatów i nie chcemy, aby zlewało nam się to z poprzednimi komunikatami.
reset
Resetuje terminal. Podobnie jak clear czyści też ekran, ale również przywraca ustawienia terminala. Przydatne w przypadku, gdy zmienimy ustawienia terminala tak, że nie jesteśmy w stanie na nim pracować, na przykład, gdy po tym jak każemy wypisać (przez nie uwagę) plik binarny.
Operowanie na plikach i katalogach
Polecenie | Opis |
---|---|
cd | zmiana katalogu |
pwd | bieżący katalog |
ls | lista plików i katalogów |
mkdir | tworzenie katalogu |
cp | kopiowanie plików/katalogów |
rm | usuwanie plików/katalogów |
mv | przenoszenie/zmiana nazwy pliku/katalogu |
cat | wypisanie zawartości pliku |
more/less | przeglądanie zawartości pliku |
touch | uaktualnianie daty pliku, bądź jego tworzenie |
df | wyświetla ilość wolnego miejsca na wszystkich dyskach |
du | wyświetla zużycie dysku w wybranych katalogach |
cd
cd zmienia aktualny katalog na katalog podany w argumencie polecenie. Wywołanie cd bez argumentów zmienia katalog na katalog domowy aktualnego użytkownika.
Bash wprowadza również katalogi specjalne z użyciem znaku ~. Nazwy zaczynające się od znaku ~ (nie ujęte w cudzysłowy) mają specjalne znaczenie, na przykład:
~ | katalog domowy aktualnego użytkownika |
~/kat1 | katalog kat1 w katalogu domowym aktualnego użytkownika |
~ktos | katalog domowy użytkownika o loginie ktos |
~ktos/kat1/kat2 | katalog kat1/kat2 w katalogu domowym użytkownika o loginie ktos |
Przypomnijmy też, że są też następujące katalogi:
. | bieżący katalog |
.. | katalog nadrzędny |
/ | katalog główny |
ls
Służy do wyświetla zawartości wybranych katalogów. Wyświetlane są informacje o plikach podanych w argumentach i zawartaści katalogów podanych w argumentach. Jeżeli nie został podany żaden plik, czy też katalog, to wyświetlana jest zawartość bieżącego katalogu.
Wybrane opcje
Komenda ls może przyjmować wiele argumentów, które głównie dotyczą formatowania wyjścia. Przedstawiamy tylko opcję najczęściej używane.
-R | wyświetla zawartość katalogów rekurencyjnie |
-a | wyświetla wszystkie pliki, również pliki ukryte; w Linuksie pliki ukryte, to takie, które zaczynają się od kropki |
-l | wyświetla dokładną informację o każdym z plików (atrybuty, rozmiar, datę modyfikacji, itp.) |
mkdir
Tworzy katalog podany jako argument. Z opcją -p tworzy również katalogi, które są potrzebne do utworzenia katalogu docelowego. Na przykład jeśli wywołamy
mkdir kat1/kat2
to, aby utworzyć kat2 musi istnieć kat1, a jeśli wywołamy
mkdir -p kat1/kat2
to, jeśli nie istnieje kat1, to jest tworzony i dopiero potem następuje utworzenie kat2 w katalogu kat1.
cp
Zasadniczo są trzy najczęściej stosowane wywołania komendy cp:
- cp plik1 plik2
- kopiuje plik1 i zapisuje go jako plik2, jeśli plik2 istnieje to go nadpisuje,
- cp plik katalog
- kopiuje plik do katalogu, jeśli taki plik istnieje już w katalogu docelowym, to go nadpisuje,
- cp -a katalog1 katalog2
- kopiuje rekurencyjnie katalog1 wraz zawartością do katalog2.
Jeśli chcemy, aby cp pytało nas, czy nadpisywać istniejące już pliki, to dodajemy opcję -i. Jeżeli taki tryb mamy ustawiony domyślnie, to możemy też chcieć, aby cp pytało nas, czy nadpisywać istniejące już pliki, wtedy dodajemy opcję -f.
rm
mv
cat
more/less
touch
df
du
Operowanie na plikach tekstowych
Polecenie | Opis |
---|---|
head | wypisanie początku pliku |
tail | wypisanie końca pliku |
wc | zliczanie znaków/słów/linii |
cut | wypisywanie wybranych części z każdej linii |
tr | zamienianie/usuwanie znaków |
sort | sortowanie po liniach |
uniq | usuwanie/znajdywanie powtarzających się linii |
tac | wypisanie plików od tyłu |
Wyszukiwanie
Polecenie | Opis |
---|---|
grep | przeszukiwanie zawartości plików |
find | wyszukiwanie plików/katalogów |
Procesy
Polecenie | Opis |
---|---|
ps | wyświetlanie procesów |
kill/killall | kończenie procesów |
top | "menadżer zadań" |
fg/bg/jobs/^Z | operowanie na zadaniach w shellu |