Linux

管理 RHEL7 的用户和组

用户的属性修改

chage -l [username] #查看用户信息
usermod --expiredate=YYYY-MM-DD [username] #有限时间内授予账户访问
groups [username] #查看组别
id [username] #查看用户id,组id,组名 --append --group [组名,组名] #-aG#添加用户
--home / --d [绝对路径] #修改主路径
--shell []
usermod --append --groups gacanepa,users --home /tmp --shell /bin/sh [username]

用户的锁定与解锁

usermod --lock [username] #锁定密码来停用帐户
usermod --unlock [username] #解锁密码

用户与组的删除

如果一些文件属于该组,删除组时它们不会也被删除。但是组拥有者的名字将会被设置为删除掉的组的GID

groupdel [group_name] # 删除组
userdel -r [user_name] # 删除用户,并删除主目录和邮件池

文件权限

“ls -l”输出中的前10个字符表示每个文件的属性

  1. 第一个字符

    • – (连字符): 一个标准文件
    • d: 一个目录
    • 一个符号链接
    • 字符设备(将数据作为字节流,例如终端)
    • 块设备(以块的方式处理数据,例如存储设备)
  2. 接下来的九个字符,分为三个组,被称为文件模式,并注明读(r)、写(w)、和执行(x)权限授予文件的所有者、文件的所有组、和其它的用户

出于安全考虑,你应该确保在正常情况下,尽可能避免777权限

ls -l /etc | grep rwxrwxrwx #寻找777权限的文件
chmod 777 filename #修改权限
# u:用户权限 g:组所有者权限 o:所有权限
#权限可以通过+ 或 -来授予和收回
chmod a+x filename #修改权限

文件所有组和所有者

chown user:group filename #改变所有组和所有者
chown :group filename # 仅改变所有组
chown user: filename # 仅改变所有者
chown --reference=ref_filename filename #“克隆”一个文件的所有权(所有组和所有者)到另一个文件

编辑文本文件及分析文本

grep 和正则表达式

grep -Ei 'svm|vmx' /proc/cpuinfo
grep -Ei '[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}' -o /etc/fstab #存储设备的 UUID
grep -Ei [[:digit:]]{4} /etc/passwd
  • [:alnum:] 任意字母或数字 [a-zA-Z0-9]
  • [:alpha:] 任意字母 [a-zA-Z]
  • [:blank:] 空格或制表符
  • [:cntrl:] 任意控制字符 (ASCII 码的 0 至 32)
  • [:digit:] 任意数字 [0-9]
  • [:graph:] 任意可见字符
  • [:lower:] 任意小写字母 [a-z]
  • [:print:] 任意非控制字符
  • [:space:] 任意空格
  • [:punct:] 任意标点字符
  • [:upper:] 任意大写字母 [A-Z]
  • [:xdigit:] 任意十六进制数字 [0-9a-fA-F]
  • [:word:] 任意字母,数字和下划线 [a-zA-Z0-9_]

进程管理:开机,关机

  1. 初始化 POST(加电自检)并执行硬件检查;
  2. 当 POST 完成后,系统的控制权将移交给启动管理器的第一阶段(first stage),它存储在一个硬盘的引导扇区(对于使用 BIOS 和 MBR 的旧式的系统而言)或存储在一个专门的 (U)EFI 分区上。
  3. 启动管理器的第一阶段完成后,接着进入启动管理器的第二阶段(second stage),通常大多数使用的是 GRUB(GRand Unified Boot Loader 的简称),

    它驻留在 /boot 中,然后开始加载内核和驻留在RAM 中的初始化文件系统(被称为 initramfs,它包含执行必要操作所需要的程序和二进制文件,以此来最终

    挂载真实的根文件系统)。
  4. 接着展示了闪屏(splash)过后,呈现在我们眼前的是类似下图的画面,它允许我们选择一个操作系统和内核来启动:
  5. 内核会对接入到系统的硬件进行设置,当根文件系统被挂载后,接着便启动 PID为 1 的进程,这个进程将开始初始化其他的进程并最终呈现给我们一个登录提示符界面。

它们的父进程(或者换句话说,就是那个开启这些进程的进程)为systemd

  1. 在系统启动期间,systemd 允许并发地启动更多的进程(相比于先前的SysVinit,SysVinit 似乎总是表现得更慢,因为它一个接一个地启动进程,检查一个进程是否依赖于另一个进程,然后等待守护进程启动才可以启动的更多的服务)
  2. 在一个运行着的系统中,它用作一个动态的资源管理器。这样在启动期间,当一个服务被需要时,才启动它(以此来避免消耗系统资源)而不是在没有一个合理

    的原因的情况下启动额外的服务。
  3. 向后兼容 sysvinit 的脚本。

systemd 由 systemctl 工具控制

service servicename stop #旧版
systemctl stop servicename #新版 shutdown -h now #旧版
systemctl poweroff #新版 chkconfig -list #旧版
systemctl -type=service #新版
renice [-n] priority [-gpu] identifier #调整一个进程的执行优先级
kill -9 identifier # 杀死一个进程或一个进程组
kill -s SIGNAL identifier # 杀死一个进程或一个进程组
pkill -s SIGNAL identifier # 通过名称或其他属性来杀死一个进程

Docker

Docker基本知识

区别 传统虚拟机 Docker
传统虚拟机技术是虚拟出一套硬件后,在其上运行个完整操作系统,在该系统上再运行所需应用进程 容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟
特性 容器 虚拟机
启动 秒级 分钟级
硬盘使用 一般为 MB 一般为 G B
性能 接近原生 弱于
系统支持量 单机支持上千个容器 一般几十个

docker基本概念:镜像(Image)容器(Container)仓库(Repository)

Docker 不是虚拟机,容器就是进程。

镜像使用的是分层存储,容器也是如此。每一个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层,我们可以称这个为容器运行时读写而准备的存储层为容器存储层(容器消亡时,容器存储层也随之消亡)。

数据卷的生存周期独立于容器,容器消亡,数据卷不会消亡。因此,使用数据卷后,容器可以随意删除、重新 run ,数据却不会丢失

Docker配置与使用

  1. 安装Docker Toolbox(安装到C盘)
  2. 在C:\Program Files\Docker Toolbox路径下右键打开git-bash.exe
  3. 运行sh start.sh(需要下载Boot2Docker.ISO文件)(把最新ISO文件放在用户目录/.docker/machine/cache中)
  4. docker-machine设置别名dm,如下
  5. dm create test
  6. 进入Docker
    • dm env test dm ssh test
    • dm env test eval $("C:\Program Files\DockerToolbox\docker-machine.exe" env test)

git-bash别名设置

在git安装目录下/etc/bash.bashrc中加入别名

alias cdvagrant='cd ~/tranning/vagrant/centos7.3'
alias ll='ls -l'
alias ls='ls -F --color=auto --show-control-chars'
alias node='winpty node.exe'

7.12实习培训日志 Linux Docker的更多相关文章

  1. 7.13实习培训日志 Docker

    静态博客github地址 静态博客github地址轻量版 Docker Docker镜像 Docker镜像概念 Docker镜像下载时的分层体现:一层层下载,下载过程中给出了每一层的 ID 的前 12 ...

  2. 7.11实习培训日志-Git Linux

    Git git子模块 先在GitHub创建两个空的respository,一个super_project和一个sub_project. 然后在git bash中向库中写入一些文件. 在super_pr ...

  3. 7.31实习培训日志-docker sql

    docker mysql docker问题 今天问了老师有关docker的问题,entrypoint和cmd的区别,两者同时存在cmd的执行结果会被当做参数传入entrypoint. dockerfi ...

  4. 7.25实习培训日志-Oracle SQL(一)

    Oracle SQL(一) 重点 尽量避免select *,影响性能,不直观. 慎用Distinct,会排序,影响性能,用exists 排序尽量利用索引,索引有序 索引列不要加函数,会使索引失效 外连 ...

  5. 7.24实习培训日志-Docker-Compose

    Docker-Compose 对于昨天的考试,需要 项目根目录下需要docker/mysql/Dockerfile 文件用于构建mysql镜像 项目根目录下需要docker/java/Dockerfi ...

  6. 7.23实习培训日志-JDBC

    总结 今天下午考试,JDBC,这个本身很简单,但是需要我们Dockerfile+Docker Compose运行,这个东西就很复杂.原来学习时没有怎么看,这一次就很懵,完全不知道怎么弄,反正环境都没有 ...

  7. 7.10实习培训日志-Maven 敏捷编程

    总结 今天早上主要学习了Maven和Idea的Docker插件,遇到了一些坑,对于Idea的Docker插件,不能下载,然后我去访问Idea插件官网,发现被墙了,只要开个VPN就好.下午主要是张总经理 ...

  8. 7.30实习培训日志-SQL优化

    总结 今天早上考试,下午主要是老师引导我们学习SQL优化,晚上主要是同学的技术分享,杨松柏同学主要给我们分享了java的io的一些东西,c10k问题,bio(同步阻塞IO),NIO(同步非阻塞IO), ...

  9. 7.27实习培训日志-Oracle SQL(三)

    Oracle SQL(三) 视图 特性 简单视图 复杂视图 关联的表数量 1个 1个或多个 查询中包含函数 否 是 查询中包含分组数据 否 是 允许对视图进行DML操作 是 否 CREATE [OR ...

随机推荐

  1. rtsp转rtmp、hls网页直播服务器EasyNVR前端兼容性调试:ie下的 pointer-events- none

    发现问题: 之前在做EasyNVR 的web页面开发过程中,力求的都是一个播放效果的.功能的展示.对于兼容性也有注意,但有些细节还是难免有所疏忽. 内部测试发现:由于我们是流媒体的实时视频直播,在we ...

  2. 对A轮的追逐变得越加狂热,当前距离互联网泡沫到底有多近?

    编者注:本文来自TOMASZ TUNGUZ,中文版由天地会珠海分舵进行编译. 依据NVCA披露的最新数据,在2015年第二季度.VC总共进行了167亿美元的投资,大约是2000年互联网泡沫时候同期的6 ...

  3. 24、Cocos2dx 3.0游戏开发找小三之网格动作:高炫酷的3D动作

    重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/37596763 网格动作类似于动作特效,能够实现翻转. ...

  4. [持续集成]Jenkins 自动化部署 Maven 工程

    一.Jenkins 持续部署原理图 基础服务: 1 SVN 服务 SVN是Subversion的简称,是一个开放源代码的版本控制系统.说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的 ...

  5. ThreadLocalMap里Entry声明为WeakReference

    Java里,每个线程都有自己的ThreadLocalMap,里边存着自己私有的对象.Map的Entry里,key为ThreadLocal对象,value即为私有对象T.在spring MVC中,常用T ...

  6. nodejs 基础篇整合

    nodeJs 基础篇整合 最近有朋友也想学习nodeJs相关方面的知识,如果你是后端想接近前端,node作为一门跑在服务端的JS语言从这里入门再好不过了.如果你正好喜欢前端,想走的更高,走的更远.no ...

  7. M1卡的工作原理【转】

    本文转载自:https://blog.csdn.net/zmq5411/article/details/52042457 M1卡的工作原理 本篇对M1卡的编程是利用上述第二种方法.M1卡最为重要的优点 ...

  8. Android6.0 旋转屏幕(五)WMS启动应用流程(屏幕方向相关)

    一.强制设置方向 1.Activity 如果要强制设置一个Activity的横竖屏可以通过Manifest去设置,跟Activity相关的信息都会保存在ActivityInfo当中. android: ...

  9. RQNOJ 342 最不听话的机器人:网格dp

    题目链接:https://www.rqnoj.cn/problem/342 题意: DD 有一个不太听话的机器人,这个机器人总是会有自己的想法,而不会完全遵守 DD 给它的指令. 现在 DD 在试图命 ...

  10. 2017SN多校D1T2 note:dp

    题意: 给你一个长度为n的字符串s,并且告诉你有m对字母不能相邻,问你最少在s中取出多少个字符能够使这个字符串合法. 题解: 表示状态: dp[i] = max num of letters 考虑到第 ...