난독증을 가진 명령 줄 사용법


57

나는 리눅스를 처음 접했고 난독증을 겪기 때문에 명령 줄에서 작업하는 것이 쉽지 않다. 이 문제를 해결하는 데 도움이되는 어떤 도움이나 조언이 있습니까?


4
파일을 터미널로 드래그하면 전체 경로가 자동으로 인쇄됩니다. 위쪽 화살표 키를 누르면 마지막 명령이 자동으로 인쇄됩니다.
karel

21
좋은 질문이지만 문제가 무엇인지 상상하기가 어렵습니다. 가장 어려운 점을 수정 하고 설명 해주세요 . 가능한 해결책은 생각보다 간단 할 수 있습니다 (다른 의견 참조).
디저트

6
키보드 단축키는 많은 도움이되며 여기서 유용한 단축키를 찾으십시오. askubuntu.com/q/45521/507051askubuntu.com/q/444708/507051
디저트

4
파일에 긴 경로를 입력하는 시간을 절약하려면 파일 아이콘을 터미널로 끌어 파일의 경로를 인쇄 한 후 다음 명령에 복사 / 붙여 넣기하십시오.
karel

3
Zsh는 실제로 명령 이름에서 교체 된 문자를 자동으로 수정할 수 있습니다! (설명서 페이지에 자세한 정보가 있습니다.)
SilverWolf

답변:


90

커맨드 라인 사용 경험을 향상시키기 위해 몇 가지를 시도해 볼 수 있습니다.

  1. 가능할 때마다 탭 완성을 사용 하십시오 (부분적으로 입력 된 명령을 자동으로 입력 Tab).
  2. 보도 (위쪽 화살표 키)를 자동으로 마지막 명령을 인쇄, 키를 눌러 유지 명령 역사를 통해 사이클 (최대 및 아래쪽 화살표 키를).
  3. 파일을 터미널로 끌어서 전체 경로를 자동으로 인쇄하십시오.
  4. Alt+ .(점)을 눌러 마지막으로 실행 한 명령에서 마지막 인수를 삽입합니다 (예 :에 mkdir이어 cd).
  5. 키보드 단축키를 사용하십시오 ( 이것이것 참조 ).
  6. Bash 별명을 사용하십시오 ( thisthis 참조 ).
  7. 사용 history을 할 수 있습니다 명령 기록을 보려면 (예를 들어,와 명령 # 352을 다시 실행 한 후 명령을 다시 실행하는 역사적 명령의 번호를 사용 !352). h빠르고 쉽게 액세스 할 수 있도록 별칭을 지정합니다 .
  8. 역 터미널 검색 ( Ctrl+ R, 입력 시작)을 사용하여 이전 명령과 일치시킵니다. 이전부터 물건을 찾을 수있는 빠른 방법입니다.
  9. Zsh 또는 fish 와 같은 선택적 인수와 명령을 완료하는 쉘을 사용하십시오 .
  10. 터미널에서 난독증 (예 : " OpenDyslexic ")이있는 독자의 가독성을 높이는 글꼴을 사용하십시오 .
  11. 읽으면서 화면에있는 내용을 들어보십시오. Orca 와 같은 스크린 리더를 활성화하십시오 . 한 단어, 전체 페이지를 읽거나 글자로 단어를 철자, 속도, 볼륨, 세부 수준 등을 읽을 수 있습니다.
  12. 읽을 때 화면의 일부를 확대하십시오. 돋보기 와 같은 키보드 단축키로 확대 / 축소되는 앱을 살펴보세요 .
  13. 고급 : 조건부 텍스트 색상 설정과 같이 출력이 표시되는 방식을 개인화합니다. 기본 우분투 배포판은 터미널에 몇 가지 향상된 기능을 제공합니다. ls예를 들어, 디렉토리의 내용을 나열 하는 데 사용하면 하위 디렉토리는 파란색으로 인쇄되고 파일 이름은 흰색으로 인쇄되므로 두 디렉토리를 쉽게 구분할 수 있습니다. 다른 예를 들어, 사람들이 공유 한 많은 개인화를 살펴보십시오. 일부는 "있는 그대로"시험해 볼 가치가 있습니다. 좋은 출발점이 인기있는 Awesome dotfiles 저장소입니다.

1
@flith !352대신 history 352innit?
pomsky

2
지금까지 난독 한 글꼴로 변경했으며 터미널에서 색상을 활성화했습니다. 그것은 읽기와 두통에 도움이되었습니다. 여전히 우분투 언리쉬드 (Ubuntu Unleashed) 책과 리눅스 성경 (Linux Bible)을 쟁기질하고 있습니다. Vim과 다른 편집자들이 답변을 제공 할 수 있습니다.
데일 데이비슨

Ctrl + R-이전에는 본 적이 없습니다. 놀랍게도 유용합니다
Noel Evans (

16

나는 포괄적 인 답변을 시도 할 것입니다. 내가 무언가를 남겼다면 의견을 말하면 추가하겠습니다.

Tab 완성

탭 완성이 가장 큰 도움입니다. 를 누르면 Tab고유하게 식별 할 수있는 한 명령이 완료됩니다. Tab두 번 누르면 옵션 목록이 나타납니다. 원하는 옵션을 식별 할 수있는 충분한 caracters를 입력하고 Tab다시 누르면 완료됩니다. 경로 / 파일 이름과도 작동합니다.

예를 들어 Paul이라는 사용자가 있고 그의 Downloads 폴더에 text123.txt 및 text124.txt 파일이 있다고 가정 해 보겠습니다.

나는 / h를 입력 할 수 Tab있고 bash는 나에게 줄 것이다 /home/. 그런 다음 P를 입력하고을 Tab얻습니다 /home/Paul/. 그리고 완전한 파일과 경로가 될 때까지이 방식으로 계속하십시오.

경로 / 파일 이름 확장

자동 완성은 또한 와일드 카드 *및을 허용 ?합니다. ?단일 문자와 *일치하고 모든 문자 와 일치합니다 (또는 없음). 위의 예를 사용하여 다음을 입력 할 수 있습니다.

/h*/P*/Dow*/t*4*다음 Tab과 bash는 저를 줄 것이다 /home/Paul/Downloads/text124.txt. 올바른 파일과 일치한다고 확신 Enter하면 먼저 확장하지 않고 명령을 실행하십시오.

일반적인 디렉토리 참조는 다음과 같습니다.

  • ~ 홈 디렉토리.
  • .. 부모 디렉토리
  • .현재 디렉토리; bash가 올바른 디렉토리를 찾는 것을 절대적으로 원한다면.

키보드 단축키

위쪽 화살표 및 아래쪽 화살표 키를 사용하면 최근에 사용한 명령 목록을 탐색 할 수 있습니다. 히스토리 검색 모드에서 나오려면 Ctrl+ G를 누르십시오 . Alt+ .이전 명령의 마지막 인수를 반복합니다.

별명

Bash를 사용하면 별칭을 지정할 수 있습니다. 같은 방식으로 명령을 잘못 입력하는 경우 다음 ~/.bashrc과 같이 줄 을 편집 하고 추가하여 사용자 지정 별칭을 추가 할 수 있습니다 .

alias agi='apt-get install'
alias mkdri='mkdir'

그런 다음 다시 로그인하여 활성화하십시오.


4
~아닌되어alias , 오히려있어 확장 하여 bash로 기재 / 틸드는 팽창 EXPANSIONman bash - ~확장되어 $HOME, ~+$PWD~-$OLDPWD예. 실제로 예를 들어 설정할 수 있으며 alias ~='cd ~'홈 디렉토리로 빠르게 돌아 오는 것이 매우 유용하지만 확장과는 완전히 다릅니다 (그리고 아프지 않습니다).
디저트

글쎄, man bash전체 섹션이 있습니다 EXPANSION... 당신은 이미 약간의 경로 이름 확장을 다루었습니다.
디저트

내 시스템에서는 다른 확장 기능 대부분을 CLI에서 작동시킬 수 없습니다. 그러나 물결표 설명을 수정하도록 재구성 할 것입니다.
ravery

1
@WJAndrea : 쉘은 ..and에 대한 특별한 지원을합니다 .; 예를 들어 cd ..실제로 세그먼트를 추가하지 않고 현재 작업 디렉토리에서 마지막 경로 세그먼트를 제거합니다 ...
ruakh

1
@WJAndrea 및 ravery : Ctrl + G는 Ctrl + R로 시작하는 명령 히스토리 검색을 종료합니다. 시작되면 명령의 시작 부분 만 입력하면 가장 일치하는 명령이 표시됩니다. Ctrl + R을 사용하여 일치하는 명령을 실행하고 Enter 키를 사용하여 명령을 실행하거나 커서 위치를 변경하는 키 (예 : Home, End, 화살표 등)로 편집하십시오.이 검색 모드는 최근 명령을 찾으려면 매우 유용합니다 그것의 이름-그것을 밖으로 시도, 그것은 당신의 마음을 날려 버릴 것입니다. ;)
디저트

12

Zsh 쉘 (또는 적어도 내가 사용하는 버전 Oh-my-ZSH )에는 명령 및 파일 이름에 작은 오타를 만들 경우 수정하는 기능이 있습니다.

$ pyhton scirpt.py
zsh: correct 'pyhton' to 'python' [nyae]? y
zsh: correct 'scirpt.py' to 'script.py' [nyae]? y
...

당신은 당신의 다음 라인으로 그것을 켤 수 있습니다 .zshrc:

# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"

자동으로 만들 수 있습니까? 나는 그것이 문제를 요구한다는 것을 알고있다 mr fr- ./ -oe--rvoeorrpne-st.->zsh: automatically correcting to rm -rf / --no-preserve-root
cat

1
@cat 내가 아는 한. 당신이 준 이유는 이유 중 하나이지만, 또한 mv file1 file1.old두 번째 파일 이름을 첫 번째 파일로 수정하여 no-op로 만들기 때문에 합법적 인 일을하지 못하게합니다 .
Graipher

1
tcsh 도 그렇게합니다.
피터-복원 모니카

11

터미널에서 열린 dyslexic 글꼴을 사용해보십시오. 텍스트를 읽는 데 도움이 될 수 있습니다. 이것은 기본 우분투 터미널을 사용하고 있다고 가정하고 그놈 터미널과 동일하기를 바랍니다.

https://opendyslexic.org/

  1. 다운로드 해.
  2. 글꼴을 설치하십시오.
  3. 터미널을 열고 메뉴 표시 줄로 이동 한 후 편집-> 프로필 환경 설정을 선택하십시오.
  4. 사용자 정의 글꼴을 켜고 열린 dyslexic mono 글꼴을 선택하십시오.

로 설치를 완료 할 수 있습니다 sudo apt install fonts-opendyslexic.
차이 티 렉스

2

@pomsky의 답변을 완료하려면 몇 가지 사항을 추가하고 싶습니다.

  • 스크립트가 유효하면 실수를 저지르기 쉽기 때문에 일을 자동화하는 방법, 특히 for루프 작동 read방식, 작동 방식, 작동 방식, if작동 방식 [ ]비공식 bash 엄격 모드[[ ]] 사용에 대해 배웁니다 .

  • 가능하면 bash-completion 패키지를 설치하십시오 (버전에 따라 다른 이름이있을 수 있음)

  • 위험한 상황 (예 : 등 )에 있을 때 스위치 rm와 함께 사용 하거나 설치 및 사용 (쓰레기를 쓰레기에 버릴 것)-isudormtrash

  • 복사 할 때 기존 파일을 덮어 쓰지 않는 스위치 cp와 함께 사용하십시오 -n. (물론 재귀 적으로 복사 할 때 더 유용합니다)

  • ~/.bashrc파일 사용법을 배우 면 $PS1변수를 더 명확 하게 만들 수 있습니다.

어릴 때는 어려울 수도 있습니다.

  • 현재하고있는 작업의 최신 도구와 일반적인 도구를 조금 더 잘 알고 있어야합니다.

    • 당신의 C ++로 개발하는 방법을 배우는 학생이 있다면 예를 들어, 설정하려고 $CXXFLAGS당신에 ~/.bashrc. (예를 들어 : export CXXFLAGS=" -std=c++17 -fmax-errors=1 -Wall -Wextra -pedantic -Werror "물론 c ++ 버전에 따라 우분투의 경우 c ++ 11이라고 생각합니다) 컴파일 make main.cpp하고 옵션이 이어집니다. 이 옵션 세트는 매우 가혹합니다. 모든 올바른 및 표준은 오류로 표시되어 컴파일되지 않습니다.

2

"FISH"대화식 쉘을 사용해보십시오. repos에서 사용 가능합니다.

나는 BASH를 사용하여 명령 줄과 씨름했다. 물고기는 모든 마지막 명령을 기억하고 완성을 제공합니다. sudo apt는 bash 유형으로 물고기를 설치합니다. 물고기. 원하는 경우 기본 쉘로 만드는 방법에 대한 지침을 찾아보십시오. 사용 가능한 다른 쉘이 있습니다. 물고기는 나의 선택입니다. 시작하면 마음에들 것입니다.


2

여러 플랫폼 (Linux, AIX 및 Solaris)에서 수년간 유닉스 엔지니어이자 유능한 셸 사용자 가되어 난독증이 있음 알게되었습니다 .

실독증은 다른 사람들에게 다른 정도로 영향을 미치므로 "우리가 잘못한 것을 본다"는 가정은 그렇게해도 영향을 미치지 않으면 지나치게 단순화되고 실망 스러울 수 있습니다. white-on-black는 나에게 좋은 것 같습니다)

껍질은 많은 약어와 직관적이지 않은 규칙 으로 배우기가 어렵 기 때문에 규칙적인 패턴으로 간단한 단어를 즐기는 사람들에게는 배우기가 어렵습니다.

나는 대부분의 난독증이 직접적인 경험으로부터 배우고 암기한다는 것을 이해합니다. 우리는 꼼꼼한 학습이나 엄청나게 많은 이론을 소비하는 데 매우 열악합니다. 그러나 우리가 응용에 의해 이론을 요약 한 후에는 일반적으로 깊은 내재적 이해에 빠지지 않습니다. 이를 위해 쉘 예제를 찾고 직접 입력하여 각 라인의 기능을 이해하여 테스트 해보십시오. 실험하고, 물건을 깨고, 밤새도록 고정하십시오.

시간이 지남에 따라 개발자가 다음 명령에 적용 할 수있는 프로그램을 구현 한 방식에서 점점 더 많은 명령과 스팟 패턴을 기억하게됩니다. 그러나 인수 / 매개 변수를 전달할 때 모든 명령이 동일한 규칙을 따르는 것은 아니므로 유사한 명령을 배우려면 시간이 걸립니다.

다른 사람과 마찬가지로 몇 년이 지나면 제 2의 천성이 될 것입니다. 그러나 시간이 지남에 따라 패턴을 발견하거나 패턴을 끊는 6 차 감각과 같은 기능을 사용하여 솔루션을 해결하고 복잡한 근본 원인 분석을 수행하는 방법을 직관적으로 알고 난독 한 이점을 얻을 수 있습니다.

탭 완성과 주요 조언을 제외하고는 대부분의 답변으로 인해 경험이 훨씬 압도적이라는 것을 알았습니다. 그들을 무시하라. 단순화가 핵심


2

농담과 귀중한 도우미 사이에 도구가 있습니다.

https://github.com/nvbn/thefuck

이 스레드의 다른 권장 사항 외에도 시도해 볼 수 있습니다. 주요 아이디어는 무언가를 작성하고 알 수없는 명령이나 다른 것을 수신하면이 도구가 수정하고 다시 실행한다는 것입니다.

그것은 총알이 아니지만 시도해 볼 가치가 있습니다.

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