文件操作
查看文件内容
- cat : 从头查看内容
- nl: 带行号从头查看内容
- tail -n xxx.log 查询日志尾部的最后10行的内容
- tail -n +10 test.log 查询10行之后的所有内容
- more test.log 不会全部查看文件,按空格可以一页一页查看
- more -n test.log 每次显示n行
- less test.log 可以通过上下键滚动回看以前的内容,按Q退出
- head :现实文件头部份内容,默认给你看看头10行
替换文件中的内容
例如,将a.txt内的“hello Java”内容替换为 “hello world”
创建文件:touch filename
创建目录:mkdir directory
删除目录:rmdir
创建多级目录:mkdir -p directory/opop/data
删除文件:rm filename
强制删除文件:rm -f filename
删除目录:rm -r dirctory 会递归删除
复制文件:cp source.txt new.txt
移动文件:mv data/file . 将test目录下的file移动到当前目录
解压:tar -zxvf file.tar.gz
查看当前绝对路径:pwd
文件查找操作
find 命令
Linux find 命令用来在指定目录下查找文件。
查找文件:
fine . name "*.java"
查找文件名以java为后缀的文件
统计当前目录下有多少个文件
sudo find . -type f -print | wc -l
查看当前目录下得目录个数
ls -l | grep "^d" | wc -l
查看当前目录下的文件个数(不递归子目录)
ls -l | grep "^-" | wc -l
查找目录下文件名包含 test 的文件
find . -name "*test*"
查找目录下文件内容中包含 world 信息的所有文件
grep world *
查找文件中的关键字
grep -C 10 ‘he’ zy_test.txt
查找指定时间段内的日志
要求:查询 2020-07-21 11:58:00
~ 12:05:50
这个时间段的日志
方法一:正则表达式
- 日期确定
- 11:58:00 ~ 12:05:50 这个时间段 拆分为
11:58:00~11:59:59
和12:00:00~12.05:50
,命令如下:
grep -E '2020-07-21 11:5[8-9]:[0-5][0-9]|2020-07-21 12:0[0-5]:[0-5]0' out.log
grep -E 选项可以用来扩展选项为正则表达式。 如果使用了grep 命令的选项-E,则应该使用 | 来分割多个pattern,以此实现OR操作。
方法二: 使用sed 命令
这个命令简单来说就是用来按行处理文件的,可以在文件中指定行下插入、删除一行内容,也可以按行查找内容。
# 查找某一个字符串出现的行
sed -n '/2020-07-21/p' test.txt
sed -n '/2020-07-21 11:58:00/,/2020-07-21 12:05:50/p' out.log
总结:
查找文件名以java为后缀的文件 : fine . name "*.java"
统计当前目录下文件数量:
sudo find . -type f -print | wc -l
ls -l | grep "^-" | wc -l
查找文件中的内容
- grep world *
- grep -C 10 ‘he’ zy_test.txt
- grep -n ‘hello’ zy*
- sed -n ‘/hello/,/h/p’ out.log
查找日志内容
- grep -E
'2020-07-21 11:5[8-9]:[0-5][0-9]|2020-07-21 12:0[0-5]:[0-5]0'
out.log - sed -n
'/2020-07-21/p'
out.log
进程操作
查运行情况:top
实时显示进程状态用户(查看谁最占用cpu, 谁最占用资源等)
top 命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器:
查ip地址:ifconfig
查进程: ps -ef | grep mysql
杀进程:kill -9 pid (强制中断)
查端口占用情况:netstat -tulpn
如图,我的MySQL出现问题连不上,查3306,应该是我很久以前在Docker中启动过MySQL没关。
netstat -tunlp | grep 8000
# 查看8000端口的占用情况
远程登陆:telnet
远程下载的工具 :wget
用户操作
切换到root用户:su root
添加用户:useradd
磁盘管理
df
检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。