zoukankan      html  css  js  c++  java
  • linux_basics

    linux的基本原则

    1. 由目的单一的小程序组成,组合小程序完成复杂任务
    2. 一切皆文件
    3. 尽量避免捕获用户接口
    4. 配置文件保存为纯文本格式

    文件系统

    • /boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)
    • /dev: 设备文件
      设备文件:
      • 块设备:随机访问,数据块
      • 字符设备: 线性访问,按字符为单位
      • 设备号: 主设备号(major)和次设备号(minor)
    • /etc: 配置文件
    • /home: 用户的家目录, 每一个用户的家目录通常默认为/home/$USERNAME
    • /root: 管理员的家目录
    • /lib: 库文件
      • 静态库, .a结尾
      • 动态库, .dll、.so
      • /lib/modules: 内核模块文件
    • /media: 挂载点目录,移动设备
    • /mnt: 挂载点目录,额外的临时文件系统
    • /opt: 可选目录,第三方程序的安装目录
    • /proc: 伪文件系统,内核映射文件
    • /sys: 伪文件系统,跟硬件设备相关的属性映射文件
    • /tmp: 临时文件, /var/tmp
    • /var: 可变化的文件
    • /bin: 可执行的文件
    • /sbin: 管理命令

    目录管理

    • ls
    • cd
    • pwd
    • mkdir
    • rmdir
    • tree

    文件管理

    • touch
    • stat
    • file
    • rm
    • cp
    • mv
    • nano

    日期时间

    • date
    • clock
    • hwclock
    • cal

    查看文本

    • cat
    • tac
    • more
    • less
    • head
    • tail
    • wc

    文本处理

    • cut
    • join
    • sed
    • awk
    • tr
    • sort

    bash支持的引号

    • ``: 命令替换
    • "": 弱引用,可以实现变量替换
    • '': 强引用, 不完全变量替换

    文件通配符

    • *: 任意长度的任意字符串
    • ?: 任意单个字符
    • []: 匹配制定范围内的任意单个字符
      • [:space:]: 空白字符
      • [:punct:]: 标点字符
      • [:lower:]: 小写字母
      • [:upper:]: 大写字母
      • [:alpha:]: 大小写字母
      • [:digit:]: 数字
      • [:alnum:]: 数字和大小写字母
    • [^]: 匹配指定范围外的任意单个字符

    文件权限

    • r: 可读,可以使用类似cat等命令查看文件内容
    • w: 可写, 可以编辑或删除文件
    • x: 可执行, 在命令提示符下,当做命令提交给内核运行

    目录权限

    • r: 可以对此目录执行ls以列出内部的文件
    • w: 可以在此目录创建文件
    • x: 可以使用cd切换进此目录, 也可以使用ls -l查看内部文件的详情信息

    用户类别

    • 管理员: 0
    • 普通用户: 1-65535
      • 系统用户: 1-499
      • 一般用户: 500-65535

    用户组类别

    • 管理员组
    • 普通组
      • 系统组
      • 一般组
    • 私有组: 创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户同名的组
    • 基本组: 用户的默认组
    • 附加组: 默认组以外的其他组

    /etc/passwd文件内容解析

    用户名:密码:UID:GID:注释:家目录:默认shell

    /etc/group文件内容解析

    组名:密码:GID:以此组为其附加组的用户列表

    /etc/shadow文件内容解析

    用户名:密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间

    用户管理

    • useradd
    • userdel
    • usermod
    • passwd: 密码管理
    • chsh: 修改用户默认的shell
    • chfn: 修改注释信息
    • finger: 查看用户账号信息
    • id: 查看用户的账号属性信息
    • change
    • pwck: 检查用户账号完整性

    组管理

    • groupadd
    • groupdel
    • groupmod
    • gpasswd: 为组设定密码

    权限管理

    • chown: 改变文件属主
    • chgrp: 改变文件属组
    • chmod: 修改文件权限
    • umask: 遮罩码

    bash的配置文件

    • 全局配置
      • /etc/profile
      • /etc/profile.d/*.sh
      • /etc/bashrc
    • 个人配置
      • ~/.bash_profile
      • ~/.bashrc
    • profile类的文件
      • 设定环境变量
      • 运行命令或脚本
    • bashrc类的文件
      • 设定本地变量
      • 定义命令别名
    • 登录式shell如何读取配置文件?
      • /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc
    • 非登录式shell如何读取配置文件?
      • ~/.bashrc --> /etc/basrc --> /etc/profile.d/*.sh

    系统设定

    • 默认输出设备: 标准输出, STDOUT, 1
    • 默认输入设备: 标准输入, STDINT, 0
    • 标准错误输出: STDERR, 2

    查看当前shell中的环境变量

    • printenv
    • env
    • export

    特殊权限

    • SUID: 运行某程序时,相应进程的属主是程序文件自身的属性,而不是启动者
      • chmod u+s file
      • chmod u-s file
    • SGID: 运行某程序时,相应进程的属组时程序文件自身属性,而不是启动者所属的基本组
      • chmod g+s file
      • chmod g-s file
    • sticky: 在一个公共目录,每个都可以创建文件,删除自己的文件,但不能删除别人的文件
      • chmod o+t dir
      • chmod o-t dir

    文件系统访问列表

    FACL: filesystem access control list 利用文件扩展保存额外的访问控制权限

    • setfacl
      • m: 设定
        • u:uid:perm
        • g:gid:perm
      • x: 取消
        • u:uid
        • g:gid
    • getfacl
  • 相关阅读:
    Struts2 语法--action
    react ref获取dom对象
    react 简单的用函数调出ui显示
    express.js graphql express-graphql
    Nestjs 增加全局前缀
    react使用BrowserRouter打包后,刷新页面出现404
    在node环境使用axios发送文件
    Nest js 使用axios模块
    Flutter For Web
    css实现开关效果
  • 原文地址:https://www.cnblogs.com/zane-zong/p/6807924.html
Copyright © 2011-2022 走看看