답변:
alias
또는 type
명령을 사용하여 특정 별칭이 무엇을 의미하는지 확인할 수 있습니다 .
$ alias ll
alias ll='ls -alF'
$ type ll
ll is aliased to `ls -alF'
그러나 별칭은 다른 별칭을 사용할 수 있으므로이를 재귀 적으로 확인해야 할 수도 있습니다 (예 :의 경우 호출 ll
하는 ls
명령 도 확인해야 함) .
$ alias ls
alias ls='ls --color=auto'
$ type ls
ls is aliased to `ls --color=auto'
따라서 ll
실제로 다음을 의미합니다.
ls --color=auto -alF
alias ll='ls -lh'
합니다. ls -l
사람에게 친숙한 B / kiB / MiB / GiB 대신 바이트 단위의 크기를 원할 경우 실행할 수 있습니다 .
ll
를 ~/.bashrc
변경하지 않은 경우에 정의 된 별칭입니다 ls -alF
.
$ grep ll= <~/.bashrc
alias ll='ls -alF'
이 세 가지 옵션은 다음과 같습니다.
같이
$ grep ls= <~/.bashrc
alias ls='ls --color=auto'
보여줍니다. ls
자체는 다시 별칭입니다 ls --color=auto
.
하여
--color=auto
,ls
컬러 코드를 방출 표준 출력 단자에 연결되어있는 경우에만.LS_COLORS
환경 변수 설정을 변경할 수 있습니다.dircolors
명령을 사용하여 설정하십시오.
bash
했습니다. 사용자의 기본 쉘은 어디에 있고 별칭 ll
은 /etc/skel/.bashrc
모든 새로운 폴더에 복사됩니다. 사용자의 홈 디렉토리. 물론 당신이 사용할 수 있는 자신의 별칭을 저장하는 파일을 - 당신이 필요로하는 모든이 소스입니다.
grep
. 파일 이름을 인수로 사용합니다. 시작 파일을 가져 오는 동안 별명이 정의 된 위치 를 찾는 데 도움이 됩니다 (파일에있을 수 있음을 참고 /etc
하십시오. 사용자 시작 파일에서 제거해도 여전히 머리가 긁히는 것을 방지 할 수 있습니다. 정의가 무엇인지 빨리 알고 싶다면 허용 된 답변에 언급 된 것처럼 alias 명령이 작업을 수행합니다.
bash
없지만 훨씬 좋습니다! 질문 게시물의 마지막 문장 은 구문 을 찾고 ll
볼 수있는 방법이 있습니까?입니다. , 그것이 나의 대답입니다.
~ / .bashrc (또는 별칭이있는 파일)를 보거나 쉘에서 다음 명령 중 일부를 작성할 수 있습니다.
command -v ll # "command" is a shell built-in that display information about
# the command. Use the built-in "help command" to see the
# options.
type -p ll # "type" is another built-in that display information about how the
# command would be interpreted
grep -r "alias ll=" ~ # and don't worry about de .file that contains your
# alias. This command search recursively under each
# folder of your home. So it's something rude.
find ~ -maxdepth 1 -type f | xargs grep "alias ll" # Just look in
# the files (not folders) in your home folder
그러나 -name ". *"없이 find를 사용하는 이유는 무엇입니까? .bashrc에 넣을 수 있습니다.
source bash_hacks # where the file bash_hacks, in your home directory can
# contain the alias ll='ls -la etc etc'.
"ll"은 별명이므로 하나의 의미 (ll = 'ls -alF --color')를 갖는 것은 필요하지 않습니다. "ll"은 다른 comand처럼 "ll"의 별명을 지정할 수 있습니다. . 나는 그것이 더 많은 관습 (공통의 제품)이라고 생각합니다.
그러나 "ll"은 PATH의 모든 폴더에 저장된 프로그램 일 수 있습니다. 예를 들어, 집에 "bin"이라는 폴더가 있다면 다음과 같은 것을 포함하는 "ll"스크립트를 만드십시오.
#!/bin/bash
ls -lhar
그러나 새 "ll"명령이 포함 된 다른 폴더를 추가하기 위해 PATH를 변경 한 경우 어떻게됩니까? 보다 흥미로운 정보는 관련 질문에 대한 다음 링크를 참조하십시오.
~ / .bashrc 또는 다른 스크립트를 구문 분석 할 필요가 없습니다. alias
터미널에서 command를 입력하여 모든 별칭의 현재 값을 확인할 수 있습니다 . 정의 된 모든 별칭이 화면에 나타납니다.
이어야합니다 ls -la
. Linuxize.com을 참조하십시오 :
https://linuxize.com/post/how-to-create-bash-aliases/
type -a commandname
모든 것을 공개합니다-명령이 PATH에서 하나 이상의 별명, 함수, 내장 또는 하나 이상의 실행 파일인지 여부를 우선 순위대로 알려줍니다. 예를 들어 명령의 별칭을 해제해도 명령이 예상 된 동작으로 완전히 돌아 가지 않는 이유를 이해하는 데 도움이됩니다.