歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

linux常用命令之各個參數

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 寄一封信給 [email protected]:
  0 17 * * 1-5 mail -s "hi" [email protected] < /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
Copyright © Linux教程網 All Rights Reserved