linux常用命令及实例二:cp、mv、chown、chmod、find

名称:cp
  使用权限:所有使用者
  使用方式:
  cp [options] source dest
  cp [options] source... directory
  说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
  参数:
  -a 尽可能将档案状态、权限等资料都照原状予以复制。
  -r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
  -f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
  范例:
  将档案 aaa 复制(已存在),并命名为 bbb :
   cp aaa bbb
  将所有的C语言程序拷贝至 Finished 子目录中 :
   cp *.c Finished

名称:mv
  使用权限:所有使用者
  使用方式:
  mv [options] source dest
  mv [options] source... directory
  说明:将一个档案移至另一档案,或将数个档案移至另一目录。
  参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。
  范例:
  将档案 aaa 更名为 bbb :
   mv aaa bbb
  将所有的C语言程序移至 Finished 子目录中 :
   mv -i *.c Finished
指令名称 : 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 *

指令名称 : 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
  效果相同
  若用chmod 4755 filename可使此程序具有root的权限

名称 : 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
  find . -name "*" -exec grep xxx {} ; -print |morexxx为你想要找的字符串

posted on 2013-02-04 18:53  jackrex  阅读(416)  评论(0编辑  收藏  举报

导航