프로그래밍 도구의 명령 행 버전을 배우는시기 [닫은]


12

거의 모든 프로그래밍 도구에는 명령 행 버전이 있습니다. 그중 다수는 GUI 버전을 가지고 있습니다. 명령 행 버전의 다양한 명령과 다양한 옵션 / 스위치를 배우려면 많은 시간과 암기 노력이 필요합니다.

따라서 몇 가지 질문이 있습니다 (상호 적으로 배타적이지는 않음).

1) 언제 GUI 버전으로 제공되는 툴의 커맨드 라인 버전에서 명령을 배우고 암기합니까?

2) 명령 행 버전의 도구는 무엇입니까? .... 컴파일러? 버전 관리 시스템? 등


사용중인 도구가 명령 행 인터페이스를 제공하지만 이에 대한 문서가없는 경우 해당 도구 사용에주의해야합니다. 그렇다면 RTFM. 그렇게 어렵지는 않으며, 그 시점에 도달하면 StackOverflow.com에 질문하십시오. 명령 줄에서 무언가를 수행하는 방법을 알아 내야한다면, 나는 당신이 할 수 있다고 믿습니다. 당신이 무언가를 알아낼 필요가 있는지 확실하지 않다면 아마 그렇지 않을 것입니다. 시간이 충분하다면 인생은 일 이외의 흥미로운 것들로 가득 차 있습니다.
Job

답변:


21

프로그램의 명령 행 옵션을 알아야하는 두 가지 이유가 있습니다.

  1. 스크립트 작성, 배치 처리 등 어떤 방식 으로든 프로그램을 자동화해야하는 경우

  2. 프로그램 동작을 최적화해야 할 때-메모리 풋 프린트 등을 줄이십시오.

어떤 도구를 배워야하는지-다음에는 무엇을하고 싶은지에 따라 달라집니다.


1
당신은 항상 그것을 자동화 할 수 있도록 프로그램을 스크립트 할 수 있기를 원합니다 ...

1
@ Thorbjørn-내가 말한 것이 아닌가? 아니면 명확하지 않습니까?
ChrisF

3
예. 방금 자동화 부분을 강조했습니다. 현재 방법론을 스크립팅 가능한 무언가에 적용하려고 할 때 나중에 고통을 일으킬 것이라는 것을 이해하지 못합니다.

9

좋은 답변이 많습니다. 추가 관점을 하나 더 추가합니다.

인간을 방정식 / 프로세스에서 벗어나게하려면 GUI를 명령 줄 도구로 바꿉니다. 이를 수행하는 몇 가지 이유 및 / 또는 이점 :

  • 인적 오류를 제거합니다 (명령을 반복 할 때).
  • 무작위 입력으로 테스트, 구축 또는 실행과 같은 모든 종류의 자동화에 탁월합니다.
  • 당신은 정말로 파워 유저가됩니다. 메타 프로그래밍의 사다리를 오르는 옵션을 제공합니다. 모든 작업을 직접 수행 할 필요는 없으며 (GUI 클릭) 쉽게 스크립팅 할 수 있습니다!
  • 도구를 함께 연결할 수 있습니다 (유닉스 파이프를 생각하십시오).
  • 컴퓨터가 업무를 수행하게하십시오.

언제해야합니까? 당신이 자신을 반복 찾을 때.

물론 GUI를위한 장소와 시간이 있습니다. 그러나 실제로 컴퓨터의 힘을 활용하고 무어의 법칙을 따라 가려면 작업 스크립팅을 배워야합니다.

편집 : 추가 보너스. 이 티셔츠를 입으십시오 :)


7

광산은 :

1) 생산성 향상 . 나를 위해, 클릭하는 것보다 쉘에서 일을하는 것이 더 빠릅니다. 때로는 마법사가 그냥 클릭 할 빠르다 때문에,하지 등 서비스 / 도구 / 설정, 도구를 사용하는 방법에 대해 이야기하고 Next Next Next그 마법사는 명령 줄 버전에 존재하지만, :)

2) 응용 프로그램에서 명령 줄 버전을 사용합니다. 예를 들어 PDF텍스트 파일 로 변환한다고 가정 합니다 . GUI 버전을 사용한다면 괜찮습니다. 그러나 다음과 같은 작업을 수행 할 수있는 명령 줄 인터페이스를 제공하는 ./pdf2text input.pdf output.txt경우 : PDF에서 텍스트를 읽는 응용 프로그램을 개발해야하는 경우 API를 사용하거나 조정하지 않고도 쉽게 사용할 수 있습니다. .

3) 응용 프로그램의 일반적인 사항을 배웁니다. 예를 들어, Windows에 diff가 설치되어 있고 두 파일을 비교할 프론트 엔드가있는 경우. 저건 완벽 해. 하지만 리눅스 에서 사용해야한다면 어떨까요? Linux와 동일한 프론트 엔드를 찾을 수 있지만 존재하지 않으면 어떻게됩니까? Linux에서이를 사용하는 방법을 다시 배우고 새로운 프론트 엔드를 설치 한 후 사용법에 익숙해 져야합니다. 명령 행 버전을 사용하는 방법을 배웠다면 필요하지 않을 것입니다.)

약 3) ... 어떤 사람들은 Windows 에서 Git 을 사용하는 데 어려움을 겪고 있습니다. 그들은 Windows에 좋은 프론트 엔드가 없다고 말하지만 명령 줄 방식 만 배우면 문제가 없습니다. 같은 방식으로 작동합니다. 물론 문제는 때때로 사람들은 명령 줄이 무섭다는 것입니다 .)

커맨드 라인 버전을 배우는 것이 좋습니다.

  • gcc 와 같은 컴파일러
  • gdb 와 같은 디버거
  • 힘내 ;)
  • GNU / Linux에서 egrep , awk , find 등과 같은 Windows에서 작업 할 수있는 많은 도구가 있습니다 .

git : D의 경우 Yeahhhh +1 diff가 하나의 예이지만 실제 명령을 사용하지는 않습니다. 나는 vimdiff를 선호한다 (단지 기술적으로 터미널이 너무 그렇다고 생각하지만)
대안

@mathepic 당신이 맞지만 vimdiff명령 줄 도구이기도합니까?
Oscar Mederos

동시에 그것의 ncurses (나는 확실하지 않다고 생각한다) 그래서 나는 작은 구별을 만든다.
대안

예,하지만 명령 줄 도구로 사용하고 있습니다 :)
Oscar Mederos

@mathepic : 귀하의 우려에 대한 답변 :gvimdiff
Lie Ryan

3

매개 변수 구문을 메모리에 커밋해야하는 이유는 무엇입니까? 그것이 왜 man존재하고 --help( /?당신이 winblowz 땅에 있다면).

1 분 안에 모든 옵션을 찾아 볼 수 있습니다. 목표는 명령이 수행하는 작업 을 기억하는 것이므로 찾아야 할 사항을 알고 있습니다!


1

실제로 GUI 도구에 기능이 없는지 또는 명령 줄에서 더 빠른지 여부가 결정됩니다.

그러나 명령 줄을 사용하면 얻을 수있는 이점은 설명서를 읽고 실제로 어떤 일이 일어나고 있는지 파악할 수 있다는 것입니다. 특히 버전 제어의 예에서 명령 행에서이 작업을 수행하면 상당히 많은 정보를 얻을 수 있습니다.


1
  • 컴파일러 : 자동화 된 빌드에 필요합니다
  • 제작 또는 빌드 시스템 : 자동화 된 빌드에서 오류 발견
  • 버전 관리 : 그렇게 생각하지만 세 가지 중 가장 중요합니다. 그러나 변경 메시지를 통해 grep과 같은 다른 명령 줄 작업을 수행 할 수 있습니다.

그러나 컴파일러 또는 make에 대한 옵션을 기억할 필요는 없습니다. 프로젝트를 위해 설정 한 후에는 자주 변경할 필요가 없습니다.


1

커맨드 라인 도구를 배우는 것의 이점은 GUI 사용의 이점보다 훨씬 중요하다고 생각합니다. GUI가 기능을 잃어버린 경우가 여러 번 있지만, 항상 그런 경우라고 말할 수는 없습니다 (예 : Windows에서 cmake를 살펴보십시오. 일반적인 상황 이외의 명령 줄을 사용할 이유가 없습니다).

암기하는 한, 처음 사용할 때 프로그램의 명령 세트를 기억할 필요는 없습니다. 매뉴얼을 북마크하기 만하면 (온라인 매뉴얼을 사용하는 경우 * nix에서 "man"을 사용하고) 특정 기능 (기억하지 않은 기능)이 필요한 경우 매뉴얼을 참조하십시오. 이런 것들에 대한 암기는 자연스럽게 사용되어야합니다. 예를 들어, 명령 줄에서 "tar"와 "gzip"을 자주 실행하지만, 일반적으로하지 않는 작업을 수행하려면 설명서를 참조해야합니다.

무엇보다 제품을 배송하거나 일종의 소스 코드를 보내거나 동료 개발자에게 보내는 경우 GUI 사용에 대한 자세한 지침을 작성하는 것보다 일련의 명령을 포함하는 것이 훨씬 쉽습니다. 개발자가 사용한 명령 줄 옵션을 이해하지 못하면 간단히 찾아 볼 수 있습니다. 누군가에게 GUI를 설명하는 것이 항상 가장 휴대용 솔루션은 아닙니다.

감사합니다.
Dennis M.


0

개발을 위해 X11 / Windows에 의존하지 않도록 모든 것. 터미널에서 완전히 개발할 수 있다는 것이 좋습니다.


나는 당신에 동의합니다;)
Oscar Mederos

0

짧은 대답 : 변경하기 가장 좋은 시간은 (즉, 명령 줄 사용) NOW 입니다. 실제 남자는 키보드를 사용합니다. 실제 남자는 클릭하지 마십시오. 기간.

더 긴 대답 : 장기적인 관점에서, 생산성이 높고 가치가 높을뿐만 아니라 (배치 할 가능성이 적음) 명령 줄을 사용하면 현명한 (실제 연습 / 암기 때문에) 더 건강해질 수 있습니다. 마우스를 사용하는 대신 명령 줄 인터페이스에서 양손을 동시에 사용하는 것이 인체 공학에 더 적합합니다).

다음은 http://www.over-yonder.net/~fullermd/rants/winstupid/1 에서 권장되는 기사 / 에세이, " Windows가 바보를 일으키는 이유 "입니다 .


3
CLI를 사용하는 것이 훨씬 생산적이라는 데 100 % 동의하더라도 사나이 소음은 멍청합니다.
ocodo

0

나는 당신이해야 아니에요 명령 줄 도구에 스위치를 기억하려고합니다. 쉘 스크립트 나 어떤 작업을 자동화하기 위해 무엇이든 만들고 있다면, 그 모든 것들을 잘 살펴 보는 것이 좋을 것입니다. 지금 30 초 동안 시간을 ​​보내면서 나중에 무엇이 잘못되었는지 알아내는 데 몇 시간의 고통을 피하십시오. 동일한 명령 줄 도구를 반복해서 사용하는 경우 셸 스크립트를 만들어야 할 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.