目录管理

Linux系统目录结构

FileSystem Hierarchy Standard

linuxDir.jpg

主要目录解释

bin目录

  • Binaries(二进制文件)的缩写
  • 这个目录存放着基本命令的二进制文件

    home目录

  • 用户的主目录

  • 在Linux系统中,每个用户在home目录下都有一个自己的目录,目录名就以用户的账号命名

    boot目录

  • 存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件

    lib目录

  • Libraries(库)的缩写

  • 这个目录存放着bin目录和sbin目录下二进制文件所需的动态链接共享库

    pwd

  • Print Working Directory的缩写

  • 打印当前所在目录的绝对路径名称

Screen Shot 2021-09-21 at 23.32.47.png
Screen Shot 2021-09-21 at 23.35.13.png

ls

ls [-alrtAFR] [DirName]

  • 用于显示指定工作目录下的内容
  • 参数
    • -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
    • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
    • -r 将文件以相反次序显示(原定依英文字母次序)
    • -t 将文件依建立时间之先后次序列出
    • -A 同 -a ,但不列出 “.” (目前目录) 及 “..” (父目录)
    • -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/“
    • -R 若目录下有文件,则以下之文件亦皆依序列出

Screen Shot 2021-09-21 at 23.47.28.png
Screen Shot 2021-09-21 at 23.48.35.png

cd

  • Change Directory的缩写
  • 该命令用于切换当前工作目录
  • 实例
    • 跳到/usr/bin目录:cd /usr/bin
    • 跳到该目录的上层目录:cd ..
    • 跳到该目录的上上两层目录:cd ../..
    • 跳到该用户的home目录下:cd ~

Screen Shot 2021-09-21 at 23.56.04.png

mkdir

mkdir [-p] DirName

  • Make Directory的缩写
  • 用于创建一个新目录

Screen Shot 2021-09-22 at 00.04.33.png
Screen Shot 2021-09-22 at 00.05.20.png

文件管理

cat

cat [-AbeEnstTuv] fileName

  • 用于读取或输出文件数据
  • 实例

    • 输出file1.txt的内容:cat file1.txt
    • 将file1.txt的内容输出到file2.txt文件中:cat file1.txt > file2.txt

      grep

      grep [abcEFGhHilLnqrsvVwxy] pattern [filename]
  • 用于查找文件里符合条件的字符串

  • 实例

    • 查找file.txt文件中包含test字符串的文件:grep test file.txt
    • 列出当前目录下文件名包含file的文件:ls | grep file

      cp

      cp [options] source dest
  • 用于复制文件或目录

  • 实例

    • 复制file1.txt文件内容到file2.txt文件:cp file1.txt file2.txt
    • 复制folder1文件夹下所有文件到新目录folder2文件夹下:cp -r folder1 folder2

      mv

      mv [options] source dest
      mv [options] source... directory
  • 为文件或目录改名,或将文件或目录移入其他位置

  • 实例

    • 将源文件名 source_file 改为目标文件名 dest_file:mv source_file dest_file
    • 将文件source_file移动到目标目录dest_directory中:mv source_file dest_directory
    • 若目录名 dest_directory 已存在,将 source_directory 移动到目录名 dest_directory 中;目录名 dest_directory 不存在则 source_directory 改名为目录名 dest_directory:mv source_directory dest_directory

      rm

      rm [options] name
  • 用于删除一个文件或者目录

  • 实例
    • 删除file.txt文件:rm file.txt
    • 删除folder文件夹:rm -r folder
  • 注意:使用rm命令删除文件或文件夹后无法恢复,谨慎使用

    zip

    zip [options] filenames

  • 用于压缩文件,压缩后的文件名为.zip

  • 实例

    • 将/home/folder目录下所有的文件和文件夹打包到当前目录下的name_id.zip文件中:zip -r name_id.zip /home/folder

      unzip

      unzip [options] zipfile
  • 用于解压缩.zip结尾的文件

  • 实例
    • 解压缩stu_id.zip文件:unzip stu_id.zip

文档编辑

vi/vim

vim filename

  • Linux下的文本编辑器
  • 使用模式

Linux常用命令 - 图9

  • 命令模式 (Command mode)
    • 用户刚启动vim即进入命令模式,该模式下无法输入字符
    • 输入i进入输入模式
    • 输入:进入底线命令模式
  • 输入模式 (Insert mode)
    • 该模式下可以编辑文本
    • ESC退出输入模式,切换到命令模式
  • 底线命令模式 (Last line mode)
    • 底线命令模式可以输入单个或多个字符的命令
    • ESC退出底线命令模式,切换到命令模式
    • 常用命令
      • :q! 不保存退出
      • :wq 保存并退出

        拓展学习

        man

        man LinuxCommand
  • 展示任何Linux命令的user manual

    书籍

  • 《The Linux Command Line: A Complete Introduction》

  • 《鸟哥的Linux私房菜》

    网站