Linux 系统的使用-基础

Linux基础理解

Linux 是什么

  • 开源、免费的多用户操作系统,广泛应用于商业领域。
  • 内核版本发行版本,是Unix系统的衍生,与Unix系统在代码实现上不同,但是完成功能上相近。
  • Mac os源于Unix

操作系统的作用

  • 对内 管理计算机硬件 诸如:CPU 内存 硬盘 声卡
  • 对外 为用户和应用程序提供接口,实现系统调用。
  • 没有操作系统的裸机需要用机器语言来书写程序

常用用户目录速查

  • /:根目录
  • /bin, /usr/bin 可执行的二进制文件
  • /etc 系统配置目录
  • /home 用户家目录
  • /opt 为主机安装的其他程序(非系统程序)
  • /usr 应用程序存放

    • /usr/bin 应用程序
    • /usr/share 共享数据

      • ./doc
      • ./man
    • /usr/lib 程序函数库支持
    • /usr/local 软件升级包
  • / var 系统执行过程经常变化的文件

    • ./log 日志文件
    • ./spool/email 邮件

Linux基础使用

文件目录相关的命令

  • ls

    • 查看当前目录下的文件(夹)
    • -a 显示隐藏文件 -l 列表化 -h 可视大小
  • pwd

    • 打印当前路径
  • cd

    • 改变路径到…
    • . 当前路径 .. 当前路径上一级
  • touch

    • 新建文件,文件存在时,修改最后的“修改日期”
    • 批量创建,touch {1..3}{a..c}.txt

      • 创建1a.txt,(1b,1c,2a,2b,2c,3a,3b,3c).txt
  • mkdir

    • 创建目录
    • -p 创建多级目录
  • rm 删除

    • -r 删除多级目录 -i 删除前确认
  • clear

    • ctrl+l
  • 自动补全: Tab

  • 任务中断:ctrl+c

  • 任务挂起:ctrl+z

  • 查询帮助

    • command —help
    • man command

      • 空格 下一屏幕
      • Enter键 逐行
      • b 回滚一屏
      • f 前滚一屏
      • q 退出
  • 移动和复制

    • cp 源文件 目标文件

      • -r 目录
    • mv 源文件(目录) 目标文件(目录)
    • tree

      • -d 只显示目录
  • 查看文件

    • cat

      • 查看短内容
      • -b 相对行号
      • -n 绝对行号
    • more

      • 分屏显示查看长内容
  • 查找内容

    • grep

      • -n 显示匹配行
      • -v 显示不匹配的行
      • -i 忽略大小写
      • ^a 以a开头的行
      • a$ 以a结尾的行
      • 双引号 “”
    • 通配符 与 正则:

      • 通配符 文件名
      • 正则 文件内容
  • 管道

    • | 语句A | 语句B : 把语句A的结果,传到语句B然后再执行语句B。把A的输出当作B的输入 可以复合使用
    • 通常和 grep more 连用
  • echo以及重定向

    • echo “”
    • 重定向

      • 终端命令的执行结果覆盖保存到指定文件

  1. -

追加保存到文件

  • 合并文件

    • cat 文件1,文件2 >新文件名 把文件1,2合并到新的文件

远程操作相关的命令

  • 关机

    • shutdown

      • -r 重启
      • -c 取消
        • now/其他时间 在何时执行操作,默认60s
  • 网卡以及IP查询

    • ifconfig
    • ping + “IP地址”
  • SSH

    • [-p port(22)] user@IP地址/域名
    • 免密操作:

      • ssh-keygen
      • ssh-copy-id -p port user@remote
    • 别名

      • 在 /.ssh/config下面添加:

        • host “别名”

          • hostname ip地址
          • User 名称
          • Port 22

组以及用户文件权限

  • 三种权限:

    • r 4 读取
    • w 2 写入
    • x 1 执行
  • 修改文件权限

    • chmod +/- rwx 文件/文件目录
    • chmod
    • chmod -R 755 文件/文件目录

      • 递归修改目录权限
      • 4 读取 2 写入 1 执行
      • 755 表示 rwx r-x r-x,用户所有者所有权 所属组以及其他成员读取、执行。 (文件夹)
      • 644 rw- r— r— (文件)
  • 管理组

    • cat /etc/group 查询组信息
    • groupadd
    • groupdel
    • chgrp -R 组名 文件/目录 更改所属组
  • 管理用户

    • useradd -m -g 组名 用户名

      • -m 自动生成家目录
      • -g 指定组名 如果不加 自动生成同名组
    • passwd 用户名 设置密码
    • userdel -r 删除用户,-r 自动删除家目录
    • who 查询当前所有用户列表
    • whoami 查询当前用户
    • /etc/passwd 用户信息
    • usermod

      • -g 组名 用户名 设置主组,一般新建用户时间指定,不作修改。
      • -G 组名 用户名 设置附加组,具有附加组的权限。
  • 文件执行的几种方法:

    • 01 交互式 测试 “直接输入代码段”
    • 02 解释器前置 不论文件是否有可执行权限,只要有可读权限即可执行
    • 03 文件内加路径 (#!解释器路径) 具有可执行权限才可运行 ./file.format
  • 系统相关

    • 时间、日期

      • date 查询系统时间
      • cal 查询日历
    • 磁盘信息

      • df -h 显示剩余空间
      • du -h 显示目录下的文件大小
    • 进程信息

      • ps aux 查看进程的详细状态

        • a 显示终端所有进程
        • u 显示进程的详细状态
        • x 显示没有控制终端的进程
      • top

        • 动态排序显示进程
      • kill +[-9] 进程号

        • 终止指定进程 -9表示强制终止

其他命令

  • 查找文件

    • find [路径] -name “可以带通配符的文件名”

        • 多个字符
      • ?单个字符
      • [abc]匹配括号中的任意一个
      • [a-f]
      • 递归查找,包含目录下的目录以及隐藏文件
  • 软链接

    • ln -s 被链接的源文件 链接文件

      • -s 表示软链接 不加表示硬链接 几乎用不到
      • 源文件用绝对路径避免出错
  • 打包压缩

    • tar -zcvf name.tar.gz 被压缩的文件/目录
    • tar -zxvf name.tar.gz 解压缩
    • tar -zxvf name.tar.gz -C 目标路径(必须存在)
    • tar -jcvf name.tar.bz2 文件/目录
    • tar -jxvf name.tar.bz2
  • 安装软件

    • sudo apt install/remove/upgrade 软件名

      • 安装/删除/升级

vim 的基本使用

  • 远古但是很厉害的编辑模式,我后来用pycharm多一点,vim不熟悉。
  • 3种工作模式:

    • 命令模式

      • 复制 粘贴 删除 查找 翻页 等
    • 末行模式

      • 保存 退出
    • 编辑模式

      • 文本编辑
  • 重复次数 + 命令 执行多次
    • yy 复制
    • p 粘贴
    • dd 删除一行
    • x 删除单个字符
    • C 修改到行尾的内容
    • D 删除到行尾的内容
    • diw 删除当前单词
    • gg 第一行
    • G 最后一行
    • 3 G 到第三行
    • % 匹配括号
    • V 可视化模式
    • / word 向下查找
    • ?word 向上查找
    • H J K L 左 上 下 右