文件系统

文件系统结构

tip:[start]仅举例常见内容tip:[end]

  • / 根目录
    • bin 可执行文件命令 (ls,...)
    • etc 配置文件 (nginx代理服务器配置文件,...)
    • var 日志log文件
    • lib 存头文件/安装包
    • home 用户的家目录 (/home/acs,...)
    • proc 进程信息文件 (cpuinfo系统资源,...)

路径

  • 绝对路径:从根目录开始描述 /home/acs/main.cpp
  • 相对路径:从当前路径(在home下)开始描述 acs/main.cpp
  • 当前目录:./
  • 上级目录:../
  • 家目录:~/ == /home/acs
  • 根目录:/

文件管理常用指令

  • homework n show/create/test [n]:仅在acwing服务器中适用,作业相关

  • ctrl c:取消命令,并且换行,关掉当前进程

  • history:显示历史操作

  • ctrl u:清空本行命令

  • tab:可以补全命令和文件名,如果补全不了快速按两下tab键,可以显示备选选项

  • ls:列出当前目录下所有文件,蓝色的是文件夹,白色的是普通文件,绿色的是可执行文件

    • ls -l:文件长信息 权限 大小 修改时间
    • ls -lh:人性化输出长信息(带h的都是长信息)
    • ls -a:隐藏文件也可以看(文件要是.开头就是隐藏文件)
    • ls -A:不显示当前和上一级目录
    • ll:是ls -la的简写
  • pwd:显示当前路径(绝对路径)

  • cd XXX:进入XXX目录下,目录可以是相对路径也可以是绝对路径

    • cd ..:返回上层目录
    • cd -:返回上一次访问的目录,一直用就是两个目录来回切换
    • cd:不管在什么地方 cd就会返回家目录
  • cp XXX YYY:将XXX复制成YYY,XXX和YYY可以是一个路径/文件

    • cp a/tmp.txt b:复制+粘贴文件
    • cp a/tmp.txt b/tmp2.txt:复制+粘贴+重命名
    • cp a b -r:复制+粘贴a文件夹到b文件夹下
    • cp a c -r:将a在当前文件夹下复制一份命名为c(此时c不存在)
  • mv XXX YYY:将XXX文件移动到YYY,和cp命令一样,XXX和YYY可以是一个路径,重命名也是用这个命令

    • mv a/tmp.txt b:剪切+粘贴+重命名
    • 与cp用法相同
  • mkdir XXX:创建目录XXX

    • mkdir y c:创建y和c两个文件夹,带空格要加转义字符\
    • mkdir y\ c:创建y c一个文件夹
    • mkdir a/b/c -p:创建一串目录,-p有就跳过没有就创建
  • rm XXX:删除普通文件

    • rm XXX -r:删除文件夹
    • rm tmp1.txt tmp2.txt:删除多个文件
      • 支持正则:rm *.txt删除全部以txt为后缀的文件
      • rm * -r:删除全部文件
      • rm a/*:删除a目录下全部文件,不删除文件夹
      • rm a/* -r:删除a目录下全部文件,不删除保护文件
      • rm a/* -rf:删除a目录下全部文件,包括保护文件(危!)
  • touch XXX:创建一个文件

  • cat XXX:展示文件XXX中的内容

  • 复制文本

    • windows/Linux下:Ctrl + insert
    • Mac下:command + c
  • 粘贴文本

    • windows/Linux下:Shift + insert
    • Mac下:command + v

练习