zoukankan      html  css  js  c++  java
  • linux常用命令(二)

    二、文件目录相关命令


    cd[路径] 改变工作目录,可以为相对路径,也可是绝对路径.
    该命令将当前目录改变至指定目录.若没有指定路径,则回到用户主目录.为了改变到指定目录,用户必须拥有对指定目录的执行和读权限.
    使用"cd-"可以回到前次工作目录.
    "./"代表当前目录,"../"代表上级目录.
    cd /:回到顶层目录
    cd:回到当前用户主目录
    ls [options] [文件]
    列出目录内容,其中"文件"为指定要查看的文件,默认查看当前目录下的所有文件.
    常见参数:
    -l 一行只显示一个文件或目录名
    -a 显示所有文件和目录
    -A 显示所有除行目录和上层目录的所有目录
    -c 已更改时间排序,显示文件和目录
    -h 用"K","M","G"显示文件和目录大小
    -i 显示文件和目录的inode编号
    -d 将目录和其它文件一样列出,而不是列出文件内容
    -f 不排序目录,按他们在磁盘上的顺序列出
    -R递归列举出目录下的所有子目录的文件
    -X以文件的扩展名排序,便于找出同一类的文件
    使用-l列出文件显示格式说明:
    文件类型与权限 连接数 文件属主 文件属组 文件大小 修改时间 文件名
    file [options] 文件名
    用来确定一个文件的具体类型
    -z 如果一个文件被压缩,则试图获取原始文件(未被压缩)的类型
    mkdir [options] 路径
    创建一个目录
    常见参数
    -m 对新建目录设置读写权限,也可以用chmod命令设置
    -p 若所建目录的上层目录没有建立,则自动建立上层目录
    cat [options] file1 file2
    连接并显示指定的一个和多个文件的有关信息
    常见参数
    -n 由第一行开始对所有的输出的行数编号
    -b 类似于-n,只是对空白行不进行编号
    -E 在每一行结束时显示$
    同时该命令可以依次显示多个文件内容
    head/tail [options] 文件名
    默认显示文件开头/结尾10行内容
    -cN 显示前/后N个字节的内容
    -nN 显示前/后N行的内容
    cp、mv、rm
    (1)作用
    ①cp:将给出的文件或目录复制到另一个文件或目录中(如果目标文件是一个已存在的文件或目录,则会自动覆盖、原文件).
    ②mv:将文件或目录改名或将文件由一个目录移入另一个目录中.
    ③rm:删除一个目录中的一个或多个文件或目录.
    (2)格式
    ①cp: cp [options] 源文件或目录 目标文件或目录
    ②mv: mv [options] 源文件或目录 目标文件或目录
    ③rm: rm [options] 文件或目录
    (3)常见参数
    ①cp主要选项参数
    -a 保留链接和文件属性,并复制其子目录,其作用等于dpr选项的组合
    -d 拷贝是保留链接
    -f 删除已经存在的文件而不提示
    -i 在覆盖目标文件之前给出提示要求用户确认.回答y时目标文件将被覆盖,而且是交互是拷贝
    -p 此时cp除复制原文件以外,还将把其修改时间和文件权限也复制到新文件中
    -r 若给出的源文件是一目录名,此时cp将递归复制此目录下的所有子目录和文件.此时目标文件必须为一个路径名
    ②mv主要选项参数
    -i 若mv操作将导致对已经存在的目标文件覆盖,此时系统询问是否重写,并要求用户回答y或n
    -f 禁止交互操作.在mv操作将要覆盖已有文件时不给出任何提示,在指定次选项后,i将不起作用
    ③rm主要选项参数
    -i 进行交互式删除
    -f 忽略不存在的文件,但不会给出提示
    -r 指示rm将参数中列出的全部目录字目录递归删除
    scp
    在主机与远程服务器之间拷贝文件
    rename
    作用:重命名文件
    格式:rename from to file
    该命令还有3个参数:
    from:源字符
    to:目标字符
    file:要改的文件
    例:
    //把所有文件的后缀由rm改为rmvb
    rename.rm.rmvb *
    //把所有文件名中的大写改为小写
    rename 'tr/A-Z/a-z' *
    //将taq (old).tar.gz更名为taq (new).tar.gz
    rename '(old)' '(new)' 'taq (old).tar.gz'
    mv命令同样用该改名功能:
    格式:mv oldfile newfile
    但是与rename区别在于rename可以同时更改多个文件,而mv每次只能更改一个文件.
    rmdir
    删除目录,如果一个目录以及子目录都为空,可以使用-p选项将这些目录删除,但它只限制目录为空的时候。
    可以使用rm -rf可用来删除整个目录
     chown和chgrp(拥有root权限)
    ①chown:改变文件所有者和组别
    chown [选项] 文件所有者[所有者组名]文件,其中的文件所有者为修改后的文件所有者
    ②chgrp:改变文件的组所有权
    chgrp [选项] 文件所有组 文件,其中的文件所有组为改变后的文件拥有者
    (2)常见参数
    chown和chgrp常见参数意义相同,如下:
    -c,-changes 详尽的描述每个file实际改变了那些所有权
    -f  不显示错误信息
    chown gbyukg taq 将taq的文件夹的所有者变更为gbyukg用户
    chmod 改变文件访问权限
    (1)格式:
    ①符号标记:
    其中的符号标记可以指定为多个,也就是说,可以指定多个用户级别的权限,但他们中间要用逗号分开表示,若没有显示指出则表示不做变更
    chmod [-cfvR] [--help] [--version] mode file...
    mode:权限设定字符,格式如下:[ugoa][[+-=][rwxX][,...]]
    u=>user,g=>group,o=>other,a=>All表示三者全部
    +表示增加权限,-表示取消权限,,=表示唯一设定权限
    chmod ugo+r file1.txt 
    chmod a+r file1.txt 
    ②八进制数:
    chmod abc file
    其中abc各为一个数字,分别表示user,group和other的权限
    r=4,w=2,x=1
    若要rwx属性则4+2+1=7
    若要r-x属性则4+1=5
    chmod 777 file 效果和 chmod a=wrx 一样
    (2)选项参数:
    -c 若该文件确实已经更改,才显示其更改动作
    -f 若该文件无权限更改,也不显示错误信息
    -v 显示权限变更的详细信息
    -R 对目前目录下的所有档案与子目录进行相同的权限变更
    sort按顺序显示内容
    sort [options] 文件名1 文件名2
    sort工具是将文件内容排序后显示出来,但并不改变原文件。如果存在多个文件名,则将这些文件合并到一起显示
    grep 在指定的文件中搜索特定的内容,并将含有这些内容的行标准输出
    grep [options] 要搜索的内容 [文件及路径]
    缺省的"文件及路径"表示当前目录下搜索,而默认情况下,'grep'只是搜索当前目录,若此目录下存在多个子目录,可以使用-r明确要求搜索子目录,如:grep hello taq -r将会搜索taq目录中所有文件,包括子目录.或者使用-d skip忽略子目录的查询,如:grep hello taq -d skip.
    grep常用参数
    -Num 同时显示匹配上下文的Num行(Num为整数)
    -c 只输出匹配行的计数
    -i 不区分大小写
    -h 查询文件时不显示文件名
    -l 查询文件时只显示名,而不显示匹配行
    -n 显示匹配行及行号
    -s 不显示不存在或无匹配文本的错误信息
    -v 显示出不包括匹配行的所有行
    有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 *)。如果您忘了,‘grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 <CTRL c> ,然后再试。
    grep hello -r *
    如果预料到有许多输出,您可以通过 管道 将其转到‘less’上阅读
    grep hello taq -r | less
    同时grep搜索支持正则表达式
    find[路径][选项][描述]
    在指定目录中搜索文件,它的使用权限是所有用户
    其中的路径为文件的搜索路径,系统开始沿着此目录树向下查找文件.它是一个路径列表,互相用空格分离.若缺省路径,则默认为当前路径.
    直接输入find:
    .
    ./yun
    ./yun/hello.php
    描述是匹配表达式,是find命令接受的表达式,如下:
    -name     filename           #查找名为filename的文件
    -perm                        #按执行权限来查找
    -user     username           #按文件属主来查找
    -group    groupname          #按组来查找
    -mtime    -n +n              #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
    -atime    -n +n              #按文件访问时间来查GIN: 0px">
    -ctime    -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
    -print          #输出搜索结果,并打印
    find命令可以使用混合查找方式,描述之间用-and连接,如:find -size +500c -and -mtime +1查找大于500字节并且一天之内修改过的文件。
    locate
    ln [options] 目标文件 建立链接的目录
    为某一个文件在另一个位置建立符号链接。当需要在不同目录中用到相同的文件时,linux允许用户不用在每个需求的目录中都建立一个相同的文件,而只需将其它目录下的文件用ln命令链接既可,这样就不必重复占用磁盘空间。
    常用参数:
    -s 建立软链接,无此参数则为硬连接
    ln命令会保持每一处链接文件的同步性,也就是说,无论更改了那一处,其它文件都会发生相同的变化。

  • 相关阅读:
    java.lang.NoClassDefFoundError: Lorg/slf4j/Logger;
    jetty9内嵌到应用,并在启动后加载WebApplicationInitializer,可运行jsp
    Gradle Maven 依赖管理
    gradle多模块开发
    Github .gitignore详解
    Could not find or load main class org.gradle.wrapper.GradleWrapperMain解决办法
    SOC 与 ARM
    Codis集群的搭建与使用
    TIDB VS COCKROACHEB
    mysql故障
  • 原文地址:https://www.cnblogs.com/gbyukg/p/2192088.html
Copyright © 2011-2022 走看看