Linux 文件目录命令

显示目前的目录:

  pwd    显示当前所在目录的绝对路径

列出目录及文件名:

  ls [选项] [目录或文件]   
       选项:
            -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
            -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
            -l  :长数据串列出,包含文件的属性与权限等等数据;(常用)
  例:
            ls        列出当前目录下的所有项(横向排列)
            ls -l     列出当前目录下的所有项(纵向排列,每一行都有该项的详细信息)
            ls -al   列出当前目录下的所有项以及隐藏项(纵向排列,每一行都有该项的详细信息)  

切换目录:

  cd [相对路径或绝对路径]
  例:
    cd /        切换到根目录
    cd /home/sunb/     通过绝对路径切换到/home/sunb下
    cd ..          切换到上一级目录
    cd ../../home/    通过相对路径切换到/home下
    cd 或 cd ~      切换到当期用户的主目录  

创建目录:

  mkdir [选项] 目录名称
  选项:
    -m : 配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
    -p : 帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
  例:
    mkdir xxx               在当前目录下创建一个xxx文件夹
    mkdir xxx/yyy         在已经存在的目录下创建一个yyy文件夹
    mkdir -p xxx/test/t1    
      创建多级目录(如果xxx不存在,那么就创建xxx接着创建test,最后创建t1)   

删除空目录:

  rmdir [-p] 目录名称
  选项:
    -p :连同上一级『空的』目录也一起删除
  例:
    rmdir   xxx/yyy          删除当前目录下的xxx目录下的yyy文件夹(yyy必须为空目录)
    rmdir -p xxx/yyy/zzz    
      优先删除zzz目录。删除zzz后,如果yyy此时为空,则接着删除yyy目录。删除yyy后,
      如果xxx此时为空,则接着删除xxx目录。

创建文件:
  touch [选项] 文件名称
  选项:
    touch命令有两个作用
    1.创建空文件
    2.修改文件或者目录的时间属性。
    在创建文件时,基本不需要使用它的选项,关于它的第二个作用可以参考
    ...
  例:
    touch aaa.txt    在当前目录下创建一个aaa.txt文件
    (在创建前,如果此文件不存在,才会创建新的文件)

复制文件或目录:

  cp [选项] 来源地 目标地
  选项:
    -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
    -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
    -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
    -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
    -r:递归持续复制,用於目录的复制行为;(常用)
  例:
    cp xxx/aaa.txt yyy/y1      将xxx目录下的aaa.txt复制到yyy/y1目录下
    cp -r xxx/ /tmp              将xxx目录及其内容复制到/tmp下
    cp -r xxx/* /tmp          将xxx目录下的内容复制到/tmp下
    cp -r xxx/ /tmp       将xxx目录及其内容复制到/tmp下,并强制覆盖已存在的相同的内容。

移除文件或目录:

  rm [选项] 文件或目录
  选项:
    -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息
    -i :互动模式,在删除前会询问使用者是否动作
    -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
  例:
    rm aaa.txt        删除当前目录下的aaa.txt文件
    rm -f aaa.txt       在删除当前目录下的aaa.txt文件时,不提示确认删除
    rm -rf xxx/test    
      删除xxx目录下的test文件夹及test里面的内容,并且不提示确认删除
      (删除时会先删除指定目录下的内容,最后再删除指定目录)
    rm -rf xxx/*       删除xxx目录下的所有内容

移动文件与目录,或修改名称:

  mv [选项] 来源地 目标地
  选项:
    -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  例:
    mv aaa.txt a.txt    将在当前目录下的aaa.txt文件名修改成a.txt
    mv xxx/* /tmp/test    将xxx目录下的内容移动到/tmp/test目录下
    mv xxx/ /tmp/test    将xxx目录及其内容移动到/tmp/test目录下

查看文件内容:

  1.    cat [选项] 文件        由第一行开始显示文件内容,只能浏览不能修改
    选项:
      -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
      -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
      -v :列出一些看不出来的特殊字符
    例:
      cat -b xxx/a.txt    查看a.txt文件,并列出行号(会将文件的全部
        内容展示出来,当文件内容较多时查看不方便)
      cat -n xxx/a.txt | more
        通过与more命令联合使用,实现分页查看,空行建翻页,回车键翻行

  2.    more 文件
    使用方法:
      more命令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页
      显示文本文件的内容。它内置了若干快捷键,如下
      空格键(space)        向下翻一页
      回车键(Enter)        向下翻一行
      q                     离开 more ,不再显示该文件内容。
      Ctrl+F                 向下滚动一屏
      Ctrl+B                返回上一屏
      =                    输出当前行的行号
      :f                    输出文件名和当前行的行号
    例:
      more xxx/aa.txt        查看aa.txt

  3.    less 文件
    使用方法:
      less命令用来分屏查看文件内容,它的功能与more命令类似,
      但是比它更加强大,支持各种显示终端。less命令在显示文件内容时,
      并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,
      对于显示大型文件具有较高的效率。它内置了若干快捷键,如下
      空格键(space)         向下翻动一页
      回车键(Enter)            向下翻一行
      [pagedown]                 向下翻动一页
      [pageup]                 向上翻动一页;
      /字符串     向下搜寻『字符串』,n:向下查找;N:向上查找;
      ?字符串     向上搜寻『字符串』,n:向上查找;N:向下查找;
      q            离开 less 这个程序
    例:
      less xxx/aa.txt        查看aa.txt

  4.    head [选项 数字] 文件
    选项:
      -n :后面接数字,代表显示几行的意思
    例:
      head xxx/aa.txt        
      显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
      head -n 20 xxx/aa.txt
      显示文件的开头前20行的内容。

  5.    tail [选项 数字] 文件
    选项:            
      -n :后面接数字,代表显示几行的意思
      -f :实时侦测该文档的所有更新,要等到按下[ctrl+c]才会结束tail的侦测
    例:
      tail xxx/aa.txt
        显示文件的结尾部分内容,默认情况下显示文件的后10行内容
      tail -n 20 xxx/aa.txt
        显示aa.txt的结尾后20行的内容。
      tail -f xxx/aa.txt
        当文件里的内容追加更新时,实时显示更新的内容
        (特别常用的命令,常用来查看日志)

添加文件内容:

  1.    查询到的内容 > 文件
    使用方法:
      >命令是输出重定向,将前面输出的内容覆盖后面文件原来的内容,
      如果后面的文件不存在,则会先创建文件,再写入内容
    例:
      ls -l > xxx/aa.txt    
        将ls -l查询出的内容输入到aa.txt内,如果aa.txt存在内容,会将内容进行覆盖
      cat xxx/aa.txt > /tmp/test/t.txt
        将cat xxx/aa.txt查询出的内容输入到/tmp/test/t.txt内,
        如果t.txt存在内容,会将内容进行覆盖
      echo "hello world" > xxx/aa.txt
        将echo命令输出的内容输入到aa.txt内,如果aa.txt存在内容,会将内容进行覆盖

  2.    查询到的内容 >> 文件
    使用方法:
      >>命令是输出追加,将前面输出的内容追加到后面的文件中,
      如果后面的文件不存在,则会先创建文件,再写入内容
    例:
      ls -l >> xxx/aa.txt    
        将ls -l查询出的内容输入到aa.txt内,如果aa.txt存在内容,则在其后进行追加
      cat xxx/aa.txt >> /tmp/test/t.txt
        将cat xxx/aa.txt查询出的内容输入到/tmp/test/t.txt内,
        如果t.txt存在内容,则在其后进行追加

创建文件或目录的软连接:

  ln [选项] [原文件或目录] [软链接名]
  说明:
    ln命令用来为文件创建连接,连接类型分为硬连接和符号连接两种,
    默认的连接类型是硬连接。如果要创建符号连接必须使用"-s"选项。
    类似于windows里的快捷方式,主要存放了链接其他文件的路径。
    比较常用的是符号连接,因为其更灵活。
  选项:
    -s :对源文件建立符号连接,而非硬连接;
  例:
    ln -s xxx/aa.txt myaa    在当前目录下为xxx/aa.txt创建一个软连接
    ln -s xxx/test mylinkdir    在当前目录下为xxx/test创建一个软连接
  补充:
    在删除目录的软连接时使用 rm -rf mylinkdir,在软连接后不要加“/”

输出内容到控制台:

  echo [选项] [输出内容]
  使用方法:
    1.在shell中打印shell变量的值,或者直接输出指定的字符串。
    2.在终端下打印内容。

查看历史执行命令:

  history [数字]
  例:
    history        显示所有的历史命令
    history 10    显示最近执行过的10个命令
    !451        执行history编号为451的命令

原文地址:https://www.cnblogs.com/ymzsb/p/14942809.html