find
find / -name "*.log" 查找根目录下名称为.log结尾的文件
find . -name "*.log" 查找当前目录下名称为.log结尾的文件
-size [±]size[cwbkMG]:按文件大小查找,支持使用 + 或 - 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB)。
查找当前目录下大于1b的文件
find . -size +1b
将当前目录及其子目录下所有 20 天前及更早更新过的文件列出:
find . -ctime +20
-type type:按文件类型查找,可以是 f(普通文件)、d(目录)、l(符号链接)等
查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:
-exec ls -l {} ; 前面查询出来的结果进行ls 操作
find / -type f -size 0 -exec ls -l {} \;
split
split -b 100k test -d -a 4 test_file
-b 文件切割的大小
test 文件名称
-d 使用数字作为后缀
-a 数字长度
test1_file 默认文件名称
[root@iZ2zega2jsx53zlx3r7p20Z test1]# ll
total 500
-rw-r--r-- 1 root root 506056 Jun 20 09:06 test
drwxr-xr-x 2 root root 4096 Jun 20 02:50 test2
[root@iZ2zega2jsx53zlx3r7p20Z test1]# split -b 100k test -d -a 4 test_file
[root@iZ2zega2jsx53zlx3r7p20Z test1]# ll
total 996
-rw-r--r-- 1 root root 506056 Jun 20 09:06 test
drwxr-xr-x 2 root root 4096 Jun 20 02:50 test2
-rw-r--r-- 1 root root 102400 Jun 20 09:19 test_file0000
-rw-r--r-- 1 root root 102400 Jun 20 09:19 test_file0001
-rw-r--r-- 1 root root 102400 Jun 20 09:19 test_file0002
-rw-r--r-- 1 root root 102400 Jun 20 09:19 test_file0003
-rw-r--r-- 1 root root 96456 Jun 20 09:19 test_file0004
软连接和硬链接
软连接 ln -s test testlink
ln -s 创建别名的意思,删除源文件,链接文件失效,实际没有创建inode
[root@iZ2zega2jsx53zlx3r7p20Z test1]# ln -s test testlink
[root@iZ2zega2jsx53zlx3r7p20Z test1]# ln -s test3 test3link
[root@iZ2zega2jsx53zlx3r7p20Z test1]# ll
total 500
-rw-r--r-- 1 root root 506056 Jun 20 09:06 test
drwxr-xr-x 2 root root 4096 Jun 20 09:21 test3
lrwxrwxrwx 1 root root 5 Jun 20 09:26 test3link -> test3
lrwxrwxrwx 1 root root 4 Jun 20 09:26 testlink -> test
硬链接ln test testhardlink
实际相当于将文件进行了备份,删除原文件无影响
[root@iZ2zega2jsx53zlx3r7p20Z test1]# ln test testhardlink
[root@iZ2zega2jsx53zlx3r7p20Z test1]# ll
total 996
-rw-r--r-- 2 root root 506056 Jun 20 09:06 test
drwxr-xr-x 2 root root 4096 Jun 20 09:21 test3
lrwxrwxrwx 1 root root 5 Jun 20 09:26 test3link -> test3
-rw-r--r-- 2 root root 506056 Jun 20 09:06 testhardlink
lrwxrwxrwx 1 root root 4 Jun 20 09:26 testlink -> test
[root@iZ2zega2jsx53zlx3r7p20Z test1]# rm -rf test
[root@iZ2zega2jsx53zlx3r7p20Z test1]# ll
total 500
drwxr-xr-x 2 root root 4096 Jun 20 09:21 test3
lrwxrwxrwx 1 root root 5 Jun 20 09:26 test3link -> test3
-rw-r--r-- 1 root root 506056 Jun 20 09:06 testhardlink
lrwxrwxrwx 1 root root 4 Jun 20 09:26 testlink -> test(标红一直闪烁)
tar
tar -zcvf start.tar.gz a.java b.java //将当前目录下a.java、b.java打包
tar -zcvf start.tar.gz ./* //将当前目录下的所有文件打包压缩成start.tar.gz文件
tar -zxvf start.tar.gz //解压start.tar.gz压缩包,到当前文件夹下;
tar -zxvf start.tar.gz -C usr/local //-c指定路径解压
xargs
xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代
主要应用 单行变为多行 多行变为单行
[root@iZ2zega2jsx53zlx3r7p20Z test1]# cat test1
1 2 3
4 5 6
[root@iZ2zega2jsx53zlx3r7p20Z test1]# cat test1 | xargs
1 2 3 4 5 6
单行变为多行
-n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。
[root@iZ2zega2jsx53zlx3r7p20Z test1]# cat test1 | xargs -n2
1 2
3 4
5 6
d 选项可以自定义一个定界符
echo "nameXnameXnameXname" | xargs -dX
name name name name
crontab 定时器
crontab [-u username] //省略用户表表示操作当前用户的crontab
-e (编辑工作表)
-l (列出工作表里的命令)
-r (删除工作作)
其中时间的顺序为 分、时、日、月、周
*取值范围内的所有数字
/ 每过多少个数字
- 从X到Z
,散列数字
* * * * * myCommand //每分钟执行一次命令
3,15 * * * * myCommand //每小时的第3和第15分钟执行一次命令
3,15 8-11 * * * myCommand //在上午8点到11点的第3和第15分钟执行
0 23-7/1 * * * /etc/init.d/smb restart //晚上11点到早上7点之间,每隔一小时重启smb