나는 리눅스를 처음 접했고 난독증을 겪기 때문에 명령 줄에서 작업하는 것이 쉽지 않다. 이 문제를 해결하는 데 도움이되는 어떤 도움이나 조언이 있습니까?
나는 리눅스를 처음 접했고 난독증을 겪기 때문에 명령 줄에서 작업하는 것이 쉽지 않다. 이 문제를 해결하는 데 도움이되는 어떤 도움이나 조언이 있습니까?
답변:
커맨드 라인 사용 경험을 향상시키기 위해 몇 가지를 시도해 볼 수 있습니다.
mkdir이어 cd).history을 할 수 있습니다 명령 기록을 보려면 (예를 들어,와 명령 # 352을 다시 실행 한 후 명령을 다시 실행하는 역사적 명령의 번호를 사용 !352). h빠르고 쉽게 액세스 할 수 있도록 별칭을 지정합니다 .ls예를 들어, 디렉토리의 내용을 나열 하는 데 사용하면 하위 디렉토리는 파란색으로 인쇄되고 파일 이름은 흰색으로 인쇄되므로 두 디렉토리를 쉽게 구분할 수 있습니다. 다른 예를 들어, 사람들이 공유 한 많은 개인화를 살펴보십시오. 일부는 "있는 그대로"시험해 볼 가치가 있습니다. 좋은 출발점이 인기있는 Awesome dotfiles 저장소입니다.!352대신 history 352innit?
나는 포괄적 인 답변을 시도 할 것입니다. 내가 무언가를 남겼다면 의견을 말하면 추가하겠습니다.
탭 완성이 가장 큰 도움입니다. 를 누르면 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'
그런 다음 다시 로그인하여 활성화하십시오.
~아닌되어alias , 오히려있어 확장 하여 bash로 기재 / 틸드는 팽창 EXPANSIONman bash - ~확장되어 $HOME, ~+에 $PWD및 ~-에 $OLDPWD예. 실제로 예를 들어 설정할 수 있으며 alias ~='cd ~'홈 디렉토리로 빠르게 돌아 오는 것이 매우 유용하지만 확장과는 완전히 다릅니다 (그리고 아프지 않습니다).
man bash전체 섹션이 있습니다 EXPANSION... 당신은 이미 약간의 경로 이름 확장을 다루었습니다.
..and에 대한 특별한 지원을합니다 .; 예를 들어 cd ..실제로 세그먼트를 추가하지 않고 현재 작업 디렉토리에서 마지막 경로 세그먼트를 제거합니다 ...
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
mv file1 file1.old두 번째 파일 이름을 첫 번째 파일로 수정하여 no-op로 만들기 때문에 합법적 인 일을하지 못하게합니다 .
터미널에서 열린 dyslexic 글꼴을 사용해보십시오. 텍스트를 읽는 데 도움이 될 수 있습니다. 이것은 기본 우분투 터미널을 사용하고 있다고 가정하고 그놈 터미널과 동일하기를 바랍니다.
sudo apt install fonts-opendyslexic.
@pomsky의 답변을 완료하려면 몇 가지 사항을 추가하고 싶습니다.
스크립트가 유효하면 실수를 저지르기 쉽기 때문에 일을 자동화하는 방법, 특히 for루프 작동 read방식, 작동 방식, 작동 방식, if작동 방식 [ ]및 비공식 bash 엄격 모드[[ ]] 사용에 대해 배웁니다 .
가능하면 bash-completion 패키지를 설치하십시오 (버전에 따라 다른 이름이있을 수 있음)
위험한 상황 (예 : 등 )에 있을 때 스위치 rm와 함께 사용 하거나 설치 및 사용 (쓰레기를 쓰레기에 버릴 것)-isudormtrash
복사 할 때 기존 파일을 덮어 쓰지 않는 스위치 cp와 함께 사용하십시오 -n. (물론 재귀 적으로 복사 할 때 더 유용합니다)
~/.bashrc파일 사용법을 배우 면 $PS1변수를 더 명확 하게 만들 수 있습니다.
어릴 때는 어려울 수도 있습니다.
현재하고있는 작업의 최신 도구와 일반적인 도구를 조금 더 잘 알고 있어야합니다.
$CXXFLAGS당신에 ~/.bashrc. (예를 들어 : export CXXFLAGS=" -std=c++17 -fmax-errors=1 -Wall -Wextra -pedantic -Werror "물론 c ++ 버전에 따라 우분투의 경우 c ++ 11이라고 생각합니다) 컴파일 make main.cpp하고 옵션이 이어집니다. 이 옵션 세트는 매우 가혹합니다. 모든 올바른 및 표준은 오류로 표시되어 컴파일되지 않습니다.여러 플랫폼 (Linux, AIX 및 Solaris)에서 수년간 유닉스 엔지니어이자 유능한 셸 사용자 가되어 난독증이 있음 을 알게되었습니다 .
실독증은 다른 사람들에게 다른 정도로 영향을 미치므로 "우리가 잘못한 것을 본다"는 가정은 그렇게해도 영향을 미치지 않으면 지나치게 단순화되고 실망 스러울 수 있습니다. white-on-black는 나에게 좋은 것 같습니다)
껍질은 많은 약어와 직관적이지 않은 규칙 으로 배우기가 어렵 기 때문에 규칙적인 패턴으로 간단한 단어를 즐기는 사람들에게는 배우기가 어렵습니다.
나는 대부분의 난독증이 직접적인 경험으로부터 배우고 암기한다는 것을 이해합니다. 우리는 꼼꼼한 학습이나 엄청나게 많은 이론을 소비하는 데 매우 열악합니다. 그러나 우리가 응용에 의해 이론을 요약 한 후에는 일반적으로 깊은 내재적 이해에 빠지지 않습니다. 이를 위해 쉘 예제를 찾고 직접 입력하여 각 라인의 기능을 이해하여 테스트 해보십시오. 실험하고, 물건을 깨고, 밤새도록 고정하십시오.
시간이 지남에 따라 개발자가 다음 명령에 적용 할 수있는 프로그램을 구현 한 방식에서 점점 더 많은 명령과 스팟 패턴을 기억하게됩니다. 그러나 인수 / 매개 변수를 전달할 때 모든 명령이 동일한 규칙을 따르는 것은 아니므로 유사한 명령을 배우려면 시간이 걸립니다.
다른 사람과 마찬가지로 몇 년이 지나면 제 2의 천성이 될 것입니다. 그러나 시간이 지남에 따라 패턴을 발견하거나 패턴을 끊는 6 차 감각과 같은 기능을 사용하여 솔루션을 해결하고 복잡한 근본 원인 분석을 수행하는 방법을 직관적으로 알고 난독 한 이점을 얻을 수 있습니다.
탭 완성과 주요 조언을 제외하고는 대부분의 답변으로 인해 경험이 훨씬 압도적이라는 것을 알았습니다. 그들을 무시하라. 단순화가 핵심
농담과 귀중한 도우미 사이에 도구가 있습니다.
https://github.com/nvbn/thefuck
이 스레드의 다른 권장 사항 외에도 시도해 볼 수 있습니다. 주요 아이디어는 무언가를 작성하고 알 수없는 명령이나 다른 것을 수신하면이 도구가 수정하고 다시 실행한다는 것입니다.
그것은 총알이 아니지만 시도해 볼 가치가 있습니다.