随着对安全技术探索的逐步深入,我深刻体会到掌握linux系统对于安全研究的重要性。而掌握Linux系统首先必须得学会一些常用的linux命令,其次再去掌握一些linux常用工具,最后再是深入理解linux系统内核等。因此本篇作为该系列的第一篇,主要用来记录分享一些自己常用且基础的Linux命令。
命令帮助解析命令的意思(whatis、info)1 2
| whatis whoami 解析命令的意思 info whoami 详细解析命令的意思
|
寻找命令的安装路径(which、whereis)1 2
| which whoami 寻找命令的位置 whereis whoami 寻找程序的位置
|
目录管理目录查看(ls)查看目录结构
查看当前目录下所有子文件夹排序后的大小
查看目录下文件个数
按时间排序,以列表的方式显示目录项
给每项文件前面增加一个id编号
显示可阅读的文件大小:
文件目录权限(chmod、chown)1 2 3 4
| 改变文件的拥有者 chown 改变文件读、写、执行等属性 chmod 递归子目录修改: chown -R tuxapp source/ 增加脚本可执行权限: chmod a+x myscript
|
文件管理文件创建删除(touch、echo、rm -f)删除日志文件
1
| rm *log (等价: $find ./ -name “*log” -exec rm {} ;)
|
文件查看(du -sh)查看文件大小
统计文件行数
文件内容查看(cat、head、tail)显示时同时显示行号
1
| cat -n (如:cat test.txt | cat -n)
|
正向逆向查看文件内容
1 2
| head -1 filename tail -5 filename
|
文件搜索(find)linux 复制特定后缀文件(保持目录结构):
1
| tar cvf my_txt_files.tar `find . -type f -name "*.jsp*"`
|
递归当前目录及子目录并删除所有.log文件
1
| find ./ -name "*.log" -exec rm {} \;
|
否定参数查找所有非txt文本
1
| find . ! -name "*.txt" -print
|
按类型搜索
1
| find . -type d -print //只列出所有目录
|
最近7天内被访问过的所有文件
1
| find . -atime -7 -type f -print
|
文件内容搜索(grep)查看成功登陆ssh的IP地址:
1 2 3 4 5
| centos for i in `grep 'sshd' /var/log/secure* | grep -oE '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>' | sort | uniq`; do curl -s --header "X-Forwarded-For: $i" http://1212.ip138.com/ic.asp |iconv -c -f GB2312 -t utf-8 | grep -o -P '(?<=\<center\>您的IP是:).*(?=<\/center)' ; done ubuntu: for i in `grep 'sshd' /var/log/auth.log* |grep 'Accepted' |grep ftp| grep -oE '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>' | sort | uniq`; do curl -s --header "X-Forwarded-For: $i" http://1212.ip138.com/ic.asp |iconv -c -f GB2312 -t utf-8 | grep -o -P '(?<=\<center\>您的IP是:).*(?=<\/center)' ; done
|
递归目录搜索返回文本内容存在class字符串的行号
非匹配(-v)
1
| ps -ef | grep -v "python"
|
文件内容排序(sort)- -n 按数字进行排序 VS -d 按字典序进行排序
- -r 逆序排序
- -k N 指定按第N列排序
1 2
| sort -nrk 1 data.txt sort -bd data // 忽略像空格之类的前导空白字符
|
消除重复行(uniq)消除重复行
统计各行在文件中出现的次数
1
| sort unsort.txt | uniq -c
|
找出重复行
1
| sort unsort.txt | uniq -d
|
磁盘管理查看磁盘空间利用大小
挂载U盘
1 2 3 4
| fdisk -l 查看U盘路径 monut /dev/sdb4 /mnt 挂载U盘 cd /mnt 进入U盘 umount /mnt 退出U盘
|
进程管理杀死python相关的进程
1 2 3
| ps -ef | grep python | cut -d ' ' -f 2 | xargs kill 或者 pkill -9 python
|
查看进程
查看端口占用的进程状态:
网络管理查看网络连接
查看网络路由
只查看ip信息
系统管理查看系统位数
查看系统版本
查看hosts文件
查看CPU的核的个数
1
| cat /proc/cpuinfo | grep processor | wc -l
|
查看系统信息
1 2 3 4 5 6 7 8
| uname -a uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 cat /proc/cpuinfo 显示CPUinfo的信息 cat /proc/meminfo 校验内存使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统
|
性能管理CPU(sar)查看CPU使用率
查看CPU平均负载
内存查看内存使用情况
网络流量监控(iftop)服务器性能查看(htop)top的加强版,推荐安装使用。
网络流量(dstat)推荐使用。
其他内容管道和重定向(|、||、&&、>、>>)- 批处理命令连接执行,使用 |
- 串联使用分号 ;
- 前面成功,则执行后面一条,否则不执行:&&
- 前面失败,则后一条执行: ||
- >覆盖原有内容
- >>文件后追加内容
重定向
1 2
| echo test > test.txt echo test >> test.txt
|
清空文件
nohup输出重定向
1
| nohup python revice_true_link.py > ./log/true_link.log &
|
Bash快捷键- Ctl-U 删除光标到行首的所有字符,在某些设置下,删除全行
- Ctl-W 删除当前光标到前边的最近一个空格之间的字符
- Ctl-H backspace,删除光标前边的字符
- Ctl-R 匹配最相近的一个文件,然后输出
- Ctl-a 光标移动到行首
- Ctl-e 光标移动到行尾
资源下载访问远程资源,下载资源 程序运行- watch 运行的脚本 -n 秒数 (几秒钟执行一次,不加n默认为2秒)
- nohup 要运行的程序 & (让程序在后台运行,忽略所有挂断信号)
Linux学习网站本文内容参考http://linuxtools-rst.readthedocs.io/zh_CN/latest/ |