顯示具有 UNIX_Shell--Cygwin 標籤的文章。 顯示所有文章
顯示具有 UNIX_Shell--Cygwin 標籤的文章。 顯示所有文章

2010年1月2日

重要的幾個熱鍵[Tab], [ctrl]-c, [ctrl]-d

http://eason982.blogspot.com/2010/01/tab-ctrl-c-ctrl-d.html
重要的幾個熱鍵[Tab], [ctrl]-c, [ctrl]-d

在繼續後面的章節之前,這裡很需要跟大家再來報告一件事,那就是我們的文字模式裡頭具有很多的功能按鍵, 這些按鍵可以輔助我們進行指令的編寫與程式的中斷呢!這幾個按鍵請大家務必要記住的!很重要喔!


[Tab] 按鍵
[Tab] 按鍵就是在鍵盤的大寫燈切換按鍵([Caps Lock])上面的那個按鍵! 在各種 Unix-Like 的 Shell 當中,這個 [Tab] 按鍵算是 Linux 的 Bash shell 最棒的功能之一了! 他具有『命令補全』與『檔案補齊』的功能喔!可以讓我們少打很多字,但重點是, 可以避免我們打錯指令或檔案名稱呢!很棒吧!但是 [Tab] 按鍵在不同的地方輸入,會有不一樣的結果喔! 我們舉下面的例子來說明。上一小節我們不是提到 cal 這個指令嗎?如果我在指令列輸入 ca 再按兩次 [tab] 按鍵,會出現什麼訊息?
[root@linux ~]# ca[tab][tab] <==[tab]按鍵是緊接在 a 字母後面!
# 上面的 [tab] 指的是『按下那個tab鍵』,不是要您輸入 ca[... 的意思喔!
cadaver callgrind_control capiinit case
cal cancel capinfos cat
calibrate_ppa cancel.cups captoinfo catchsegv
caller capifax card
callgrind capifaxrcvd cardctl
callgrind_annotate capiinfo cardmgr


發現什麼事?所有以 ca 為開頭的指令都被顯示出來啦!很不錯吧! 那如果你輸入 ls -al ~/.bash 兩個 [tab] 會出現什麼?
[root@linux ~]# ls -al ~/.bash[tab][tab]
.bash_history .bash_logout .bash_profile .bashrc


咦!在該目錄下面所有以 .bash 的檔案名稱都會被顯示出來了呢!注意看上面兩個例子喔, 我們按 [tab] 按鍵的地方如果是在 command (第一個輸入的資料) 後面時,他就代表著 『命令補全』,如果是接在第二個字以後的,就會變成『檔案補齊』的功能了!
[Tab] 接在一串指令的第一個字的後面,則為命令補全;
[Tab] 接在一串指令的第二個字以後時,則為『檔案補齊』! 善用 [tab] 按鍵真的是個很好的習慣!可以讓您避免掉很多輸入錯誤的機會!!!


[Ctrl]-c 按鍵
在 Linux 底下,如果您輸入了錯誤的指令或參數, 有的時候這個指令或程式會在系統底下『跑不停』這個時候怎麼辦?別擔心, 如果您想讓當前的程式『停掉』的話,可以輸入:[Ctrl] 與 c 按鍵 (先按著 [Ctrl] 不放,且再按下 c 按鍵,是組合按鍵!), 那就是 中斷目前程式 的按鍵啦! 舉例來說,如果您輸入了『 find / -type vbird 』這個指令時, 系統會開始跑一些東西 (先不要理會這個指令串的意義),此時你給他按下 [Ctrl]-c 組合按鍵,嘿嘿!是否立刻發現這個指令串被終止了!就是這樣的意思啦!

不過你應該要注意的是,這個組合鍵是可以將正在運作中的指令中斷的, 如果您正在運作比較重要的指令,可別急著使用這個組合按鍵喔! ^_^


[Ctrl]-d 按鍵
那麼 [Ctrl]-d 是什麼呢?就是 [Ctrl] 與 d 按鍵的組合啊!這個組合按鍵通常代表著: 『鍵盤輸入結束 (End Of File, EOF 或 End Of Input)』的意思! 另外,他也可以用來取代 exit 的輸入呢!例如您想要直接離開文字介面, 可以直接按下 [Ctrl]-d 就能夠直接離開了(相當於輸入 exit 啊!)。

總之,在 Linux 底下,文字介面的功能是很強悍的!要多多的學習他, 而要學習他的基礎要訣就是......多使用、多熟悉啦!

2007年11月8日

ssh-使用scp指令

http://eason982.blogspot.com/2007/11/ssh-scp.html

在cygwin下利用ssh機制傳檔

http://eason982.blogspot.com/2007/11/cygwinssh.html
@硬體環境  
本地端 (140.118.xxx.x7) /home/sausage/
服務端 (140.112.xx.xx9) /home/sausage/

@目地
生成的密鑰對id_rsa,id_rsa.pub,預設存儲在 本機端/home/sausage/.ssh目錄下。然后將id_rsa.pub的內容復制到每個機器(也包括本機)的/home/user_name/.ssh/authorized_keys文件中,如果機器上已經有authorized_keys這個文件了,就在文件末尾加上id_rsa.pub中的內容,如果沒有authorized_keys這個文件,直接cp或者scp就好了,下面的操作假設各個機器上都沒有authorized_keys文件。

@Steps:

1) 在本地端需要先建立一個密鑰對,即一個私鑰,一個公鑰。將公鑰拷貝到服務端 (140.112.x.x) /home/sausage/.ssh (.ssh自己建立)資料夾下



ps) command: ssh-keygen -t rsa
Enter file in which to save the key :採用預設值
Enter passphrase: 按enter(即空白為密碼)
2) 將id_rsa.pub的內容復制到每個機器(也包括本機)的/home/user_name/.ssh/authorized_keys 文件中

(a) 使用 scp 指令 可以使用 scp 指令來透過一個安全且加密的連線在機器間傳輸檔
案 , 就如同rcp指令。


(b)先將id_rsa.pub的內容復制到/home/user_name/.ssh/authorized_keys文件中



(c)再利用scp 指令傳檔

Cygwin 中文顯示及color 設定

http://eason982.blogspot.com/2007/11/cygwin-color.html
1) ~/.inputrc
取消註解以下幾行:
set meta-flag on
set convert-meta off
set input-meta on
set output-meta on

2) ~/.bashrc
加入以下資料:
alias ls='ls -hF --show-control-chars --color=tty'

=>要立即生效, 下command
source .inputrc 及 source .bashrc

在 Cygwin 下安裝 SSHD 的方式

http://eason982.blogspot.com/2007/11/cygwin-sshd.html

安裝步驟


1)安裝 cygwin 時,套件中必須勾選:

Admin --> cygrunsrv

Net --> openssh
2)進入 Cygwin 並執行 ssh-host-config 指令:

privilege separation be used? (yes/no) no

Do you want to install sshd as service? yes

認證方式輸入預設 ntsec

3)啟動服務

cygrunsrv --start sshd

4)讓 sshd 隨著 Windows 一起啟動

cygrunsrv --install sshd

常用指令


@列出目前所安裝的服務

cygrunsrv -L

@啟動服務

cygrunsrv --start

@停止服務

cygrunsrv --stop

@安裝服務

cygrunsrv --install

@移除服務

cygrunsrv --remove