~~~~~~~~~~~~

前言

~~~~~~~~~~~~

推荐一个很好的练习平台: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命令学习之文件管理的更多相关文章

  1. 别出心裁的Linux命令学习法

    别出心裁的Linux命令学习法 操作系统操作系统为你完成所有"硬件相关.应用无关"的工作,以给你方便.效率.安全.操作系统的功能我总结为两点:管家婆和服务生: 管家婆:通过进程.虚 ...

  2. Linux命令学习

    Linux命令学习 Ubuntu常用快捷键 •Ctrl+Alt+T: 打开终端 •Ctrl+Shift+T: 新建标签页 •Tab: 终端中命令补全 •Alt+数字N: 终端中切换到第N个标签页 •↑ ...

  3. Linux命令学习总结之rmdir命令的相关资料可以参考下

    这篇文章主要介绍了Linux命令学习总结之rmdir命令的相关资料,需要的朋友可以参考下(http://www.nanke0834.com) 命令简介: rmdir命令用用来删除空目录,如果目录非空, ...

  4. linux命令学习之:chmod

    chmod命令用来变更文件或目录的权限.在Linux系统家族里,文件或目录权限的控制分别以读取R.写入W.执行X3种一般权限来区分,另有3种特殊权限可供运用.用户可以使用chmod指令去变更文件与目录 ...

  5. Linux命令学习笔记1

    1.Linux命令学习 2.Mkdir /data       -创建文件夹 在/下创建文件夹 data 3.Cd               -目录切换 列如cd / 4.Touch /data/1 ...

  6. 《Linux命令学习手册》系列分享专栏

    <Linux命令学习手册>系列分享专栏 <Linux命令学习手册>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/207 ...

  7. 20155229付钰涵-虚拟机安装及LINUX命令学习

    安装Ubuntu遇到的问题 问题一: 新建虚拟电脑的版本只有32-bit,与老师所给教程中的64-bit不符.为此我上百度搜寻了答案. 第一种方法: 控制面板--程序与功能--启动或关闭windows ...

  8. 安装虚拟机&Linux命令学习

    安装虚拟机&Linux命令学习 基于VirtualBox虚拟机安装Ubuntu 1.下载安装VirtualBox 根据自己电脑(32位操作系统)的实际情况,我在网上找了相应的VirtualBo ...

  9. Linux命令学习笔记目录

    Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...

随机推荐

  1. python总结五

    1.is和==的区别:官方文档解释:is表示的是对象标识符,而==表示的是相等equal,is的作用是用来检查对象的标识符是否一致,也就是两个对象在内存中的地址是否一样 而==是用来检查两个对象是否相 ...

  2. JS中 (function(){...})()立即执行函数

    (function(){...})() (function(){...}()) 这是两种js立即执行函数的常见写法. 基本概念: 函数声明:function fname(){...}; 使用funct ...

  3. 石锤了!google彻底断供华为,只能加速鸿蒙生态的形成

    前言 操作系统是当今科技行业的灵魂,而即将推出这款操作系统是一个集电脑.手机.汽车等设备于一体的系统.如今手机行业里已经是一片红海了,竞争相当激烈,但是竞争归竞争,但是一旦扯上别的事就更麻烦了,像华为 ...

  4. 安装goimports

    当我们执行 go get golang.org/x/tools/cmd/goimports 会报错package golang.org/x/tools/cmd/goimports: unrecogni ...

  5. 紧随时代的步伐--Java8特性之接口默认方法

    1.关于Java8 自从1996年Sun公司发布Java以来,Java到目前为止已经走过21个年头,每一次的升级,都是Java语言的革新,对时代发展的适应.2014年Oracle发布Java8,而据可 ...

  6. 【IntelliJ IDEA学习之五】IntelliJ IDEA 搭建项目

    版本:IntelliJIDEA2018.1.4 一.同一窗口展示多个应用(弊端:耗内存) idea没有eclipse workspace的概念,如果想在同一窗口显示多个应用,可以按照如下方式来做:1. ...

  7. WeakhashMap源码2

    public class WeakHashMapIteratorTest { @SuppressWarnings({ "rawtypes", "unchecked&quo ...

  8. Selenium基础教程(三)自动化插件Katalon

    Katalon-一款好用的selenium自动化测试插件 Selenium 框架是目前使用较广泛的开源自动化框架,一款好的.基于界面的录制工具对于初学者来说可以快速入门:对于老手来说可以提高开发自动化 ...

  9. NOIP2018 填数游戏 搜索、DP

    LOJ 感觉这个题十分好玩于是诈尸更博.一年之前的做题心得只有这道题还记得清楚-- 设输入为\(n,m\)时的答案为\(f(n,m)\),首先\(f(n,m)=f(m,n)\)所以接下来默认\(n \ ...

  10. Java学习:迭代器简介

    迭代器 java.util.Iterator接口:迭代器(对集合进行遍历) 有两个常用的方法 boolean hasNext() 如果仍有元素可以迭代,则返回 true. 判断集合中还有没有下一个元素 ...