unix常用命令
user 新的档案拥有者的使用者 IDgroup 新的档案拥有者的使用者群体(group)-c 若该档案拥有者确实已经更改,才显示其更改动作-f 若该档案拥有者无法被更改也不要显示错误讯息-h 只对于连结(link)进行变更,而非该 link 真正指向的档案-v 显示拥有者变更的详细资料-R 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help 显示辅助说明--version 显示版本
范例 将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie chown jessieusers file1.txt
将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport chmod -R lamportusers
名称:cp 使用权限:所有使用者
使用方式:
cp [options] source dest cp [options] source... directory
说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
把计
-a 尽可能将档案状态、权限等资料都照原状予以复制。 -r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。 -f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。 范例: 将档案 aaa 复制(已存在),并命名为 bbb cp aaa bbb
将所有的C语言程式拷贝至 Finished 子目录中 cp .c Finished
名称:cut
使用权限:所有使用者
用法:cut -cnum1-num2 filename
说明:显示每行从开头算起 num1 到 num2 的文字。
范例:
shell cat example test2 this is test1 shell cut -c0-6 example ## print 开头算起前 6 个字元 test2 this i
名称 find 用法 find 使用说明
将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。
find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression
expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。
-mount, -xdev 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案 -amin n 在过去 n 分钟内被读取过 -anewer file 比档案 file 更晚被读取过的档案 -atime n 在过去 n 天过读取过的档案 -cmin n 在过去 n 分钟内被修改过 -cnewer file 比档案 file 更新的档案 -ctime n 在过去 n 天过修改过的档案 -empty 空的档案-gid n or -group name gid 是 n 或是 group 名称是 name -ipath p, -path p 路径名称符合 p 的档案,ipath 会忽略大小写 -name name, -iname name 档案名称符合 name 的档案。iname 会忽略大小写 -size n 档案大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c 档案类型是 c 的档案。 d 目录 c 字型装置档案 b 区块装置档案 p 具名贮列 f 一般档案 l 符号连结 s socket -pid n process id 是 n 的档案
你可以使用 ( ) 将运算式分隔,并使用下列运算。 exp1 -and exp2 ! expr -not expr exp1 -or exp2 exp1, exp2 范例 将目前目录及其子目录下所有延伸档名是 c 的档案列出来。
find . -name .c
将目前目录其其下子目录中所有一般档案列出
find . -ftype f
将目前目录及其子目录下所有最近 20 分钟内更新过的档案列出
find . -ctime -20
名称:less
使用权限:所有使用者
使用方式:
less [Option] filename
说明: less 的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 允许使用者往回卷动 以浏览已经看过的部份,同时因为 less 并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如 vi)来的快速。
范例:
指令名称 ln 使用权限 所有使用者
使用方式 ln [options] source dist,其中 option 的格式为
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}] [--help] [--version] [--] 说明 LinuxUnix 档案系统中,有所谓的连结(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
名称:locate 使用权限:所有使用者 使用方式: locate [-q] [-d ] [--database=] locate [-r ] [--regexp=] locate [-qv] [-o ] [--output=] locate [-e ] [-f ] [-l ] [-c] [-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
blog comments powered by Disqus