linux

  • windows 的环境变量应该也是使用 regedit 实现的
  • linux 的顶层文件夹 /

linux 系统目录层级结构

  • swap 交换区,windows系统也有,其实就是当内存不够的时候用来置换的虚拟内存

具体系统目录结构

/
├── bin
├── boot
├── dev
├── etc
├── home
│   ├── user1
│   ├── user2
├── lib
├── lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin
├── srv
├── sys
├── tmp
├── usr
│   ├── bin
│   ├── include
│   ├── lib
│   ├── local
│   ├── sbin
│   └── share
└── var
    ├── cache
    ├── log
    └── tmp

简单说明

  • bin:包含系统中的基本命令和工具的目录。
  • etc:包含系统配置文件的目录,如网络配置、用户账户等。
  • home:存储用户的主目录,每个用户都有一个独立的子目录。(一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限)
  • tmp:用于存放临时文件的目录。(一般而言,重启之后都会删除 tmp 里面的文件,但是具体和配置有关)
  • usr:包含用户可执行程序、库、文档等的目录。
  • var:用于存放经常变化的文件的目录,如日志文件、缓存文件等。

  • boot:包含引导加载程序和内核映像文件的目录。
  • dev:包含设备文件的目录,用于表示系统硬件设备。
  • liblib64:包含系统共享库文件的目录。
  • media:用于挂载外部设备(如USB驱动器)的目录。
  • mnt:用于挂载临时文件系统的目录。
  • opt:用于存放可选的软件包的目录。
  • proc:包含系统进程的虚拟文件系统。
  • root:超级用户 root 的主目录。
  • run:用于存储运行时数据的临时文件系统目录。
  • sbin:包含系统管理员命令(超级用户命令)的目录。
  • srv:包含服务数据的目录。
  • sys:包含/sys虚拟文件系统,提供了对内核和硬件的访问。

linux 命令

  • ~ : 表示当前 /home/xxx_user
  • * : 通配符, 删除等的时候可以使用
  • . : 表示当前文件夹
  • ..: 表示上一级文件夹
  • > : 覆盖写
  • >>: 追加
  • | : 管道符,用来将前一个的输出作为后一个的输入
  • 反引号(``): 用来标注内容为需要解释的内容(类似 {} ${} 等)
  • 因为 linux 是多用户系统,因此对于每一个用户,涉及 w 的操作仅仅能在 /home/current_user/ 下面进行操作,否则需要管理员权限

命令语法

command [options] [params]

  • command 表示命令本身
  • options 各种选项,用来控制命令的行为细分,可以组合(组合的时候可以单独使用,也可以联合使用,起着一样的效果)
  • params 表示参数,其实就是操作对象相关的

一、基础命令

  • 下面的展开格式按照 ls 的展开
  1. ls

    • list(英文意思)
    • ls [-l -h -a] [dir_path](用法)
    • a: all, h: human-readable, l: list(一行一行展示)[每个option的英文以及说明]
    • 用来展开 dir_path 下面的文件,如果没有 dir_path 就是展开当前文件夹的(命令的作用)
  2. cd

    • change directory
    • cd dir_path
    • 用来进入 dir_path,没有 dir_path 就是进入 ~
  3. pwd

    • print work directory
    • 用来当前的工作目录
  4. mkdir

    • make directory
    • mkdir [-p] dir_path
    • p: parent 使用这个选项的时候表示父文件夹不存在就创建
    • 用来展开 dir_path 下面的文件,如果没有 dir_path 就是展开当前文件夹的
  5. touch

    • touch file_name
    • 用来创建一个新的叫做 file_name 的文件
  6. cat

    • concatenate(连接)
    • cat file_name
    • 用来连接文件 file_name 并且打印在标准输出
  7. more

    • more file_name
    • 翻页式查看文件的内容(q: quit)
  8. cp

    • copy
    • cp [-r] [source des]
    • r: recurse(表示递归,意思就是递归复制,复制文件夹的时候使用)
    • 用来将 source 的文件复制到 des
  9. mv

    • move
    • move source des
    • 用来将文件 source 移动到 des[这个命令可以用来改名字]
  10. rm

    • remove
    • rm [-r -f] [param1 param2 param3 ... ]
    • r: recurse(表示递归), f: force(表示强制,管理员进行删除的时候会有相应的提示)
    • 用来将 param 的文件全部删除[可以和通配符一起使用](命令行linux都是不提供来吉祥这个功能的,到那时有些桌面linux操作系统提供了垃圾箱这个功能)
  11. which

    • which command
    • 用来打印 command 这个命令的位置
  12. find

    • find base_path [-name -size] 'des'
    • 当选项是 name 的时候,就按照名字来查找(可以和通配符一起使用),类似和windows的文件夹搜索是一样的
      • des: 就是一个文件匹配的字符串
    • 当选项是 size 的时候,表示的是查找文件的大小在 des 指定的范围里面的文件
      • des: k M G
      • find / -size +10k
      • find / -size -10k
  13. grep

    • global regular expression print
    • grep [-n] key file_name
    • n: num(加上 -n 之后表示显示行号)
    • 用于在文件中搜索指定模式的文本行,并将包含匹配模式的行打印到标准输出设备。
  14. wc

    • word count
    • wc [-c -m -l -w] file_name
    • c: char , m: 字符, l: line, w: word
    • 用来统计 字节/字符/line/单词 的数量
  15. echo

    • echo output_content
    • 用来输出 content 比较复杂的可以实用 "" 包围起来,增加可读性
  16. tail

    • tail [-f -n NUM] file_name
    • f: follow(表示持续跟踪), n: num(表示需要展示的行数量,使用NUM具体指出)
    • 用来持续跟踪 file_name 的尾部的信息

二、用户和权限/资源/运维

  1. su

    • switch user
    • su [-] [user_name]
    • -: 可选,用来表示在切换用户后时候加载环境变量
    • su 是用来切换用户的系统命令(其他用户切换到root用户,需要使用密码)
  2. sudo

    • super user do
    • 表示使用超级管理员的权限来执行命令(一般需要输入密码,但是可以自己配置不输入[/etc/sudoers])
  3. exit

    • 可以使用 exit 或者 ctrl + D 来推出当前登录的用户
  4. groupadd

    • groupadd group_name
    • 创建用户组
  5. groupdel

    • groupdel group_name
    • 删除用户组
  6. useradd

    • useradd [-g -d] user_name
    • option
      • g: 用来指定创建用户时候的用户组,没有指定 g 的话,就会创建一个同名的 group,再加入用户,
      • d: 指定用户的HOME路径,不指定,home目录默认在 /home/user_name
    • 用户来创建用户
  7. userdel

    • userdel [-r] user_name
    • r: 使用 r 表示同时删除 home 目录(应该是递归的意思)
    • 用来删除用户(以及相关的信息)
  8. id

    • id [user_name]
    • 查看用户所属的分组
  9. usermod

    • user modify
    • usermod -aG group_name user_name
    • 将制定用户加入指定分组
  10. getent

    • get entry
    • getent [passwd|group]
    • params
      • passwd: 查看当前系统中的用户
      • group : 查看系统中有哪些分组
  11. chmod

    • change mode
    • chmod [-r] jurisdiction file_or_dir_name
    • jurisdiction: 可以使用数字来表示,也可以使用字符串表示
    • r: 表示对文件夹里面的文件进行递归操作
    • 用户或者 root 对文件或者文件夹的权限进行修改
  12. chown

    • change own
    • chown [-r] [user_name][:][group_name] file_name/dir_path
    • r: 表示递归
    • root 修改一个文件的用户:用户组
  13. top

    • 用来检测系统资源的使用情况

三、压缩、解压

  1. tar

    • tar [-z -c -x -v -f -C] param1 param2 param3 param4
    • option
      • z: 表示压缩成 gz 模式(没有 z 的话表示的事 tarball)
      • c: 表示的事压缩
      • x: 表示的事解压
      • v: 表示的事解压的过程可见、
      • f: des 表示要创建或者是解压的文件,必须放在 option 的最后
      • C: 用来选择解压目的地
    • 用来将文件解压或者是压缩 tar 或者 .gz 格式
  2. zip

    • zip [-r] des.zip param1 param2 param3 ... paramN
    • 用来将文件压缩为 des.zip 文件
  3. unzip

    • unzip file_name [-d des_path]
    • 用于将文件解压

四、环境变量

  • $

    • ${环境变量名}: 用来获取相应的值,{}这个符号可以不加
  • 用户环境变量

    • ~/.bashrc 文件
  • 系统环境变量

    • /etc/profile
  • 自定义环境变量

    • export PATH=$PATH:need_added_path