Linux命令学习之文件管理
~~~~~~~~~~~~
前言
~~~~~~~~~~~~
推荐一个很好的练习平台:https://overthewire.org/wargames/

Wargames有很多个关卡,从基础的Linux使用,到web渗透,甚至二进制安全都有。每个关卡中都有多个等级,每个等级都代表了一个知识点,等级从低到高,循序渐进的增加难度,非常适合入门使用。
bandit关卡算是基础的linux使用的练习。今天分享下其中会使用到的一些命令。
~~~~~~~~~~~~
目录
~~~~~~~~~~~~

~~~~~~~~~~~~
文件管理
~~~~~~~~~~~~
【ls命令】用于查看指定目录下的子目录及文件。
示例:ls /home -a -l -R -t
说明:
显示/home目录下的子目录和文件,不指定时默认显示当前目录下的内容;
-a参数用于显示隐藏目录或文件;
-l参数用于显示详细信息,包含权限,创建时间等;
-R参数用于将子目录下的文件一并展示出来;
-t参数用于按照创建时间进行排列。
备注:
- linux中" . "表示当前目录," .. "表示父目录。
- 当使用多参数,如-a -l -R -t时,可合并写成-alRt,两者等效。
【find命令】用于查找文件或目录。
find path -option [-print] [-exec -ok -command] {} \;
示例:find /home -name filename -exec cat {} \;
说明: path:示例中指定在/home下查找,.号表示当前路径,空也表示当前路径下查找;
-option:指定相关的参数,常用:-type d表示目录,-type f表示一般文件,-name name 指定匹配的文件名;
-exec:指定找到相关文件后执行的命令,如:
- 找到文件后查看内容-exec cat
- 找到多个文件夹后列出详情-exec ls -l
备注:
- -exec后面的 {}\; 是固定格式。
更多常用示例:
示例:find . -name "*.txt"
#将目前目录及其子目录下所有扩展名为 .txt 的文件列出来。
示例:find workspace -name "*.txt" -exec rm {} \;
#查找workspace 中所有的 .txt 文件,并执行删除命令。
示例:find . -type f
#将目前目录及子目录中所有一般文件列出。
示例:find . -ctime -20
#将目前目录及其子目录下所有最近 20 分钟内更新过的文件列出。
示例:find /var/logs -type f -mtime +7 -ok rm {} \;
#查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们。
示例:find . -type f -perm 644 -exec ls -l {} \;
#查找前目录中文件权限为644的文件。
示例:find / -type f -size 1033c -exec ls -l {} \;
#查找系统中所有文件长度为1033字节的普通文件,并列出它们的详情。
find / -type f -size +1033c -exec ls -l {} \;
#大于1033字节
find / -type f -size 10 -exec ls -l {} \;
#大小为10块,1块=512字节
示例:find / -user UNAME -gourp GNAME
#查找文件属主为UNAME,文件属组为GNAME的文件。
备注:
- 进入一个系统后,不可能人工逐个查看文件,善用find命令可帮助快速查找敏感文件。利用猜测修改时间、文件大小范围等模糊搜索,缩小文件范围。
【file命令】用于识别文件类型。
示例:~$ file readmereadme: ASCII text~$ file -i readme
#-i,显示MIME类别readme: text/plain; charset=us-ascii
【chmod命令】用于修改文件权限。
示例:chmod 600 file.txt
#修改file.txt文件的权限为600,即仅文件属主拥有读写权限。
【linux文件属性】

【0】位代表该文件的类型。
[ d ] 代表是目录文件。
[ - ] 代表是一般文件。
[ l ] 代表是连接文件。
[ b ]代表是可存储的接口设备。
[ c ] 代表是键盘、鼠标等串行端口设备。
【1-3】位表示文件属主拥有的文件权限。
【4-6】位表示文件属组拥有的文件权限。
【7-9】位表示其他用户拥有的文件权限。
[r]代表可读权限read。
[w]代表可写权限write。
[x]代表可执行权限execute。
[-]代表无权限。权限位置顺序不变,在哪个位置上表示没有该位置相应的权限。
【权限所对应的数值】 r=4 w=2 x=1 例:7=4+2+1=rwx权限。
【重点】权限除了r/w/x外,还有一个s权限,为特殊权限位,表示该文件允许用户以其他用户身份执行命令。使用不当极易造成系统脆弱性。
【du命令】用于显示指定文件或者目录的大小。
示例:du -h -a /home
说明:
显示home目录下所有子目录和文件的大小;
-h参数用于将大小以K/M/G显示;
-a参数用于显示所有目录和文件大小,若查看某个文件则路径指定到文件如/home/file.txt。

【git命令】git用于版本控制,内容较多后续详细介绍。
Linux命令学习之文件管理的更多相关文章
- 别出心裁的Linux命令学习法
别出心裁的Linux命令学习法 操作系统操作系统为你完成所有"硬件相关.应用无关"的工作,以给你方便.效率.安全.操作系统的功能我总结为两点:管家婆和服务生: 管家婆:通过进程.虚 ...
- Linux命令学习
Linux命令学习 Ubuntu常用快捷键 •Ctrl+Alt+T: 打开终端 •Ctrl+Shift+T: 新建标签页 •Tab: 终端中命令补全 •Alt+数字N: 终端中切换到第N个标签页 •↑ ...
- Linux命令学习总结之rmdir命令的相关资料可以参考下
这篇文章主要介绍了Linux命令学习总结之rmdir命令的相关资料,需要的朋友可以参考下(http://www.nanke0834.com) 命令简介: rmdir命令用用来删除空目录,如果目录非空, ...
- linux命令学习之:chmod
chmod命令用来变更文件或目录的权限.在Linux系统家族里,文件或目录权限的控制分别以读取R.写入W.执行X3种一般权限来区分,另有3种特殊权限可供运用.用户可以使用chmod指令去变更文件与目录 ...
- Linux命令学习笔记1
1.Linux命令学习 2.Mkdir /data -创建文件夹 在/下创建文件夹 data 3.Cd -目录切换 列如cd / 4.Touch /data/1 ...
- 《Linux命令学习手册》系列分享专栏
<Linux命令学习手册>系列分享专栏 <Linux命令学习手册>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/207 ...
- 20155229付钰涵-虚拟机安装及LINUX命令学习
安装Ubuntu遇到的问题 问题一: 新建虚拟电脑的版本只有32-bit,与老师所给教程中的64-bit不符.为此我上百度搜寻了答案. 第一种方法: 控制面板--程序与功能--启动或关闭windows ...
- 安装虚拟机&Linux命令学习
安装虚拟机&Linux命令学习 基于VirtualBox虚拟机安装Ubuntu 1.下载安装VirtualBox 根据自己电脑(32位操作系统)的实际情况,我在网上找了相应的VirtualBo ...
- Linux命令学习笔记目录
Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...
随机推荐
- 为什么需要动态SQL
为什么需要动态SQL 在使用EF或者写SQL语句时,查询条件往往是这样一种非常常见的逻辑:如果客户填了查询信息,则查询该条件:如果客户没填,则返回所有数据. 我常常看到很多人解决这类问题时使用了错误的 ...
- Linux内核中的IS_ERR()实现
1.前言 对于任何一个指针来说,必然有三种情况:一种是有效指针,一种是NULL,也就是空指针,一种是错误指针,也就是无效指针,在Linux内核中,所谓的错误指针就是指其已经到达了内核空间的最后一个pa ...
- 30分钟用 Laravel 实现一个博客
介绍 Laravel 是一款 MVC架构. 目前最流行的 PHP框架. Laravel的优点在于: 丰富的composer类库支持, 优雅的代码, 未来的主流框架(目前市场占有率最高的框架) Lara ...
- 爬虫框架 ---- scrapy 框架的介绍与安装
----- 爬虫 基于B/S 模式的数据采集技术,按照一定的规则,自动的抓取万维网信息程序 以一个或多个页面为爬取起点,从页面中提取链接实现深度爬取 使用爬虫的列子 第三方抢票软件(360/猎豹/ ...
- 面试题(Python)
面试题 字符串反向输出 s = "给阿姨倒杯卡布奇诺"反向输出S:print(s[::-1]) 面试必问:赋值,浅拷贝,深拷贝 赋值:多个变量指到相同内存浅拷贝中所有的元素,不管第 ...
- U9数据权限分配枚举值方法
1.配置动态视图,定位应用对应控制实体,并设置动态视图类型:读取 或 增.删.改: 2.设置动态视图条件:MOPickList.MO.DocState.Value in (FunEnum('生产订单单 ...
- 搞清楚一道关于Integer的面试题【华为云技术分享】
请看题1: public class IntegerDemo { public static void main(String[] args) { Integer a = ; Integer b = ...
- Java的jdk环境变量配置
方法/步骤 1.安装JDK 选择安装目录 安装过程中会出现两次 安装提示 .第一次是安装 jdk ,第二次是安装 jre .建议两个都安装在同一个java文件夹中的不同文件夹中.(不能都安装在java ...
- laravel hash密码生成和密码验证
在laravel中 登录表单中的密码是用hash来生成的. 在生成密码需要用到 laravel框架中的方法(都是laravel封装好了的) bcrypt($password)方法,直接将获取到的pas ...
- asp.net core 系列之Reponse caching 之 Response Caching Middleware(4)
这篇文章介绍 Response Caching Middleware . Response Caching Middleware in ASP.NET Core 通过在ASP.NET Core应用中 ...