红帽RHCE培训-课程1笔记内容
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笔记内容的更多相关文章
- 红帽RHCE培训-课程3笔记内容2
9 NFS 9.1 NFS基础 目标 .使用NFS将文件系统连接到客户端,并使用IP 地址控制访问 .使用NFS将文件系统连接到客户端,并使用kerberos 来控制访问 .配置用户名和密码控制访问的 ...
- 红帽RHCE培训-课程3笔记内容1
1 控制服务和守护进程 systemctl systemctl start ** systemctl restart ** systemctl enable ** systemctl status * ...
- 红帽RHCE培训-课程2笔记内容
1 kickstart自动安装 已安装系统中,在root下述目录会自动生成kickstart配置文件 ll ~/anaconda-ks.cfg 关键配置元素注释,详见未精简版 创建Kickstart配 ...
- 红帽RHCE培训-课程3笔记目录
目录: 1 控制服务和守护进程 systemctl systemctl restart enable servicename service servicename restart chkconfig ...
- 红帽RHCE培训-课程2笔记目录
目录 1 kickstart自动安装 DHCP+TFTP(syslinux) +FTP +KICKSTART ~/anaconda-ks.cfg system-config-kickstart 2 g ...
- 红帽RHCE培训-课程1笔记目录
目录 1.环境变量 env 2.man手册mandb;系统日志/var/log/messages 3.重定向和管道> 2> &> | tee 4.mail mail -s 标 ...
- 4.bootstrap练习笔记-内容区块
bootstrap练习笔记-内容区块 1.bootstrap中,采用的全部是div布局,把你的内容首先要包含在一个大的DIV区块当中 2.然后再写一个div.container,这个div里面存放真正 ...
- 01_Hadoop学习笔记内容说明
Hadoop学习笔记内容说明_00 1. 观看云帆大数据梦琪老师的<企业级 Hadoop 1.x 应用开发基础课程>2014年4月左右版本. 2. 博客是在梦琪老师的随堂笔记上改动的, ...
- (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem
(转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...
随机推荐
- Java自学-Lambda 概念
Java Lambda 表达式概念 假设一个情景: 找出满足条件的Hero 从使用普通方法,匿名类,以及Lambda这几种方式,逐渐的引入Lambda的概念 步骤 1 : 普通方法 使用一个普通方法, ...
- poj1321棋盘问题(dfs+摆放问题)
在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C. ...
- mysql的优化总结
1,允许数据库适当冗余提高查询效率 2,对于索引的使用要适当
- selenium 模拟滑动解锁
来源:Selenium模拟JQuery滑动解锁 (selenium +Python ) 本文:selenium+Java package cn.gloryroad; import org.open ...
- Django教程(1)
增加新的视图: 1. 在app/view.py下增加调用视图函数 def horizonG(request): return render(request, 'horizonG.html') 2. 在 ...
- Markdown进阶教程
Markdown是很好用的轻量级标记语言,许多开发人员喜欢使用Markdown来记录学习心得和写博客.本篇博客主要介绍Markdown的高级技巧教程,Markdown的基础教程已经在上篇介绍过了. ...
- ConsoleWindow中的双击日志定位
很多项目都有自己重写Debug.Log的习惯,难免会遇到在Unity的Console窗口中双击日志, 但是没法直接跳转到想要看到的代码那一行的时候,解决办法有以下2种: 将自己封装的日志类制作成DLL ...
- java的并发
问题: 过程: 正常流程:记录生成:状态=1-->北京:状态 = 3,4,-->定时任务:状态=5--->结束 异常流程:一条待处理的的记录生成以后,马上被定时任务处理,加载到内存, ...
- 2.(group by)如何让分组后,每组中的数据按时间倒序排列(group by和 order by的分组按排列)
比如说有表devicedata: 问题: 现在我想将devicedata这个表中的数据,先按device_id这个字段分组,然后每组中的数据按时间字段ts从大到小的排列, 如何解决呢? 错误的sql: ...
- ClassLoad
是什么 用来加载 Class 的.它负责将 Class 的字节码形式转换成内存形式的 Class 对象.字节码可以来自于磁盘文件 .class,也可以是 jar 包里的 .class,也可以来自远程服 ...