列出文件或目錄下的文件名。
語法: ls [-atFlgR] [name]
name :文件名或目錄名。
例如:
ls 列出目前目錄下的文件名。
ls -a 列出包括以.開始的隱藏文件的所有文件名。
ls -t 依照文件最後修改時間的順序列出文件名。
ls -F 列出當前目錄下的文件名及其類型。以/ 結尾表示為目錄名,以* 結尾表示為
可執行文件,以@ 結尾表示為符號連接。
ls -l 列出目錄下所有文件的權限、所有者、文件大小、修改時間及名稱。
ls -lg 同上,並顯示出文件的所有者工作組名。
ls -R 顯示出目錄下以及其所有子目錄的文件名。
改變當前工作目錄
語法:cd [name]
name:目錄名、路徑或目錄縮寫。
例如:
cd 改變目錄位置至用戶登錄時的工作目錄。
cd dir1 改變目錄位置至d i r 1目錄下。
cd ~user 改變目錄位置至用戶的工作目錄。
cd .. 改變目錄位置至當前目錄的父目錄。
cd ../user 改變目錄位置至相對路徑user 的目錄下。
cd /../.. 改變目錄位置至絕對路徑的目錄位置下。
cd ~ 改變目錄位置至用戶登錄時的工作目錄。
1. 拷貝文件或目錄至遠程工作站
語法: rcp [-r] 源地址主機名:目的地址
源地址文件名、目錄名或路徑。
主機名工作站名。目的地址路徑名稱。
例如:
rcp file1 doc:/home/user 將文件f i l e 1拷貝到工作站doc 路徑/home/user 下。
rcp -r dir1 doc:/home/user 將目錄d i r 1拷貝到工作站doc 路徑/home/user 下。
2. 自遠程工作站,拷貝文件或目錄
語法: rcp [-r] 主機名:源地址目的地址
主機名工作站名。
源地址路徑名。
目的地址、文件名、目錄名或路徑。
例如:
rcp doc:/home/user/file1 file2 將工作站d o c路徑/home/user 下的目錄d i r 1,拷貝到當前工作站的目錄下,目錄名仍為d i r 1。
rcp -r doc:/home/user/dir1 . 將工作站doc 路徑/home/user 下的目錄d i r 1,拷貝到當前工作站的目錄下,目錄名仍為d i r 1。
3. 本地工作站與遠程工作站之間的文件傳輸
必須擁有遠程工作站的帳號及密碼,才可進行傳輸工作。
語法: ftp 主機名或ftp ip地址
例如:
ftp doc 與遠程工作站doc 之間進行文件傳輸。
Name (doc:user-name): <輸入帳號>
Password (doc:user-password): <輸入密碼>
ftp> help 列出ftp 文件傳輸時可使用的命令。
ftp> !ls 列出本地工作站當前目錄下的所有文件名。
ftp> !pwd 列出本地工作站當前所在的目錄位置。
ftp> ls 列出遠程工作站當前目錄下的所有文件名。
ftp> dir 列出遠程工作站當前目錄下的所有文件名。
ftp> dir . |more 分頁列出遠程工作站當前目錄下的所有文件名。
ftp> pwd 列出遠程工作站當前所在的目錄位置。
ftp> cd dir1 更改遠程工作站的工作目錄位置至dir1 之下。
ftp> get file1 將遠程工作站的文件f i l e 1拷貝到本地工作站中。
ftp> put file2 將本地工作站的文件f i l e 2拷貝到遠程工作站中。
ftp> mget *.c 將遠程工作站中擴展文件名為c 的所有文件拷貝到本地工作站中。
ftp> mput *.txt 將本地工作站中擴展文件名為txt 的所有文件拷貝到遠程工作站中。
ftp> prompt 切換交互式指令(使用mput/mget 時不是每個文件皆詢問y e s / n o )。
ftp> quit 結束ftp 工作。
ftp> bye 結束ftp 工作。
注意從PC與工作站間的文件傳輸也可透過在PC端的FTP指令進行文件傳輸,指令用法與上述指令大致相同。
nil 就是空的list, 或者表示 false
t true
Forms
我們寫程式最好有樣版讓我們填空最簡單了.
Form 就是樣版, 不過意義不太一樣.
Form 就是Elisp 可以接受的句型.
lisp 解譯器 預設是對list的每個元素求值(evaluate),
除非是 special form, 有特殊的定義. 比如說
(directory-files "./" t "..*")
return a list of files under directory X
(load "xxxx.el") 同#include <stdio.h>
給使用者設定用的.
可以用 M-x edit-options 來線上設定 (emacs結束就沒有了,
不過edit-options可以給你所有可修改的變數的列表,你可以
放到.emacs檔內.
(directory-files "./" t "..*")
return a list of files under directory X
(load "xxxx.el") 同#include <stdio.h>
(setq load-path (cons "~/emacs" load-path)) ; load的search path.
(autoload ...) 不像load會直接evaluate 整個檔案, 而是需要時再
load.
(local-unset-key [(control c)])
(local-set-key [(control c) a] 'forward-sexp)
sexp 就是一個expession, n個expression如果用括號括起來就算一個.
(expression的定義隨語言的不同而有不同, 在C, lisp
tex, html, fortran 下皆有差異)
本文是有關在 linux 操作系統上使用 .arc、.arj、.lzh (.lha)、.rar、.sit、.zip 和 .zoo 文件的指南。我選擇討論這些特殊的格式是因為三種最流行的操作系統 (MS-DOS、微軟 Windows 和 Mac OS)的用戶最常使用它們。我之所以寫這篇指南是希望引導大家快速找出正確的工具,而不是詳細地從技術上討論文件壓縮技術。
最後,我想簡短說明一下自解壓文件。這樣的檔案往往位於包含壓縮格式數據的現實程序中。執行它們時,它們會解包,並將存儲在程序主體內的數據復制到您指定的任何驅動器上。唯一的問題是它們無法在 linux 上使用,沒有工具可以抽取它們。在這種情況下,需要讓創建檔案的那個人將它作為一個一般檔案壓縮。
.lzh (.lha)
帶有 .lzh 或 .lha 擴展名的文件使用的是 LHa、LHarc 或 LHx 壓縮實用程序進行的壓縮。這些實用程序是由 Y. Tagawa、H. Yoshizaki、Momozou 和 Masaru Oki 開發的。這些實用程序已移植到許多操作系統,使用它們所創建的文件也具有相當的可移植性。Mats Andersson 執行了 linux 移植。
與 gzip 不同,lha 實用程序執行多個文件的壓縮。要壓縮單個文件,輸入 lha a archive file。lha 創建的檔案帶有 .lzh 擴展名。如果 archive.lzh 已在當前的工作目錄中存在,那麼您讓 lha 壓縮的文件就將添加到這一現有的檔案中。archive.lzh 先前的內容仍被保留,除非它已包含帶有相同名稱的文件,在這種情況下,舊文件將被新文件取代。該操作是 盲目的,意味著它不檢查文件的時間戳記;要確保只有帶有更新時間戳記的文件才能替換檔案中已保存的較舊的文件,這時使用 u 選項而不是 a 選項(例如,lha u archive file)。
當收到 .lzh 文件的人抱怨無法解壓縮檔案時,嘗試使用 lha ag archive file 或 lha ao archive file。g 和 o 選項分別指示 lha 使用常規或與 lha 兼容的歸檔方法。如果您只更新現有的檔案,使用 u 而不是 a。
歸檔多個文件和歸檔單個文件一樣容易:使用通配符(例如, lha a archive files*)或輸入存儲文件所在的頂級目錄(例如,lha a archive directory)。所有文件和子目錄都將自動存儲在檔案中。文件替換規則和 u 選項對多個文件和單個文件所起的作用是一樣的。通配符使用的語法和您在常用的 shell 中所使用的語法相同。
以下是其它一些 lha 選項:
l -- 列出檔案內容(例如,lha l archive.lzh)
v -- 列出詳細格式的檔案內容(例如,lha v archive.lzh)
t -- 測試檔案的完整性(例如,lha t archive.lzh)
使用 RAR,您可以解壓縮整個檔案(使用 rar e archive.rar)、單個文件(使用 rar e archive.rar file)或一組文件(使用 rar e archive.rar '*.cpp')。因為 RAR 可以對多個文件使用,您也可以使用 rar e '*.rar' '*.cpp' 從多個檔案中抽取幾組文件。
.zip
.zip 擴展名表示文件是使用許多 zip 歸檔程序和壓縮程序之一(但不是 gzip)創建的。因為這是一種非常流行的壓縮格式,算法的詳細描述也有很多,所以可以找到用於所有操作系統的有用的移植形式。這包括創建和擴展帶有 .zip 文件擴展名的檔案的壓縮和解壓縮實用程序。在 linux 上有兩種這樣的工具:免費的 Info-ZIP 和以贏利為目的的 PKZIP for Linux。如果您只是偶爾需要創建或打開 zip 文件,使用 Info-ZIP。如果希望使用在 MS-DOS 或其它系統上使用的相同工具,請選擇 PKZIP(PKZIP 可用於許多操作系統)。用於微軟 Windows 的 WinZIP 和用於 Mac OS 的 Stufflt 這兩種實用程序可以創建和打開相互之間兼容的檔案。
Info-ZIP 在無法使用 gzip 或 tar 的情況下可以提供壓縮和解壓縮的一個不錯的選擇,這或許是在 linux、微軟 Windows 和 Mac OS 用戶之間交換壓縮文件的一種最好的形式。有許多不錯的 zip 程序(有開放源碼的,也有商業的)可用於這些操作系統,它們應該能確保文件的順利交換(當然,只要是在特定於某個特定工具的特殊功能關閉的情況下)。
要歸檔單個文件,輸入 zip archive file。要壓縮多個文件,使用通配符(例如,zip archive picture*jpg)。還有可能將文件定向輸出到 zip;輸入 man zip 獲得詳細信息。要歸檔整個目錄,包括其中所有子目錄的內容,使用 -r 選項,然後在檔案名後輸入目錄名(例如,zip -r archive directory)。還可以輸入 zip -R archive . 來將當前當前工作目錄進行歸檔。.zip 擴展名自動添加到檔案名後。
當 zip 發現已有檔案的名稱和您嘗試創建的名稱相同時,它將您希望壓縮的文件添加到現有檔案中,而不將已存在的文件除去。這一規則有一個例外:如果存儲在現有檔案中的一個或多個文件和您希望壓縮的一個或多個文件具有相同的名稱,舊文件將由新文件替換。文件替換規則可以使用 -u 選項來修改(有關詳細信息,請參閱 man zip)。
內核
更改內核中的配置文件會立即影響到系統。例如,更改 passwd 文件以增加用戶將立即使該用戶變為可用。而且任何 linux 系統的 /proc/sys 目錄中都有一些內核可調參數。只有超級用戶可以得到對所有這些文件的寫訪問權力;其它用戶只有只讀訪問權力。此目錄中文件的分類的方式和 Linux 內核源代碼的分類方式一樣。此目錄中的每個文件都代表一個內核數據結構,這些數據結構可以被動態地修改,從而改變系統性能。
守護進程和系統程序
守護進程是永遠運行在後台的程序,它默默地執行自己的任務。常見的守護進程有 in.ftpd(ftp 服務器守護進程)、in.telnetd(telnet 服務器守護進程)和 syslogd(系統日志記錄守護進程)。有些守護進程在運行時會嚴密監視配置文件,在配置文件改變時就會自動重新加載它。但是大多數守護進程並不會自動重新加載配置文件。我們需要以某種方式“告訴”這些守護進程配置文件已經被發生了改變並應該重新加載。可以通過使用服務命令重新啟動服務來達到這個目的(在 Red Hat linux 系統上)。
例如,如果我們更改了網絡配置,就需要發出:
service network restart。
注意:這些服務最常見的是 /etc/rc.d/init.d/* 目錄中存在的腳本,在系統被引導時由 init 啟動。所以,您也可以執行如下操作來重新啟動服務:
/etc/rc.d/init.d/<script-for-the-service> start | stop | status
start、stop 和 status 是這些腳本接受的輸入值,用來執行操作。
/etc/issue & /etc/issue.net
這些文件由 mingetty(和類似的程序)讀取,用來向從終端(issue)或通過 telnet 會話(issue.net)連接的用戶顯示一個“welcome”字符串。它們包括幾行聲明 Red Hat 版本號、名稱和內核 ID 的信息。它們由 rc.local 使用。
/etc/redhat-release
包括一行聲明 Red Hat 版本號和名稱的信息。由 rc.local 使用。
.h1 proxy
.h2 HTTP_PROXY
.h2 HTTPS_PROXY
.h2 FTP_PROXY
.h2 GOPHER_PROXY
.h2 NEWS_PROXY
.h2 NNTP_PROXY
# Lynx version 2.2 and beyond supports the use of proxy servers that can act as
# firewall gateways and caching servers. They are preferable to the older
# gateway servers. Each protocol used by Lynx can be mapped separately using
# PROTOCOL_proxy environment variables (see Lynx Users Guide). If you have
# not set them externally, you can set them at run time via this configuration file.
# They will not override external settings. The no_proxy variable can be used
# to inhibit proxying to selected regions of the Web (see below). Note that on
# VMS these proxy variables are set as process logicals rather than symbols, to
# preserve lowercasing, and will outlive the Lynx image.
#
.ex 15
http_proxy:http://proxy3.in.ibm.com:80/
ftp_proxy:http://proxy3.in.ibm.com:80/
#http_proxy:http://penguin.in.ibm.com:8080
#ftp_proxy:http://penguin.in.ibm.com:8080/
.h2 NO_PROXY
# The no_proxy variable can be a comma-separated list of strings defining
# no-proxy zones in the DNS domain name space. If a tail substring of the
# domain-path for a host matches one of these strings, transactions with that
# node will not be proxied.
.ex
no_proxy:demiurge.in.ibm.com, demiurge
~/.fvwmrc ~/.fvwm2rc
fvwm 和 fvwm2(基本的 X Window 管理器)的配置文件。
~/.hushlogin
請參考“man login”。引起“無提示”登錄(沒有郵件通知、上次登錄信息或者 MOD 信息)。
~/.mail.rc
郵件程序的用戶初始化文件。
~/.ncftp/ ncftp
程序的目錄;包含書簽、日志、宏、首選項和跟蹤信息。請參閱 man ncftp。ncftp 的目的是為因特網標准文件傳輸協議(Internet standard File Transfer Protocol)提供一個強大而靈活的接口。它旨在替換系統所使用的標准的 ftp 程序。