<[-U ] [-u]>
locate [-Vh] [--version] [--help] 说明:
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。在一般的 distribution 之中,资料库的建立都被放在 contab 中自动执行。
一般使用者在使用时只要用 # locate your_file_name 的型式就可以了。 参数: -u -U
建立资料库,-u 会由根目录开始,-U 则可以指定开始的位置。 -e
将排除在寻找的范围之外。 -l
如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。 -f
将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案放在资料库中。 -q
安静模式,不会显示任何错误讯息。 -n
至多显示 个输出。 -r
使用正规运算式 做寻找的条件。 -o
指定资料库存的名称。 -d
指定资料库的路径 -h
显示辅助讯息 -v
显示更多的讯息 -V
显示程式的版本讯息 范例:
locate chdrv:寻找所有叫 chdrv 的档案
locate -n 100 a.out:寻找所有叫 a.out 的档案,但最多只显示 100 个 locate -u:建立资料库
名称:ls
使用权限:所有使用者
使用方式:ls [-alrtAFR] [name...]
说明:显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
-a 显示所有档案及目录 (ls内定将档案名或目录名称开头为\的视为隐藏档,不会列出) -l 除档案名称外,亦将档案型态,权限,拥有者,档案大小等资讯详细列出 -r 将档案以相反次序显示(原定依英文字母次序) -t 将档案依建立时间之先后次序列出
-A 同 -a ,但不列出 \目前目录) 及 \父目录)
-F 在列出的档案名称后加一符号;例如可执行档则加 \目录则加 \ -R 若目录下有档案,则以下之档案亦皆依序列出 范例:
列出目前工作目录下所有名称是 s 开头的档案,愈新的排愈后面: ls -ltr s*
将 /bin 目录以下所有目录及档案详细资料列出: ls -lR /bin
列出目前工作目录下所有档案及目录;目录于名称后加 \可执行档于名称后加 \ ls -AF
名称: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进行档案分割。
% 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 \ touch -d \
touch -d \
名称: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