概述
1、root用户无权限格式化namenode
chown 777 /hadoop-2.7.1/bin/hdfs
1、把文件夹压缩成压缩包
tar -jcvf http_out_07.tar.bz2 ./http_out_07
tar -zcvf output.tar.gz ./output
2、查看当前目录下所有文件的大小
ll -h
total 1.6G
drwxr-xr-x 2 deepen app 4.0K Mar 16 18:50 http_out
-rw-r--r-- 1 deepen app 1.6G Mar 16 18:37 mme_out.tar.gz
3、df-查看不同的文件系统有多少空闲的磁盘空间、被挂载文件系统的磁盘利用率(仅以K显示)。
4、df -h 以可读的方式展示磁盘空间(会根据文件大小以K,M,G直观显示)
[deepen@vq18ptkh04 mr]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg00-lv_root 19G 18G 67M 100% /
tmpfs 20G 7.3G 13G 37% /dev/shm
/dev/sda1 1008M 62M 895M 7% /boot
/dev/mapper/vg00-lv_app01 20G 19G 541M 98% /app
/dev/mapper/vg00-lv_data01 39G 20G 17G 55% /data
[deepen@vq18ptkh04 mr]$ ls -l
total 1624656
文件显示对应关系:
drwxr-xr-x 2 deepen app 4096 Mar 16 18:50 http_out
-rw-r--r-- 1 deepen app 1663638337 Mar 16 18:37 mme_out.tar.gz
按列分别为:文件属性、文件数、拥有者、所属的group、文件大小、 建档日期、文件名
5、显示当前目录各个文件的大小
[deepen@vq18ptkh04 mr]$ du -h *
13G http_out
1.6G mme_out.tar.gz
显示文件夹下第一层文件的大小–max-depth=0表示深入到第几层,0表示不深入到子目录
du -h --max-depth=0 ./*
6、显示文件当前文件夹下有多少个文件
ll|wc -l
216
7、从hdfs上获得数据
hdfs dfs -get /jc_deepen/tmp/http_out/0008* ./http_out_07
8、查看文件中特殊字符的个数
grep -o 'haha' filename | wc -l
9、sed全局替换文件中的关键字
sed -i “s/原字符串/新字符串/g”
g表示行内全部替换, 当需要从第N处匹配开始替换时,可以使用 /Ng
-i直接编辑文件选项
sed -i 's/x01/,/g' /home/fast/load_data/test_http.txt
常用选项:
-n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-e∶直接在指令列模式上进行 sed 的动作编辑;
-f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;
-r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
-i∶直接修改读取的档案内容,而不是由萤幕输出。
常用命令:
a∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
s∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
grep
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
awk
把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
cat test.log | awk -F" " '{print $9}'
取第几行
sed -n '5p' path
sed -n '1,6p' /data1/gyl/duishu/bdap_$DATE/$table/count.log
a=“39040188000046474|+|20180129|+|20180129|+|153505|+|8416|+||+|0|+|3173|+|5005250.27”
可以分割几个字段
b=$(echo $a | awk -F '|+|' '{print NF-1}')
b=8
b=$(echo $a | awk -F '|+|' '{print NF}')
b=9
10、压缩命令 把文件夹下文件压缩到另外一个文件
tar -jcvf 2017031719_mme_part_04.tar.bz2 ./2017031717_mme_part_04
12、把一个压缩文件解压到相应目录(-C)
tar -xjvf /home/fast/data/20091304-mme.tar.gz -C /home/fast/mme/
13、取文件的前10行形成一个新文件
head -10 file > newfile
14、合并多个文件
cat /home/fast/data/2017031721-http/0 /home/fast/data/2017031721-http/1 > /home/fast/load_data/test_http.txt
15、合并多个文件追加到test_http.txt后
cat /home/fast/data/2017031721-http/0 /home/fast/data/2017031721-http/1 >> /home/fast/load_data/test_http.txt
16、sudo是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具
sudo root
su - hadoop 转入hadoop用户切导入环境变量
17、导入root环境变量
source ~/.bash_profile
18、查询进程
ps -ef|grep load
ps
ps -aux
a:显示所有程序
u:以用户为主的格式来显示
x:显示所有程序,不以终端机来区分
19、在后台不间断的运行命令
nohup ./load_data_http2.sh >load_data_http2.log &
20、把/home/fast目录下的所有文件和目录的拥有者改为hadoop
chown hadoop:oinstall /home/fast/*
21、递归修改目录下所有文件和目录权限(-R 递归目录)
chown –R hadoop:oinstall dir
22、释放所有权限
chmod 777 test.sh
23、shell 脚本 for 循环
#!/bin/bash
for i in {1..8} do
if [ $i -gt 2 ] && [ $i -lt 4 ] then #[]开始结尾的空格不能省略
echo $i
continue
fi
echo "hello world"
done
24、shell关系符号
-eq ==
-ne !=
-gt >
-lt <
-ge >=
-le <=
25、自动生成ctl文件
sqluldr2.bin user=zhejiang/zj*2016 query="select * from cfg_cilist" table=cfg_cilist head=yes log=$path/out$day.log file=$path/$day.txt ontrol=$path/$tb.ctl mode=insert field=0x60;
26、遍历一个文件夹的子文件夹
solr_dirs=$(ls -l /opt/solr-6.6.0/server/solr |awk '/^d/ {print $NF}')
for filename in ${solr_dirs}
do
echo ${filename}
done
27、shell脚本提交带参数
./start-lucene.sh default sparktest hdfs://bdpha/test/output /opt/solr-6.6.0/server/solr/ 7
./test.sh hdfs://master2:9000/test/output /opt/solr-6.6.0/server/solr/ 7
./solrClient.sh hdfs://172.16.210.201:9000/test/output /opt/solr-6.6.0/server/solr/ 7 true
./solrClient.sh hdfs://master2:9000/test/output /opt/solr-6.6.0/server/solr/ 13 false
/opt/solr-6.6.0/server/solr/collection1_shard1_replica1/data/index
28、shell脚本调用远程调用其他节点的shell
ssh -tt master2 << EOF
sh /lucene_client/test.sh
exit
EOF
29、 创建一个权限为777的C目录
mkdir -m 777 c
30、查看运行端口14031
netstat -anp | grep 8983
31、查询solr的进程
ps -ef|grep solr
32、强制删除123的进程
kill -9 123
删除123的进程
kill 123
33、从当前光标处,向上查找world关键字
:/world
从当前光标处,向后查找world关键字
:?world
34、递归复制整个目录
cp -R patha pathb
35、显示所有文件包括隐藏文件
ll -a
36、shell脚本中$含义
$0 当前脚本的文件名
$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。
$# 传递给脚本或函数的参数个数。
$* 传递给脚本或函数的所有参数。
$@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同。
$? 上个命令的退出状态,或函数的返回值。(大部分命令执行成功会返回 0,失败返回 1)
$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。
-e filename 如果 filename 存在, 为真
-d filepath 如果 filepath 为目录, 为真
-f filename 如果 filename 为常规文件, 为真
-L filename 如果 filename 为符号链接, 为真
-r filename 如果 filename 为可读, 为真
-w filename 如果 filename 为可写, 为真
-x filename 如果 filename 为可执行, 为真
filename1 -nt filename2 如果 filename1比filename2新,为真
filename1 -ot filename2 如果 filename1比filename2旧,为真
-z string 如果 string长度为零, 为真
-n string 如果 string长度非零, 为真
if [ -e filename ]
37、shell脚本中判断hdfs路径是否存在
hadoop fs -test -d path #path为路径
if [ $? -eq 0 ]
then
echo "hdfs目录存在"
else
echo "hdfs目录不存在"
fi
38、shell脚本中判断文件是否存在
hadoop fs -test -e $OUTPUT_PATH/$table
39、创建多级目录(-p)
mkdir -p a/b/c
40、cut详解
-d :后面跟分隔字符,分隔字符要用双引号括起来
-c :后面接的是第几个字符
-f :后面接的是第几个区块
目录下有一个文档password内容为:
spark:hive:hadoop:hdfs:kafka:flume:hbase:akka
[root@master1 test]# cat password | cut -d ":" -f1
spark
[root@master1 test]# cat password | cut -d ":" -f2
hive
[root@master1 test]# cat password | cut -d ":" -f3
hadoop
[root@master1 test]# cat password | cut -c1
s
[root@master1 test]# cat password | cut -c2
p
[root@master1 test]# cat password | cut -c2-8
park:hi
41、shell脚本总结
(1)计算int相加时用expr关键字,但是等号后面的空格要严格安装下面所写
a= expr 2 + 2
(2)也可以用“$(())”来计算
a=$((2+2))
(3)判断是否是整数的脚本
while true
do
read -p "Please input:" a
expr $a + 0 &> /dev/null
[ $? -eq 0 ] && echo int||echo chars
done
(4)与或非
在[]中使用
与:-a 或:-0 非:!
在[[]]中使用
与:&& 或:|| 非:!
42、shell编辑显示行号
:set nu
43、linux调用java的.jar文件方法
java -cp test.jar com.cn.test.Test
44、计时器格式
cron.removeExpiredCache = 0 0/5 * * * ?
秒 分 时 月中天 月份 月中星期几 年(可选)
quar.******//两者有区别
允许填入的值
秒 必填 0-59
分 必填 0-59
时 必填 0-23
日 必填 1-31
月 必填 1-12 or JAN-DEC
周 必填 1-7 or SUN-SAT
年 非必填 空 or 1970-2099
下面几个例子
0 0 12 * * ? 每天12点触发
0 15 10 ? * * 每天10点15分触发
0 15 10 * * ? 每天10点15分触发
0 15 10 * * ? * 每天10点15分触发
0 15 10 * * ? 2005 2005年每天10点15分触发
0 * 14 * * ? 每天14点到14点59分每分钟触发
0 0/5 14 * * ? 每天14点到14点59分(整点开始,每隔5分钟触发)
0 0/5 14,18 * * ? 每天14点到14点59分(整点开始,每隔5分钟触发),每天18点到18点59分(整点开始,每隔5分钟触发)
0 0-5 14 * * ? 每天14点整到14点5分每分钟触发
0 10,44 14 ? 3 WED 每年3月份每周三14点10分和14点44分触发
0 15 10 ? * MON-FRI 每星期一到星期五10点15分触发
0 15 10 15 * ? 每月15号10点15分触发
0 15 10 L * ? 每月最后一天的10点15分触发
0 15 10 ? * 6L 每月最后一周的星期五的10点15分触发
0 15 10 ? * 6L 2002-2005 从2002年到2005年每月的最后一周的星期五的10点15分触发
0 15 10 ? * 6#3 每个月的第三周的星期五的10点15分触发
0 0 12 1/5 * ? 每个月的第一个中午12点开始,每隔5天12点触发
0 11 11 11 11 ? 每年11月11号11点11分触发
L表示最后一个
W表示最近一个工作日
45、while [ -h dist ]; do done
-h判断一个文件存在并且是一个软链接
软链接:相当于windows下的快捷方式。软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系统看的软链接后自动跳到对应的文件位置处进行处理。
硬链接:看作是同一个文件的不同命名。硬链接为文件开设一个新的目录项,硬链接与文件原有的名字是平权的,在linux里看来他们是等价的,硬链接不能链接两个不同的文件系统的文件。
46、expr计算整数变量值
expr (2+3)*4
47、dirname 和 pwd
pwd: 获得当前目录
dirname: 获得程序运行时的目录
48、linux中shell变量KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲、@、$0、$1、$2、、、、、的含义
$$
shell本身的PID(ProcessID)
$!
shell最后运行的后台Process的PID
$?
最后命令结束的结束代码(返回值)
$-
使用Set命令设定的Flag一览
∗
所
有
参
数
列
表
。
如
"
* 所有参数列表。如"
∗所有参数列表。如"“用[]括起来的情况,以”$1
2...
2...
2...n"的形式输出所有参数。
@
所
有
参
数
列
表
。
如
"
@ 所有参数列表。如"
@所有参数列表。如"“用[]括起来的情况,以”$1"
2
"
.
.
.
"
2"..."
2"..."n"的形式输出所有参数。
$#
添加到shell的参数的个数
$0
shell本身的文件名
1
1~
1 n
添加到shell的各参数的值。
49、2>&1结尾表示正确输出和错误输出都有,将标准错误2重定向到标准输出1中,此处&是为了让bash将1解释成标准输出而不是文件1
51、字符串测试操作符
-n “字符串” 若字符串长度不为0,则为真,n可以理解为no zero
-z “字符串” 若字符串长度为0,则为真,z可以理解为zero
“串1"“串2” 若字符串1等于字符串2,则为真,可使用"=“代替””
“串1”!=“串2” 若字符串1不等于字符串2,则为真,
52、不同符号测试表达式[]、[[]]、(())、test的区别
53、expr命令
expr 表达式
表达式说明:
用空格隔开每一项
用(反斜杠)放在shell特定字符前面
对包含空格和其他特殊字符的字符串要用引号括起来
1、计算字串长度
>expr length "this is a test"
>14
2、抓取字串
>expr substr "this is a test" 3 5
>is is
3、抓取第一个字符数字串出现位置
>expr index "sarasara" a
>2
4、整数运算
>expr 14 % 9
>5
>expr 10 + 10
>20
>expr 30 / 3 / 2
>5
>expr 30 * 3
>90
54、如果没有安装dos2unix,则用下面命令进行安装
yum install dos2unix -y
55、bash命令参数调试
sh [ -nvx ] test.sh
-n 不会执行该脚本,仅查询脚本语法是否有问题,并给出错误提示。
-v 在执行脚本时,先将脚本的内容输出到屏幕上,然后执行脚本,如果有错误,也会给出错误提示。
-x 将执行的脚本内容及输出显示到屏幕上,这是对调试很有用的参数。
56、vim常用编辑器操作技巧
命令 说明
G或(shift+g) 将光标移动到最后一行
gg 将光标移动到文件的第一行,等价于1gg或1G
0 数字0,表示将光标从所在位置移动到当前行的开头
$ 从光标所在位置将光标移动到当前行的结尾
n<Enter> n为数字,Enter为回车键,表示将光标从当前位置向下移动n行
ngg n为数字,表示移动到文件的第n行,可配合set un查看
. 重复前一个执行过的动作
u 撤销上一个动作
57、把一个命令的结果作为变量的内容赋值的方法
变量名 = `ls`
变量名 = $(ls)
58、获取脚本路径
dirname path/test.sh 获取脚本路径path
basename path/test.sh获取脚本名字
59、压缩用法
tar命令(注:tar是打包,不是压缩)
解包:tar xvf Filename.tar
打包:tar czvf FileName.tar DirName
gz命令
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz和.tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
压缩多个文件:tar zcvf FileName.tar.gz DirName1 DirName2 DirName3 ...
bz2命令
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩:bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
bz命令:
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
.tar.bz
解压:tar jxvf FileName.tar.bz
Z命令:
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
zip命令:
解压:unzip FileName.zip
压缩:zip FileName.zip fileName
文件夹 zip -r FileName.zip DirName
.rar命令:
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
.lha命令:
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
60、shell中的${}、##和%%使用范例
file=/dir1/dir2/dir3/my.file.txt
${file#*/}:删掉第一个/及其左边的字符串
得:dir1/dir2/dir3/my.file.txt
${file##*/}:删掉最后一个/及其左边的字符串
得:my.file.txt
${file#*.}删掉第一个.及其左边的字符串
得:file.txt
${file##*.}:删掉最后一个.及其左边的字符串
得:txt
${file%/*}:删掉最后一个/及其右边的字符串
得:/dir1/dir2/dir3
${file%%/*}:删掉第一个/及其右边的字符串
得:(空值)
${file%.*}:删掉最后一个.及其右边的字符串
得:/dir1/dir2/dir3/my.file
${file%%.*}:删掉第一个.及其右边的字符串
得:/dir1/dir2/dir3/my
记忆方法为:
#是去掉左边(键盘上#在$左边)
%是去掉右边(键盘上%在$右边)
单一符号是最小匹配,两个符号是最大匹配
单一符号是删除最小的部分,两个字符是删除最大部分
${file:0:5}:提取最左边的5个字节
得:/dir1
${file:5:5}:提取第5个字节右边的连续5个字节
得:/dir2
${file:5}:提取第5个字节开始后面所有字节
得:dir2/dir3/my.file.txt
也可以对变量值里的字符串作替换:
${file/dir/path}:将第一个dir替换为path
得:/path1/dir2/dir3/my.file.txt
${file//dir/path}:将全部dir替换为path
得:/path1/path2/path3/my.file.txt
61、小写转大写
up_tb=`echo "$tb_cobps" | tr [a-z] [A-Z]`
大写转小写
down_tb=`echo "$tb_cobps" | tr [A-Z] [a-z]`
62、shift
可以使shell启动时传入的参数左移
shift 2 左移两位
shift 默认左移一位
63、tr详解
-c或–complerment:取代所有不属于第一字符集的字符
-d或–delete:删除所有属于第一字符集的字符
-s或–squeeze-repeats:把连续重复的字符以单独一个字符表示
-t或–truncate-setl:先删除第一字符集较第二字符集多出的字符
实例1
echo "HELLO WORLD" | tr 'A-Z' 'a-z'
hello world
实例2
echo "hello 123 world 456" | tr -d '0-9'
hello world
实例3
echo aaa...a 1 b#$bb 2 c*cc/ 3 ddd 4 | tr -d -c '0-9 n'
1 2 3 4
64、创建目录链接
举例:
当前目录是/local,而我经常要访问/usr/local/linux/work
那么我就可以使用在local下建立一个文件linkwork,
然后sudo ln -s /usr/local/linux/work /local/linkwork
即建立两者之间的链接。
删除链接
那么上面我就是rm -rf /local/linkwork
ln -s /data4/logs logs
ln -s 远程目录 本地目录
ll
logs -> /data2/logs/solr_logs/
65、free
-b:以byte为单位显示内存使用情况
-k:以KB为单位显示内存使用情况
-m:以MB为单位显示内存使用情况
-o:不显示缓冲区调节列
-s<间隔秒数>:持续观察内存使用情况
-t:显示内存总和列
-V:显示版本信息
第一部分Mem行解释:
total:内存总数
used:已经使用内存数
free:空闲的内存数
shared:当前已经废弃不用
buffers Buffer:缓存内存数
cached Page:缓存内存数
total = used + free
第二部分(-/+ buffers/cache)解释:
used内存数:第一部分Mem中的used - buffers - cached
反应的是被程序实实在在吃掉的内存
free内存数:第一部分Mem中free + buffers + cached
反应的是可以挪用的内存总数
第三部分是指交换分区
66、ssh时需要密码是用shell如何调
sshpass -p ${PASS_WORD} ssh root@${node1} 命令
67、获取当前用户名称
currentUser=$(whoami)
if [ $currentUser = hadoop ];then
fi
who
#获取当前服务器连接端的ip,以及ip复制了几个窗口
bdap pts/1 2018-03-28 16:40 (10.202.17.9)
root pts/2 2018-03-28 17:09 (10.202.17.21)
hdqs pts/4 2018-03-28 08:28 (10.196.21.189)
root pts/13 2018-03-28 08:38 (10.196.33.46)
root pts/14 2018-03-28 16:16 (10.202.17.168)
root pts/17 2018-03-28 16:53 (10.202.17.33)
68、跨集群免密码scp
#!/usr/bin/expect
cd /data4/shengchan/20180202
spawn scp -r /data4/shengchan/20180202/INDEXBZFMX01 hadoop@10.200.20.81:/data1/syl/
#expect "password"
#send "hadoopr"
expect {
"*yes/no" { send "yesr"; exp_continue }
"Password:" { send "hadoopr" }
}
set timeout 100 #设置连接时间(单位秒,默认10秒)
expect eof
scp -r /data4/shengchan/20180202/INDEXBZFMX01 hadoop@10.200.20.81:/data1/syl/
69、正则表达式批量修改文件名
cebank-newft.log.20171117
createHfile_cobps.log.20171117
createHfile_ecif.log.20171117
newDownloadHfile.log.20171117
newPutdata_CreateHfile.log.20171117
newUploadtar.log.20171117
report.log.20171117
verifyAll.log.20171117
rename '.20171117' '.20171118' * ##将后缀改成.20171118
70、指定日期是星期几
a=`date -d "20180320" +%w`
echo $a
2
71、排序、去重
|sort|uniq
72、删除ftp目录下多个文件
mdelete *.txt
73、按文件名关键字查找文件
find . -name "*.pc"|xargs grep 'TRemoveSpace'
find ./* -name '*dpbwcs.h*'
74、linux定时任务
# .---------------- 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 to be executed
分 时 月中天 月 周中天
minute hour day month week command
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件
在以上各个字段中,还可以使用以下特殊字符:
星号():代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次*
/etc/crontab文件包括下面几行:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
51 * * * * root run-parts /etc/cron.hourly
24 7 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
第一行SHELL变量指定了系统要使用哪个shell,这里是bash,
第二行PATH变量指定了系统执行 命令的路径,
第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户,
第四行的HOME变量指定了在执行命令或者脚本时使用的主目录。
使用者权限文件:
/etc/cron.deny
该文件中所列用户不允许使用crontab命令
/etc/cron.allow
该文件中所列用户允许使用crontab命令
/var/spool/cron/
所有用户crontab文件存放的目录,以用户名命名
crontab 命令
crontab -u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。
crontab file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
crontab -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
crontab -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
crontab -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
crontab -i:在删除用户的crontab文件时给确认提示。
75、sz命令发送文件到本地:
sz filename
rz命令本地上传文件到服务器:
rz
最后
以上就是冷艳钢笔为你收集整理的linux常见命令汇总的全部内容,希望文章能够帮你解决linux常见命令汇总所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复