Linux原理与实践
Linux 中的文件及权限
-rwxr-xr-x 1 cat animal 68 03-31 21:47 sleep.sh
三种用户角色:
r 4 w 2 x 1
user ,文件的所有者
group,所属的用户组
others,其他人
查找文件
find :功能最丰富的文件查找命令
基本用法示例:
find / -name test -print
查找 / 目录下 名字为 test 的文件,然后打印出文件名
常用格式:
find [路径] [选项] [查找规则] [动作]
[路径]可以有多个,以空格分隔
[选项]常用的有:
-depth 先找目录内容,再找目录自身,即先深入查找.
-follow 跟随符号链接,将软连接解为实际文件.
-maxdepths N 设置目录查找深度
-mount (或 -xdev) 不查找其他挂载的文件系统,如NFS等
基于文件名的[查找规则]:
例1: find . -name “*.php”
查找本目录下所有后缀名为 .php 的文件
例2: find . -iname “x[abc]”
查找本目录下所有文件名为 xa、xb或xc 的文件,且不区分大小写。
例3: find . -regex ".b.3"
查找本目录下文件完整路径及名称匹配该正则的。
基于时间的[查找规则]:
例1: find . -mmin -60
查找本目录下修改时间为最近60分钟内的
例2: find . -mmin +5
查找本目录下修改时间为5分钟之前的
例3: find /tmp -atime -1
查找/tmp目录下最近1天(24小时)内被访问过的文件
find . -atime N
其中 -atime 的位置也可以使用如下参数:
-atime, -mtime, -ctime, -amin, -mmin, -cmin N
time: 天(24小时),min: minute,分钟
+N N时间前,-N N时间内的,n 等于N的
基于文件类型的[查找规则]:
例1: find . -type f
查找本目录下所有的“文件”
例2: find . -type d
查找本目录下所有的“目录”
其他[查找规则]:
例1: find . -user root
查找本目录下所有root用户的文件
例2: find . -perm 600
查找本目录下所有权限为600的文件
[查找规则]的组合:
find . ( -name “_*“ -or -user root ) -type f
查找本目录下(以_开头或root用户的)“文件”
逻辑运算符:
-not
-or
-and
-exec 示例:
find ./ -name "*.tmp" -exec unlink {} ;
{} :指代找到的文件
; :表示-exec指定的命令结束,必须。
安全起见也可以用 -ok
其他查找文件命令:
which :查找环境变量PATH下的可执行文件及别名(alias)
whereis:查找系统常见目录中的可执行文件、文档、源代码、配置文件等
locate:通过索引数据库查找文件
Linux中的文本工具
cat
——查看文件内容
head
——查看文件头部
tail
——查看文件尾部
more
——分页查看文件内容
less
——更强的分页查看文件内容
cut
——按列查看文件内容,默认以 TAB 分隔
sort
——对文件内容排序
uniq
——对文件内容排重, -c 可统计重复行数量
管道
需求:分析如下网站访问日志文件,找出访问量最大的前10个IP地址,降序排列
123.151.47.117 - - [16/Feb/2014:00:00:02 +0800] "GET / HTTP/1.1"
220.171.166.19 - - [16/Feb/2014:00:00:06 +0800] "GET /search/mp3
$ cut -d " " -f1 ./access.log | sort | uniq -c | sort -n -r | head -10
通过管道使用工具
Linux 中有三个系统文件描述符: 0:标准输入; 1:标准输出; 2:标准错误输出。
标准输出、标准错误输出通常默认为当前屏幕。
管道是Linux进程间通信的方式之一
管道像一根供数据流通的单向管道
所有Linux程序的标准输出都可以通过管道传递给另一个程序作为标准输入
输入/输出重定向
ls -l > ls_output.log 将标准输出重定向到 ls_output.log 文件
ls -l >> ls_append.log 将标准输出重定向追加到 ls_output.log 文件
ls -l 1> ls_output.log 2> ls_error.log
将 标准输出 重定向到 ls_output.log 文件,标准错误输出重定向到 ls_error.log 文件
ls -l 1> ls_out.log 2>&1
将标准输出重定向到 ls_out.log 文件,然后将标准错误输出重定向到和标准输出同样的地方。
more < xxx.txt 输入重定向
重定向案例
$ cut -d " " -f1 ./access.log | sort | uniq -c | sort -n -r | head -10 > ip.log
系统管理
ps 命令:显示当前进程
ps -ef 显示带启动命令行的进程信息
ps -u root 显示某用户的进程
ps -A 显示全部进程
ps -ejH 显示进程树
kill 命令:向进程发送信号,常用于终止某进程
kill -s PID
-s 指定信号
kill -9 PID 可用于强制某进程退出
killall 可用于通过进程名称发送信号
fg 命令: 将后台任务调到前台
命令后加 & ,或Ctrl + Z 可将任务转到后台执行
后台执行中的任务,可以通过 “fg %任务序号” 或 “fg #pid” 调到前台
crontab:让命令自动定时运行
netstat: 查看网络状态
netstat -alpn 查看所有网络连接状态,带进程名称
Ifconfig : 查看网卡配置、ip地址信息
iptables: Linux 防火墙
常用命令:
service iptables start #启动服务
iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP #所有来自 1.2.3.4 的80端口访问全部屏蔽
service iptables save #保存规则,否则重启失效
iptables -L -n --line-numbers #列出当前配置及规则号
iptables -D INPUT 4 删除INPUT类第4号规则
iptables -F 清除所有规则
top
常用操作:
P:按CPU使用量排列, M:按内存使用量排列, h:显示帮助 , q:退出
1: 多 CPU 显示, k:杀死进程, r:设置进程Nice级别
查看系统运行状态
$ cat /proc/cpuinfo
$ cat /proc/loadavg
软件安装
yum 安装
rpm安装
源码编译安装
crontab
crontab: 定时执行任务
crontab -e 设置定时任务:
基本格式 :
* command
分 时 日 月 周
分(0-59) 时(0-23) 日(1-31) 月(1-12) 周(0-6)//0代表周日
每个 * 的位置除数字取值外,还可以有如下格式:
- 代表所有的取值范围内的数字;
/ 代表“每”的意思,如 "*/5"表示每5个单位; - 代表范围,从某个数字到某个数字;
, 用于指定多个值。
实例:
0 6 * * * echo "GoodMorning" >> /tmp/test.txt
每天早上6时0分
0 /2 * * echo "Have A Break" >> /tmp/test.txt
每两个小时
0 23-7/2,8 * * * echo "Good dream:)" >> /tmp/test.txt
晚上11点到早上7点之间每两个小时,早上八点
常用命令
service crond start 启动crond服务
crontab -l #列出cron服务的详细内容
crontab -u XXX -e #设定xxx用户的cron服务
crontab -u XXX -r #删除xxx用户的所有cron服务
Linux原理与实践的更多相关文章
- 20165223《网络对抗技术》Exp2 后门原理与实践
目录 -- 后门原理与实践 后门原理与实践说明 实验任务 基础知识问答 常用后门工具 实验内容 任务一:使用netcat获取主机操作Shell,cron启动 任务二:使用socat获取主机操作Shel ...
- 2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...
- 2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践 1. 后门原理与实践实验说明及预备知识 一.实验说明 任务一:使用netcat获取主机操作Shell,cron启动 ( ...
- 20155324《网络对抗》Exp2 后门原理与实践
20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...
- 2018-2019-2 20165237《网络对抗技术》Exp2 后门原理与实践
2018-2019-2 20165237<网络对抗技术>Exp2 后门原理与实践 一.实践目标 使用netcat获取主机操作Shell,cron启动 使用socat获取主机操作Shell, ...
- 2018-2019-2 20165234 《网络对抗技术》 Exp3 免杀原理与实践
实验三 免杀原理与实践 实验内容 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧:(1.5分) 2.通过 ...
- 2018-2019-2 20165234 《网络对抗技术》 Exp2 后门原理与实践
实验二 后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启动 (3)使用MSF meterpreter(或其 ...
- 20165221 《网络对抗技术》EXP2:后门原理与实践
20165221 <网络对抗技术>EXP2:后门原理与实践 实验任务 任务一:使用netcat获取主机操作Shell,cron启动 (0.5分) 任务二:使用socat获取主机操作Shel ...
- 2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践 实验内容(概要): (1)使用netcat获取主机Shell,cron启动 首先两个电脑(虚拟机)都得有netcat, ...
随机推荐
- FFmpeg新版本(2016年10月份以后) 支持硬件解码
FFmpeg provides a subsystem for hardware acceleration. Hardware acceleration allows to use specific ...
- 接口测试中如何利用cookies保持会话
使用cookies保持会话自己研究了下应该有两种方式: 1.保持会话的第一种方法:如果用的是同一个HttpClient且没去手动连接放掉client.getConnectionManager().sh ...
- c语言之字符串数组
一.字符串与字符串数组 1.字符数组的定义 char array[100]; 2.字符数组初始化 char array[100] = {'a','b','c'}; //array[0] = 'a' ...
- python3 破解 geetest(极验)的滑块验证码
Kernel_wu 快速学习的实践者 python3 破解 geetest(极验)的滑块验证码 from selenium import webdriver from selenium.webdriv ...
- Animation组件
[Animation组件] Animation是Unity3D中老的动画组件,从4.x起已全面被MecAnim中的Animator组建所替代.但是4.x仍保留了Animation组件,所以了解此组件还 ...
- opennebula 对接创建模板参数
{ "id": 8, "name": "c5d1390c-1930-45a5-a686-5cef38b319d7", "displ ...
- Linux下chmod 777 修改权限
在linux操作系统下,使用shell命令来操作: 关于权限的问题用chmod命令来修改权限 -rw-r-r-- 1 root root 可参考:http://zhidao.baidu.com/lin ...
- javascript总结5:js常见的数据类型
1 Number 数字类型 :包含正数,负数,小数 十进制表示: var n1 =23; 十六进制表示法:从0-9,a(A)-f(F)表示数字.以0x开头. var n2 = 0x42 2 字符串数据 ...
- 编写高质量代码改善C#程序的157个建议——建议34:为泛型参数设定约束
建议34:为泛型参数设定约束 “约束”这个词可能会引起歧义,有些人肯能认为对泛型参数设定约束是限制参数的使用,实际情况正好相反.没有“约束”的泛型参数作用很有限,倒是“约束”让泛型参数具有了更多的行为 ...
- 20169219《移动平台开发实践》移动APP设计应该考虑到的问题
1.开发流程包括: (1)用户需求分析 (2)产品原型设计 (3)UI视觉设计 (4)APP开发 (5)项目测试 (6)发布 App开发经过UI设计完成之后,便会进入开发阶段. (1)服务器端:编写接 ...