Linux基本命令:
1.查找文件:
find 配合通配符使用进行模糊搜索
2.切换目录:
切换目录:cd
返回根目录:cd /
返回上级目录:cd ../
查看目录信息:
list(ls) / tree
列出目录下文件:
·ls-a 列出所有文件
·ls-d 列出目录
·ls-i 显示每个文件的inode(索引节点号)
移动文件:
·mv -b +目标文件/路径 路径:移动到目标路径 文件:覆盖文件
·mv -f +目标文件/路径 强制覆盖
·mv -i +目标文件/路径 覆盖前询问用户
mv test /root/test1 将test移动到root下,并命名为test1
显示当前工作目录:pwd
删除文件或目录:
rm -d 删除目录
rm -f 强制删除
rm-i 删除前询问
rm-r 递归删除
rm -rf test 强制删除文件夹test
rm -f test/a 强制删除test目录下a文件
创建目录:mkdir
删除目录:rmdir
复制文件:cp
移动、重命名:mv
重定向:管道 |
改变权限:
sudo :在root用户下执行
chmod:
所有人可读取:chmod a+r file1.txt
chmod 777 所有人可读可写可执行
创建者和同组可写入:chmod ug+w,o-w file1.txt file2.txt
查看文件内容:
Cat 查看文件
cat -n 查看文件,加行号
创建文件 touch 文件名
编辑文档:
Vim 文件名—>i(insert)—>:wq(保存退出)/q!强制退出
关机:shutdown
下载软件包命令
apt-get install 软件包
在文档中查找关键字
grep “coco” /test
查看进程:ps 结束进程 kill
检查网络是否连通:ping
查看日志
·第一种:查看实时变化的日志(比较吃内存)
最常用的:
tail -f filename (默认最后10行,相当于增加参数 -n 10)
Ctrl+c 是退出tail命令
其他情况:
tail -n 20 filename (显示filename最后20行)
tail -n +5 filename (从第5行开始显示文件)
·第二种:搜索关键字附近的日志 (cat+grep)
最常用的:cat -n filename |grep "关键字"
其他情况:
cat filename | grep -C 5 '关键字' (显示日志里匹配字串那行以及前后5行)
cat filename | grep -B 5 '关键字' (显示匹配字串及前5行)
cat filename | grep -A 5 '关键字' (显示匹配字串及后5行)
·第三种:进入编辑查找:vi(vim)
1、进入vim编辑模式:vim filename
2、输入“/关键字”,按enter键查找
3、查找下一个,按“n”即可
退出:按ESC键后,接着再输入 :号 时,vi会在屏幕的最下方等待我们输入命令
wq! 保存退出;
q! 不保存退出;
其他情况:
/关键字 注:正向查找,按n键把光标移动到下一个符合条件的地方
?关键字 注:反向查找,按shift+n 键,把光标移动到下一个符合条件的
应用场景
·应用场景一:按行号查看---过滤出关键字附近的日志
1)cat -n test.log |grep "debug" 得到关键日志的行号
2)cat -n test.log |tail -n +92|head -n 20 选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:
tail -n +92表示查询92行之后的日志
head -n 20 则表示在前面的查询结果里再查前20条记录
·应用场景二:根据日期查询日志
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;
先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点
·应用场景三:日志内容特别多,打印在屏幕上不方便查看
- 使用more和less命令,
如: cat -n test.log |grep "debug" |more 这样就分页打印了,通过点击空格键翻页
- 使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析
如:cat -n test.log |grep "debug" >debug.txt
·应用场景四:统计关键字出现次数
grep -o "关键字" 文件名称|wc -l
链接命令:
创建硬链接 ln
创建软链接 ln -s
Grep命令:文本搜索
·配合正则表达式使用
·配合管道使用
练习
Q1:grep和find的区别
A1:grep根据文件内容查找 find根据文件属性查找,如大小、查看时间等
Q2:grep的用法
A2:
cat aaa.txt | grep “hello”
cat aaa.txt | grep -n “hello” #显示行号
cat aaa.txt | grep-i “hello” #不区分大小写
cat aaa.txt | grepo- “hello” #只显示匹配到的关键字,不显示整行
cat aaa.txt | grep-A 2 “hello” #显示匹配行的后2行
cat aaa.txt | grep-B 2 “hello”#显示匹配行的前2行
cat aaa.txt | grep-C 2 “hello”#显示匹配行的后2行
cat aaa.txt | grep-v “hello”#反向查询 ,查找不含hello的行
Q3:查看ip地址:
A1:ifconfig
Q4:创建和删除一个多级目录
A1:
创建:mkdir
删除:rm -rf
Q5:在当前用户home目录中查找haha.txt
A1:find ~/ name haha.txt
6:查询tomcat的进程并杀掉这个进程
A1:ps -ef|grep tomcat kill -9 tomcat_port
Q7:动态查看日志文件
A1:tail -f logfile
Q8:查看系统硬盘目录
A1:df -aTh
Q9:查看当前机器listen的所有端口
A1:netstat -tlnp
Q10:文件访问权限:数字法(777 755……含义)
A10:
chmod数字方法:r:4 w:2 x:1 -:0 第一位:user 第二位:group 第三位:other
755代表 rwxr-xr-x,表示user权限为可读可写可执行,group权限为可读可执行,other权限为可读可执行,755代表了文件的最大权限。
Q11:怎么隐藏文件?
A11:
隐藏a目录:mv a .a
Q12:从root切换到user命令
A1:exit/su username
Q13:查看文件的末50行?前五十行?
head -50 文件地址 (前50行)
tail -n 50 文件地址 (末50行)
Q14:查看80端口号
A14:Netstat -anp|grep 80