因爲記憶力有限,把平時經常使用的Linux命令整理出來,以便隨時查閱:html
linux 基本命令
ls (list 顯示當前目錄下文件和目錄 ls -l 詳細顯示 =ll )
[root@linux ~]# ls [-aAdfFhilRS] 目錄名稱
[root@linux ~]# ls [--color={none,auto,always}] 目錄名稱
[root@linux ~]# ls [--full-time] 目錄名稱
參數:
-a :所有的檔案,連同隱藏檔( 開頭爲 . 的檔案) 一塊兒列出來~
-A :所有的檔案,連同隱藏檔,但不包括 . 與 .. 這兩個目錄,一塊兒列出來~
-d :僅列出目錄自己,而不是列出目錄內的檔案數據
-f :直接列出結果,而不進行排序 (ls 預設會以檔名排序!)
-F :根據檔案、目錄等信息,給予附加數據結構,例如:
*:表明可執行檔; /:表明目錄; =:表明 socket 檔案; |:表明 FIFO 檔案;
-h :將檔案容量以人類較易讀的方式(例如 GB, KB 等等)列出來;
-i :列出 inode 位置,而非列出檔案屬性;
-l :長數據串行出,包含檔案的屬性等等數據;
-n :列出 UID 與 GID 而非使用者與羣組的名稱 (UID與GID會在帳號管理提到!)
-r :將排序結果反向輸出,例如:本來檔名由小到大,反向則爲由大到小;
-R :連同子目錄內容一塊兒列出來;
-S :以檔案容量大小排序!
-t :依時間排序
--color=never :不要依據檔案特性給予顏色顯示;
--color=always :顯示顏色
--color=auto :讓系統自行依據設定來判斷是否給予顏色
--full-time :以完整時間模式 (包含年、月、日、時、分) 輸出
--time={atime,ctime} :輸出 access 時間或 改變權限屬性時間 (ctime)
而非內容變動時間 (modification time)
cat 由第一行開始顯示檔案內容
[root@linux ~]# cat [-AEnTv]
參數:
-A :至關於 -vET 的整合參數,可列出一些特殊字符~
-E :將結尾的斷行字符 $ 顯示出來;
-n :打印出行號;
-T :將 [tab] 按鍵以 ^I 顯示出來;
-v :列出一些看不出來的特殊字符
tac 從最後一行開始顯示,能夠看出 tac 是 cat 的倒着寫!
nl 顯示的時候,順道輸出行號!
[root@linux ~]# nl [-bnw] 檔案
參數:
-b :指定行號指定的方式,主要有兩種:
-b a :表示不管是否爲空行,也一樣列出行號;
-b t :若是有空行,空的那一行不要列出行號;
-n :列出行號表示的方法,主要有三種:
-n ln :行號在屏幕的最左方顯示;
-n rn :行號在本身字段的最右方顯示,且不加 0 ;
-n rz :行號在本身字段的最右方顯示,且加 0 ;
-w :行號字段的佔用的位數。
more 一頁一頁的顯示檔案內容
空格鍵 (space):表明向下翻一頁;
Enter :表明向下翻『一行』;
/字符串 :表明在這個顯示的內容當中,向下搜尋『字符串』;
:f :馬上顯示出文件名以及目前顯示的行數;
q :表明馬上離開 more ,再也不顯示該檔案內容。
less 與 more 相似,可是比 more 更好的是,他能夠往前翻頁!
空格鍵 :向下翻動一頁;
[pagedown]:向下翻動一頁;
[pageup] :向上翻動一頁;
/字符串 :向下搜尋『字符串』的功能;
?字符串 :向上搜尋『字符串』的功能;
n :重複前一個搜尋 (與 / 或 ? 有關!)
N :反向的重複前一個搜尋 (與 / 或 ? 有關!)
q :離開 less 這個程序;
head 只看頭幾行
[root@linux ~]# head [-n number] 檔案
參數:
-n :後面接數字,表明顯示幾行的意思
tail 只看尾巴幾行 tail -200f logfile2 ( 顯示日誌最後 200 行 )
od 以二進制的方式讀取檔案內容!
[root@linux ~]# od [-t TYPE] 檔案
參數:
-t :後面能夠接各類『類型 (TYPE)』的輸出,例如:
a :利用預設的字符來輸出;
c :使用 ASCII 字符來輸出
d[size] :利用十進制(decimal)來輸出數據,每一個整數佔用 size bytes ;
f[size] :利用浮點數值(floating)來輸出數據,每一個數佔用 size bytes ;
o[size] :利用八進位(octal)來輸出數據,每一個整數佔用 size bytes ;
x[size] :利用十六進制(hexadecimal)來輸出數據,每一個整數佔用 size bytes ;
chmod ( chmod +R filename增長文件讀寫執行權限,+R 可讀,+W 可寫,+X 可執行
( chmod 777 filename 增長文件讀寫執行權限的另外一種方式,
7=> 對應8進制的 111 可讀可寫可執行)
chown ( chown -R haowen .將當前目錄下全部文件和目錄權限賦給 haowen
,-R 包括子目錄)
chgrp -R mysql . (把當前文件夾變動到mysql羣組,mysql是已經有的羣組)變動文件或目錄的所屬羣組。
umask 檔案預設權限:
umask 指定的是『該默認值須要減掉的權限 !』
chattr (設定檔案隱藏屬性)
lsattr (顯示檔案隱藏屬性)
find ( find ./ -name file1 -print ,從當前目錄向下查找名爲 file1 的文件)
mkdir ( mkdir dir1 ,新建目錄 dir1 )
mkdir [-mp] 目錄名稱
參數:
-m :設定檔案的權限喔!直接設定,不須要看預設權限 (umask) 的臉色~
-p :幫助你直接將所須要的目錄遞歸創建起來!
[root@linux ~]# rmdir [-p] 目錄名稱
參數:
-p :連同上層『空的』目錄也一塊兒刪除
pwd Print Working Directory ( pwd ,顯示當前路徑 ) pwd -P 顯示出確實的路徑,而非使用鏈接(link)路徑
cd ( cd /usr/local/ 進入目錄 /usr/local/ , cd ../ 返回到上一級目錄
./ 當前目錄 ../父目錄 - 表明前一個工做目錄 ~表明[目前使用者身份]所在的家目錄 ~account表明account這個使用者的家目錄)針對 cd 的使用方法,若是僅輸入 cd 時,表明的就是『 cd ~ 』
mv ( mv file1 /home/haowen/ ,將文件移動到目錄 /home/haowen/下
,至關於 window 剪切 )
( mv file1 filenew1 ,將文件名改成 filenew1 )
[root@linux ~]# mv [-fiu] source destination
[root@linux ~]# mv [options] source1 source2 source3 .... directory
參數:
-f :force 強制的意思,強制直接移動而不詢問;
-i :若目標檔案 (destination) 已經存在時,就會詢問是否覆蓋!
-u :若目標檔案已經存在,且 source 比較新,纔會更新 (update)
cp ( cp file1 /home/haowen/ ,將文件複製copy到目錄 /home/haowen/下
cp -r dir1 /home/haowen/
cp file1 ./file2 複製文件並更名)
[root@linux ~]# cp [-adfilprsu] 來源檔(source) 目的檔(destination)
[root@linux ~]# cp [options] source1 source2 source3 .... directory
參數:
-a :至關於 -pdr 的意思;
-d :若來源文件爲連結文件的屬性(link file),則複製連結文件屬性而非檔案自己;
-f :爲強制 (force) 的意思,如有重複或其它疑問時,不會詢問使用者,而強制複製;
-i :若目的檔(destination)已經存在時,在覆蓋時會先詢問是否真的動做!
-l :進行硬式連結 (hard link) 的連結檔創建,而非複製檔案自己;
-p :連同檔案的屬性一塊兒複製過去,而非使用預設屬性;
-r :遞歸持續複製,用於目錄的複製行爲;
-s :複製成爲符號連結文件 (symbolic link),亦即『快捷方式』檔案;
-u :若 destination 比 source 舊才更新 destination !
rm ( rm file1 ,rm -r dir1,rm -rf dir2 刪除文件或目錄, f不提示輸入y
[root@linux ~]# rm [-fir] 檔案或目錄
參數:
-f :就是 force 的意思,強制移除;
-i :互動模式,在刪除前會詢問使用者是否動做
-r :遞歸刪除啊!最經常使用在目錄的刪除了
touch 創建一個空的檔案,將某個檔案日期修訂爲目前 (mtime 與 atime)
[root@linux ~]# touch [-acdmt] 檔案
參數:
-a :僅修訂 access time;
-c :僅修改時間,而不創建檔案;
-d :後面能夠接日期,也可使用 --date="日期或時間"
-m :僅修改 mtime ;
-t :後面能夠接時間,格式爲[YYMMDDhhmm]
file 若是你想要知道某個檔案的基本數據,例如是屬於 ASCII 或者是 data 檔案,或者是 binary , 且其中有沒有使用到動態函式庫 (share library) 等等的信息,就能夠利用 file 這個指令來檢閱喔!
which (尋找『執行檔』) 這個指令是根據『PATH』這個環境變量所規範的路徑,去搜尋『執行檔』的檔名
[root@linux ~]# which [-a] command
參數:
-a :將全部能夠找到的指令均列出,而不止第一個被找到的指令名稱
whereis (從數據庫尋找特定檔案)
[root@linux ~]# whereis [-bmsu] 檔案或目錄名
參數:
-b :只找 binary 的檔案
-m :只找在說明文件 manual 路徑下的檔案
-s :只找 source 來源檔案
-u :沒有說明檔的檔案!
功能說明:計算字數。
語 法:wc [-clw][--help][--version][文件名]
補充說明:利用wc指令咱們能夠計算文件的Byte數、字數、或是列數,若不指定任何文件名稱,或是所給予的文件名爲"-",則wc指令會從標準輸入設備讀取數據。假設不給予其參數,wc指令會一併顯示列數、字數和Byte數
參 數:
-c 只顯示Byte數,亦即字符數;
-l 只顯示列數;
-w 只顯示字數;
-m 一樣顯示字符數
--help 在線幫助;
--version 顯示此軟件的版本信息。
locate 從數據庫列出某個檔案的完整檔名
find ./ -name index.jsp 查找當前目錄下名稱爲index.jsp的文件
grep ( grep "mobile=13712345678" logfile1 ,在logfile1中
搜索查找內容 "mobile=13712345678" )
ping ( ping 61.129.78.9 ,ping www.163.com ,測試網絡鏈接是否正常 )
ifconfig ( ifconfig ,查看本機 IP地址,子網掩碼等 )
ps ( ps aux 查看系統中已經啓動的進程, ps aux | grep programe1 ,
查看程序1是否正在運行
kill ( kill -9 2325 ,殺死進程號爲 2325的進程,
killall programe1 ,殺死programe1進程 )
reboot ( 重啓系統 )
init 0 ( 關機 ,僅 root 用戶有權操做 )
init 6 ( 重啓系統 ,僅 root 用戶有權操做 )
gzip ( gzip file1 ,壓縮文件 file1 )
gunzip ( gunzip file1.gz 解壓縮文件 file1.gz )
tar -zcvf ( tar -zcvf dir1.tar.gz ./dir1 ,將當前目錄下 dir1目錄全部內容
壓縮打包,包名dir1.tar.gz )
tar -zxvf ( tar -zxvf dir1.tar.gz ,解開壓縮包 )
echo "hello!" >> file1 ( 將 "hello" 添加到文件 file1後面,
當 file1 不存在就建立 file1
vi file2 ( vi 編即器新建文件 file2)
...輸入內容 welcome..
( 按 i 進入 insert 狀態 即插入模式 ,按 Esc 退出插入模式
在非插入模式下按 dd 刪除光標當前行,按 x 刪除當前字,
按 j,n,l移動光標 )
:wq ( 保存退出 ) :q! (不保存退出)
增長環境變量
[root@linux ~]# echo $PATH
[root@linux ~]# PATH="$PATH":/root
env 顯示系統的一些環境變量
set 顯示系統的全部變量
chmod:
Linux/Unix 的檔案調用權限分爲三級 : 檔案擁有者、羣組、其餘。
利用 chmod 能夠藉以控制檔案如何被他人所調用。
+ 表示增長權限、- 表示取消權限、= 表示惟一設定權限。
r 表示可讀取,w 表示可寫入,x 表示可執行,
1. 將檔案 file1.txt 設爲全部人皆可讀取 :
chmod ugo+r file1.txt 或 chmod 444 file1.txt
2. 將文件 file2 設爲屬主可讀寫執行,Group,other ,只能讀
chmod 744 file2 ( 7=> "111" ,4=>"100" 二進制 )
3. 將文件 file3 設爲屬主可讀寫執行,Group,other ,無權限操做不能讀寫執行)
chmod 700 file3 ( 7=> "111" ,0=>"000" )
其中a,b,c各爲一個數字,分別表示User、Group、及Other的權限。
r=4,w=2,x=1 若要rwx屬性則4+2+1=7; 若要rw-屬性則4+2=6;
若要r-x屬性則4+1=5
tar:
tar 調用gzip
gzip是GNU組織開發的一個壓縮程序,.gz結尾的文件就是gzip壓縮的結果。
與gzip相對的解壓程序是gunzip。tar中使用-z這個參數來調用gzip。
# tar -czf all.tar.gz *.jpg
這條命令是將全部.jpg的文件打成一個tar包,而且將其用gzip壓縮,生成一個
gzip壓縮過的包,包名爲all.tar.gz
# tar -xzf all.tar.gz 這條命令是將上面產生的包解開。
date 顯示日期的指令:
cal 顯示日曆的指令:
bc 簡單好用的計算器:
[Tab] 按鍵 (按兩次) 命令補全:
[Ctrl]-c 按鍵 中斷目前程序:
[Ctrl]-d 按鍵 (至關於輸入 exit) 鍵盤輸入結束:
info 在線求助 :
who 要看目前有誰在在線:
finger 顯示關於系統用戶的信息
netstat -a 看網絡的聯機狀態:
ntsysv 設置服務隨系統啓動時同時啓動
shutdown ,shutdown -h now 慣用的關機指令:
reboot, halt, poweroff 從新開機,關機:
--- 系統相關的命令:---
dmesg : 例如 dmesg | more 顯示系統的診斷信息,操做系統版本號,物理內及其它信息
df : 例如 df -h 顯示硬盤空間
du : 查看目錄中各級子目錄使用的硬盤空間
free: 查看系統內存,虛擬內存(交換空間)的大小佔用狀況
top: 動態實時查看系統內存,CPU,進程
hostname 查看主機名:
hostname 新主機名 修改主機名(臨時的,重啓就沒了):
man 命令:查看該命令的基礎用法
info 命令:查看該命令的基礎用法
ls -l /lib/modules/`uname -r`/kernel/fs 查看Linux 支持的檔案系統有哪些
cat /proc/filesystems 查看Linux目前已啓用的檔案系統
type 查詢某個指令是來自於外部指令(指的是其它非 bash 套件所提供的指令) 或是內建在 bash 當中的指令
[root@linux ~]# type [-tpa] name
參數:
:不加任何參數時,則 type 會顯示出那個 name 是外部指令仍是 bash 內建的指令!
-t :當加入 -t 參數時,type 會將 name 以底下這些字眼顯示出他的意義:
file :表示爲外部指令;
alias :表示該指令爲命令別名所設定的名稱;
builtin :表示該指令爲 bash 內建的指令功能;
-p :若是後面接的 name 爲指令時,會顯示完整文件名(外部指令)或顯示爲內建指令;
-a :會將由 PATH 變量定義的路徑中,將全部含有 name 的指令都列出來,包含 alias
myname=pqb 變量的設定
PATH="$PATH":/home/dmtsai/bin 變量的累加
echo $myname 變量的查看
unset myname 變量的取消
在來看看關機,關閉系統使用Shutdown命令,確保用戶和系統的資料完整。只有root用戶才能使用這個命令。
通常的用戶是不容許執行這個命令的。
咱們先看看showdown語法:
shutdown [options] when [message]
options: -r 表示重啓,-h表示系統服務停滯(halt)後,馬上關機,-f表示快速重啓
when: 爲shutdown指定時間。hh:mm:絕對時間,hh指小時,mm指分鐘;如08:30,+m:m分鐘後執行,
now=+0,也就是馬上執行
message:表示系統的廣播信息,通常提示各個用戶系統關機或重啓,要求用戶保存資料後退出。
咱們來看看幾個例子:
shutdown -h now 馬上關機
shutdown -h 21:30 今天21:30關機
shutdown -h +10 十分鐘後關機
shutdown -r now 馬上重啓
shutdown -r +10 ‘the system will reboot’ 10分鐘後重啓,管理員提示用戶系統要重啓了,便於用戶保存工
做中的資料。只有root用戶才能使用這個命令。
建立文件
建立文件是指建立一個通常的普通文件,而且這個文件爲空,咱們可使
用touch命令來創建通常文件,以下操做:
[root@Linux two]# touch 111.txt
搜索文件
咱們先來學習一下如何搜索文件,特別是剛開始學習Linux的時候,本身創建的文件不知道放在哪裏了,常有發
生。若是知道文件名,殊不知道文件在那個目錄下面了,咱們就可使用locate命令來搜索文件。看以下操做
:
[root@Linux one]# locate install.log
/root/install.log
/root/install.log.syslog
看一下,咱們一下就搜索了兩個與install.log相關的文件,他們都在/root目錄下,同時咱們感受到,使用這個命
令搜索文件的速度比較快,其實要使用這個命令,必須配合數據庫來使用,由於這個命令是從數據庫中來搜索
文件,這個數據庫的更新速度是7天更新一次。以下操做:
[root@Linux one]# touch 001.txt
[root@Linux one]# locate 001.txt
發現這個命令找不到新創建的文件,因此咱們要使用這個命令搜索文件以前,必須本身更新一下數據庫(更新數據庫須要root權限),以下
操做:
[root@Linux one]# updatedb
[root@Linux one]# locate 001.txt
/root/one/001.txt
看看,若是執行updatedb這個命令更新數據庫以後,咱們就能夠找到咱們所須要的數據。不過更新數據庫的時
間須要一段時間。
locale能看語言環境
保存語言信息的文件在/etc/sysconfig/i18n中。
/sbin/service xinetd restart|start|stop 啓動後臺服務,
/sbin/chkconfig --list |more 顯示系統服務啓動狀況,顯示了運行級別0到運行級別6的狀況.
這些服務都是靠系統腳本init啓動的。還有一些不是靠系統腳本啓動的而下面會看到一些特殊服務,他們不是
靠init 啓動的。是靠xinetd啓動的,是一個獨立的互聯網服務器的服務器是一個超級服務其,能夠啓動不少的子服
務器。
你們看到 xinetd這個服務只要他是開啓的,就能夠運行他下面的服務器,它下面的大部分都是關閉的,只
有一個是開啓的,若是咱們想開啓一個服務可使用chkconfig命令,例如咱們想開啓 rsync服務,咱們可使
用chkconfig rsync on|off 命令。
mount
在mount命令不使用任何選項和參數的時候將顯示當前linux系統中以掛載的文件系統信息。
mount Cttype dev dir
光盤文件系統類型是:iso9660;dev表示須要掛載文件系統的設備名稱,光盤驅動器的設備名稱是/dev/cdrom; dir表示掛載點,即掛載到的文件目錄路徑。
首先介紹光盤的掛載方法:
mount -t iso9660 /dev/cdrom /media/cdrom
列出系統中全部存儲設備
fdisk -l命令
使用「vfat」文件系統類型表示全部的fat文件系統類型,包括fat16和fat32,ntfs仍是使用ntfs表示。
u盤的掛載方法
mount -t vfat /dev/sdb1 /mnt/
mount -t ntfs /dev/sdb1 /mnt/
umount命令用於卸載已經掛載的文件系統,基本格式如:umount dir device
對於光盤文件系統的卸載可使用,如下兩條命令中的任意一條
umount /dev/cdrom
umount /media/cdrom
u盤的卸載
umount /dev/sdb1
eject命令
eject 彈出光盤命令
eject -t 光盤驅動器自動回收
cut
使用權限:全部使用者
用法:cut -cnum1-num2 filename
說明:顯示每行從開頭算起 num1 到 num2 的文字。
範例:
shell>> cat example
test2
this is test1
shell>> cut -c0-6 example 開頭算起前 6 個字元
test2
this i
指令名稱:ln
使用權限:全部使用者
使用方式:ln [options] source dist,其中 option 的格式爲:
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[--help] [--version] [--]
說明:Linux/Unix 檔案系統中,有所謂的連結(link),咱們能夠將其視爲檔案的別名,而連結又可分爲兩種:硬連結(hard link)與軟連結(symbolic link),硬連結的意思是一個檔案能夠有多個名稱,而軟連結的方式則是產生一個特殊的檔案,該檔案的內容是指向另外一個檔案的位置。硬連結是存在同一個檔案系統中,而軟連結卻能夠跨越不一樣的檔案系統。
ln source dist 是產生一個連結(dist)到 source,至於使用硬連結或軟鏈結則由參數決定。
不管是硬連結或軟鏈結都不會將本來的檔案複製一份,只會佔用很是少許的磁碟空間。
-f:鏈結時先將與 dist 同檔名的檔案刪除-d:容許系統管理者硬鏈結本身的目錄-i:在刪除與 dist 同檔名的檔案時先進行詢問-n:在進行軟連結時,將 dist 視爲通常的檔案-s:進行軟鏈結(symbolic link)-v:在連結以前顯示其檔名-b:將在鏈結時會被覆寫或刪除的檔案進行備份-S SUFFIX:將備份的檔案都加上 SUFFIX 的字尾-V METHOD:指定備份的方式--help:顯示輔助說明--version:顯示版本
範例:
將檔案 yy 產生一個 symbolic link:zz
ln -s yy zz
將檔案 yy 產生一個 hard link:zz
ln yy xx
名稱:at
使用權限:全部使用者
使用方式:at -V [-q queue] [-f file] [-mldbv] TIME
說明:at 可讓使用者指定在 TIME 這個特定時刻執行某個程式或指令,TIME 的格式是 HH:MM其中的 HH 爲小時,MM 爲分鐘,甚至你也能夠指定 am, pm, midnight, noon, teatime(就是下午 4 點鍾)等口語詞。
若是想要指定超過一天內的時間,則能夠用 MMDDYY 或者 MM/DD/YY 的格式,其中 MM 是分鐘,DD 是第幾日,YY 是指年份。另外,使用者甚至也可使用像是 now + 時間間隔來彈性指定時間,其中的時間間隔能夠是 minutes, hours, days, weeks
另外,使用者也可指定 today 或 tomorrow 來表示今天或明天。當指定了時間並按下 enter 以後,at 會進入交談模式並要求輸入指令或程式,當你輸入完後按下 ctrl+D 便可完成全部動做,至於執行的結果將會寄回你的賬號中。
把計:
-V:印出版本編號
-q:使用指定的佇列(Queue)來儲存,at 的資料是存放在所謂的 queue 中,使用者能夠同時使用多個 queue,而 queue 的編號爲 a, b, c... z 以及 A, B, ... Z 共 52 個
-m:即便程式/指令執行完成後沒有輸出結果, 也要寄封信給使用者
-f file:讀入預先寫好的命令檔。使用者不必定要使用交談模式來輸入,能夠先將全部的指定先寫入檔案後再一次讀入
-l:列出全部的指定 (使用者也能夠直接使用 atq 而不用 at -l)
-d:刪除指定 (使用者也能夠直接使用 atrm 而不用 at -d)
-v:列出全部已經完成但還沒有刪除的指定
例子:
三天後的下午 5 點鍾執行 /bin/ls:
at 5pm + 3 days /bin/ls
三個星期後的下午 5 點鍾執行 /bin/ls:
at 5pm + 2 weeks /bin/ls
明天的 17:20 執行 /bin/date:
at 17:20 tomorrow /bin/date
1999 年的最後一天的最後一分鐘印出 the end of world !
at 23:59 12/31/1999 echo the end of world !
名稱:cal
使用權限:全部使用者
使用方式:cal [-mjy] [month [year]]
說明:
顯示日曆。若只有一個參數,則表明年份(1-9999),顯示該年的年曆。年份必須所有寫出:``cal 89\ 將不會是顯示 1989 年的年曆。使用兩個參數,則表示月份及年份。若沒有參數則顯示這個月的月曆。
1752 年 9 月第 3 日起改用西洋新曆,因這時大部份的國家都採用新曆,有 10 天被去除,因此該月份的月曆有些不一樣。在此以前爲西洋舊曆。
匡兜:
-m:以星期一爲每週的第一天方式顯示。
-j:以凱撒歷顯示,即以一月一日起的天數顯示。
-y:顯示今年年曆。
範例:
cal:顯示本月的月曆。
[root@mylinux /root]# date
Tue Aug 15 08:00:18 CST 2000
[root@mylinux /root]# cal
...
cal 2001:顯示公元 2001 年年曆。
[root@mylinux /root]# cal 2001
...
cal 5 2001:顯示公元 2001 年 5 月月曆。
[root@mylinux /root]# cal 5 2001
名稱:crontab
使用權限:全部使用者
使用方式:
crontab [ -u user ] filecrontab [ -u user ] { -l | -r | -e }
說明:
crontab 是用來讓使用者在固定時間或固定間隔執行程式之用,換句話說,也就是相似使用者的時程表。-u user 是指設定指定 user 的時程表,這個前提是你必需要有其權限(好比說是 root)纔可以指定他人的時程表。若是不使用 -u user 的話,就是表示設定本身的時程表。
參數:
-e:執行文字編輯器來設定時程表,內定的文字編輯器是 VI,若是你想用別的文字編輯器,則請先設定 VISUAL 環境變數來指定使用那個文字編輯器(好比說 setenv VISUAL joe)
-r:刪除目前的時程表
-l:列出目前的時程表
時程表的格式以下:
f1 f2 f3 f4 f5 program
其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執行的程式。
當 f1 爲 * 時表示每分鐘都要執行 program,f2 爲 * 時表示每小時都要執行程式,其他類推
當 f1 爲 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內要執行,f2 爲 a-b 時表示從第 a 到第 b 小時都要執行,其他類推
當 f1 爲 */n 時表示每 n 分鐘個時間間隔執行一次,f2 爲 */n 表示每 n 小時個時間間隔執行一次,其他類推
當 f1 爲 a, b, c,... 時表示第 a, b, c,... 分鐘要執行,f2 爲 a, b, c,... 時表示第 a, b, c...個小時要執行,其他類推
使用者也能夠將全部的設定先存放在檔案 file 中,用 crontab file 的方式來設定時程表。
例子:
每個月天天每小時的第 0 分鐘執行一次 /bin/ls:
0 7 * * * /bin/ls
在 12 月內, 天天的早上 6 點到 12 點中,每隔 20 分鐘執行一次 /usr/bin/backup:
0 6-12/3 * 12 * /usr/bin/backup
週一到週五天天下午 5:00 寄一封信給 alex@domain.name:
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
每個月天天的午夜 0 點 20 分, 2 點 20 分, 4 點 20 分....執行 echo "haha"
20 0-23/2 * * * echo "haha"
注意:
當程式在你所指定的時間執行後,系統會寄一封信給你,顯示該程式執行的內容,如果你不但願收到這樣的信,請在每一行空一格以後加上 > /dev/null 2>&1 便可。
名稱:sleep
使用權限:全部使用者
使用方式:sleep [--help] [--version] number[smhd]
說明:sleep 能夠用來將目前動做延遲一段時間
參數說明:
--help:顯示輔助訊息
--version:顯示版本編號
number:時間長度,後面可接 s,m,h 或 d
其中 s 爲秒,m 爲 分鐘,h 爲小時,d 爲日數
例子:
顯示目前時間後延遲 1 分鐘,以後再次顯示時間:
date;sleep 1m;date
名稱: finger
使用權限: 全部使用者
使用方式: finger [options] user[@address]
說明:finger 可讓使用者查詢一些其餘使用者的資料。
範例:下列指令能夠查詢本機管理員的資料:
finger root
名稱:last
使用權限:全部使用者
使用方式:shell>> last [options]
說明:顯示系統開機以來獲是從每個月初登入者的訊息
把計:
-R 省略 hostname 的欄位
-num 展現前 num 個
username 展現 username 的登入訊息
tty 限制登入訊息包含終端機代號
範例:
shell>> last -R -2
名稱:write
使用權限:全部使用者
使用方式:
write user [ttyname]
說明:傳訊息給其餘使用者
把計:
user:預備傳訊息的使用者賬號
ttyname:若是使用者同時有兩個以上的 tty 連線,能夠自行選擇合適的 tty 傳訊息
例子.1:
傳訊息給 Rollaend,此時 Rollaend 只有一個連線:
write Rollaend
接下來就是將訊息打上去,結束請按 ctrl+c
例子.2 :傳訊息給 Rollaend,Rollaend 的連線有 pts/2,pts/3:
write Rollaend pts/2
接下來就是將訊息打上去,結束請按 ctrl+c
注意:若對方設定 mesg n,則此時訊席將沒法傳給對方
名稱:expr
使用權限:全部使用者
### 字串長度
shell>> expr length "this is a test"
14
### 數字商數
shell>> expr 14 % 9
5
### 從位置處抓取字串
shell>> expr substr "this is a test" 3 5
is is
### 數字串 only the first character
shell>> expr index "testforthegame" e
2
### 字串真實重現
shell>> expr quote thisisatestformela
thisisatestformela
指令:clear
用途:清除螢幕用。
使用方法:在 console 上輸入 clear。 node