访问控制列表ACL
getfacl
setfacl u:me:rX file 只读权限
setfacl -Rm g:group1:rwX dir/
setfacl -Rm d:g:group1:rwX dir/ 将来的文件默认组权限
chmod 4755 -rwsr_xr_x
suid sgid sbid | owner:r owner:w owner:x | groupowner:r groupowner:w groupowner:x | other:r other:w other:x
grep
字边界: \< \>
行首:^ 行尾:$
通配符.,任意字符: c.t cat c5t
倍数*: c.*t ct cat ca5t cafdfst
数字倍数: c.\{2\}t cfdt c44t
-i 不区分大小写
-v 不包含
-A <NUMBER> 显示匹配之后的行数
-B <NUMBER> 显示匹配之前的行数
-e 多个正则表达式,类似or
-c 统计文件匹配的行数, 相当于 grep | wc -l, 对不同文件分别打印
-n 输出序号
vim
cltr + g 显示文件、光标状态
G到结尾 ":x" 或者“x+G"跳转到x行
^跳到行首 $跳到行尾, 再按a附加文本
可视状态下r替换char,cw替换单词,进入插入状态, R直接进入替换模式
%跳转到匹配括号
两行之间替换 a, bs/old/new/g, 全文替换%s/old/new/g ,每个替换确认加c,%s/old/new/gc
!输入外部命令
#, # w tmpfile 保存部分文件内容
r tmpfile 插入tmpfile到当前光标
hlsearch: set hls , highlight
incsearch: set is, 一边输入一边查找
寻求帮助,如输入“:help w”
5yy 复制5行
yy2p 复制一行,粘贴2次
"v"进入visual,再移动光标选择要复制内容;“V”进入基于行的visual模式; cltr + v 进入基于block(列)的visual模式
d 删除,不能单独用,得跟后续操作符,比如 dd 是删除一整行,d$ 是删除直到行的末尾
x 删除当前光标下的单个字符
c 跟 d 类次,但是删除完成后会进入插入模式
计划任务
1.一次性执行
at <TIMESPEC>
now +5min
teatime tomorrow (teatime is 16:00)
noon +4 days
5pm august 3 2016
atrm删除
atq或者at -l检查
2.周期性cron
crontab -e
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * user-name command
*表示始终
x-y表示范围,可以在列表中包括,如1,3-7,9
*/7表示每隔七天
进程优先级
ps aux --sort=pcpu(%cpu), 按cpu占用从小到大排序
/etc/login.defs是设置用户帐号限制的文件,在这里我们可配置密码的最大过期天数,密码的最大长度约束等内容。该文件里的配置对root用户无效。如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs
组管理
组信息保存在/etc/group
id username可以查看用户的id、组信息
groupadd -g 5000 ateam (-g指定gid,系统组 0 - 999)
groupmod -n javaapp appusers, 讲appusers组改成javaapp
groupmod -g 6000 ateam, 更改GID为6000
groupdel 删除组,用户的主要组不能删除
usermod -g groupname username 更改用户主要组
usermod -aG wheel allen, -G将用户添加到补充组,-a表示附加,否则将用户从其他附加组删除
管理用户密码期限
锁定账户 usermod -L username
解锁账户 usermod -U username
change -l username 列出用户名当前设置
change -E YYYY-MM-DD 在指定日期到期
date -d "+45 days"
change -M 90 username 要求每90天创建新密码
change -d 0 username 第一次登陆更改密码
mysqldump的几种常用方法:
(1)导出整个数据库(包括数据库中的数据)
mysqldump -u username -p dbname > dbname.sql
(2)导出数据库结构(不含数据)
mysqldump -u username -p -d dbname > dbname.sql
(3)导出数据库中的某张数据表(包含数据)
mysqldump -u username -p dbname tablename > tablename.sql