添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
将file1拷贝到file2,若file2存在且为文件则覆盖,若file2不存在则创建 cp file1 file2 file3 ... dir : 将file拷贝到dir,dir要为已存在的目录名 -r : 递归复制一个目录 cp -r dir1 dir2 : 若dir2存在,则dir1拷入dir2下 dir2/dir1/xxx 若dir1不存在,则dir1下文件拷入dir2下 dir2/xxx -v : 冗长模式,复制目录时打印文件名 -u : 增量拷贝,类似diff,利用时间戳标识
  • mv:移动文件
  • 利用mv可以实现文件和文件夹重命名
    mv file1 file2 : 若file2不存在,则将file1重命名为file2,不过file2要和file1同级
    mv file1 file2 file3 ... dir
    mv dir1 dir2 : 
    若dir2不存在,则将dir1改名为dir2,不过dir2必须和dir1同级 ;
    若dir2存在,则将dir1移动到dir2下
    
  • rm:删除文件
  • rm file1 file2 .. file_n
    -r : 递归删除实参表中的目录
    -i : 删除文件前需要确认(Inform)
    -f : 强制删除
    常用 rm -rf xxx
    
  • find:目录遍历
  • find dir1 dir2 ...
    -name wildcard : 文件名与wildcard相匹配,文件名为路径名最后一部分
    例如 find -name *.[hc] 查找当前目录下所有.c / .h 文件
    -regex pattern :  整个路径名与pattern正则表达式匹配
    -type x : 指定查找的文件类型为x,x的取值如下
    f: 普通文件
    d: 目录
    l: 符号连接文件
    c: 字符设备文件
    b: 块设备文件
    P: 管道文件
    -size ±n : 指定文件大小 大于 / 小于 / 等于 n 单位(默认为b)
    -mtime ±ndays : 文件最近修改时间
    -newer file : 文件最近修改时间要新与file
    ··········································································
    可以利用 ( ) -o ! 来代表 与 \\ 或 \\ 非 (在shell中要加上/或 '' 防止shell解释)
    例如  find ~ -size +100K -tpye f \( -name core -o -name '.*tmp' \) 
    从主目录查找大于100KB的名叫core或有.tmp后缀的文件(注意\和 ''的使用)
    ··········································································
    在find后面可以跟上动作,命令与命令之间使用;分割
    -print : 打印查找的文件的路径名
    -exec : 对查找到的目标执行某一命令 ,使用{}来代表找到的文件路径名
    -ok : 与-exec一致,只不过会在执行命令前提示确认
    例如  find /lib/usr -name 'libc*.so' -exec ls -lh {} \; -print \;
    例如 find src -name \*.c exec grep -n -- --help {} /dev/null \;
    (在src目录下所有.c文件中查找--help字符串)
    ··········································································
    可以使用xargs命令来提高-exec执行效率(否则对于每个文件都创建进程)
    xargs命令会将标准输入追加到它后面的参数列表后面
    find src -name \*.c exec grep -n -- --help {} /dev/null \;
    find src -name \*.c | xargs grep -n -- --help /dev/null