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. redis 安装以及配置

    centos 安装 yum install redis-server 配置 配置文件redis.conf 配置访问密码 # requirepass foobared requirepass 指定密码1 ...

  2. 0004 继承django系统用户表

    1 创建基础模型 在本项目中,所有表都有两个自动产生的完全相同的字段,即创建时间和更新时间,因此,可以创建一个基础模型,让所有的表都来继承这个模型. 找到工程目录下的PublicMethod目录,创建 ...

  3. Python :元组,不可修改的序列

  4. Oracle查询当前用户和当前用户下的所有表

    转载自:http://blog.itpub.net/29485627/viewspace-1246317/ Oracle查询当前用户和当前用户下的所有表 (1)查询当前用户 SQL> show ...

  5. Unity 读取Json常用的两种方式

    使用的是Litjson 1.读取本地Json public void ReadJson() { StreamReader streamReader = new StreamReader(Applica ...

  6. Codeforces Hello2020 A-E简要题解

    contest链接:https://codeforces.com/contest/1284 A. New Year and Naming 思路:签到,字符串存一下,取余拼接. #include< ...

  7. [转] UML中的六大关系

    UML中的六大关系 转自:https://www.cnblogs.com/hoojo/p/uml_design.html 在UML类图中,常见的有以下几种关系: 泛化(Generalization), ...

  8. 208. 实现 Trie (前缀树)

    主要是记录一下这个数据结构. 比如这个trie树,包含三个单词:sea,sells,she. 代码: class Trie { bool isWord; vector<Trie*> chi ...

  9. eclipse运用经验

    1.eclipse粘贴字符串添加转义符 2.eclipse的jdk版本切换 1.Window—Preferences—Java—Compiler—右侧面板设置为1.6 2.Window—Prefere ...

  10. Python - isinstance()更深刻的理解

    起因经过 今天翻collections.abc的文档时,我知道list的实例在逻辑上(因为duck typing 鸭子类型)是Container和不能hash的(因为list可变),就试下面的代码是否 ...