常用的任意文件读取字典

这篇博客主要讨论了在Linux系统中如何收集用于读取任意文件的字典,尤其是bash_history文件的限制和不同用户权限的影响。内容来源于一篇转载自cnblogs的文章。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.目前收集的仅限linux

2.bash_history其实大多数时候是读取不到的

跟改文件默认的权限设置有关

仅当前用户权限可读当前用户的history(root只能读root的)

不同用户的目录不一样,payload不一样

/proc/sched_debug
/proc/mounts
/proc/net/arp
/proc/net/route
/proc/net/tcp
/proc/net/udp
/proc/net/fib_trie
/proc/version
/proc/self/cmdline
/proc/self/stat
/proc/self/status
/proc/self/environ
/proc/verison
/proc/cmdline
/proc/self/cwd
/proc/self/fd/0
/proc/self/fd/1
/proc/self/fd/2
/proc/self/fd/3
/proc/self/fd/4
/proc/self/fd/5
/proc/self/fd/6
/proc/self/fd/7
/proc/self/fd/8
/proc/self/fd/9
/proc/self/fd/10
/proc/self/fd/11
/proc/self/fd/12
/proc/self/fd/13
/proc/self/fd/14
/proc/self/fd/15
/proc/self/fd/16
/proc/self/fd/17
/proc/self/fd/18
/proc/self/fd/19
/proc/self/fd/20
/proc/self/fd/21
/proc/self/fd/22
/proc/self/fd/23
/proc/self/fd/24
/proc/self/fd/25
/proc/self/fd/26
/proc/self/fd/27
/proc/self/fd/28
/proc/self/fd/29
/proc/self/fd/3
1. 列表、元组、字典、集合这四种数据类型的特点是什么? - 列表(List):有序可变序列,可以包含任意类型的元素。列表使用方括号 `[]` 定义,支持索引、切片、添加、删除、修改等操作。 - 元组(Tuple):有序不可变序列,一旦创建就不能修改。元组使用圆括号 `()` 定义,支持索引、切片等操作,但不能添加、删除、修改元素。 - 字典(Dictionary):无序键值对集合,键必须是不可变类型(如字符串、数字、元组),值可以是任意类型。字典使用花括号 `{}` 定义,支持键值对添加、删除、修改等操作。 - 集合(Set):无序不重复元素集合。集合使用花括号 `{}` 或 `set()` 函数定义,支持添加、删除、交集、并集、差集等操作。 2. 列举列表、元组、字典、集合的常用函数,说明其功能。 - 列表常用函数: - `append(x)`:在列表末尾添加元素 x。 - `extend(iterable)`:用可迭代对象 iterable 的元素扩展列表。 - `insert(i, x)`:在索引 i 处插入元素 x。 - `remove(x)`:移除列表中第一个值为 x 的元素。 - `pop([i])`:移除并返回索引 i 处的元素,默认为最后一个元素。 - `index(x[, start[, end]])`:返回列表中第一个值为 x 的元素的索引。 - `count(x)`:返回元素 x 在列表中出现的次数。 - `sort(key=None, reverse=False)`:对列表进行原地排序。 - `reverse()`:原地反转列表。 - `copy()`:返回列表的浅拷贝。 - 元组常用函数: - `count(x)`:返回元素 x 在元组中出现的次数。 - `index(x[, start[, end]])`:返回元组中第一个值为 x 的元素的索引。 - 字典常用函数: - `keys()`:返回字典中所有的键。 - `values()`:返回字典中所有的值。 - `items()`:返回字典中所有的键值对。 - `get(key[, default])`:返回指定键的值,如果键不存在则返回默认值。 - `pop(key[, default])`:移除并返回指定键的值,如果键不存在则返回默认值。 - `update([other])`:使用另一个字典的键值对更新字典。 - `clear()`:移除字典中的所有键值对。 - 集合常用函数: - `add(elem)`:添加元素 elem 到集合。 - `remove(elem)`:移除元素 elem,如果元素不存在则引发 KeyError。 - `discard(elem)`:移除元素 elem,如果元素不存在则不执行任何操作。 - `pop()`:移除并返回集合中的一个随机元素。 - `clear()`:移除集合中的所有元素。 - `union(*others)`:返回多个集合的并集。 - `intersection(*others)`:返回多个集合的交集。 - `difference(*others)`:返回集合的差集。 - `symmetric_difference(other)`:返回集合的对称差集。 3. 文件读写需要使用哪些函数?各是什么作用? - `open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)`:打开文件,返回文件对象。 - `file`:文件路径。 - `mode`:文件打开模式,如 'r'(读)、'w'(写)、'a'(追加)等。 - `read([size])`:读取文件内容,返回字符串或字节。 - `size`:读取的字节数,默认为读取整个文件。 - `readline([size])`:读取文件的一行,返回字符串或字节。 - `size`:读取的字节数,默认为读取整行。 - `readlines([hint])`:读取文件的所有行,返回列表。 - `hint`:提示的字节数,超过则停止读取。 - `write(s)`:写入字符串或字节到文件。 - `s`:要写入的字符串或字节。 - `writelines(lines)`:写入多行到文件。 - `lines`:可迭代对象,包含要写入的字符串或字节。 - `close()`:关闭文件,释放资源。 4. 文件读写完毕需要做什么操作? 文件读写完毕需要关闭文件,使用 `close()` 方法关闭文件,释放系统资源。也可以使用 `with` 语句来自动管理文件资源,确保文件在操作完毕后被关闭。 ```python # 使用 with 语句读写文件 with open('example.txt', 'r') as file: content = file.read() print(content) with open('example.txt', 'w') as file: file.write('Hello, World!') # 或者手动关闭文件 file = open('example.txt', 'r') content = file.read() print(content) file.close() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值