電癮院

以初學者的角度,來看待電腦教學這回事。

Tag: hosts

Windows hosts檔的用途?為何檔案編輯後無法儲存?

如何正確的編輯Hosts系統檔案?

以前寫了這篇簡單的教學「修改系統文字檔案的方法、讓「記事本」或「命令提示字元」以「系統管理員的身份」執行 」,而這篇編輯Hosts檔案,也算是延伸的應用,在Windows Vista之後,由於多了UAC這個機制,所以從那之後開始,我們再也沒辦法「直接」修改一些系統檔案,凡是任何想要修改系統檔案、資料夾的行為,Windows總是會一再的尋問我們是否允許,可能有人會覺得很煩,但這個是一個「保護」的機制,最好學著去適應它吧。

我曉得很多人都曉得Hosts是做什麼用了,但由於我下一篇文章,會使用到這部份的知識,所以先寫了這篇來打頭陣一下。

「Hosts」是一個沒有副檔名的系統檔案,它是一個IP位址和主機名稱的對映檔案,由於它是一個純文字的檔案,所以可以使用「記事本」來編輯,但在Vista之後,記事本要有「系統管理員的權限」,才有辦法編輯它的內容。

「IP位址」和「主機名稱」對映,看似抽像,我來用一個實際的例子來說明。

一般我們要連上Yahoo奇摩,都是在網址列上輸入「tw.yahoo.com」這個「主機名稱」,如下圖:

edit_hosts-08.jpg

若用命令提令字元,來執行指令「ping tw.yahoo.com」的話,很明顯可以知道,原來從網路上DNS所查詢到的Yahoo奇摩主機IP位址是「106.10.139.246」,如下圖:

edit_hosts-09.jpg

而此時,若我們將「127.0.0.1 tw.yahoo.com」加入到「hosts」檔案內,並且儲存檔案,IP位址一定要放到最前面,而後面則接主機的名稱,如下圖:

edit_hosts-10.jpg

而「127.0.0.1」這個IP,是一個保留的特殊IP,它代表自己電腦本身網路卡Loopback的IP位址,所以當我們這樣設定時,電腦若要連線到「tw.yahoo.com」時,就會被導向「127.0.0.1」,也就是自己本身的電腦上,其意義就是讓它連不出去外面的網站。

來,我們測試一下,我們重新再開啟一個新的IE瀏覽器出來,再輸入Yahoo奇摩的網址,這次就出現「無法顯示此網頁」的訊息,如下圖:

edit_hosts-11.jpg

原本可以連上Yahoo網站,但經過修改hosts之後,奇摩網站就上不了了,我們再使用Ping指令來測試一下「tw.yahoo.com」,果不其然,這個網址已經被我們對應到「127.0.0.1」了,如下圖:

edit_hosts-12.jpg

從這個例子中,我們可以了解到,如果我們想要自己定義主機名稱及IP的配對時,就可以去修改hosts的內容,這樣的優點就是可以加快連上網站的時間,因為它在連線時,不再需要向網際網路上的DNS主機要正確的IP位址,而是直接從hosts檔案中直接查詢,所以少了這次的查詢時,一開始連上的速度就會變快,這是一般我們常見的用途。

另一個用途比較特別,但也很常用,就是要讓電腦不要去造訪某些網站,為什麼要這麼做呢?這個就要靠你自己想了,而有關操作及編輯hosts檔案的教學,請接著往下看。

直接用「記事本」開啟hosts檔案

Step 1. 使用「開始功能功」,在搜尋的欄位中,輸入「記事本」或是「notepad」,再從搜尋到的「記事本」程式上方,按滑鼠右鍵選擇「以系統管理員身分執行」,如下圖:

edit_hosts-01.png

Step 2. 透過這種方式來開啟熟悉的記事本,我們可以稱它是「超級記事本」,因為只有它才可以編輯這些被Windows保護的檔案。所以接著請打開「C:\Windows\System32\drivers\etc」資料夾中的「hosts」檔案,如果你進入這個資料夾中沒有看到「hosts」這個檔案,這是因為這個檔案是「隱藏檔」,不過沒有關係,請直接在「檔案名稱」中直接輸入hosts,接著再點擊〔開啟舊檔〕,如下圖:

edit_hosts-02.jpg

Step 3. 如果你的操作都正確的話,就可以順利打開「hosts」這個檔案了,如下圖:

edit_hosts-03.jpg

你可以隨便編輯內容,並且儲存檔案,測試看看是否可以存檔。

利用「命令提示字元」來開啟「記事本」

雖然直接用系統管理員的身份來開啟「記事本」很容易,但我個人來說,還是偏好利用「命令提示字元」,直接用「記事本」來載入「hosts」這個檔案。

Step 1. 在「開啟功能表」輸入「cmd」或者「命令提示字元」,並且在「cmd.exe」中按下右鍵,並且選擇「以系統管理員身分執行」,如下圖:

edit_hosts-04.jpg

Step 2. 如果你有以系統管理員身分來執行的話,預設的資料夾路徑就會在「C:\Windows\system32」這個資料夾中,如下圖所示:

edit_hosts-05.jpg

Step 3. 此時,我們輸入兩行指令,先切換到hosts所在目錄,「cd drivers\etc」;接著再用「記事本」開啟「hosts」這個檔案,指令為「notepad hosts」,如下圖:

edit_hosts-06.jpg

當然這部份指令的使用是很彈性的,你也可以直接輸入「notepad drivers\etc\hosts」,或者完整輸入路徑「notepad c:\windows\system32\drivers\etc\hosts」。

Step 4. 最後沒有意外的,也可以開啟hosts檔案,如下圖:

edit_hosts-07.jpg

運用有「系統管理員身分」的「命令提示字元」來開啟「記事本」是一種很特別的方法,怎麼說呢?

當我們用「系統管理員身分」來執行「命令提示字元」之後,「命令提示字元」就擁有「管理員的身分」,不僅如此,這種「能力」在Windows中是「世襲」的,它會一直的傳承下去,所以我們再用「命令提示字元」開啟「記事本」之後,這個「記事本」也會擁有「管理員身分」,以此類推,開啟了「小畫家」,它就是超級小畫家,開啟了計算機,它就變成「超級計算機」,不過我們要「超級計算機」做什麼…

簡單的「記事本(Notepad)」,真的一點都不簡單!

「附屬應用程式」裡的老骨頭s

「附屬應用程式」從Windows 3.1時代開始,就一直存在到現在,儘管中間經過N次的改版,一直到現在的Windows 8.1,「附屬應用程式」依然存在,可見它的重要性。事實上,我自己在猜這些陽春功能的附屬應用程式,是為了作業系統中沒有安裝其它更進階的應用程式的使用者而保留的,因為總不能開完機後,使用者什麼事都不能做吧,也是要讓使用者可以打打資料。

而在Windows裡的附屬應用程式裡,有許多有用的小程式、小工具,這些工具的功能往往是非常的簡單,有些是我們天天在用而不自覺,像是「Windows檔案總管」,而其它像是「小算盤」、「記事本」、「命令提示字元」就比較少人會去使用了,也因為功能很簡單,所以我們很輕易就會忽略了它們。

從我自己的快速工具列中,可以看到「Windows檔案總管」、「記事本」、「命令提示字元」及「小算盤」,這四個是我最經常在使用的,而且幾乎是天天在用的。

word_notepad-4.jpg

記事本Notepad

像是小算盤大家都很清楚它的功用,我要特別介紹的是「記事本」。

有人會覺得很奇怪,在記事本上打字都「醜醜的」,應該沒有人會在上面編輯文件吧?其實早期在DOS時代,我們也都用PE2在打文件,所以出來的文件的字體,也都和記事本一次,文字的字體及大小都一樣,但現在Windows已經這麼進步了,而且又有了Office的Word,如果你現在打出來的文件還跟以前一樣,那工作可能會不保。

word_notepad-5.png

既然現在如果你用記事本來打辦公室文件可能會丟了工作,那為什麼還要用「記事本」呢?

我大致上定義記事本有兩大功用,一是「編輯設定檔」,另一個功用是「過濾格式文字(照妖鏡…)」。

編輯設定檔

編輯設定檔這部份的功能大家可能從來都不會去使用,舉個例子,在Windows裡有個系統檔案叫「hosts」,路徑在「c:\windows\System32\drivers\etc」,這個檔案可以讓我們來設定「主機」與「IP位址」的配對,可以加快連上網站或電腦主機的速度,例如你知道某個網站它的IP位址是固定的就可以將網址及IP位址,給設定在這個檔案上,這樣電腦在連上這個網站時,就不需要再先去查詢該網站的IP位址,直接就可以使用這個IP連上這個網站。

另外在使用「網路上的芳鄰」時,若公司內部電腦的主機IP位址都是固定的,也可以利用這個檔案,來加快連線到網路芳鄰的主機。

所以聽到我說完這些,應該有的人頭都昏了吧?應該會想說:「這什麼鬼?我又用不到」。

如果我在這個檔案上加入一行「127.0.0.1 www.facebook.com」,你猜會發生什麼事?

word_notepad-6.jpg

沒錯,這台電腦就上不了「臉書Facebook」了,因為只要打了這個「www.facebook.com」這個網址,就會被導至「127.0.0.1」這個Loopback的ip,也就是我們正在使用的主機,就連不出去了,這樣有什麼用嗎?

word_notepad-7.jpg

各位看倌,這你就有所不知了,如果你想要惡搞別人,或是家裡的小朋友不乖,天天沉迷在臉書,或是某些網站,都可以用這個方式來讓家裡的人,上不了這些網站,使用方式就是,「127.0.0.1 網址」,先輸入127.0.0.1之後,再一個「空格」,最後再接上你想要禁止的網址就可以了。

但要注意的是,在Windows Vista之後的Windows,(例如WinVista、Windows 7、Windows 8),因為有多了UAC的安全機制,所以在開啟「記事本」時,一定要用「系統管理員」的身份來開啟,要不然修改好hosts檔案後,可是沒有辦法儲存的喔,開啟的方式如下圖:

word_notepad-8.jpg

在開始功能表中按右鍵,然後選擇「以系統管理員身份執行」。

過濾文字格式

另外一個最重要的功能,就是用來過濾各種「有格式的文字」,並轉換成「純文字」。這可能有些人知道我在說些什麼,但我相信,一定有相當多的人還不曉得這是什麼意思,舉一個簡單的例子,女生的畫妝。原本沒有畫妝的女生,就好比「純文字」一樣,而經過html及css的修飾後,每個女生都變的青面獠牙婀娜多姿,個個都變的相當的漂亮,而忙了一天後回到家,總是要卸妝吧,當然有些女生都堅持等到丈夫或是男朋友睡了之後,才開始卸妝的,但不管,此時「記事本」就好比「卸妝水」一樣,只要把女生放在這裡面,就又會回復到「純文字」素顏的模樣。

用下圖來解譯一下,一般來說,我們找資料都會從網路上去找,假設你在某個網頁上,有看到想要的資料時,此時你一定是選擇那段文字,然後,直接就貼到Word裡,但同時,你也會一起將網頁上的文字格式,例如文字大小、顏色、超連結…等等一大堆的格式,也一起貼到Word裡。

word_notepad-1.jpg

而另一種方式,就是在貼上之前,可以先貼到記事本,之後再從記事本再複製已經貼上的文字,最後再貼到Word裡,此時你會看到在Word裡的就是尚未設定格式的文字。

word_notepad-2.jpg

當然在Word裡,也可以利用「選擇性貼上」,達到相同的效果,因為我只是利用這邊做個例子,所以不要來吐槽我哦。因為有時候,我要貼上的文字,可能不是貼到Word裡,另外也有可能這些有格式的文字,並不是來自網站,而是來自Excel或是其它的應用程式,此時,就一定會有「記事本」用武之地的。

word_notepad-3.jpg

Powered by WordPress & Theme by Anders Norén