Kiedy uczyć się wersji narzędzia programistycznego z linii poleceń? [Zamknięte]

12

Prawie każde narzędzie do programowania ma wersję wiersza poleceń; wiele z nich ma również wersję GUI. Nauczenie się różnych poleceń i różnych opcji / przełączników wersji wiersza poleceń zajmuje dużo czasu i wysiłku zapamiętywania.

Mam więc kilka pytań (które niekoniecznie się wykluczają):

1) Kiedy miałbyś kłopot z nauką / zapamiętywaniem poleceń w wersji wiersza poleceń narzędzia, które jest również dostępne w wersji GUI?

2) Jakich narzędzi powinienem nauczyć się wersji wiersza poleceń? .... kompilatory? system kontroli wersji? itd itd

odkrywca
źródło
Jeśli narzędzie, którego używasz, zapewnia interfejs wiersza polecenia, ale nie ma dla niego odpowiedniej dokumentacji, byłbym ostrożny z użyciem takiego narzędzia. Jeśli tak, to RTFM. Nie jest to takie trudne, a jeśli dojdzie do tego, zadaj pytanie na StackOverflow.com Jeśli chcesz dowiedzieć się, jak zrobić coś z wiersza poleceń, mam wiarę, że możesz. Jeśli nie jesteś pewien, czy musisz coś wymyślić, prawdopodobnie nie. Życie jest pełne ciekawych rzeczy poza pracą, gdyby tylko było wystarczająco dużo czasu ...
Job

Odpowiedzi:

21

Widzę dwa powody, dla których powinieneś nauczyć się opcji wiersza poleceń programu:

  1. Gdy potrzebujesz w jakiś sposób zautomatyzować program - buduj skrypty, przetwarzanie wsadowe itp.

  2. Gdy potrzebujesz zoptymalizować zachowanie programu - zmniejsz rozmiar pamięci itp.

Co do narzędzi, których powinieneś się nauczyć - cóż, to całkowicie zależy od tego, co chcesz zrobić dalej.

ChrisF
źródło
1
Zawsze chcesz mieć możliwość skryptu programu, aby móc go zautomatyzować ...
1
@ Thorbjørn - czy nie to powiedziałem? Czy nie było jasne?
ChrisF
3
Tak. Właśnie podkreśliłem część dotyczącą automatyzacji - nie rozumiem, że z góry spowoduje ból później, gdy spróbuję dostosować obecne metodologie do czegoś skryptowalnego.
9

Wiele dobrych odpowiedzi już. Dodaję jeszcze jeden punkt widzenia.

GUI zastępujesz narzędziami wiersza poleceń, gdy chcesz wyciągnąć człowieka z równania / procesu. Niektóre powody i / lub korzyści z tego:

  • Pozbywasz się błędu ludzkiego (powtarzając polecenie)
  • Doskonały do ​​wszelkiego rodzaju automatyzacji, na przykład testów wdrażania, budowania lub uruchamiania z losowymi danymi wejściowymi.
  • Naprawdę jesteś zaawansowanym użytkownikiem. Daje ci możliwość wspinania się po drabinie meta programowania. Nie musisz samodzielnie wykonywać każdej akcji (kliknij GUI), możesz ją łatwo skrypty!
  • Możesz łączyć ze sobą narzędzia (pomyśl o uniksowych potokach).
  • Spraw, by komputery działały - nie skalujesz, komputery działają!

Kiedy to zrobić? Kiedy znajdziesz się powtarzać.

Oczywiście jest miejsce i czas na GUI. Ale jeśli naprawdę chcesz wykorzystać moc komputerów i surfować po fali prawa Moore'a, musisz nauczyć się skryptowania swoich zadań.

Edycja : Dodatkowy bonus. Możesz nosić tę koszulkę :)

Maglob
źródło
7

Kopalnie to:

1) Aby zwiększyć wydajność . Dla mnie szybsze jest robienie rzeczy w powłoce niż klikanie. Mówię o korzystaniu z narzędzia, a nie konfigurowaniu usługi / narzędzia / itp., Ponieważ czasami szybciej jest mieć kreatora i po prostu kliknąć Next Next Next, chociaż te kreatory istnieją również w wersjach wiersza polecenia :)

2) Aby użyć wersji wiersza polecenia w swoich aplikacjach. Załóżmy na przykład, że chcesz przekonwertować plik PDF na plik tekstowy . Jeśli używasz wersji GUI, jest w porządku. Ale jeśli zapewnia on również interfejs wiersza poleceń, w którym można zrobić coś takiego:, ./pdf2text input.pdf output.txta następnie, jeśli trzeba opracować aplikację, która odczytuje tekst z pliku PDF, można go łatwo używać, bez użycia interfejsów API lub poprawek ... .

3) Aby zapoznać się z ogólnymi zasadami aplikacji. Na przykład, jeśli masz zainstalowany program różnicowy w systemie Windows i interfejs, aby porównać dwa pliki. To idealne. Ale co, jeśli musisz użyć go w systemie Linux ? Możesz znaleźć ten sam interfejs dla Linuksa, ale co jeśli nie istnieje? Musisz ponownie nauczyć się korzystać z niego w systemie Linux, zainstalować nowy interfejs i przyzwyczaić się do pracy z nim. Jeśli nauczyłeś się korzystać z wersji wiersza poleceń, nie byłbyś jej potrzebny;)

Około 3) ... niektóre osoby mają wiele problemów z przyzwyczajeniem się do pracy z Git w systemie Windows. Mówią, że nie ma dobrych frontonów w systemie Windows, ale jeśli po prostu nauczysz się wiersza poleceń, nie będziesz mieć problemów. Działa w ten sam sposób. Oczywiście problem polega na tym, że czasami ludzie boją się wiersza poleceń ;)

Sugeruję poznanie wersji wiersza poleceń:

  • Kompilatory takie jak gcc
  • Debugery takie jak gdb
  • Git ;)
  • oraz wiele narzędzi w systemie GNU / Linux, które można uruchomić w systemie Windows, takich jak egrep , awk , find , ...
Oscar Mederos
źródło
Yeahhhh +1 dla git: D Chociaż diff jest jedynym przykładem, dla którego nie użyłbym prawdziwego polecenia; Wolę vimdiff (choć wydaje mi się, że technicznie to też terminal, więc cokolwiek)
alternatywny
@ mathepic masz rację, ale vimdiffjest także narzędziem wiersza polecenia, prawda?
Oscar Mederos
Jednocześnie jego ncurses (myślę, nie jestem pewien), więc robię małe rozróżnienie.
alternatywny
tak, ale biorę je również jako narzędzia wiersza poleceń :)
Oscar Mederos
@mathepic: Odpowiedź na twoje obawy:gvimdiff
Lie Ryan
3

Dlaczego musisz zatwierdzić składnię parametru do pamięci? Dlatego manistnieje i --help( /?jeśli jesteś w krainie winblowz).

Zauważyłem, że mogę znaleźć opcje na prawie wszystko w mniej niż minutę. Celem jest zapamiętanie, co robią polecenia , abyś wiedział, na co zwrócić uwagę!

Orbling
źródło
1

Pragmatycznie sprowadza się to do tego, czy w narzędziu GUI brakuje funkcji, czy też jest szybsza z wiersza poleceń.

Dodatkową korzyścią płynącą z używania wiersza poleceń jest jednak większe prawdopodobieństwo, że przeczytasz dokumentację i zorientujesz się, co się naprawdę dzieje. Zwłaszcza w przypadku przykładu kontroli wersji robienie tego z wiersza poleceń nauczy cię sporo.

jdl
źródło
1
  • Kompilator: będzie potrzebny do automatycznych kompilacji
  • Marka lub twój system kompilacji: automatyczne wykrywanie błędów kompilacji
  • Kontrola wersji: tak mi się wydaje, ale jest to najmniej ważna z trzech. Ale potem mogę wykonywać inne operacje w wierszu poleceń, np. Grep poprzez komunikaty zmian.

Ale nie musisz zapamiętywać opcji kompilatora ani tworzyć; po skonfigurowaniu ich w projekcie nie trzeba ich często zmieniać.

Brian Carlton
źródło
1

Wydaje mi się, że korzyści płynące z nauki narzędzia wiersza poleceń znacznie przewyższają korzyści płynące z korzystania z GUI. Wiele razy GUI traci funkcje, jednak nie byłoby uczciwe powiedzieć, że tak jest zawsze (np. Spójrz na cmake w Windows - nie ma powodu, aby używać wiersza poleceń poza normalnymi okolicznościami).

Jeśli chodzi o zapamiętywanie, nie ma szczególnej potrzeby, aby pamiętać, że polecenie programu ustawione przy pierwszym użyciu. Wystarczy dodać zakładkę do instrukcji (jeśli korzystasz z instrukcji online, w przeciwnym razie użyj „man” na * nix), a jeśli potrzebujesz konkretnej funkcji (której nie zapamiętałeś), po prostu zapoznaj się z instrukcją. Zapamiętywanie tych rzeczy powinno przychodzić naturalnie przy użyciu. Na przykład bardzo często uruchamiam „tar” i „gzip” z wiersza poleceń, ale musiałbym odwoływać się do instrukcji, aby wykonać zadania, których zwykle nie wykonuję.

Przede wszystkim, jeśli wysyłasz produkt lub wysyłasz kod źródłowy lub w inny sposób do innego programisty, o wiele łatwiej jest dołączyć szkielet poleceń niż napisać szczegółowe instrukcje dotyczące korzystania z GUI. Jeśli programista nie rozumie użytych opcji wiersza poleceń, może po prostu je sprawdzić. Wyjaśnienie komuś GUI nie zawsze jest najbardziej przenośnym rozwiązaniem.

Pozdrawiam,
Dennis M.

RageD
źródło
0

Wszystko po to, abyś nie był zależny od X11 / Windows do programowania. Miło jest móc całkowicie rozwijać się z terminala.

alternatywny
źródło
Zgadzam się z tobą;)
Oscar Mederos
0

Krótka odpowiedź: Najlepszy czas na zmianę (tj. Skorzystanie z wiersza poleceń) to TERAZ . Prawdziwi mężczyźni używają klawiatury. Prawdziwi mężczyźni NIE klikają. Kropka.

Dłuższa odpowiedź: w perspektywie długoterminowej, oprócz tego, że jest bardziej produktywna, a przez to bardziej wartościowa (mniej prawdopodobne, że zostanie zwolniona), użycie linii poleceń może / będzie / powinno uczynić cię mądrzejszym (z powodu znacznej praktyki / zapamiętywania) i zdrowszym (ponieważ używanie obu rąk jednocześnie w interfejsie zamiast jednej z myszą jest bardziej odpowiednie dla ergonomii).

Oto wysoce zalecany artykuł / esej „ Dlaczego Windows powoduje głupotę ” na stronie http://www.over-yonder.net/~fullermd/rants/winstupid/1


źródło
3
Żartuję czy nie, że gówno prawdziwych mężczyzn nie wygra żadnych nagród, chociaż w 100% zgadzam się, że używanie CLI jest o wiele bardziej produktywne, hałas macho jest po prostu głupi.
ocodo
0

Nie jestem pewien, czy kiedykolwiek powinieneś spróbować zapamiętać przełączniki w narzędziu wiersza poleceń. Jeśli tworzysz skrypt powłoki lub cokolwiek, aby zautomatyzować jakieś zadanie, lepiej poszukaj tych wszystkich rzeczy - spędź teraz trzydzieści sekund, aby uniknąć godzin bólu, aby dowiedzieć się, co poszło źle później. Jeśli używasz tego samego narzędzia wiersza poleceń, być może powinieneś utworzyć skrypt powłoki ...

mjfgates
źródło