Jaka jest różnica między ls >i ls >>? Muszę to zrozumieć dla moich obliczeń GCSE, ale nie wiem, jaka jest różnica.
man bash).
Jaka jest różnica między ls >i ls >>? Muszę to zrozumieć dla moich obliczeń GCSE, ale nie wiem, jaka jest różnica.
man bash).
Odpowiedzi:
>i >>są operatorami przekierowań; przenoszą produkcję czegoś, w tym przypadku lsgdzie indziej. Jeśli dane wyjściowe >trafią do pliku, zostanie obcięty - tzn. Usunie wszelkie poprzednie treści, a jednocześnie >>doda nowe dane na końcu pliku, zachowując poprzednią zawartość. Będzie to działać z dowolnym wejściem, więc echo& catna przykład można również użyć w ten sposób.
Interesujący jest również |operator, który przekazuje dane do innej aplikacji - dzięki ls | cat -ntemu otrzymasz listę z numerami wierszy!
Rury to odpowiedni termin.
stracewyjściem do bash -c 'echo a > blah': open("blah, O_WRONLY|O_CREAT|O_TRUNC, 0666)tak truncate byłby odpowiedni termin.
>>do zapisu do pliku (np. log) również ma fajną stronę efekt, aby na początku pliku saif nie pojawiały się znaki „Nul”, jeśli plik jest obcinany, gdy proces wciąż do niego zapisuje! (np .: podczas rotacji pliku dziennika). Ponieważ „foo> file” nie szuka, nie zauważa zmiany rozmiaru i nadal wskazuje dalej niż na początku, a system operacyjny wypełnia się wartością Nul. foo >>fileszuka, a zatem wskazuje na nową pozycję (początek).
Symbole >i >>służą do przekierowania wyjścia do pliku.
Oba utworzą plik, jeśli plik nie istnieje. Jeśli plik już istnieje, to >nadpisze plik, do którego >>dołączą dane.
Więc ls > myfilebędzie stworzyć dokument o nazwie myfile, jeśli nie istnieje. Jeśli myfilejest już obecny i zawiera pewne dane, zostanie nadpisany nowymi danymi, które przekażesz.
Natomiast ls >> myfileutworzy plik, jeśli nie istnieje, i zapisze w nim dane. Jeśli plik istnieje z pewnymi danymi, nowe dane są dodawane na końcu.
JEŻELI użyjesz jednego>, plik zostanie zastąpiony, jeśli już istnieje. Zachowaj ostrożność podczas korzystania z tego.
Jeśli użyjesz dwóch >>, to po prostu dołączy (innymi słowy, zacznij pisać na dole pliku), jeśli już istnieje. W przeciwnym razie tworzy nowy plik, jeśli nie istnieje.