新聞中心
linux中命令行tab補(bǔ)齊文件名(不是目錄)時(shí)文件名后面為什么會(huì)帶/?
TAB鍵的兩大作用:
創(chuàng)新互聯(lián)專注于阿克陶企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),成都商城網(wǎng)站開發(fā)。阿克陶網(wǎng)站建設(shè)公司,為阿克陶等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站開發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
1、只需輸入文件或目錄名的前幾個(gè)字符,然后按TAB鍵,如無(wú)相重的,完整的文件名立即自動(dòng)在命令行出現(xiàn);如有相重的,再按一下TAB鍵,系統(tǒng)會(huì)列出當(dāng)前目錄下所有以這幾個(gè)字符開頭的名字。
2. 在命令行下,只需輸入例如m,再連續(xù)按兩次TAB鍵,系統(tǒng)將列出所有以m開頭的命令,(包括自定義的Bshell命令函數(shù)),對(duì)查找某些記不清楚的命令特有用。例如輸入ftp,將查到ftp,ftpcount,ftpwho,ftpshut等本不熟悉的命令。
linux下的終端tab自動(dòng)補(bǔ)全命令是怎么實(shí)現(xiàn)的
一方面文件實(shí)質(zhì)都存放在根目錄下,樹狀目錄,所以tab可以在當(dāng)前指定目錄下尋找i節(jié)點(diǎn)信息補(bǔ)齊路徑或者文件名; 另一方面tab可以去查詢環(huán)境變量設(shè)置里面/etc/bin的命令文件,補(bǔ)齊命令。
linux “命令行自動(dòng)補(bǔ)全”功能用命令行怎么寫
按Tab鍵,左上角ESC的下面兩個(gè),如果當(dāng)前目錄只有一項(xiàng),只需要直接Tab,如果有多項(xiàng),輸入前面不同的部分再Tab。解決方法如下:
1、首先打開LINUX的操作系統(tǒng),在左邊任務(wù)欄里面找到終端,鼠標(biāo)左鍵點(diǎn)擊打開終端命令窗口。
2、輸入ls可以查看當(dāng)前所有的目錄,輸入pwd可以查看目前所在的目錄,如果要改變目錄,這些目錄的名字都很長(zhǎng),不方便全部輸入,那么輸入第一個(gè)字母。
3、接下來(lái)按鍵盤的tab鍵,這里就可以得到某個(gè)文件或者目錄的全稱。
4、如果遇到首寫字母都是一樣的目錄,按一下tab后是沒(méi)反應(yīng)的。需要再按一下tab,也就是一共兩下tab就可以出來(lái)這些首寫字母一樣的文件或者目錄了。
5、鍵盤上的上下箭頭還可以分別調(diào)用上次和往回一次的命令,這樣會(huì)非常方便輸入。中途想退出就按CTRL+C即可。
Linux Shell 按Tab鍵不能補(bǔ)全
在Linux的終端中輸入tab鍵時(shí),有時(shí)會(huì)出現(xiàn)命令不能補(bǔ)全的情況,此時(shí)有一種原因是bash錯(cuò)誤。
使用 ls -l /bin/sh 命令發(fā)現(xiàn)
/bin/sh - /bin/dash
dash是一個(gè)不同于bash的Shell,它主要為了執(zhí)行腳本而出現(xiàn),而不是交互,它速度更快,但功能比bash要少的多。語(yǔ)法嚴(yán)格遵守POSIX標(biāo)準(zhǔn)。
通過(guò)命令 ln -sf bash /bin/sh 可以將dash改成bash。此時(shí)問(wèn)題可以解決。
Ubuntu系統(tǒng)在某些情況下,apt-get 不能補(bǔ)全相關(guān)命令,可以通過(guò)修改/etc/bash.bashrc文件的相關(guān)行,把默認(rèn)的#號(hào)去掉即可。
if [ -f /etc/bash_completion ]; then
/etc/bash_completion
fi
重新登錄Shell即可。
此處參考: .
本文出自 “ 低調(diào)的前進(jìn) ” 博客,請(qǐng)務(wù)必保留此出處
linux bash如何table補(bǔ)齊預(yù)設(shè)參數(shù)
1、自動(dòng)補(bǔ)全是Bash Shell的功能,相關(guān)的命令(compgen、complete、compopt)
2、complete實(shí)例
創(chuàng)建hello_complete,內(nèi)容:
complete -F _hello_complete_func hello.sh
_hello_complete_func ()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="help usage version"
if [[ ${cur} == * ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
}
3、source hello_complete讓補(bǔ)全的參數(shù)生效。
4、創(chuàng)建hello.sh
#!/bin/sh
echo "hello world"
5、./hello.sh [TAB][TAB]
help usage version
6、不用complete簡(jiǎn)單的提醒需要輸入?yún)?shù)
#!/bin/sh
str=$1
if [[ $1 == '' ]];then
echo "Usage: $0 help|version"
exit 0;
fi
echo "$str"
利用Bash shell輸入命令時(shí),若要進(jìn)行命令補(bǔ)全、文件補(bǔ)全,可以使用熱鍵?
一個(gè)tab鍵是列出, 二個(gè)tab鍵是補(bǔ)全。
linux中可用tab鍵補(bǔ)全命令名和文件名。
安裝 bash-completion 后,可用tab鍵補(bǔ)齊幾乎任何內(nèi)容,包括參數(shù)、文件、目錄甚至包名等。《Linux就該這么學(xué)》一起學(xué)習(xí)交流更多知識(shí)。
centos7 安裝過(guò)程:
yum install -y bash-completion
重新登錄。
網(wǎng)站標(biāo)題:linux命令快速補(bǔ)齊 在linux命令行中,可以使用什么鍵來(lái)自動(dòng)補(bǔ)齊命令
文章源于:http://www.ef60e0e.cn/article/dodsiic.html