ls 正则匹配
# 列出文件名包含非字母,数字的文件
ls *[^0-9a-zA-Z]*
# 列出以字母开头,文件名包含空格的.html文件
ls [a-zA-Z]*\ *.html
通过date命令获取昨天或明天时间
- date命令可以获取当前的时间,通过man,可以看到date有很多参数可以用,很容易做到格式化
date +"%F"
输出格式:2011-12-31
date +"%F %H:%M:%S"
输出格式:2011-12-31 16:29:50
- 这都是打印出系统的当前时间,如果要获取相对当前时间的某个时间,需要怎么做,通过 -d 参数就能实现。例如:
date -d"tomorrow" +"%F %H:%M:%S"
输出明天这个时候的时间
date -d"yesterday" +"%F %H:%M:%S"
输出昨天这个时候的时间
- 如果说我想获取13天前的时间怎么办,-d参数还有更加灵活的用法,例如:
date -d"-1 day ago" +"%F %H:%M:%S"
输出明天这个时候的时间
date -d"1 day ago" +"%F %H:%M:%S"
输出昨天这个时候的时间
date -d"1 week ago" +"%F %H:%M:%S"
输出7天前这个时候的时间,等价于
date -d"7 day ago" +"%F %H:%M:%S"
可以看到ago的强大了吧,第一个数字可以是负数,负数表示将来时间,正数表示前面已经过去的时间,第二个参数minute、hour、day、month、week。
添加,编辑用户和组
useradd -m -g users <username> #添加新用户并在/home下创建用户目录
passwd <username> #为新用户设置密码
id <username> #显示用户的id和所在分组信息
groupadd admin #添加admin组
gpasswd -a <username> admin #把用户添加到admin组内
递归修改目录下所有目录的权限为755,目录下所有文件权限为644
find <directory> -type d -exec chmod 755 {} \;
find <directory> ! -type d -exec chmod 644 {} \;
磁盘大文件及大文件夹查找
- 展示指定目录下所有文件和目录的大小,并按照从大到小的顺序排列
du -s /home/* | sort -nr
- 查找当前目录下100M以上的文件
find . -type f -size +100M
# 对查找结果按照文件大小做一个排序
find . -type f -size +100M -print0 | xargs -0 du -h | sort -nr
- 查找当前目录下前20的大目录
sudo du -hm --max-depth=2 | sort -nr | head -20
打包当前文件夹下所有文件
# 压缩当前文件夹下非隐藏文件的文件
tar czvf test.tar.gz *
# 压缩当前文件夹下隐藏文件排除两个隐藏文件夹"."和“..”
tar czvf test.tar.gz .[!.]*
#`ls -a`
tar zcvf test.tar
展示所有进程
ps -ef
查看端口信息
ss -tlnp
目录处理命令
mkdir -p 目录名
选项
-p
递归创建
cp [选项] [原文件或目录] [目标目录]
选项
-r
复制目录
-p
连带文件属性复制
-d
若源文件是链接文件,则复制链接属性
-a
相当于-pdr
帮助命令
man
man的级别
- 查看命令的帮助
- 查看可被内核调用的函数的帮助
- 查看函数和函数库的帮助
- 查看特殊文件的帮助(主要是/dev目录下的文件)
- 查看配置文件的帮助
- 查看游戏的帮助
- 查看其它杂项的帮助
- 查看系统管理员可用命令的帮助
- 查看和内核相关文件的帮助
查看命令拥有哪个级别的帮助
- man -f 命令
- whatis 命令
举例:
man -5 passwd
man -4 null
man -8 ifconfig
- 查看和命令相关的所有帮助
- man -k 命令
- apropos 命令
举例
man -k passwd
选项帮助
- 命令 –help
举例
ls –help
shell 内部命令帮助
- help shell内部命令
举例
确定cd 命令是否是内部命令
whereis cd-
获取内部命令帮助
help cd
详细命令帮助 info
- info命令
回车
进入子帮助页面(带有 * 号标记)
u
进入上层页面
n
进入下一个帮助小节
p
进入上一个帮助小节
q
退出帮助页面
显示当前登录系统的用户
- who
last和lastlog
last命令用于显示用户最近登录信息
lastlog命令用于显示系统中所有用户最近一次登录信息。
查找文件,并列出其详细信息
ls -ld $(locate filename)
后台命令脱离登录终端执行的方法
1. 把需要后台执行的命令放入 /etc/rc.local
文件(推荐)
2. 使用系统定时任务,让系统在指定的时间执行某个后台命令
3. 使用 nohup
命令
nohup [命令] &
- 实例
[vagrant/tmp] ]$cat for.sh
#!/bin/bash
for i in `seq 1000`
do
date >> /tmp/date.log
sleep 3s
done
[vagrant/tmp] ]$nohup /tmp/for.sh &
[1] 4065
nohup: ignoring input and appending output to ‘nohup.out’
[vagrant/tmp] ]$jobs
[1]+ Running nohup /tmp/for.sh &