Linux中文環境快速進入$HOME目錄"桌面"的辦法
安裝Linux的時候選擇了中文版,桌面的目錄就在 $HOME目錄下的"桌面"目錄;
在gnome terminal要進這個目錄,從redhat、FC,到RHEL,ubuntu,沒少煩過我:每次敲cd命令後還要把輸入法切換到中文,再輸入" 桌面";
後來找到一下辦法:在.bashrc中export d=~/桌面/,要進“桌面"目錄也就輸入: "cd $d"
這時,問題又來了:
要把桌面的某個檔案移到別的地方,敲mv $d/之後按TAB,bash竟然幫我補全成: "mv \$d/"....無語....
[email protected]:~$ complete |grep mv
complete -o default -F _longopt mv
[email protected]:~$
剛開始以為是,default行為或_longopt函式搞的鬼,跟蹤了一下發現_longopt呼叫了_filedir()函式,_filedir()處理完了還沒有把"$"號變成“\$",結論:bash後面又處理了一下
解決的辦法:在_filedir()函式中把 "$d"替換掉,因此在_filedir()函式最後增加程式碼:
local cnt=0 while [ $cnt -lt ${#COMPREPLY[@]} ]; do local v=${COMPREPLY[$cnt]} if [[ ${v:0:1} == "{1}quot; ]]; then COMPREPLY[$cnt]=$(eval echo "$v") fi ((cnt++)) done
最後_filedir()函式變成:
_filedir()
{
local i IFS=$\'\n\' xspec
_tilde "$cur" || return 0
local -a toks
local quoted tmp
_quote_readline_by_ref "$cur" quoted
toks=( ${toks[@]-} $(
compgen -d -- "$quoted" | {
while read -r tmp; do
# TODO: I have removed a "[ -n $tmp ] &&" before 'printf ..',
# and everything works again. If this bug suddenly
# appears again (i.e. "cd /b<TAB>" becomes "cd /"),
# remember to check for other similar conditionals (here
# and _filedir_xspec()). --David
printf '%s\n' $tmp
done
}
))
if [[ "$1" != -d ]]; then
# Munge xspec to contain uppercase version too
[[ ${BASH_VERSINFO[0]} -ge 4 ]] && \
xspec=${1:+"!* [email protected]($1|${1^^})"} || \
xspec=${1:+"!*[email protected]($1|$(printf %s $1 | tr '[:lower:]' '[:upper:]'))"}
toks=( ${toks[@]-} $( compgen -f -X "$xspec" -- $quoted) )
fi
[ ${#toks[@]} -ne 0 ] && _compopt_o_filenames
# If the filter failed to produce anything, try w/o it (LP: #533985)
if [[ -n "$1" ]] && [[ "$1" != -d ]] && [[ ${#toks[@]} -lt 1 ]] ; then
toks=( ${toks[@]-} $( compgen -f -X -- $quoted) )
fi
COMPREPLY=( "${COMPREPLY[@]}" "${toks[@]}" )
local cnt=0
while [ $cnt -lt ${#COMPREPLY[@]} ];
do
local v=${COMPREPLY[$cnt]}
if [[ ${v:0:1} == "{1}quot; ]]; then
COMPREPLY[$cnt]=$(eval echo "$v")
fi
((cnt++))
done
}
相關推薦
Linux中文環境快速進入$HOME目錄"桌面"的辦法
安裝Linux的時候選擇了中文版,桌面的目錄就在 $HOME目錄下的"桌面"目錄; 在gnome terminal要進這個目錄,從redhat、FC,到RHEL,ubuntu,沒少煩過我:每次敲cd命令後還要把輸入法切換到中文,再輸入" 桌面"; 後來找到一下辦法:在.ba
安裝debian 9.1後,中文環境下將home目錄下文件夾改為對應的英文
div user 文件 彈出 install 1-1 debian 軟件 是否 #安裝需要的軟件 sudo apt install xdg-user-dirs-gtk #臨時轉換系統語言為英文,重啟後會自動恢復原值的 export LANG=en_US #執行轉換命令,彈
Linux系統環境快速熟悉
============================================ 使用如下命令快速瞭解linux系統 ============================================ Linux發展歷史: 1) RedHat --->
linux中如何快速進入某個目錄
1. 如果偶爾進的話可用tab鍵加速目錄輸入速度。 2. 如果經常進某個目錄可設定環境變數例如$DIRPATH=/usr/bin,通過cd $DIRPATH的方式進入。 3. 更簡單可以通過alias 命令註冊一個快捷命令如alias uu='cd /usr/lib/uu
Linux環境下遷移/home家目錄到其他分區
size pan 一個 water inux cap 文件目錄 for 需要 一般我們在Linux環境下遷移/home家目錄到其他分區,無非是空間大小不足,遷移後可以做到擴容效果,因此這裏做一次遷移過程。本次采用新加一塊硬盤分區並將家目錄遷移到新分區上的方法
linux工具:快速返回某級父目錄--bd
cert tps nes style program 名稱 class bashrc o-c 當我們在linux服務器上切換父目錄時,通常使用cd ../../,有幾級目錄就輸入幾次"../",如果目錄嵌套的過深,就會有點暈菜...因此,本次介紹的這款工具,可以快速
linux中文件/目錄普通權限
權限 權限文件屬性的查看#############ls -l filename/ls -ld dictionary-|rw-r--r--.|1| root| ro
Linux運維系列一 CentOS 7桌面系統加入到Samba4 AD域環境中
samba4 ads microsoft 解析器 集成 文章 groups 程序 用戶和用戶組 這篇文章講述了如何使用 Authconfig-gtk 工具將 CentOS 7 桌面系統加入到 Samba4 AD 域環境中,並使用域帳號登錄到 CentOS 系統。 要求 1、
linux中文件與目錄的特殊權限
使用 cnblogs 其他 time 分析 臨時 用戶 特殊權限 sbit time:18.03.26 以以下2個典型的文件及目錄來分析: ll /usr/bin/passwd -rwsr-xr-x. 1 root root 27832 Jan 29 2014 /us
Linux中文件和目錄的權限關系
情況 文件大小 分配 學習 執行權 想要 編輯 無法 刪除文件 最近一直在學習linux,對文件和目錄的權限有了新的認識,感覺想要理清楚還是需要花點心思的。 註意:1.以下的情況只針對文件或目錄的所有者(u)來說;2.只針對ext4文件系統
Linux 配置中文環境
安裝 工具 pac amp man sta 換源 軟件源 date 系統升級 換源 更新軟件源和軟件包 sudo apt update && sudo apt upgrade -y 配置中文環境 安裝中文語言包 sudo apt install -
使用vagrant快速搭建linux實驗環境
由於 用戶家目錄 linu tom per host key 支持 fine 簡介本文主要介紹如何使用vagrant配合virtualbox快速搭建實驗環境。virtualbox是一個開源跨平臺虛擬機管理軟件,功能類似收費的vmwarevagrant是一個開源的虛擬機配置編
Linux高階程式設計基礎——檔案系統程式設計之遞迴遍歷/home目錄
檔案系統程式設計之遞迴遍歷/home目錄 /編寫程式完成以下功能: 1.遞迴遍歷/home目錄,打印出所有檔案和子目錄名稱及節點號。 2.判斷檔案型別,如果是子目錄,繼續進行遞迴遍歷,直到遍歷完所有子目錄為止。/ #include <stdio.h> #include &
Windows10 下啟用Linux子系統並設定中文環境
1、啟用開發者模式 設定-更新和安全-針對開發人員-開發人員模式-等待完成 2、設定-程式和功能-啟用或關閉windows功能-適用於Linux的Windows子系統-確定-等待安裝完成並重啟PC 3、安裝Linux 開啟windows10的應用商店,搜尋Linux,選擇需
ubuntu桌面環境安裝中文環境
apt install language-pack-zh-hans* language-pack-gnome-zh-hans* language-pack-kde-zh-hans* apt install $(check-language-support) 解決中文無法拖動檔案 找到Ubunt
VM環境下CentOS擴充套件磁碟空間,並且增加邏輯卷HOME目錄的大小
1. Vm虛擬機器下Linux擴充套件原有磁碟空間,詳細步驟如下: 注意:linux只能擴充套件磁碟容量而不能減小, 所填寫的容量為總容量,即包含已分割槽的磁碟,擴充套件容量時不能有快照喲,大家可以先把快照刪除掉。 2. 啟動客戶機 fdisk –l 看
Linux開發環境搭建三 使用mount -t cifs 掛載windows共享目錄方法與問題解決
嵌入式開發通常是在linux環境下編譯,windows下開發,這就需要在linux環境下訪問windows目錄了,或者在windows上訪問linux目錄。通常有三種方式 如果是在vm虛擬機器上,vm提供了一個設定共享目錄功能。 如果linux是一臺伺服器的話,可以在li
linux環境快速安裝python3
之前在linux上安裝python3的時候,為了讓不影響linux環境原有的python2的環境,選擇的方法都是下載對應的linux環境的python包,不過 這裡需要注意的是,不要更改linux預設輸入python 進入python2的方法,自己安裝python3的時候做軟連結的時候要做成python3,
解決Linux無法建立新使用者和/home目錄下無法建立新目錄的問題
安裝devstack的時候由於stack.sh指令碼不允許在root使用者下執行,所以必須在系統中新建一個使用者,然後切換到這個使用者下進行安裝。 然而在建立使用者的時候被告知許可權不夠,而且直接在/
linux 誤刪home目錄
Linux 平臺誤刪 home oracle 根目錄的解決方法 每個使用者的建立,都會涉及到如下幾個檔案: /etc/passwd (使用者) /etc/group (使用者組) /etc/shad