ssh -X root@s0

1、环境变量 env

系统变量名都为大写;

引用变量名对应的值时使用$引导;

SHELL下,修改变量临时生效。

# PS1=' # '

# echo $PS1

永久生效放入

/etc/profile

/etc/bashrc

echo PS1=\'[\\u@\\h \\W \\d#]\' >> /etc/profile

source /etc/profile

2 man 

2.1 man

/1 /5 /-k

1用户命令 可执行命令和shell程序

5文件格式,用于许多配置文件和结构

k搜索

# whereis passwd

# man -k nmcli

# man nmcli-examples

/team

# yum -y install cifs-utils

# mandb

# man -k cifs

2.2系统日志

# cat -n /var/log/messages

# less /var/log/messages

# more # head # tail

3、重定向和管道

stdin  stdout   stderr

标准输入   标准输出  标准错误

# echo haha > 1.txt 重定向标准输出以覆盖文件

# echo haha >> 2.txt  标准输出附加文件

# Ls 2> 3.txt  标准错误覆盖至文件3.txt

# Ls &> 3.txt  标准输出和标准错误军覆盖同一个文件

# mandb &> /dev/null 丢弃错误

|管道   mq启动示例  前一个命令的输出作为后一个命令的输入

# cat /etc/passwd | grep student

# echo redhat | passwd --stdin root

# grep systemd /var/log/messages | grep '19:10' | grep Start

# cat -n /var/log/messages | head -n 2 | tail -n 1

三通  

# head -n 2 /var/log/messages | tee st.wj

4、mail

mail -s 标题 root

# mail student

<Ctrl-d>

.  表示完成

$ mail -s b2 root < /etc/fstab  将此文件内容作为邮件发送给root

cat > new.file << EOF

<<为定义终止符  此处将终止符定义为EOF

# cat > new.file << EOF

lao shu

EOF

5、VIM

在命令模式下的一些快捷键命令

vi file.txt

a i o插入  进入输入模式

a光标下一位置

i光标当前位置

o光标下一行

cc删除光标所在行,并插入

r replace

R 连续替换

u undo撤销上一次的连续操作

:set number

: set no number

gg跳至首行

G跳至末行

ngg或:n调至n行

/搜索  n  next  N上一个

?向上搜索  n next  N上一个

/nobl 取消高亮显示

~转换为大写

^跳至行首

$跳至行尾

#调至相同的单词 即搜索光标所在单词,并跳至下个

x删除          yv 复制当前光标至行尾的内容  Pp 黏贴

dw 删除一个单词     yw复制一个单词

ndw 删除        nyw复制n个单子

dd  删除一行      yy复制一行

ndd           nyy     

d^ 删除光标前的内容  y^

d$ 删除光标后的内容  y$

:wq   :x   <Z><Z> 保存

:wq!

:q!   <Z><Q>

:w!

课程2相关内容:

# yum list vim*

替换,:%s/搜索词/替换为/g 若每行搜索出多个匹配项,则g为global全部替换

:6,7s/搜索词/替换为/g 只搜索6 - 7 行

:e!恢复最后保存的情况

:w /tmp/t1另存为。。

:split 垂直显示为多个窗口 :vsplit水平显示为多个窗口 ctrl+w+箭头切换窗口

:vsplit /etc/crontab 新打开一个文件,一起显示

:qa!全部退出

:help查看帮助

高亮显示开关 :syntax off | on

:nohl highlight高亮

<cw>删除一个词

<C>删除到行尾

vim打开文件的初始设置/etc/vimrc

比如,让vim打开文件直接显示行号:echo set number >> /etc/vimrc

在vim中输入了那些:命令,编辑了那些文件,均记录在文件/root/.viminfo

# vim ~/.viminfo 近期做的操作

diff命令 比较两个文件的差异

6、用户 组

6.1 useradd groupadd

首先看下,用户组相关的文件:

/etc/login.defs #uid gid取值范围  uid 1000~60000  gid  1000~60000  不指定id创建时

/etc/passwd /etc/group  /etc/shadow

用户:密文密码:最后一次修改密码的时间:密码的最短有效期:密码的最长有效期:提前几天提示修改密码:::

man 5 shadow文件格式查看

useradd -u uid username

usermod -u uid username

userdel -r username

usermod -G groupname username 附加组

usermod -g group username 原始组

usermod -aG groupname2 username

usermod -G group1,group2 username

usermod -L username 锁定用户,实际在shadow中的密码前添加了!

usermod -U username 解锁用户

usermod -l user1 user2将用户user2名称修改为user1

groupadd -g gid groupname

groupmod

groupdel

groupmems -g qemu -a laoshu 向qemu组中添加laoshu用户

groupmems -g qemu -d laoshu  qemu组中删除laoshu用户

6.2 sudo命令

假如系统管理员休假了,但我们还需要以root权限来执行一些操作。那样就需要用到sudo命令

sudo 命令可以使用户根据/etc/sudoers文件中的设置,而允许以root或其他用户身份运行命令

# visudo   sudo以root权限执行

# grep -n wheel /etc/sudoers

## Allows people in group wheel to run all commands

# su - student

$ sudo tail /var/log/messages

find /home -nouser

6.3 使用for语句,写一个简单的脚本;创建用户

# for i in $(seq 1 5);do

echo $i:x:50$i:50$i::/home/$i:/sbin/bash >> user.txt

done

# newusers user.txt

# vim user.sh

# chmod a+x user.sh

#!/bin/bash

for i in $(seq 1100 1110); do

useradd -u $i u$i

echo a$i\password | passwd --stdin u$i

done

# ./user.sh

# ssh u1100@s0

a1100password

7、文件系统权限  访问控制

chown chmod

7.1 # chmod [字母|数值] 文件

u user;g group;o other;a all

+ - = 增加,取消,设置

r read;w write;x execute;

r w e

file cat > sh

folder ls touch cd

7.2 特殊权限

suid    针对user 

[root@server0 /]# ll /usr/bin/passwd

-rwsr-xr-x. 1 root root 27832 Jan 30 2014 /usr/bin/passwd

setuid就是:让普通用户拥有可以执行权限“只有root权限才能执行”的特殊权限,setgid同理指”组“

sgid 

已拥有文件的组身份执行文件

在目录中最新创建的文件 将其组所有者 设置为与目录的组所有者相匹配

目录u与g都具备suid执行权,但不具有x的执行权

stick 

该目录中的文件只有所有者和root能删除

drwxrwxrwt. 10 root root 4096 Oct 18 18:35 tmp

stick bit (粘贴位)就是:目录的拥有者和root用户有权限删除它,除此之外其它用户不能删除和修改这个目录。

chmod o+t /dirname

目的:定义只有此目录的所属用户才有权删除此目录,

其他用户可以删除目录中的所属用户的文件。多用于协作

修改对应权限

符号法: setuid=u+s; setgid=g+s; sticky =o+t

chmod g+s directory

数值法(fourth preceding digit): setuid= 4; setgid= 2; sticky = 1

chmod 2770 directory

suid4、sgid2、stick1权限显示为:

rwsrwsrwt

u-x, g-x, o-x会变为:

rwSrwSrwT 大写S T都不生效,没有执行位

7.3 chown  更改文件 目录的用户或组的所有权

7.4 umask 权限反码  可查看当前用户的权限反码,什么是权限反码

比如 root用户umask执行结果是0022

那么root用户新建的目录,的权限就是777-022=755

普通文件 666-022=644

默认配置在/etc/login.defs中

umask -S可查看默认文件权限

文本编辑器创建的文件可由所有人读取和写入,但不可执行,重定向相同;

二进制可执行文件由创建它们的编译器设为可执行权限;

mkdir命令创建新的目录,并设置有全部权限,即读取、写入和执行;

ls && echo chegong 执行完ls,后执行echo。。 前一条命令执行成功后执行后一条命令

ls ||echo test  前一条命令不管执行是否成功,都执行后一条命令

8 进程

8.1 ps  进程

ps仅查看当前终端的进程信息,如果要获取系统中的每一个进程的信息,可以使用-ax all   

#ps aux 或ps -ef

#ps eo pid,user,%mem  指定那些列

#top

红帽RHCE培训-课程1笔记内容的更多相关文章

  1. 红帽RHCE培训-课程3笔记内容2

    9 NFS 9.1 NFS基础 目标 .使用NFS将文件系统连接到客户端,并使用IP 地址控制访问 .使用NFS将文件系统连接到客户端,并使用kerberos 来控制访问 .配置用户名和密码控制访问的 ...

  2. 红帽RHCE培训-课程3笔记内容1

    1 控制服务和守护进程 systemctl systemctl start ** systemctl restart ** systemctl enable ** systemctl status * ...

  3. 红帽RHCE培训-课程2笔记内容

    1 kickstart自动安装 已安装系统中,在root下述目录会自动生成kickstart配置文件 ll ~/anaconda-ks.cfg 关键配置元素注释,详见未精简版 创建Kickstart配 ...

  4. 红帽RHCE培训-课程3笔记目录

    目录: 1 控制服务和守护进程 systemctl systemctl restart enable servicename service servicename restart chkconfig ...

  5. 红帽RHCE培训-课程2笔记目录

    目录 1 kickstart自动安装 DHCP+TFTP(syslinux) +FTP +KICKSTART ~/anaconda-ks.cfg system-config-kickstart 2 g ...

  6. 红帽RHCE培训-课程1笔记目录

    目录 1.环境变量 env 2.man手册mandb;系统日志/var/log/messages 3.重定向和管道> 2> &> | tee 4.mail mail -s 标 ...

  7. 4.bootstrap练习笔记-内容区块

    bootstrap练习笔记-内容区块 1.bootstrap中,采用的全部是div布局,把你的内容首先要包含在一个大的DIV区块当中 2.然后再写一个div.container,这个div里面存放真正 ...

  8. 01_Hadoop学习笔记内容说明

    Hadoop学习笔记内容说明_00 1.  观看云帆大数据梦琪老师的<企业级 Hadoop 1.x 应用开发基础课程>2014年4月左右版本. 2.  博客是在梦琪老师的随堂笔记上改动的, ...

  9. (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem

    (转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...

随机推荐

  1. Java自学-Lambda 概念

    Java Lambda 表达式概念 假设一个情景: 找出满足条件的Hero 从使用普通方法,匿名类,以及Lambda这几种方式,逐渐的引入Lambda的概念 步骤 1 : 普通方法 使用一个普通方法, ...

  2. poj1321棋盘问题(dfs+摆放问题)

    在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C. ...

  3. mysql的优化总结

    1,允许数据库适当冗余提高查询效率 2,对于索引的使用要适当

  4. selenium 模拟滑动解锁

    来源:Selenium模拟JQuery滑动解锁   (selenium +Python ) 本文:selenium+Java package cn.gloryroad; import org.open ...

  5. Django教程(1)

    增加新的视图: 1. 在app/view.py下增加调用视图函数 def horizonG(request): return render(request, 'horizonG.html') 2. 在 ...

  6. Markdown进阶教程

      Markdown是很好用的轻量级标记语言,许多开发人员喜欢使用Markdown来记录学习心得和写博客.本篇博客主要介绍Markdown的高级技巧教程,Markdown的基础教程已经在上篇介绍过了. ...

  7. ConsoleWindow中的双击日志定位

    很多项目都有自己重写Debug.Log的习惯,难免会遇到在Unity的Console窗口中双击日志, 但是没法直接跳转到想要看到的代码那一行的时候,解决办法有以下2种: 将自己封装的日志类制作成DLL ...

  8. java的并发

    问题: 过程: 正常流程:记录生成:状态=1-->北京:状态 = 3,4,-->定时任务:状态=5--->结束 异常流程:一条待处理的的记录生成以后,马上被定时任务处理,加载到内存, ...

  9. 2.(group by)如何让分组后,每组中的数据按时间倒序排列(group by和 order by的分组按排列)

    比如说有表devicedata: 问题: 现在我想将devicedata这个表中的数据,先按device_id这个字段分组,然后每组中的数据按时间字段ts从大到小的排列, 如何解决呢? 错误的sql: ...

  10. ClassLoad

    是什么 用来加载 Class 的.它负责将 Class 的字节码形式转换成内存形式的 Class 对象.字节码可以来自于磁盘文件 .class,也可以是 jar 包里的 .class,也可以来自远程服 ...