RHCE(Redhat 7)(一)

 

1-199 系统保留账号(服务用)  6及以下是1-99

200-999 系统账号               6及以下是100-499

1000-232-1  普通账号             6及以下是500-232-1

 

ACL  状态符     如设会“+”  ,无即“.”

 

 

ls –ln

 

ls –t 按文件修改时间显示

ll –R 递归显示文件权限等

ll –d 只显示目录信息

r w x执行在最前面表示这是个文件

 

 

system-config-users   图形化添加、删除账号

 

useradd –e 到期   -f 锁账号

 

id 显示账号信息

 

usermod –l改登录名   usermod –l

 

-L 锁定  -U  接锁

 

usermod –d–m 改家目录(数据也会迁过去)

 

userdel –r  删账号及家目录

 

groupmod–n     group

 

last  显示成功登录的

lastb 显示登录失败的

lastlog 显示所有账号是否有登录

 

显示登录账号 (更全,能显示登录多长时间)

who 显示登录账号

 

suid4  sgid 2 sticky bit 1

 

suid是使本来没有相应权限的用户运行这个程序时,可以访问没有权限访问的资源。(主要体现在普通用户改密码)

sgid 表示子目录组权限继承

stickybit 粘滞位(使用户只能对自己的数据执行操作)

 

/lib/systemd/system/graphical.target   图形界面

/lib/system/system/multi-user.target   文字界面

 

/etc/system/system/default.target  (将图形界面或文字界面改为此链接,即可决定开机为图形界面或文字界面)

 

Ctrl+alt+f2-f6  文字模式  6及以下是f1-f6

Ctrl+alt+f1/f7  图形模式   6及以下只有f7

 

Vi

a 追加

A 本行结尾追加

o 增加新行(下面)

O 增加新行(上面)

直接到本行开始并进入输入模式

i 进入输入模式

 

:X = :wq

 

H J K L  左下上右

 

:15   15G  15

 

直接到结尾

gg 直接到开头

 

p粘贴在下面

P 粘贴在上面

 

u 撤销

U 只针对当前行修改撤销

 

Ctrl+r 恢复

 

vi –O file1file2  两个垂直打开

vi –o file1file2  两个水平分割打开

 

:setignorecase  忽略大小写

 

:setnu   显示行号

:setnonu  不显示行号

 

:vplit  垂直分割窗口 1file

:split  水平分割窗口 1file

 

Ctrl+ww  切换vi工作窗口  ctrl的同时两次ww

 

vi file1file2

 

:next  :prev  vi两个file时可通过nextprev进行切换)

 

[abc]  3个中任1

[^abc] 取反,abc都不包含

 

touchfile{1 2 3 4 } 集合,即建4个文件

 

ls file[12]

ls file[^12]

ls file[^12]*(如:ls D[eo]*

 

history  查看历史命令

!25 重执行history 25个命令

 

!$ 上一次执行的参数

 

$() =``  (如:$(hostname)=`hostname`

 

$((A+B))  $(())表示运算,里面可以是+-*/

 

kill -19进程号  暂停并丢入后台

Ctrl+z 丢入后台并暂停

 

kill -18进程号  恢复运行进程

 

jobs  查看后台运行进程

 

kill -9%1  杀掉后台进程1 (%1表示后台作业序号1)

 

bg 2 恢复暂停作业  = kill -18 进程号  (依然在后台)

fg 2 恢复到前台并运行

 

kill -15进程号 = kill -9 进程号  (不过-15有时会杀不掉)

 

进程通过exit 状态表示成功或失败

0表示成功,1-255表示失败

 

Echo $? 用来保存上一次命令的执行结果

 

Ctrl+c  取消的返回值为130

 

&>返回值为9

 

exit本身表终止并退出

 

 

&&表示条件然后  (成功….

 

|| 表示条件否则   (错误….

 

0为真,1为假

 

grep –q ‘aa’/etc/passwd  (从/etc/passwd中查找aa

 

 

= 对比字符串

-eq  对比数字

 

-eq 等于  -ne 不等于 –gt 大于 –lt 小于 ge 大于等于 le小于等于

 

test表比对

test “$A”= “$B” && echo ‘yes’

 

[ “$A” –eq“$B” ]  (中间均需有空格,此处[] 代表test的简写模式)

 

-f 文件是否存在以及是否为1个常规文件

-d 目录是否存在以及是否为1个常规目录

-x 文件是否存在以及是否带有执行权限(不管文件或目录)

-z 是否为空

 

以上4个配合“[ ]”使用

 

If [ $? –eq0 ] 如果上次返回为真

 

for … in.. ; do   ;  done   for语句)

 

if [ “$1”= ‘aaa’ ]  (注意区分”” ’’

 

case $1in

‘aaa’ )

echo ‘bbb’

;;

‘bbb’ )

 Echo ‘aaa’

;;

*)

Echo ‘error’

;;

exit

esac

 

 

unset AB  释放变量AB

setA=100  设置变量A

 

在命令行中敲bash表示开1个子shell

 

env  显示当前环境变量

set 还包含函数,比env显示的多

 

位置变量

 

$1…..$9   1-9可直接用数字

 

${10}…${n}  10以上需加“{}”

 

$*  所有位置变量的值

$# 命令行参数的个数

$! 后台运行的进程号 (只显示最近的1个)

$$ 当前终端的进程号 = $1

$0 命令行本身 (非位置变量)

 

echo ‘$1= ‘”$1”  ’’表示按原样输出)

 

read 分配变量值  (多了全给最后1个,不够就后面没有)

-p 指明提示符显示

echo ‘1 23 4’ | read –p “input:” $1 $2 $3

 

alias 别名

 

alias命令可查看所有别名

unalias ls取消别名ls

alias cp可查看cp是否是别名(如果是显示具体内容)

 

阻止扩展

 

\ (如:echofile\?,区分echo file?

\\ (如:echofile\\

 

‘’ (按原样输出)

“” (除了$ ` \ !

 

环境变量文件:/etc/profile   /etc/bashrc  ~/.bash_profile  ~/.bashrc

 

. 用当前用户的登录shell来执行脚本

Source 对配置文件重新初始化 (也可以用”.”

 

~/.bash_logout   (账号退出登录时执行)

 

c 字符设备 (键盘等)

b 块设备 (存储等)

 

ll/dev/tty3   c 字符设备,4 主设备号,3 次设备号)

ll/dev/sda2    b 块设备,8 主设备号,2次设备号)

 

块设备:

/dev/sda,/dev/sdb   SCSISATAUSB、存储

/dev/md0,/dev/md1  软件RAID

 

字符设备:

 

/dev/tty[2-6]  虚拟控制台

/dev/null/dev/zero  软设备

/dev/random/dev/urandom   随机数