说出linux的常用指令
切换用户:
- su root —> root用户 以#开头, 超级管理员拥有最高权限
- su bcx ----> 普通用户 以$开头,普通用户,进行日常的管理和维护
查看帮助文档:
- man -ls或 ls --help
ls查看目录下的文件
- ls-l 列出文件的常用信息
- ls -a 列出所有文件,包括.开头的隐藏文件
- ls - h 以大小为k为单位显示
pwd 显示用户所在的当前路径
cd 切换目录
-
cd /home 进入“/home”目录
-
cd / 或者 cd ~: 回根目录
-
cd . :当前目录
-
cd…:上一级目录
-
cd…/… :上两级目录
-
绝对路径:从根目录开始描述的完整的路径,以根目录开头
-
相对路径:针对当前路径所做的描述,以.或者…开头
touch命令:创建一个空的文件
-
touch test.txt
-
touch .test.txt(创建隐藏文件)
mkdir 命令:创建一个目录
- mkdir dir1:创建一个叫dir1的目录
- mkdir -p test/test1 :递归创建多个目录
rm指令:删除文件或目录
- rm test.txt:删除名为test的文件
- rm -f:即使是只读文件,也删除所有文件
- rm -r:删除目录下所有文件
- rm -rf :删库跑路
cp命令:复制命令
- cp /test1/file1 /test3/file2 如将/test1目录下的file1复制到/test3目录,并将文件名改为file2
mv命令:剪切命令
- mv /test1/file1 /test3/file2 如将/test1目录下的file1移动到/test3 目录,并将文件名改为file2
ps查看进程pid
grep是搜索关键字
作用:grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。
- ps -ef| grep java进程 (按照标准格式输出)
- ps -aux| grep java进程 (按照BSD格式输出)
- 会查询到java进程所对应的PID进程号
Kill杀死进程
- kill命令用于终止进程
- -9强迫进程停止
- kill -9[PID] (可以停止当前PID对应的进程)
启动/停止服务
以启动tomcat为例,先cd到tomcat的bin目录下,找到启动的.sh文件
- 使用/startup.sh启动服务
- 使用/shutdown.sh停止服务
查看项目日志
一般日志都存放在logs目录下,有个.Out文件,可以通过tail -f动态实时查看后端日志
先cd到logs目录下(里面有个xx.out文件)
- tail -f xx.out(屏幕上会动态显示当前日志,Ctrl+C停止
如何查看最近1000行日志- tail -1000 xx.out
查看端口号
netstat -anp|grep “端口号”
从图中监控状态可以看到显示为LISTEN,表示已经被占用了
查看当前所有已经使用的端口号情况
netstat -nultp
find查找文件
1.如果知道一个文件名,怎么查找个文件所在目录
- find / -name test.txt;(/表示在根目录下查找)
2.如何查找一个文件大小超过5M不超过10M的文件
- find / -size +5M -size -10M
了解即可:
find / -name httpd.conf #在根目录下查找文件httpd.conf,表示在整个硬盘查找
find /etc -name httpd.conf #在/etc目录下文件httpd.conf
find /etc -name ‘srm‘ #使用通配符(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
find . -name ‘srm‘ #表示当前目录下查找文件名开头是字符串‘srm’的文件
按照文件特征查找
find / -amin -10 # 查找在系统中最后10分钟访问的文件(access time)
find / -atime -2 # 查找在系统中最后48小时访问的文件
find / -empty # 查找在系统中为空的文件或者文件夹
find / -group cat # 查找在系统中属于 group为cat的文件
find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件(modify time)
find / -mtime -1 #查找在系统中最后24小时里修改过的文件
find / -user fred #查找在系统中属于fred这个用户的文件
find / -size +10000c #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
find / -size -1000k #查找出小于1000KB的文件
查看文件
- cat 从第一行开始显示内容,将所有的内容输出
- head 只显示前几行:
head的语法:head [n number] 文件名 (number 显示行数) - tail 只显示后几行
tail的语法:tail [-n number] 文件名 - more 根据窗口大小,从第一行开始一页页实现文件内容
- less 与more相似,优点是可以往前翻页,还可以进行搜索字符
管道
一个文件共100行,得到第50行内容?
- heal -n50 test >temp //将前50行取出放到temp文件中
- tail -n1 tmp//取出temp倒数第1行,即为原文件第50行
也可使用管道合并:管道就是将前一个命令的输出通过管道连接作为后一个命令的输入
- heal -n50 test|tali -n1
统计文件中关键字出现的字数
- 语法:grep 字符串 文件名|wc -l ,grep输出,wc -l按行统计,每行重复只统计一个
- 如:统计task-hbase-transform.log中NullPointerException出现的次数
grep NullPointerException task-hbase-transform.log|wc -l
统计文件夹下特定类型文件个数
统计文件夹下/mount/taskdata 以.log结尾的文件数量
find /mount/taskdata -name *.log |wc -l #find查找特定类型并统计
或者
ls /mount/taskdata *.log |wc -l #ls列出特定类型并统计
file通过探测文件内容判断文件类型
格式:file [options] 文件名
-v:在标准输出后显示版本信息,并且退出。
-z:探测压缩过的文件类型。
磁盘满了怎么处理
-
df -h 查看是哪个挂在目录满了,常常是根目录/占满
-
快速定位一下应用日志大小情况,比如tomcat日志,应用系统自己的日志等。
-
如果能直观地看到日志文件过大,则酌情进行删除。有时候删除日志文件之后再df -h查看空间依然被占满,继续排查。
lsof file_name 查看文件占用进程情况,如果删除的日志正在被某个进程占用,则必须重启或者kill掉进程。 -
如果不能直观地排除出是某个日志多大的原因,就需要看一下指定目录下的文件和子目录大小情况,使用du命令。
- **Uptime:查询服务器已经运行多久
- Du:查看文件和目录磁盘使用的空间情况
- Netstat: 显示网络状态,利用netstat可以让你得知整个Linux系统的网络情况
- 使用df命令可以查看磁盘的适用情况以及文件系统被挂载的位置**