# 命令行基础

路径分隔符: /

  • 绝对路径:从顶层开始的路径

  • 相对路径:从当前位置开始的路径 . : 当前目录 .. : 父目录

       $ pwd 
    
       /c/Users/fanison 
    

    注:使用pwd 查看当前路径,/c/Users/fanison 即当前所在路径

# 基本命令

  • pwd: print working directory 当前工作目录

  • cd: change directory cd 目标路径 改变目录

     $ cd myBlog/
    

    注:使用cd命令进入myBlog目录

  • mkdir: make directory 创建目录 -p: 先创建父目录 -v: 显示详细信息

    $ mkdir a/b/c
    mkdir: cannot create directory ‘a/b/c’: No such file or directory
    $ mkdir -pv a/b/c
    mkdir: created directory 'a'
    mkdir: created directory 'a/b'
    mkdir: created directory 'a/b/c'
    

    注:使用mkdir命令在当前目录下创建/a/b/c目录,若/a/b目录不存在则无法创建,需使用-p选项

  • rmdir :删除空目录

    $ rmdir a/b

    rmdir: failed to remove 'a': Directory not empty

    注:若目录非空,则无法删除

  • rm:删除文件

    rm -f 文件路径 :强制删除文件 rm -r 目录路径 : 删除目录
    rm -rf 目录路径 :强制删除目录

      $rm -rf a
    

    注:-rf选项需谨慎使用

  • cp:copy 复制

    使用方法:cp 源路径 目标路径

    cp SRC DEST

    假如SRC是一个文件:

          如果目标是一个文件且存在:覆盖
    
              如果目标文件不存在:创建新文件
    
          如果目标存在,且是个目录:复制源至目标目录,并保持原名
    

    cp SRC... DEST

    假如SRC有多个文件:
    
             如果目标存在,且是一个文件:复制无法进行
    
             如果目标存在,且是一个目录:复制各文件至目标目录中,并保持原名
    
             如果目标不存在:复制无法进行
    
      如果SRC只有一个且是目录:-r
    
              如果目标是一个文件且存在:失败
    
              如果目标文件不存在:创建新目录
    
              如果目标存在,且是个目录:复制源目录至目标目录中,且保持原名
    
  • mv: 移动文件

    使用方法:mv 源路径 目标路径

    $ mv a c
    

    注:可以使用mv更改文件名(将目录a名称改为c)

  • touch:创建文件

touch 文件名

$ touch a.txt

$ ls -l a.txt

-rw-r--r-- 1 fanison 197121 0 二月  4 21:17 a.txt

$ touch a.txt

$ ls -l a.txt

-rw-r--r-- 1 fanison 197121 0 二月  4 21:23 a.txt

注:touch也可以改变文件更新时间

*ls:查看路径

ls  [选项] 路径

    -a: 显示所有文件,包含隐藏文件,

    -l: 长格式

              l          rwxrwxrwx.    1      root  root      2 Feb 12 09:49      rvi      -> vi

              文件类型     文件权限   硬链接数   属主   属组      最近一次修改时间    文件名    原始文件

    -d: 显示目录自身的信息, 通常与-l同时使用

    -r: 逆序显示

    -R: 递归显示

    -h: 文件大小以易读格式显示

    -i: inode号, index node

ls -al 长格式显示所有文件

补充:

  • Linux文件类型:

      普通文件:-, f    
      目录文件:d
      链接文件(符号链接):l        
      设备文件
          字符设备:c    块设备: b
      命名管道:p  
      套接字文件:s
    
  • Linux文件时间戳:

      访问时间    修改时间    改变时间
    
  • 权限管理: owner, group 属主,属组,其它

    权限:read, write, execute r, w, x

    文件:

      r: 可以使用内容查看类的命令来显示其相关内容;
    
      w: 可以使用编辑器修改其内容;
    
      x: 可以将其发起一个进程;
    

    目录:

      r: 可以使用ls命令查看目录内容的文件信息;
    
      w: 可以创建、删除文件;
    
      x: 可以使用ls -l命令查看目录内容的文件信息,并且可以使用cd命令切换此目录为工作目录;
    

    用户的不拥有某位权限,则使用-占位; r-x r-- rw-

  • cat 查看文件内容

  • echo:

    echo '1' > 文件路径 :创建文件

    echo '1' >! 文件路径 :强制创建文件

    echo '1' >> 文件路径 :追加文件内容

    $ echo 1  >  a.txt
    $ cat  a.txt
    1
    $ echo b >> a.txt
    $ cat a.txt 
    1
    b
    
  • tree : 查看文件树

# ps:

  • 使用命令行过程中,遇到问题可以使用https://explainshell.com来解决 使用方法: 捕获.PNG

  • 使用tldr查看命令使用方法

      $  npm install -g tldr   (安装tldr)
      $  tldr  man
          man
    
      Format and display manual pages.
      - Display man page for a command:
      man command
      - Display man page for a command from section 7:
      man command.7
      - Display path searched for manpages:
      man --path
      - Display location of a manpage rather than the manpage itself:
      man -w command
      - Do a keyword search for manpages containing a search string:
       man -k keyword
    

# vim下次专门叙述