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. EasyPlayerPro Windows播放器进行本地对讲喊话音频采集功能实现

    需求 在安防行业应用中,除了在本地看到摄像机的视频和进行音频监听外,还有一个重要的功能,那就是对讲. EasyPlayerPro-win为了减轻二次开发者的工作量,将本地音频采集也进行了集成: 功能特 ...

  2. WCF基础之设计和实现服务协定

    本来前面还有一个章节“WCF概述”,这章都是些文字概述,就不“复制”了,直接从第二章开始. 当然学习WCF还是要些基础的.https://msdn.microsoft.com/zh-cn/hh1482 ...

  3. springmvc的过滤器和拦截器

    1 什么是过滤器 过滤器是过滤数据,比如过滤低俗文字,修改字符编码等. 2 什么是拦截器 拦截器中可以用来向ModelAndView中添加通用的数据.这样的好处是对于所有网页的公用部分就不需要在每个c ...

  4. (1)Web 应用是一个状态机,视图与状态是一一对应的。 (2)所有的状态,保存在一个对象里面。

    Redux 入门教程(一):基本用法 - 阮一峰的网络日志 http://www.ruanyifeng.com/blog/2016/09/redux_tutorial_part_one_basic_u ...

  5. php中$t=date()函数参数意义及时间更改

    php中date()函数用的最多的是:date('Y-m-d H:i:s', time());  这里面的参数意义分别是:Y - 年,四位数字; 如: "2016":m - 月份, ...

  6. 【Xcode学C-4】进制知识、位运算符、变量存储细节以及指针的知识点介绍

    一.进制知识 (1)默认是十进制.八进制前面加0.即int num1=015;是13.十六进制前面加0x/0X.即int num1=0xd.结果是13.二进制前面是0b/0B,即int num1=0b ...

  7. 阿里云ecs docker使用(2)

    1. 退出docker容器 命令 exit 2.sudo docker ps -l 3. sudo docker images 4. sudo docker commit ba300f05c1a3 c ...

  8. RaspBerry Pi3 ~ 内核编译

    RaspBerryPi3-内核编译 转载注明出处:http://www.cnblogs.com/einstein-2014731/p/5985128.html 在有道云笔记的同步分享:http://n ...

  9. 一个商品SKU是怎么生成的

    首先说一说什么是SKU.......自己百度去... 类似京东上面,未来人类S5这个台笔记本(没错,我刚入手了) 都是S5这个型号,但是因为CPU,显卡,内存,硬盘等不同,价格也不一样.CPU,显卡, ...

  10. 最新App Store审核指南与10大被拒理由

    最近,苹果在官网给出了截至2015年2月份应用被拒绝的十大理由,其中50%以上的应用被拒绝都是因为这10个原因,其中7个理由和2014年相同,其中排名前三的原因分别是:需要补充更多信息.存在明显的bu ...