1.文件权限类
1.1 关于文件权限的解释:
看文件的前缀,为 - 的是文件,为d的是文件夹,为l的是软连接
中间的两个root 代表其所属的用户以及所属的组
后面是创建文件夹的时间
关于第一列的详细解释:
三个字母分别代表了user(同用户)/group(同组)/other(其他用户)
文件权限的操作 | 文件夹权限的操作 | |
读 | cat / less / more | ll / ls |
写 | vim / vi > / >> | mkdir / rmdir |
执行 | 执行脚本 | cd |
例:创建李四,使其位于root组下
分析:理论上,当前用户为root,对lisi前三位没有操作权限;而root与lisi同属于root组,所以拥有中间三位的操作权限;如果两种情况都不符合,比如用户为zhangsan,想要操作lisi就看后三位 。
但是root属于超级管理员,不受权限的控制!!!
1.2 文件权限的修改:
(1)方式一:chmod:(change mode),搭配u/g/o使用
chmod + (u/g/o) (+/-/=) (r/w/x)
ps.只有在root用户下才可以修改权限。其中u修改前三位;g修改中间三位;o修改后三位。
加号代表增加权限; 减号代表删除权限,等于代表赋予权限。
(2)方式二:chmod [mode=421 ] [文件或目录]
其中4代表第一位,2代表第二位,1代表第三位。
1.3 改变所属用户:chown(change owner)
1.4 改变所属组:chgrp (change group)
ps.可以通过chown将用户与所属的组一起改变:
chown - R root:root abc
2.搜索查找类
2.1 查找文件或目录:find
但是此命令的查询速度很慢
find 【文件夹】 -name:查找文件;-user:查找指定用户的文件;-size:查找指定大小的文件
(1)根据名称查找/目录下的filename.txt文件:
[root@hadoop101 ~]# find xiyou/ -name *.txt
(2)查找/opt目录下,用户名称为-user的文件
[root@hadoop101 ~]# find xiyou/ -user atguigu
(3)按文件大小:在/home目录下查找大于200m的文件(+n 大于 -n小于 n等于)
[root@hadoop101 ~]find /home -size +204800c
2.2 快速定位文件路径:locate
查找的时候不会全盘扫描,而是通过索引获取,可以达到瞬间秒出的效果
但是唯独tmp下的内容用locate搜不到
(1)例:查询文件夹
[root@hadoop101 ~]# updatedb //更新索引库
[root@hadoop101 ~]#locate xiaoaojianghu.txt
2.3 过滤查找:grep
基本命令:grep -n 关键字 源文件( -n代表显示行号)
(1)常规用法:
grep -n tomcat atalina.properties
(2)过滤查询:加上管道符“|”
3.压缩解压类
3.1基本命令
(1) zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
其中[选项]为 -r ,指的是压缩目录
(2)unzip XXX.zip -d [路径] (功能描述:解压缩文件)
其中[选项]为 -d,指定解压缩文件的存放目录。
压缩:
1)压缩文件:一次性压缩几个文件
[root@hadoop101 opt]# touch bailongma.txt
[root@hadoop101 ~]# zip mypackage.zip houge.txt bailongma.txt
adding: houge.txt (stored 0%)
adding: bailongma.txt (stored 0%)
[root@hadoop101 opt]# ls
houge.txt bailongma.txt mypackage.zip
2)压缩文件夹:
[root@hadoop101 ~]# zip -r banzhang.zip banzhang
解压缩:
[root@hadoop101 ~]# unzip mypackage.zip -d /opt
[root@hadoop101 ~]# ls /opt/
3.2 打包操作
打包就是把文件重新打散再组合
打包的基本命令是 tar -zcvf [打包后的文件.tar.gz] [打包文件]
解包的基本命令是 tar - zxvf [打包后的文件.tar.gz] -C [指定目录]
其中字母的含义:
选项 | 功能 |
-c | 产生.tar打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包.tar文件 |
-C | 解压到指定目录 |
4.进程线程类(重点)
4.1查看当前系统的进程状态:ps(process status)
查看系统中的所有进程 | ps-aux |
显示父子进程之间的关系 | ps-ef |
ps.其中a代表选择所有进程,u代表显示所有用户的所有进程;x表示显示没有终端的进程
4.2 终止进程:kill
一般终止线程都是终止他的主线程,例如 杀死火狐浏览器的进程:
发现主进程是3296,输入kill 3296就可以杀死进程
普通的进程直接调用kill就可以杀死,但是系统级别的进程需要调用 kill -9 来暴力杀死
4.3 查看进程树:pstree
把所有进程按照树状结构展示出来,几乎用不上
4.4 将进程按照一定规则排序:top
基本命令:top
选项 | 功能 |
top ( -d 秒数) | 显示内容,括号内容可省略,默认3s刷新一次 |
top - i | 使top不显示闲置或者僵死进程 |
top -p | 指定监控某个进程的状态 |
shift+P,按cpu排序;shift+M,按内存排序,shift+N,按PID排序;看完后按q退出
4.5 网络使用信息:netstat
此命令用于查看服务占用了哪些网络ip,用于查看端口号占用的情况
基本命令:
netstat -anp | grep 进程号 | 查看该进程网络信息 |
netstat –nlp | grep 端口号 | 查看网络端口号占用情况 |
5.定时任务类
此命令不常用,现实生活中常使用azkaban
5.1 设置定时任务:crontab(cron来自于希腊语,内容是时间,table指表)
1.1 目的:让程序在规定时间执行,避免服务器资源挤兑
crontab-e | 编辑定时任务(edit) |
crontab-l | 查看定时任务(list) |
crontab-r | 删除当前所有定时任务(remove) |
5.2 使用举例:
首先输入crontab -e进入表格,然后输入* * * * * 执行的任务
第四个星代表月,第三个星代表日,第二个星代表小时,第一个星代表分钟,第五个星代表周几
0 5 * * 1-6命令 | 在周一到周六的凌晨5点0分执行命令 |
0 8,12,16 * * * 命令 | 每天的8点0分,12点0分,16点0分都执行一次命令 |
*/10 * * * * 命令 | 每隔10分钟就执行一遍命令 |
0 17 * * 1 命令 | 每周1 的17点0分执行命令 |
0 5 1,15 * * 命令 | 每月1号和15号的凌晨5点0分执行命令 |
真正在实际操作中,直接百度搜索crontab表达式生成器,可以直接得到指令
举例:
每隔1分钟,向/root/bailongma.txt文件中添加一个11的数字
*/1 * * * * /bin/echo ”11” >> /root/bailongma.txt
ps.echo在bin目录下