Linux | 定时任务、文件切割

1. mkdir

主要注意有两个参数,p 和 m

1
2
3
4
5
6
在目录/usr/meng下建立子目录test,并且只有文件主有读、写和执行权限,其他人无权访问

mkdir -m 700 /usr/meng/test
在当前目录中建立bin和bin下的os_1目录,权限设置为文件主可读、写、执行,同组用户可读和执行,其他用户无权访问

mkdir -p-m 750 bin/os_1

2. crontab 设置定时任务

1
2
crontab -l  # 编辑该用户的计时器设置
crontab -e # 列出该用户的计时器设置

设置命令执行的频率,在 crontab 中设置的格式是:

1
2
* * * * * command
minute hour day month week command 顺序:分 时 日 月 周
  • 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
  • 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
  • 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
  • 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

例子:每隔两天的上午8点到11点的第3和第15分钟执行 command

3,15 8-11 */2 * * command

3. 搜索命令行历史纪录

Ctrl + r,如果不是这条命令的话,可以再按下 Ctrl + r,Bash 会向前搜索有 hi 字符的命令。

4. find 在制定目录下查找文件

linux find 命令

1
2
# 当前目录搜索所有文件,文件内容 包含 “140.206.111.111” 的内容
find . -type f -name "*" | xargs grep "140.206.111.111"

5. alias 设置别名

alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号’’将原来的命令引起来,防止特殊字符导致错误。

1
alias py='python'

alias命令的作用只局限于该次登入的操作。若要每次登入都能够使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件 /etc/bashrc 中。

6. 文件切割

split 命令 可以将一个大文件分割成很多个小文件。

1
2
3
4
5
-b:值为每一输出档案的大小,单位为 byte。
-C:每一输出档中,单行的最大 byte 数。
-d:使用数字作为后缀。
-l:值为每一输出档的列数大小。
-a:指定后缀长度(默认为2)。

比如,split -l 10 test.txt -d -a 3 file 将 test.txt 文件每 10 行切分一次,使用 file 作为前缀,数字作为后缀,后缀长度为 3。

1
2
3
4
split -l 5 test.csv 
for i in * ; do mv $i $i".csv" ; done
sed -i '1i "uid","phone_cc","phone","screen_name","avatar","country","province","city","gender","birthday","description","status","created_at","email","email_verified"' *.csv
head -n 2 xaa.csv

7. 列出文件的绝对路径

就是在每行记录的开头加上当前路径

1
ls | sed "s:^:`pwd`/:"
觉得还不错?赞助一下~
0%