두 문자의 linux 명령은 얼마입니까?
계기.
github cli 뉴스 보니까 좀 신경쓰여.
gh라는 지령이죠?hg가 mercurial이라고 했지?
그러고 보니 두 글자의 지령이 얼마나 될까.내 생각엔
조사 방법
어쨌든 먼저 자신의 환경을 조사해 보자.환경은 다음과 같습니다.
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
어쨌든 나는 이런 조개 각본을 썼다.#!/bin/bash
awk '
BEGIN {
c = "abcdefghijklmnopqrstuvwxyz"
for(i=1; i<=length(c); i++){
for(j=1; j<=length(c); j++){
system("which " substr(c,i,1) substr(c,j,1))
}
}
}
'
which aa, which ab, which ac .... whichzy, whichzz를 반복해서 실행할 뿐이다.참조: https://www.gnu.org/software/gawk/manual/gawk.html#index-system_0028_0029-function
결과는 다음과 같다.내 환경은 42개다.스케줄러:다 아는 명령이야?
$ ./sample.sh | wc -l
42
$ ./sample.sh
/usr/bin/ar
/usr/bin/as
/usr/bin/bc
/usr/bin/cc
/usr/bin/cp
/usr/bin/dc
/usr/bin/dd
/usr/bin/df
/usr/bin/du
/usr/bin/ed
/usr/bin/ex
/usr/bin/gs
/usr/bin/hd
/usr/bin/id
/usr/sbin/ip
/usr/sbin/iw
/usr/bin/ld
/usr/bin/ln
/usr/bin/lp
/usr/bin/ls
/usr/bin/lz
/usr/bin/mt
/usr/bin/mv
/usr/bin/nc
/usr/bin/nl
/usr/bin/nm
/usr/bin/od
/usr/bin/pr
/usr/bin/ps
/usr/bin/rm
/usr/bin/sg
/usr/bin/sh
/usr/bin/ss
/usr/bin/su
/usr/sbin/tc
/usr/bin/tr
/usr/bin/ua
/usr/bin/ul
/usr/bin/uz
/usr/bin/vi
/usr/bin/wc
/usr/bin/xz
결과를 보고 자주 사용하는 명령(cd 등)이 없다는 것을 알았다.which 명령은 삽입식 함수를 표시하지 않는 것 같습니다.
그래서 내가 수정해 볼게.
which 명령을 type 명령으로 변경합니다.그런 다음 명령이 없는 not found를 표시하지 마십시오.
#!/bin/bash
awk '
BEGIN {
c = "abcdefghijklmnopqrstuvwxyz"
for(i=1; i<=length(c); i++){
for(j=1; j<=length(c); j++){
system("type " substr(c,i,1) substr(c,j,1) " | grep -v \"not found\" " )
}
}
}
'
결과는 다음과 같다.$ ./sample.sh | wc -l
49
$ ./sample.sh
ar is /usr/bin/ar
as is /usr/bin/as
bc is /usr/bin/bc
bg is a shell builtin
cc is /usr/bin/cc
cd is a shell builtin
cp is /usr/bin/cp
dc is /usr/bin/dc
dd is /usr/bin/dd
df is /usr/bin/df
do is a shell keyword
du is /usr/bin/du
ed is /usr/bin/ed
ex is /usr/bin/ex
fg is a shell builtin
fi is a shell keyword
gs is /usr/bin/gs
hd is /usr/bin/hd
id is /usr/bin/id
if is a shell keyword
in is a shell keyword
ip is /usr/sbin/ip
iw is /usr/sbin/iw
ld is /usr/bin/ld
ln is /usr/bin/ln
lp is /usr/bin/lp
ls is /usr/bin/ls
lz is /usr/bin/lz
mt is /usr/bin/mt
mv is /usr/bin/mv
nc is /usr/bin/nc
nl is /usr/bin/nl
nm is /usr/bin/nm
od is /usr/bin/od
pr is /usr/bin/pr
ps is /usr/bin/ps
rm is /usr/bin/rm
sg is /usr/bin/sg
sh is /usr/bin/sh
ss is /usr/bin/ss
su is /usr/bin/su
tc is /usr/sbin/tc
tr is /usr/bin/tr
ua is /usr/bin/ua
ul is /usr/bin/ul
uz is /usr/bin/uz
vi is /usr/bin/vi
wc is /usr/bin/wc
xz is /usr/bin/xz
여기까지 했으니까.알리스도 확인해주세요.
$ alias
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
두 글자의 명령을 만들고 싶을 때(⇔63;)를 참고하십시오.
Reference
이 문제에 관하여(두 문자의 linux 명령은 얼마입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/saitoyutaka/articles/55bb01b4b56464b83239텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)