나는 리눅스를 처음 접했고 난독증을 겪기 때문에 명령 줄에서 작업하는 것이 쉽지 않다. 이 문제를 해결하는 데 도움이되는 어떤 도움이나 조언이 있습니까?
나는 리눅스를 처음 접했고 난독증을 겪기 때문에 명령 줄에서 작업하는 것이 쉽지 않다. 이 문제를 해결하는 데 도움이되는 어떤 도움이나 조언이 있습니까?
답변:
커맨드 라인 사용 경험을 향상시키기 위해 몇 가지를 시도해 볼 수 있습니다.
mkdir
이어 cd
).history
을 할 수 있습니다 명령 기록을 보려면 (예를 들어,와 명령 # 352을 다시 실행 한 후 명령을 다시 실행하는 역사적 명령의 번호를 사용 !352
). h
빠르고 쉽게 액세스 할 수 있도록 별칭을 지정합니다 .ls
예를 들어, 디렉토리의 내용을 나열 하는 데 사용하면 하위 디렉토리는 파란색으로 인쇄되고 파일 이름은 흰색으로 인쇄되므로 두 디렉토리를 쉽게 구분할 수 있습니다. 다른 예를 들어, 사람들이 공유 한 많은 개인화를 살펴보십시오. 일부는 "있는 그대로"시험해 볼 가치가 있습니다. 좋은 출발점이 인기있는 Awesome dotfiles 저장소입니다.!352
대신 history 352
innit?
나는 포괄적 인 답변을 시도 할 것입니다. 내가 무언가를 남겼다면 의견을 말하면 추가하겠습니다.
탭 완성이 가장 큰 도움입니다. 를 누르면 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
와 함께 사용 하거나 설치 및 사용 (쓰레기를 쓰레기에 버릴 것)-i
sudo
rmtrash
복사 할 때 기존 파일을 덮어 쓰지 않는 스위치 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
이 스레드의 다른 권장 사항 외에도 시도해 볼 수 있습니다. 주요 아이디어는 무언가를 작성하고 알 수없는 명령이나 다른 것을 수신하면이 도구가 수정하고 다시 실행한다는 것입니다.
그것은 총알이 아니지만 시도해 볼 가치가 있습니다.