文件文档创建
文件创建
mkdir -p 文件夹名
这里的参数-p表示可以递归创建多层文件夹
假设使用mkdir
使用mkdir -p
文档创建
touch 文档名
文件位置转移
文件移动
mv 要移动的文件路径 目标文件路径
文件复制
cp 需要复制的文件路径 目标文件路径
文件授权
字母授权法
chmod详解
https://www.runoob.com/linux/linux-comm-chmod.html
chmod ugo+rwx 文件名称
参数解释
u:user
g:group
o:other
r:读权限
w:写权限
x:执行权限
数字授权法
这里的三位数7,5,4分别表示
chmod abc file
其中a,b,c各为一个数字,分别表示文件对于User、Group、及Other的权限。
r=4,w=2,x=1
若要 rwx 属性则 4+2+1=7;
若要 rw- 属性则 4+2=6;
若要 r-x 属性则 4+1=5。
查询日志和文档操作
使用grep查询关键字
grep详解文档:
https://www.runoob.com/linux/linux-comm-grep.html
使用grep根据关键字查找
cat -n test.log |grep "debug" //查询关键字的日志
cat test1.log test2.log test3.log -n|grep "Starting"
//多日志文件中查找
可以使用grep -i 来表示与大小写无关的搜索
其中debug替换为需要查找的关键字
test.log替换为需要查找的日志文档
查看log并导出到文档
使用-n参数可以查看行号,相当于nl命令
cat -n test.log |tail 50 test.log>text.txt
查看日志的尾部50行日志,并保存到text.txt
cat -n test.log |tail -10 test.log>text.txt
查看日志的前10行日志,保存到text.txt
tail -100f test.log //实时监控100行日志
使用正则表达式进行复杂查询
正则表达式详解网页
https://www.cnblogs.com/chris-oil/p/11285754.html
语法:
grep “REGEX” filename
如果你能有效地利用正则表达式,这是个很有用的特点。在下面的例子中,搜索全部以“lines”开始以“empty”结束的字串,如搜索“lines[之间任意字]empty” ,并且忽略大小写。
grep -i "lines.*empty" demo_file
Two lines above this line is empty.
正则表达式遵循的几个重复的操作
? 最多匹配一次
* 匹配零次或者任意多次
+ 匹配一次以上
{n} 匹配n次
{n,} 最少匹配n次
{,m} 最多匹配m次
{n,m} 匹配n到m次
grep -A -B -C
-A -B -C 后面都跟阿拉伯数字
-A是显示匹配后和它后面的n行。
-B是显示匹配行和它前面的n行。
-C是匹配行和它前后各n行。
grep -A 15 "debug" test.log
cat -n test.log |grep -C 15 "debug"
根据时间进行查询
使用grep
grep 时间范围 文件名称
例如:
-
grep ‘2019-09-09 10:24:3[1-7]’ test.log 查询test.log文件中2019-09-09 10:24:31到2019-09-09 10:24:37时间范围内的日志
-
grep ‘2019-09-09 10:2[0-6]’ test.log 查询test.log文件中2019-09-09 10:20到2019-09-09 10:26时间范围内的日志
在上面命令中的方括号[]可以限制区域
这样让我们平常在排查错误日志的时候能够缩小日志范围准确的定位错误的位置。
我们还可以在命令后继续添加条件筛选范围:
grep ‘2019-09-09 10:24:3[1-7]’ test.log |grep ‘筛选内容’
可以与其他命令混用
使用sed
使用sed -n 查询特定时间内容并导出
语法
sed -n ‘/开始时间日期/,/结束时间日期/p’ all.log
sed -n '/Accessing Time:2013-07-05 23:30/,/Accessing Time:2013-07-05 23:59/'p 75.txt > 30.txt
使用sed -e 选定第4行到第10行,并在第10行停止执行
sed -n -e '4,10p' -e '10q' Hugefile > Smallfile
模糊查询
sed -n ‘/2019-10-24 22:14:/,/2019-10-24 22:16:/p’ all.log
按小时模糊查询
sed -n '/2019-10-24 21/,/2019-10-24 22/p’ all.log**
使用ps查看进程
ps命令常见选项:
a:显示当前终端下的所有进程信息,包括其他用户的进程。
u:使用以用户为主的格式输出进程信息。
x:显示当前用户在所有终端下的进程。
-e:显示系统内的所有进程信息。
-l:使用长(long)格式显示进程信息。
-f:使用完整的(full)格式显示进程信息。
netstat常见选项:
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
常用
ps a
不用加-
top
可以查看目前正运行的服务
kill -9 pid
根据pid杀掉目前正运行的服务