常规流程是vi xxx 进入命令行模式--> 按i进入编辑 --> 按esc退出编辑,按shift+:进入命令行模式 --> 输入wq保存。可是文件内容一旦过多,这种模式就不太好用了,接下来介绍一些在命令行的快捷方式来进行快速编辑。java
[root@hadoop001 ~]# ll
total 4
-rw-r--r-- 1 root root 46 Jun 23 11:49 tail.log
[root@hadoop001 ~]# echo '' > tail.log
[root@hadoop001 ~]# ll
total 4
-rw-r--r-- 1 root root 1 Jun 23 11:50 tail.log <-- 伪清空
[root@hadoop001 ~]# ll
total 4
-rw-r--r-- 1 root root 46 Jun 23 11:52 tail.log
[root@hadoop001 ~]# cat /dev/null > tail.log
[root@hadoop001 ~]# ll
total 0
-rw-r--r-- 1 root root 0 Jun 23 11:52 tail.log <-- 真正清空
复制代码
命令为ln -s 源文件路径 软连接所在路径,这个命令在实际上使用频率不过高,可是会有如下两个场景会用到。 第一个场景,好比你的代码中使用的是/xxx/ruozedatav1.0路径,可是某天须要升级要使用的路径变成了/xxx/ruozedatav2.0。你不可能会去改代码中的路径,因此这个时候就须要软连接。如下方式建立软连接,就能够避免改代码里的路径。linux
[root@hadoop001 ~]# ln -s /root/ruozedatav1.0/ /root/rz
[root@hadoop001 ~]# ll
lrwxrwxrwx 1 root root 20 Jun 23 12:28 rz -> /root/ruozedatav1.0/
[root@hadoop001 ~]# rm -rf rz
[root@hadoop001 ~]# ln -s /usr/local/ruozedatav2.0/ /root/rz
[root@hadoop001 ~]# ll
lrwxrwxrwx 1 root root 25 Jun 23 12:29 rz -> /usr/local/ruozedatav2.0/
复制代码
第二个场景就是,当你代码中使用的路径磁盘快满了,须要更换到另外一个容量较大的磁盘路径时。固然要注意权限与以前一致。shell
[root@hadoop001 ~]# mv /data01/ruozedata /data02/ruozedata
[root@hadoop001 ~]# ln -s /data02/ruozedata /data01/ruozedata
[root@hadoop001 data01]# ll
lrwxrwxrwx 1 root root 25 Jun 23 12:29 ruozedata -> /data02/ruozedata
复制代码
主要涉及到两个命令:chmod和chown。chmod是改变文件读写执行权限,chown是改变文件所属用户和用户组。这两个组成文件的权限体系,查看文件权限须要二者结合来看。bash
drwxr-xr-x. 2 root root 4096 Jun 12 22:41 Downloads
-rw-r--r--. 1 root root 1012 Jun 15 21:46 error.log
第一位字母: d是文件夹 -是文件 l是链接
命令实例(只有chown和chmod使用-R):
chown -R jepson:jepson ruozedata
chmod -R 777 ruozedata --> 777 表明全部人都有最大权限 读写执
r 读4
w 写2
x 执行 1 shell脚本
- 0 没有任何权限
rwx r-x r-x
第一组 rwx 7 表明文件和文件夹所属的 用户的权限: 读写执
第二组 r-x 5 表明文件和文件夹所属的 用户组的权限: 读执
第三组 r-x 5 表明其余组的全部用户对这个文件或文件夹权限: 读执
复制代码
ps:root帐号很特别,上面的权限都没用,即便文件权限是000,权限组是其余用户,它照样读写执行服务器
tar.gz和zip压缩格式是咱们常见的,下面简单介绍两种的格式的压缩和解压命令:app
tar -zxvf xxx.tag.gz --> 解压,加上-C能够指定解压到某个路径
tar -cxvf xxx.tag.gz /xxx/xxx/* --> 压缩
unzip xxx.zip --> 解压
zip xxx.zip /xx/xx/* --> 压缩
复制代码
若是你在解压某个以后发现,该文件的用户和用户组不正常,必定要用chown将其改回来,不然以后会形成不可知错误。 以下:oop
[root@hadoop001 ~]# tar -xzvf jdk-8u45-linux-x64.gz -C /usr/java/
[root@hadoop001 ~]# cd /usr/java/
[root@hadoop001 java]# ll
total 4
drwxr-xr-x. 8 uucp 143 4096 Apr 11 2015 jdk1.8.0_45 <-- 用户和用户组错误
[root@hadoop001 java]# chown -R root:root /usr/java/jdk1.8.0_45
[root@hadoop001 java]# ll
total 4
drwxr-xr-x. 8 root root 4096 Apr 11 2015 jdk1.8.0_45
复制代码
Linux中crontab常常用来作定时任务,下面就是经常使用到命令:ui
crontab -e 编辑定时任务
格式 * * * * * 分 小时 日 月 周
* 表明每
常见需求:
1. 每两分钟执行
*/2 * * * *
2. 每10秒执行
定时任务执行中如下脚本
[root@hadoop001 tmp]# cat date.sh
#!/bin/bash
for((i=1;i<=6;i++))
do
echo "wwww.ruozedata.com"
date
sleep 10s
done
exit
复制代码
网上有些说只需在命令后面加上&就是后台执行,但并非,执行 nohup 命令 & 才是。spa
[root@hadoop001 ~]# ./date.sh &
[1] 11179
[root@hadoop001 ~]# Sun Jun 23 14:06:33 CST 2019 <--- 仍是前台展现
[root@hadoop001 ~]# nohup ./date.sh &
[1] 11136
[root@hadoop001 ~]# nohup: ignoring input and appending output to ‘nohup.out’ <-- 输出放在这里
[root@hadoop001 ~]# cat nohup.out
Sun Jun 23 14:06:03 CST 2019
复制代码
由于可能不止一个脚本后台运行,因此不能将输出都放在nohup.out里面,咱们更可能是将输出重定向。命令行
nohup ./date.sh >> /tmp/date.log 2>&1 &
复制代码
free -m 查看内存使用状况
[root@hadoop001 ~]# free -m
total used free shared buff/cache available
Mem: 15885 292 13054 163 2537 15107
Swap: 0 0 0
记得buff/cache都是算做内存一部分哦
df -h 查看磁盘使用状况
[root@hadoop001 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 4.3G 36G 11% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 16K 7.8G 1% /dev/shm
tmpfs 7.8G 164M 7.6G 3% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
tmpfs 1.6G 0 1.6G 0% /run/user/0
top 实时查看整个服务器状况
面板第一行有个load average: 0.00, 0.00, 0.00,这个三个数表明1min,5min,15min服务器的负载。
通常来讲三个数在10如下都是比较稳定的。
复制代码