Linux总结
指令:
命令名 -选项 参数
cd / 根目录 cd ~ 家目录
cd a/b/c cd /a/b/c
cd .. 上一层 cd ../..
cd - 回到上一个
-a 全部包括隐藏
-h kb显示文件大小
mkdir 创建文件夹
mkdir -p 连续创建多层文件夹
rm -r 删除文件夹
cp 复制 同时可以改名
mv移动
ll
ls -l 看文件属性(r读4 w写2 x执行1 )
touch 创建文件(如果已经存在则更新文件)
vim 编写 shell中写代码 :wq保存并退出 :q!强制退出 i 写入
cat 只看
cat a>b 将a的内容给b
cat a>>b 将a的内容追加给b
pwd 查看路径
tar -czvf 压缩后的名
-zxvf 目标名
-x解压缩 -c压缩 f文件 -v显示 -z是否有压缩属性(.gz)
用户和组的权限
useradd 用户名 创建用户名
su 用户名 切换用户
password 用户名 设置密码
userdel 用户名 删除用户 -rf 删除的同时清除home
组操作(每个用户自己为一个组)
gourpadd 组名 增加组
gourpdel 组名 删除组
gourpmod -n 改名字
usermod -G 组名 用户名
chgrp 组名 文件名 改组
chown 用户名 文件名 改变文件所属用户
chown 用户名:组 文件名 改便文件所属组
chmod u+x xx.txt
chmod 777 xx.txt
u用户 g组 a所有 o其他
shell代码操作
滴滴打车代码
#!/bin/bash
function random(){
min=$1;
max=$2-$1+1;
num=$(date +%s%N);
echo $((num%max+min));
}
time=`date +%Y-%m-%d" "%H:%M:%S`;
echo $time;
cityarray=(齐齐哈尔 牡丹江 哈尔滨);
hebarray=(南岗区 王岗区 香坊区);
qiarra0y=(建华区 铁锋区 龙沙区);
muarray=(好好区 坏坏区 顶级区);
qtw=$(random 0 2);
city=${cityarray[qtw]};
#echo $city;
if [ $city == "齐齐哈尔" ]; #随机城市 市区
then echo "齐齐哈尔 ${qiarray[qtw]}"
elif [ $city == "牡丹江" ];
then echo "牡丹江 ${muarray[qtw]}"
elif [ $city == "哈尔滨" ];
then echo "哈尔滨 ${hebarray[qtw]}"
fi
jlsj=$(random 1 20); #生成随机距离 计算车费
echo $jlsj
if [ $jlsj -le 3 ];
then echo "应付车费8元"
elif [ $jlsj -gt 3 ];
then echo "应付车费$((($jlsj-3)*2))元"
fi
tellarray=(133 188 156 147); #生成随机电话号
#echo ${tellarray[*]};
hew=$(random 00000000 99999999);
#echo $hew;
qfw=$(random 0 3);
echo $((tellarray[qfw]))$hew;
./文件名 执行代码(需要改属性 可执行)
bash ./文件名 执行代码
定时任务
crontab -l看 -e编译 -r删除任务
tail -f 文件名 追踪文件内容
cat 展示文件 静态
*/1 * * * * echo haha>>log.log
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
#每天早上7点执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache
指令:
命令名 -选项 参数
cd / 根目录 cd ~ 家目录
cd a/b/c cd /a/b/c
cd .. 上一层 cd ../..
cd - 回到上一个
-a 全部包括隐藏
-h kb显示文件大小
mkdir 创建文件夹
mkdir -p 连续创建多层文件夹
rm -r 删除文件夹
cp 复制 同时可以改名
mv移动
ll
ls -l 看文件属性(r读4 w写2 x执行1 )
touch 创建文件(如果已经存在则更新文件)
vim 编写 shell中写代码 :wq保存并退出 :q!强制退出 i 写入
cat 只看
cat a>b 将a的内容给b
cat a>>b 将a的内容追加给b
pwd 查看路径
tar -czvf 压缩后的名
-zxvf 目标名
-x解压缩 -c压缩 f文件 -v显示 -z是否有压缩属性(.gz)
用户和组的权限
useradd 用户名 创建用户名
su 用户名 切换用户
password 用户名 设置密码
userdel 用户名 删除用户 -rf 删除的同时清除home
组操作(每个用户自己为一个组)
gourpadd 组名 增加组
gourpdel 组名 删除组
gourpmod -n 改名字
usermod -G 组名 用户名
chgrp 组名 文件名 改组
chown 用户名 文件名 改变文件所属用户
chown 用户名:组 文件名 改便文件所属组
chmod u+x xx.txt
chmod 777 xx.txt
u用户 g组 a所有 o其他
shell代码操作
滴滴打车代码
#!/bin/bash
function random(){
min=$1;
max=$2-$1+1;
num=$(date +%s%N);
echo $((num%max+min));
}
time=`date +%Y-%m-%d" "%H:%M:%S`;
echo $time;
cityarray=(齐齐哈尔 牡丹江 哈尔滨);
hebarray=(南岗区 王岗区 香坊区);
qiarra0y=(建华区 铁锋区 龙沙区);
muarray=(好好区 坏坏区 顶级区);
qtw=$(random 0 2);
city=${cityarray[qtw]};
#echo $city;
if [ $city == "齐齐哈尔" ]; #随机城市 市区
then echo "齐齐哈尔 ${qiarray[qtw]}"
elif [ $city == "牡丹江" ];
then echo "牡丹江 ${muarray[qtw]}"
elif [ $city == "哈尔滨" ];
then echo "哈尔滨 ${hebarray[qtw]}"
fi
jlsj=$(random 1 20); #生成随机距离 计算车费
echo $jlsj
if [ $jlsj -le 3 ];
then echo "应付车费8元"
elif [ $jlsj -gt 3 ];
then echo "应付车费$((($jlsj-3)*2))元"
fi
tellarray=(133 188 156 147); #生成随机电话号
#echo ${tellarray[*]};
hew=$(random 00000000 99999999);
#echo $hew;
qfw=$(random 0 3);
echo $((tellarray[qfw]))$hew;
./文件名 执行代码(需要改属性 可执行)
bash ./文件名 执行代码
定时任务
crontab -l看 -e编译 -r删除任务
tail -f 文件名 追踪文件内容
cat 展示文件 静态
*/1 * * * * echo haha>>log.log
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
#每天早上7点执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache