当前位置:Linux教程 - Linux资讯 - Linux学习手册

Linux学习手册

一、Linux命令
名称: cd
使用权限: 所有使用者
使用方式: cd [dirName]
说明: 变换工作目录至dirName。其中dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home Directory (也就是刚login 时所在的目录)。
另外,"~" 也表示为home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。
范例: 跳到/usr/bin/ :
cd /usr/bin
跳到自己的home directory :
cd ..
跳到目前目录的上上两层:
cd ../
指令名称: chmod
使用权限: 所有使用者
使用方式: chmod [-cfvR] [--help] [--version] mode file...
说明: Linux/Unix 的档案存取权限分为三级: 档案拥有者﹑群组﹑其它。利用chmod 可以藉以控制档案如何被他人所存取。
参数:
mode : 权限设定字符串﹐格式如下: [ugoa...][[+-=][rwxX]...][,...],其中
u 表示该档案的拥有者﹐g 表示与该档案的拥有者属于同一个群体(group)者﹐o 表示其它以外的人﹐a 表示这三者皆是。+ 表示增加权限﹑- 表示取消权限﹑= 表示唯一设定权限。r 表示可读取﹐w 表示可写入﹐x 表示可执行﹐X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改﹐才显示其更改动作-f : 若该档案权限无法被更改也不要显示错误讯息-v : 显示权限变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递归的方式逐个变更) --help : 显示辅助说明--version : 显示版本
范例:将档案file1.txt 设为所有人皆可读取:
chmod ugo+r file1.txt
将档案file1.txt 设为所有人皆可读取:

chmod a+r file1.txt
将档案file1.txt 与file2.txt 设为该档案拥有者,与其所属同一个群体者可写入﹐但其它以外的人则不可写入:
chmod ug+w,o-w file1.txt file2.txt
将ex1.py 设定为只有该档案拥有者可以执行:
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取:
chmod -R a+r *
此外chmod也可以用数字来表示权限如chmod 777 file
语法为:chmod abc file
其中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=7。
范例:
chmod a=rwx file

chmod 777 file
效果相同
chmod ug=rwx,o=x file

chmod 771 file
名称:locate 使用权限:所有使用者使用方式: locate [-q] [-d <path>] [--database=< path>] <search string> locate [-r <regeXP>] [--regexp=< regexp>] locate [-qv] [-o <file>] [--output=<file>] locate [-e <dir1,dir2,...>] [-f <fstype1,...>] <[-l <level>] [-c] <[-U ] [-u]> locate [-Vh] [--version] [--help] 说明:
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有文件名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。
在一般的distribution 之中,数据库的建立都被放在contab 中自动执行。一般使用者在使用时只要用

# locate your_file_name
的型式就可以了。参数:
-u -U <dir> 建立数据库,-u 会由根目录开始,-U 则可以指定开始的位置。
-e <dir> 将<dir> 排除在寻找的范围之外。
-l <level> 如果<level> 是1.则激活安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为locate 必须至实际的档案系统中取得档案的权限资料。
-f <filetype> 将特定的档案系统排除在外,例如我们没有到理要把proc 档案系统中的档案放在数据库中。
-q 安静模式,不会显示任何错误讯息。
-n <num> 至多显示<num> 个输出。
-r <reg> 使用正规表达式<reg> 做寻找的条件。
-o <file> 指定数据库存的名称。
-d <dir> 指定数据库的路径
-h 显示辅助讯息
-v 显示更多的讯息
-V 显示程序的版本讯息范例:
locate chdrv : 寻找所有叫chdrv 的档案locate -n 100 a.out : 寻找所有叫a.out 的档案,但最多只显示100 个locate -u : 建立数据库

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] 下一页 

名称: sync 使用权限: 系统管理者使用方式: sync 说明: Linux 系统中欲写入硬盘的资料有的时候会了效率起见,会写到 filesystem buffer 中,这个buffer 是一块内存空间,如果欲写入硬盘的资料存于此buffer 中,而系统又突然断电的话,那么资料就会流失了,sync 指令会将存于buffer 中的资料强制写入硬盘中。

名称:adduser 使用权限:系统管理员使用方式:adduser [-c comment] [-d home_dir] [-e expire_date] [-f inactive_time] [-g initial_group] [-G group[,...]] [-m [-k skeleton_dir] -M] [-p passwd] [-s shell] [-u uid [ -o]] [-n] [-r] loginid 或adduser -D [- g default_group] [-b default_home] [-f default_inactive] [-e default_expire_date] [-s default_shell] 附注:adduser 与useradd 指令为同一指令(经由符号连结symbolic link) 说明:新增使用者帐号或更新预设的使用者资料参数: -c comment 新使用者位于密码文件(通常是/etc/passwd)的批注资料- d home_dir 设定使用者的家目录为home_dir ,默认值为预设的home 后面加上使用者帐号loginid - e expire_date 设定此帐号的使用期限(格式为YYYY-MM-DD),默认值为永久有效-f inactive_time 范例:
adduser是增加使用者,相对的,也有删除使用者的指令,userdel
语法:userdel [login ID]
名称:su 使用权限:所有使用者使用方式:su [-fmp] [-c command] [-s shell] [--help] [-- version] [-] [USER [ARG]] 说明:变更为其它使用者的身份,除root 外,需要键入该使用者的密码参数: -f 或-- fast 不必读激活档(如csh.cshrc 等),仅用于csh 或tcsh -m -p 或--preserve-environment 执行 su 时不改变环境变量-c command 或--command=command 变更为帐号为USER 的使用者并执行指令(command)后再变回原来使用者-s shell 或--shell=shell 指定要执行的shell (bash csh tcsh 等),默认值为 /etc/passwd 内的该使用者(USER) shell --help 显示说明文件--version 显示版本信息- -l 或-- login 这个参数加了之后,就好象是重新login 为该使用者一样,大部份环境变量(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定USER ,内定是root USER 欲变更的使用者帐号

ARG 传入新的 shell 参数范例: su -c ls root 变更帐号为root 并在执行ls 指令后退出变回原使用者。su root -f 变更帐号为 root 并传入-f 参数给新执行的shell。su - clsung 变更帐号为clsung 并改变工作目录至clsung 的家目录(home dir)。
名称:sudo 使用权限:在/etc/sudoers 中有出现的使用者使用方式:sudo -V sudo - h sudo -l sudo -v sudo -k sudo -s sudo -H sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s sudo command 说明:以系统管理者的身份执行指令,也就是说,经由sudo 所执行的指令就好象是root 亲自执行参数: -V 显示版本编号-h 会显示版本编号及指令的使用方式说明-l 显示出自己(执行sudo 的使用者)的权限-v 因为sudo 在第一次执行时或是在N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过N 分钟,也会问密码-k 将会强迫使用者在下一次执行sudo 时问密码(不论有没有超过N 分钟) -b 将要执行的指令放在背景执行-p prompt 可以更改问密码的提示语,其中%u 会代换为使用者的帐号名称, % h 会显示主机名称-u username/#uid 不加此参数,代表要以root 的身份执行指令,而加了此参数,可以以username 的身份执行指令(#uid 为该username 的使用者号码) -s 执行环境变量中的SHELL 所指定的shell ,或是/etc/passwd 里所指定的shell -H 将环境变量中的HOME (家目录)指定为要变更身份的使用者家目录(如不加-u 参数就是系统管理者root ) command 要以系统管理者身份(或以-u 更改为其它人)执行的指令范例: sudo -l 列出目前的权限sudo -V 列出sudo 的版本信息

名称:init 使用权限:开机时使用方式:init [0123456Ss] 说明:init 是所有行程(process)的父行程(parent),开机时一定会先从这个指令开始(可以用ps -aux 看看第一个行程就是init),并参考/etc/inittab 档来完成整个开机程序,共有八个执行层级(runlevel),而改变只能透过telinit 的指令来更改参数: 0 开机执行层级为0 ,用来关闭系统 1 开机执行层级为1 ,用来进行单一使用者模式(single user mode) 4 开机执行层级为4 ,表示进入X window 时的模式 6 开机执行层级为6 ,用来重新开机S 或s 不是直接使用的,配合开机执行层级1 时使用,当加上S 或s 表示开机后不参考 /etc/inittab 檔235 请参照/etc/inittab 档案内容以及/etc/rc.d/rc2.d,/etc/rc.d/rc3.d, /etc/rc.d/rc5.d 等目录范例: 由于这并不是让使用者可以单独下指令的执行文件,请参照/etc/inittab
名称: reboot 使用权限:系统管理者使用方式:reboot [-n] [-w] [-d] [-f] [-i] 说明:若系统的runlevel 为 0 或6 ,则重新开机,否则以shutdown 指令(加上-r 参数)来取代参数: -n : 在重开机前不做将内存资料写回硬盘的动作-w : 并不会真的重开机,只是把记录写到/var/log/wtmp 档案里-d : 不把记录写到/var/log/wtmp 档案里(-n 这个参数包含了- d) -f : 强迫重开机,不呼叫shutdown 这个指令-i : 在重开机之前先把所有网络相关的装置先停止范例: reboot 重开机。 reboot -w 做个重开机的仿真(只有纪录并不会真的重开机)。

上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] 下一页 

名称:halt 使用权限:系统管理者使用方式:halt [-n] [-w] [-d] [-f] [-i] [-p] 说明:若系统的runlevel 为0 或6 ,则关闭系统,否则以shutdown 指令(加上-h 参数)来取代参数:

-n : 在关机前不做将内存资料写回硬盘的动作-w : 并不会真的关机,只是把记录写到/var/log/wtmp 档案里-d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了-d) -f : 强迫关机,不呼叫shutdown 这个指令-i : 在关机之前先把所有网络相关的装置先停止-p : 当关机的时候,顺便做关闭电源(poweroff)的动作范例: halt -p 关闭系统后关闭电源。halt -d 关闭系统,但不留下纪录。
名称: shutdown
使用权限: 系统管理者
使用方式: shutdown [-t seconds] [-rkhncfF] time [message]
说明: shutdown 可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。
参数:
-t seconds : 设定在几秒钟之后进行关机程序-k : 并不会真的关机,只是将警告讯息传送给所有只用者-r : 关机后重新开机-h : 关机后停机-n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机-c : 取消目前已经进行中的关机动作-f : 关机时,不做fcsk 动作(检查 Linux 文件系统) -F : 关机时,强迫进行fsck 动作time : 设定关机的时间message : 传送给所有使用者的警告讯息
名称:mattrib 使用权限:所有使用者使用方式: mattrib [-a+a] [-h+h] [-r+r] [-s+s] [-/] [-X] msdosfile [ msdosfiles ... ]说明:本程序可用来修改MS_DOS 档案的属性。参数: -a/+a 除去/设定备份属性。-h/+h 除去/设定隐藏属性。-r/+r 除去/设定只读属性。-s/+s 除去/设定系统属性。-/ 递归的处理包含所有子目录下的档案。-X 以较短的格式输出结果。

范例: mattrib a: 列出A 槽MSDOS 格式磁盘上所有档案的属性。mattrib -h -s -r a:msdos.sys 除去A 槽磁盘上msdos.sys 档案的隐藏、系统与只读属性。mattrib -r -/ a: *.* 除去A 槽磁盘上包含子目录下所有档案的只读属性。
名称:mcopy 使用权限:所有使用者使用方式: mcopy [- b/ptnvmoQOsSrRA] sourcefile targetfile mcopy [-b/ptnvmoQOsSrRA] sourcefile [ sourcefiles... ] targetdirectory mcopy [-tnvm] MSDOSsourcefile 说明: 本程序可用来复制MSDOS 格式档案到Linux 中,或是由Linux 中复制MSDOS 档案到磁盘上。mcopy 可复制单一的档案到所指定的文件名称,或是复制数个档案到所指定的目录之中。来源与目的档案可为MSDOS 或是Linux 档案。参数: b 批次模式.这是为大量的档案复制进行最佳化的选项,但是当在复制档案过程中产生crash 时,会有安全性的问题产生。/ 递归的复制。包含目录所含档案与其下所有子目录中的档案。p 维持档案原来的属性。Q 当复制多个档案产生错误时,尽快结束程序。t 复制纯文本文件。将carriage return/line feeds 转换成 line feeds 字符。n 在覆盖Linux 档案时不会出现警示讯息。o 在覆盖MSDOS 档案时不会出现警示讯息。m 维持档案原来的修改时间。当目的档案已存在,且使用-n 选项时,mcopy 会询问是否要覆盖或是另存新档。范例: mcopy a:autoexec.bat . 将 A 槽磁盘根目录中的autoexec.bat 复制到目前工作目录之下。
指令名称: 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
名称:mdel 使用权限:所有使用者使用方式: mdel [-v] msdosfile [ msdosfiles ... ] 说明: 本程序可用来删除MSDOS 格式的档案。在删除只读文件之前会先有提示讯息产生。参数: -v 显示更多的讯息。范例: mdel a: autoexec.bat . 将A 槽磁盘根目录中的autoexec.bat 删除。
名称:mdeltree 使用权限:所有使用者使用方式: mdeltree [-v] msdosdirectory [msdosdirectories...] 说明: 本程序可用来删除MSDOS 格式档案及目录。mdeltree 会将所指定的目录与目录之下的所有档案与目录都删除掉。如果所指定的档案或目录不存在,则会传回错误讯息。

参数: -v 显示更多的讯息。范例: mcopy a:msdosdir . 将A 槽磁盘根目录中的msdosdir 目录以下的档案与目录都删除掉。

上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] 下一页 

名称:mlabel 使用权限:所有使用者使用方式: mlabel [-vcs] drive:[new_label] 说明: 本程序可设定磁盘的卷标 (Label)。如果磁盘上设定过卷标,mlabel 会将他显示给使用者。如果没有指定新卷标并且没有指定c 或s 选项,mlabel 会提示使用者输入新的卷标。如果直接按下Enter ,就会将原本的卷标删除。参数: -v 更多的讯息。-c 清除原有的卷标,不出现提示讯息。-s 显示目前的卷标,不出现提示讯息。范例: mlabel a:newlabel。将A 槽磁盘的卷标更改为newlabel。
名称:mcd 使用权限:所有使用者使用方式: mcd [msdosdirectory] 说明:可变更mtools 系列指令目前在MSDOS 磁盘上的工作目录。与MSDOS 的CD 指令不同,mcd 亦可变更工作磁盘。参数: 没有参数时会传回目前的工作目录。范例: mcd a: emp 变更目前工作目录到a: temp 中。mcd 传回目前工作目录。

名称: mkdir
使用权限:于目前目录有适当权限的所有使用者
使用方式:mkdir [-p] dirName
说明:建立名称为dirName 之子目录。
参数:-p 确保目录名称存在,不存在的就建一个。
范例:
在工作目录下,建立一个名为AAA 的子目录:
mkdir AAA
在工作目录下的BBB 目录中,建立一个名为Test 的子目录。若BBB 目录原本不存在,则建立一个。(注:本例若不加-p,且原本BBB目录不存在,则产生错误。)
mkdir -p BBB/Test
名称:more 使用权限:所有使用者使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..] 说明:类似cat ,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空格键(space)就往下一页显示,按b 键就会往回(back)一页显示,而且还有搜寻字符串的功能(与vi 相似),使用中的说明文件,请按h 。参数:-num 一次显示的行数- d 提示使用者,在画面下方显示[Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instrUCtions.] 而不是'哔' 声-l 取消遇见特殊字符^L(走纸字符)时会暂停的功能-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) -p 不以卷动的方式显示每一页,而是先清除屏幕后再显示内容-c 跟-p 相似,不同的是先显示内容再清除其它旧资料-s 当遇到有连续两行以上的空白行,就代换为一行的空白行-u 不显示下引号(根据环境变量TERM 指定的terminal 而有所不同) +/ 在每个档案显示前搜寻该字符串(pattern),然后从该字符串之后开始显示+num 从第 num 行开始显示fileNames 欲显示内容的档案,可为复数个数范例: more -s testfile 逐页显示testfile 之档案内容,如有连续两行以上空白行则以一行空白行显示。more +20 testfile 从第20 行开始显示testfile 之档案内容。
名称:mv
使用权限:所有使用者
使用方式:

mv [options] source dest mv [options] source... directory
说明:将一个档案移至另一档案,或将数个档案移至另一目录。
参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。
范例:
将档案aaa 更名为bbb :
mv aaa bbb
将所有的C语言程序移至Finished 子目录中:
mv -i *.c
名称:rm
使用权限:所有使用者
使用方式:rm [options] name...
说明:删除档案及目录。
参数:
-i 删除前逐一询问确认。-f 即使原档案属性设为只读,亦直接删除,无需逐一确认。-r 将目录及以下之档案亦逐一删除。
范例:
删除所有C语言程序文件;删除前逐一询问确认:
rm -i *.c
将Finished 子目录及子目录中所有档案删除:
rm -r Finished
名称:rmdir
使用权限:于目前目录有适当权限的所有使用者
使用方式: rmdir [-p] dirName
说明: 删除空的目录。
参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
范例:
将工作目录下,名为AAA 的子目录删除:
rmdir AAA
在工作目录下的BBB 目录中,删除名为Test 的子目录。若Test 删除后,BBB 目录成为空目录,则BBB 亦予删除。
rmdir -p BBB/Test
名称:split
使用权限:所有使用者
使用方式:split [OPTION] [INPUT [PREFIX]]

说明:
将一个档案分割成数个。而从INPUT 分割输出成固定大小的档案,其档名依序为PREFIXaa, PREFIXab...;PREFIX 默认值为`x'。若没有INPUT 档或为`-',则从标准输入读进资料。
选项:
-b, --bytes=SIZE
SIZE 值为每一输出档案的大小,单位为byte。
-C, --line-bytes=SIZE
每一输出档中,单行的最大byte 数。
-l, --lines=NUMBER
NUMBER 值为每一输出档的列数大小。
-NUMBER
与-l NUMBER 相同。
--verbose
于每个输出档被开启前,打印出侦错信息到标准错误输出。
--help
显示辅助信息然后离开。
--version
列出版本信息然后离开。
SIZE 可加入单位: b 代表512, k 代表1K, m 代表1 Meg。
范例:
PostgresSQL 大型数据库备份与回存:
因Postgres 允许表格大过你系统档案的最大容量,所以要将表格dump 到单一的档案可能会有问题,使用split 来进行档案分割。

上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] 下一页 

% pg_dump dbname split -b 1m - filename.dump.
重新加载
% createdb dbname % cat filename.dump.* pgsql dbname
名称:touch
使用权限:所有使用者
使用方式: touch [-acfm] [-r reference-file] [--file=reference-file] [- t MMDDhhmm[[CC]YY][.ss]] [-d time] [--date=time] [--time={atime,Access,use,mtime,modify}] [--no-create] [--help] [--version] file1 [file2 ...]

说明: touch 指令改变档案的时间记录。ls -l 可以显示档案的时间记录。
参数: a 改变档案的读取时间记录。m 改变档案的修改时间记录。c 假如目的档案不存在﹐不会建立新的档案。与--no-create 的效果一样。 f 不使用﹐是为了与其它unix 系统的兼容性而保留。r 使用参考文件的时间记录﹐与--file 的效果一样。d 设定时间与日期﹐可以使用各种不同的格式。t 设定档案的时间记录﹐格式与date 指令相同。--no-create 不会建立新档案。--help 列出指令格式。-- version 列出版本讯息。
范例:
最简单的使用方式﹐将档案的时候记录改为现在的时间。若档案不存在﹐系统会建立一个新的档案。
touch file touch file1 file2
将file 的时间记录改为5 月6 日18 点3 分﹐公元两千年。时间的格式可以参考date 指令﹐至少需输入MMDDHHmm ﹐就是月日时与分。
touch -c -t 05061803 file touch -c -t 050618032000 file
将file 的时间记录改变成与referencefile 一样。
touch -r referencefile file
将file 的时间记录改成5 月6 日18 点3 分﹐公元两千年。时间可以使用am, pm 或是24 小时的格式﹐日期可以使用其它格式如6 May 2000 。
touch -d "6:03pm" file touch -d "05/06/2000" file touch -d "6:03pm 05/06/2000" file
touch 也可以制造一个空档(0 byte),例如DHCP Server 所需要的/etc.dbcpd.leases,dhcpd必须要有这个档案才能运作正常。[root@/root]#touch /etc/dhcpd.leases [root@/root] #ls –l /etc/dhcpd.less -rw-r—r—l root root 0 Jul 3 05:50 /etc/dhcpd.leases
名称: 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 :
t 5pm + 2 weeks /bin/ls
明天的17:20 执行/bin/date :
at 17:20 tomorrow /bin/date
1999 年的最后一天的最后一分钟印出the end of world !
名称:cat 使用权限:所有使用者使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 说明:把档案串连接后传到基本输出(屏幕或加> fileName 到另一个档案) 参数: -n 或--number 由1 开始对所有输出的行数编号 -b 或--number-nonblank 和-n 相似,只不过对于空白行不编号-s 或--squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行-v 或--show-nonprinting 范例: cat -n textfile1 > textfile2 把textfile1 的档案内容加上行号后输入textfile2 这个档案里cat -b textfile1 textfile2 > > textfile3 把textfile1 和textfile2 的档案内容加上行号(空白行不加)之后将内容附加到textfile3 里。

范例:
把textfile1 的档案内容加上行号后输入textfile2这个档案里
cat –n textfile1 > textfile2
把textfile1 和textfile2 的档案内容加上行号(空白行不加)之后将内容附加到textfile3 里

上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] 下一页 

cat –b textfile1 textfile2 >>textfile3
名称: crontab
使用权限: 所有使用者
使用方式:
crontab [ -u user ] file
crontab [ -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
使用权限: 所有使用者
使用方式:
date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
说明:
date 可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下:
时间方面:
% : 印出% %n : 下一行%t : 跳格%H : 小时(00..23) %I : 小时(01..12) %k : 小时(0..23) %l : 小时(1..12) %M : 分钟(00..59) %p : 显示本地AM 或PM %r : 直接显示时间(12 小时制,格式为hh:mm: ss [AP]M) %s : 从1970 年1 月1 日00:00:00 UTC 到目前为止的秒数

%S : 秒(00..61) %T : 直接显示时间(24 小时制) %X : 相当于%H:%M:%S %Z : 显示时区
日期方面:
%a : 星期几(Sun..Sat) %A : 星期几(Sunday..Saturday) %b : 月份(Jan..Dec) %B : 月份 (January..December) %c : 直接显示日期与时间%d : 日(01..31) %D : 直接显示日期(mm/dd/yy) % h : 同%b %j : 一年中的第几天(001..366) %m : 月份(01..12) %U : 一年中的第几周(00..53) (以 Sunday 为一周的第一天的情形) %w : 一周中的第几天(0..6) %W : 一年中的第几周(00..53) (以Monday 为一周的第一天的情形) %x : 直接显示日期(mm/dd/yy) %y : 年份的最后两位数字(00.99) %Y : 完整年份(0000.. 9999)
若是不以加号作为开头,则表示要设定时间,而时间格式为MMDDhhmm[[CC]YY][.ss],其中MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数
参数:
-d datestr : 显示datestr 中所设定的时间(非系统时间) --help : 显示辅助讯息-s datestr : 将系统时间设为datestr 中所设定的时间-u : 显示目前的格林威治时间--version : 显示版本编号
例子:
显示时间后跳行,再显示目前日期:
date '+%T%n%D'
显示月份与日数:
date '+%B %d'
显示日期与设定时间(12:34:56) :
date --date '12:34:56'
注意:

当你不希望出现无意义的0 时(比如说1999/03/07),则可以在标记中插入- 符号,比如说date '+%-H:%-M:%-S' 会把时分秒中无意义的0 给去掉,像是原本的08:09:04 会变为8:9:4。另外,只有取得权限者(比如说root)才能设定系统时间。

上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] 下一页 

当你以root 身分更改了系统时间之后﹐请记得以clock -w 来将系统时间写入CMOS 中﹐这样下次重新开机时系统时间才会持续抱持最新的正确值。
名称: time
使用权限: 所有使用者
使用方式: time [options] COMMAND [arguments]
说明: time 指令的用途,在于量测特定指令执行时所需消耗的时间及系统资源等信息。例如CPU 时间、内存、输入输出等等。需要特别注意的是,部分信息在Linux 上显示不出来。这是因为在Linux 上部分资源的分配函式与time 指令所预设的方式并不相同,以致于time 指令无法取得这些数据。
参数:
-o or --output=FILE 设定结果输出档。这个选项会将time 的输出写入所指定的档案中。如果档案已经存在,系统将覆写其内容。
-a or --append 配合-o 使用,会将结果写到档案的末端,而不会覆盖掉原来的内容。
-f FORMAT or --format=FORMAT 以FORMAT 字符串设定显示方式。当这个选项没有被设定的时候,会用系统预设的格式。不过你可以用环境变量time 来设定这个格式,如此一来就不必每次登入系统都要设定一次。一般设定上,你可以用
' '
表示跳栏,或者是用
'
'
表示换行。每一项资料要用% 做为前导。如果要在字符串中使用百分比符号,就用。(学过C 语言的人大概会觉得很熟悉) time 指令可以显示的资源有四大项,分别是: Time resources Memory resources IO resources Command info 详细的内容如下:
o Time Resources
E 执行指令所花费的时间,格式是:[hour]:minute:second。请注意这个数字并不代表实际的CPU 时间。

e 执行指令所花费的时间,单位是秒。请注意这个数字并不代表实际的CPU 时间。
S 指令执行时在核心模式(kernel mode)所花费的时间,单位是秒。
U 指令执行时在使用者模式(user mode)所花费的时间,单位是秒。
P 执行指令时CPU 的占用比例。其实这个数字就是核心模式加上使用者模式的CPU 时间除以总时间。
o Memory Resources
M 执行时所占用的物理内存的最大值。单位是KB
t 执行时所占用的物理内存的平均值,单位是KB
K 执行程序所占用的内存总量(stack+data+text)的平均大小,单位是KB
D 执行程序的自有资料区(unshared data area)的平均大小,单位是KB
p 执行程序的自有堆栈(unshared stack)的平均大小,单位是KB
X 执行程序间共享内容(shared text)的平均值,单位是KB
Z 系统内存页的大小,单位是byte。对同一个系统来说这是个常数
o IO Resources
F 此程序的主要内存页错误发生次数。所谓的主要内存页错误是指某一内存页已经置换到置换档(swap file)中,而且已经分配给其它程序。此时该页的内容必须从置换档里再读出来。
R 此程序的次要内存页错误发生次数。所谓的次要内存页错误是指某一内存页虽然已经置换到置换档中,但尚未分配给其它程序。此时该页的内容并未被破坏,不必从置换档里读出来
W 此程序被交换到置换档的次数
c 此程序被强迫中断(像是分配到的CPU 时间耗尽)的次数
w 此程序自愿中断(像是在等待某一个I/O 执行完毕,像是磁盘读取等等)的次数
I 此程序所输入的档案数
O 此程序所输出的档案数
r 此程序所收到的Socket Message
s 此程序所送出的Socket Message
k 此程序所收到的信号( Signal 数量
o Command Info
C 执行时的参数以及指令名称
x 指令的结束代码( Exit Status

-p or --portability 这个选项会自动把显示格式设定成为: real %e user %U sys %S 这么做的目的是为了与POSIX 规格兼容。
-v or --verbose 这个选项会把所有程序中用到的资源通通列出来,不但如一般英文语句,还有说明。对不想花时间去熟习格式设定或是刚刚开始接触这个指令的人相当有用。

范例:
利用下面的指令
time -v ps -aux
我们可以获得执行ps -aux 的结果和所花费的系统资源。如下面所列的资料:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd] root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod] ...... root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux Command being timed: "ps -aux" User time (seconds): 0.05 System time (seconds): 0.06 Percent of CPU this job got: 68% Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.16 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 0 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 238 Minor (reclaiming a frame) page faults: 46 Voluntary context switches: 0 Involuntary context switches: 0 Swaps: 0 File system inputs: 0 File system outputs: 0

Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0

上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] 下一页 

名称: uptime 使用权限: 所有使用者使用方式: uptime [-V] 说明: uptime 提供使用者下面的信息,不需其它参数:
1. 现在的时间
2. 系统开机运转到现在经过的时间
3. 联机的使用者数量
4. 最近一分钟,五分钟和十五分钟的系统负载
参数: -V 显示版本信息。范例: uptime 其结果为: 10:41am up 5 days, 10 min, 1 users, load average: 0.00, 0.00, 1.99
指令名称: chown
使用权限: root
使用方式: chmod [-cfhvR] [--help] [--version] user[:group] file...
说明: Linux/Unix 是多人多任务操作系统﹐所有的档案皆有拥有者。利用chown 可以将档案的拥有者加以改变。一般来说﹐这个指令只有是由系统管理者(root)所使用﹐一般使用者没有权限可以改变别人的档案拥有者﹐也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
参数:
user : 新的档案拥有者的使用者IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改﹐才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更﹐而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递归的方式逐个变更) --help : 显示辅助说明--version : 显示版本
范例:
将档案file1.txt 的拥有者设为users 群体的使用者jessie :
chown jessie:users file1.txt
将目前目录下的所有档案与子目录的拥有者皆设为users 群体的使用者lamport :
chmod -R lamport:users *
名称:chfn

使用权限:所有使用者
用法:shell>> chfn
说明:提供使用者更改个人信息,用于finger and mail username
范例:
shell>> chfn
Changing finger information for user
PassWord: [del]
Name[]:Johnney Huang ### 提供finger 时的资料
Office[]:NCCU
Office Phone[]: [del]
Home Phone[]: [del]
名称:chsh
使用权限:所有使用者
用法:shell>> chsh
说明:更改使用者shell 设定
范例:
shell>> chsh
Changing fihanging shell for user1
Password: [del]
New shell [/bin/tcsh]: ### [是目前使用的shell]
[del]
shell>> chsh -l ### 展示/etc/shells 档案内容
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh

/bin/csh
名称: finger
使用权限: 所有使用者
使用方式: finger [options] user[@address]
说明:finger 可以让使用者查询一些其它使用者的资料。会列出来的资料有:
1. Login Name
2. User Name
3. Home directory
4. Shell
5. Login status
6. mail status
7. .plan
8. .project
9. .forward
其中.plan ,.project 和.forward 就是使用者在他的Home Directory 里的.plan , .project 和. forward 等档案里的资料。如果没有就没有。finger 指令并不限定于在同一服务器上查询,也可以寻找某一个远程服务器上的使用者。只要给一个像是E-mail address 一般的地址即可。
参数:
-l 多行显示。
-s 单行显示。这个选项只显示登入名称,真实姓名,终端机名称,闲置时间,登入时间,办公室号码及电话号码。如果所查询的使用者是远程服务器的使用者,这个选项无效。
范例:下列指令可以查询本机管理员的数据:
finger root
其结果如下:
Login: root Name: root Directory: /root Shell: /bin/bash Never logged in. No mail. No Plan.
名称:last
使用权限:所有使用者

使用方式:shell>> last [options]
说明:显示系统开机以来获是从每月初登入者的讯息
参数:
-R 省略hostname 的字段
-num 展示前num 个
username 展示username 的登入讯息
tty 限制登入讯息包含终端机代号
范例:
shell>> last -R -2

上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] 下一页 

johnney pts/1 Mon Aug 14 20:42 still logged in
johnney pts/0 Mon Aug 14 19:59 still logged in
wtmp begins Tue Aug 1 09:01:10 2000 ### /var/log/wtmp
shell>> last -2 minery
minery pts/0 140.119.217.115 Mon Aug 14 18:37 - 18:40 (00:03)
minery pts/0 140.119.217.115 Mon Aug 14 17:22 - 17:24 (00:02)
wtmp begins Tue Aug 1 09:01:10 2000
名称: who
使用权线: 所有使用者都可使用
使用方式: who - [husfV] [user]
说明: 显示系统中有那些使用者正在上面,显示的数据包含了使用者ID,使用的终端机,从那边连上来的,上线时间,呆滞时间,CPU 使用量,动作等等。
参数:
-h : 不要显示标题列-u : 不要显示使用者的动作/工作-s : 使用简短的格式来显示-f : 不要显示使用者的上线位置-V : 显示程序版本

名称:/etc/aliases 使用权限:系统管理者使用方式: 请用newaliases 更新数据库说明:
sendmail 会使用一个在/etc/aliases 中的档案做使用者名称转换的动作。当sendmail 收到一个要送给xxx 的信时,它会依据aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫[email protected] 的mailinglist,但实际上并没有一个叫redlinux 的使用者。实际aliases 档的内容是将送给这个使用者的信都收给mailing list 处理程序负责分送的工作。
/etc/aliases 是一个文字模式的档案,sendmail 需要一个二进制元格式的/etc/aliases.db。newaliases 的功能传是将/etc/aliases 转换成一个sendmail 所能了解的数据库。范例:
# newaliases
下面命令会做相同的事,
# sendmail -bi
相关命令: mail, mailq, newaliases, sendmail
名称:mail
使用权限:所有使用者
使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]
说明: mail 不仅只是一个指令﹐ mail 还是一个电子邮件程序﹐不过利用mail 来读信的人应该很少吧﹗对于系统管理者来说mail 就很有用﹐因为管理者可以用mail 写成script ﹐定期寄一些备忘录提醒系统的使用者。
参数: i 忽略tty 的中断讯号。(interrupt) I 强迫设成互动模式。(Interactive) v 打印出讯息﹐例如送信的地点﹑状态等等。(verbose) n 不读入mail.rc 设定档。s 邮件标题。c cc 邮件地址。b bcc 邮件地址。
范例:
将信件送给一个或以上的电子邮件地址﹐由于没有加入其它的选项﹐使用者必须输入标题与信件的内容等。而user2 没有主机位置﹐就会送给邮件服务器的user2 使用者。
mail [email protected] mail [email protected] user2

将mail.txt 的内容寄给user2 同时cc 给user1 。如果将这一行指令设成cronjob 就可以定时将备忘录寄给系统使用者。
mail -s 标题-c user1 user2 < mail.txt
名称:cp
使用权限:所有使用者
使用方式:
cp [options] source dest cp [options] source... directory
说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
参数:
-a 尽可能将档案状态、权限等资料都照原状予以复制。-r 若source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
指令:mesg
使用权限: 所有使用者
使用方式: mesg [yn]
说明: 决定是否允许其它人传讯息到自己的终端机接口
参数:
y : 允许讯息传到终端机接口上。n : 不允许讯息传到终端机接口上。如果没有设定,则讯息传递与否则由终端机接口目前状态而定。
例子:
改变目前讯息设定,改成不允许讯息传到终端机接口上:
mesg n
与mesg 相关的指令有: talk,write,wall。
名称:/etc/aliases 使用权限:系统管理者使用方式: newaliases 说明:
sendmail 会使用一个在/etc/aliases 中的档案做使用者名称转换的动作。当sendmail 收到一个要送给xxx 的信时,它会依据aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如mailing list 就会用到这个功能,在 mailinglist 中,我们可能会创造一个叫[email protected] 的mailinglist,但实际上并没有一个叫redlinux 的使用者。实际aliases 档的内容是将送给这个使用者的信都收给mailing list 处理程序负责分送的工作。

/etc/aliases 是一个文字模式的档案,sendmail 需要一个二进制元格式的/etc/aliases.db。newaliases 的功能传是将/etc/aliases 转换成一个sendmail 所能了解的数据库。

上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] 下一页