在adb shell 中看根目录下的所有文件,今天来捋一捋。

有些人说,在adb shell下看到的手机根目录就是system分区。

我们还可以在根目录执行df命令或者mount命令查看具体挂载的所有分区。这样我们还可以利用这种方法确定哪些是文件哪些是挂载的分区。

详细解释:

df 命令  【我一般用df -a -h就可以】它是查看所有文件系统的

Linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

1、命令格式:

df [选项] [文件]

2.命令功能:

显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示

3.命令参数:

必要参数:

-a 全部文件系统列表

-h 方便阅读方式显示

-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024

-i 显示inode信息

-k 区块为1024字节

-l 只显示本地文件系统

-m 区块为1048576字节

--no-sync 忽略 sync 命令

-P 输出格式为POSIX

--sync 在取得磁盘信息前,先执行sync命令

-T 文件系统类型

选择参数:

--block-size= 指定区块大小

-t 只显示选定文件系统的磁盘信息

-x 不显示选定文件系统的磁盘信息

--help 显示帮助信息

--version 显示版本信息

4.使用实例:

实例1:显示磁盘使用情况

命令:

df

输出:

[root@CT1190 log]# df

文件系统               1K-块        已用     可用 已用%挂载点

/dev/sda7             19840892    890896  17925856   5% /

tmpfs16473212         0  16473212   0% /dev/shm

说明:

linux中df命令的输出清单的第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第3,4列分别表示已用的和可用的数据块数目。用户也许会感到奇怪的是,第3,4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员使用。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use% 列表示普通用户空间使用的百分比,即使这一数字达到100%,分区仍然留有系统管理员使用的空间。最后,Mounted on列表示文件系统的挂载点。

实例2:以inode模式来显示磁盘使用情况

命令:

df -i

输出:

[root@CT1190 log]# df -i

文件系统               Inode (I)已用 (I)可用 (I)已用%挂载点

/dev/sda7            5124480    5560 5118920    1% /

tmpfs4118303       1 4118302    1% /dev/shm

说明:

实例3:显示指定类型磁盘

命令:

df -t ext3

输出:

[root@CT1190 log]# df -t ext3

文件系统               1K-块        已用     可用 已用%挂载点

/dev/sda7             19840892    890896  17925856   5% /

说明:

实例4:列出各文件系统的i节点使用情况

命令:

df -ia

输出:

[root@CT1190 log]# df -ia

文件系统               Inode (I)已用 (I)可用 (I)已用%挂载点

/dev/sda7            5124480    5560 5118920    1%

tmpfs4118303       1 4118302    1% /dev/shm

none0       0       0    -  /proc/sys/fs/binfmt_misc

说明:

实例5:列出文件系统的类型

命令:

df -T

输出:

root@CT1190 log]# df -T

文件系统      类型     1K-块        已用     可用 已用%挂载点

/dev/sda7     ext3    19840892    890896  17925856   5% /

tmpfs        tmpfs16473212         0  16473212   0% /dev/shm

说明:

实例6:以更易读的方式显示目前磁盘空间和使用情况

命令:

输出:

[root@CT1190 log]# df -h

文件系统              容量  已用 可用 已用%挂载点

/dev/sda7              19G  871M   18G   5% /

tmpfs                  16G0   16G   0% /dev/shm

[root@CT1190 log]# df -H

文件系统               容量   已用  可用 已用%挂载点

/dev/sda7               21G   913M    19G   5% /

tmpfs                   17G0    17G   0% /dev/shm

[root@CT1190 log]# df -lh

文件系统              容量  已用 可用 已用%挂载点

/dev/sda7              19G  871M   18G   5% /

tmpfs                  16G0   16G   0% /dev/shm

[root@CT1190 log]# df -k

文件系统               1K-块        已用     可用 已用% 挂载点

/dev/sda7             19840892    890896  17925856   5% /

tmpfs                 16473212         0  16473212   0% /dev/shm

说明:

-h更具目前磁盘空间和使用情况 以更易读的方式显示

-H根上面的-h参数相同,不过在根式化的时候,采用1000而不是1024进行容量转换

-k以单位显示磁盘的使用情况

-l显示本地的分区的磁盘空间使用率,如果服务器nfs了远程服务器的磁盘,那么在df上加上-l后系统显示的是过滤nsf驱动器后的结果

-i显示inode的使用情况。linux采用了类似指针的方式管理磁盘空间影射.这也是一个比较关键应用

mount命令  挂在文件系统

例如1,挂在一个文件系统:                      mount -o remount,rw /dev/block/mmcblk0p20 /cust

例如2,挂在system 并设置权限为可读写--.mount -o remountn rw /system   挂载/system为可读可写解释:如果直接去chmod 777 system   ,那么会提示system :Read-only file system这时就需要用到mount,将system修改为可读写的,也就是修改其权限:mount -o remount rw /system ,可以对system文件进行读写操作。这时 再chmod 777 system  就不会报错 就会把system的权限修改为 -rwxrwxrwx

/dev/目录下的内容与/proc/下文件devices中的内容有什么区别?

/proc/devices/中的设备是通过insmod加载到内核的,它可产生一个major供mknod作为 参数。

/dev/*.* 是通过mknod加上去的,格式:mknod device1 c/b major minor 如:mknod dr1 c 254 0,用户通过此设备名来访问你的驱动。

习惯上,所有的设备文件 都放置在/dev 目录下。

关于标题内容的几点解释:

1、proc目录是一个虚拟文件系统,可以为Linux用户空间和内核空间提供交互

它只存在于内存中,而不占实际的flash或硬盘空间

2、/proc/devices/里的设备是加载驱动程序时生成的

3、/dev/下的设备是通过创建设备节点生成的,用户通过此设备节点来访问内核里的驱动

Linux层有公共目录。例如ps命令可以看到所有运行的进程信息(进程的UID,PID,内存,CPU等信息)。大多数资源由两个虚拟的文件系统提供:

proc filesystem(procfs) :包括内存,CPU,网络等

sys filesystem(sysfs):设备驱动,网络环境(/sys/class/net/)等

【引号内容为转载】

”proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。"

“/proc 文件系统是一种内核和内核模块用来向进程 (process) 发送信息的机制 (所以叫做 /proc)。这个伪文件系统让你可以和内核内部数据结构进行交互,获取 有关进程的有用信息,在运行中 (on the fly) 改变设置 (通过改变内核参数)。 与其他文件系统不同,/proc 存在于内存之中而不是硬盘上。如果你查看文件 /proc/mounts (和 mount 命令一样列出所有已经加载的文件系统),你会看到其中 一行是这样的:

grep proc /proc/mounts

/proc /proc proc rw 0 0

/proc 由内核控制,没有承载 /proc 的设备。因为/proc 主要存放由内核控制的状态信息,所以大部分这些信息的逻辑位置位于内核控制的内存。对 /proc 进行一次 'ls -l' 可以看到大部分文件都是 0 字节大的;不过察看这些文件的时候,确实可以看到一些信息。这怎么可能?这是因为 /proc 文件系统和其他常规的文件系统一样把自己注册到虚拟文件系统层 (VFS) 了。然而,直到当 VFS 调用它,请求文件、目录的 i-node 的时候,/proc 文件系统才根据内核中的信息建立相应的文件和目录。” ------调用时创建文件和目录

1. proc/uid_stat/

手机数据使用情况统计在

/proc/uid_stat/(每个app)

/sys/class/net/[interface]/statistics/(每个interface)

第一个数据可以直接访问,或通过TrafficStatsAPI访问。

其中/proc/uid_stat/[uid]/tcp_rcv和 /proc/uid_stat/[uid]/tcp_snd记录了每个app收发的字节数,

2.proc/meminfo

内存使用率

3.proc/stat

处理器使用率

具体的内容可以参考linux手册中的文档

/usr/src/linux/Documentation/filesystems/proc.txt

在proc目录下,有很多数字编号的文件。每个数字代表一个进程的PID。Android中,每个应用是用唯一的UID标识的,我们在/proc/[pid]/status文件中可以知道该进程对应的UID(即应用)。

这里的UID有四行:分别是

第一列数字(RUID):实际用户ID,指的是进程执行者是谁.

第二列数字(EUID):有效用户ID,指进程执行时对文件的访问权限.

第三列数字(SUID):保存设置用户ID,作为effective user ID的副本,在执行exec调用时后能重新恢复原来的effectiv user ID.

第四列数字(FSUID):目前进程的文件系统的用户识别码.一般情况下,文件系统的用户识别码(fsuid)与有效的用户识别码(euid)是相同的.

一般这四行是一样的,看第一行就好。

以下具体内容可见:http://linux.die.NET/man/5/proc

每个进程的目录下有如下一些文件:

auxv:ELF信息,不过试着用cat打出来是乱码

cgroup: control group的信息,即属于哪个组,这里也可以看属于哪个UID

cwd:进程当前的工作目录

exe:指向可执行的程序

fd:进程打开的文件,里面的每个文件由文件描述符来命名。0是标准输入,1是标准输出等等。。

maps:所有映射的内存区域和访问权限

mem:通过open,read,lseek等访问进程的内存

mounts和mountstat, mountinfo: mount信息

ns: 可以通过setns命令设置的namespace以及有关的内容。

oom_adj:内存不足(out of memmory时,用于杀死进程的命令)

root:指向进程根目录的符号链接

smaps:内存使用情况

stat:ps命令用,

statm:内存信息

status:是对stat,和statm里信息的总结,方便阅读

task:该进程创建的每个线程

安卓 linux服务器文件夹,Android系统下根目录下文件相关推荐

  1. Android读取assets目录下文件数据内容

    Android读取assets目录下文件数据内容 Android的体系架构设计中,assets目录下的数据内容(图片.文件等等)将不会被Android系统压缩.二次处理等,assets目录下的文件 ...

  2. qt 移动文件夹到另一目录下

    qt 移动文件夹到另一目录下 #include <QDir>//删除文件夹 bool delDir(const QString &path) {if (path.isEmpty() ...

  3. asset文件夹路径 unity_Unity Assets目录下的特殊文件夹名称

    1.隐藏文件夹 以.开头的文件夹会被Unity忽略.在这种文件夹中的资源不会被导入,脚本不会被编译.也不会出现在Project视图中. 2.Standard Assets 在这个文件夹中的脚本最先被编 ...

  4. linux安卓手机文件夹,Android系统的手机文件夹目录详解

    一.文件夹 1./acct/ 系统回收站,删除的系统文件. 2./cache/ 缓存 3./data/ 用户的所有程序相关数据 app/ 所有用户安装的apk文件 app-private/ data/ ...

  5. linux 查找字母c结尾的内容,linux如何查找以某个字母打头的文件或文件夹 比如,/etc目录下很多文件,我想列出所有以c开头的文件或文件...

    匿名用户 1级 2018-10-29 回答 ls -al |grep c* 这样就可以了,运用管道命令|. 如何使用命令行在Linux中查找文件和文件夹 1 使用查找命令,"find&quo ...

  6. Python 连接FTP服务器并实现文件夹下载实例演示,python区分ftp目录下文件和文件夹方法,ftp目录下包含中文名问题处理

    Python 连接 FTP 服务器并实现文件夹下载实例演示 第一章:连接 FTP 服务器并实现文件夹下载 ① 连接 FTP 服务器 ② 进入指定目录并显示文件信息 ③ 区分文件和文件夹名 ④ 文件夹名 ...

  7. android assets 文件夹 复制,Android 中 Assets目录下 文件或文件夹的复制

    1.文件或文件夹的复制 /* * 下面两个方法不是AsyncTask的接口 * * copyFileOrDir 目录复制 * copyFile 文件复制 */ private void copyFil ...

  8. android获取文件夹里最新的文件夹,Android 获取已存在的文件所在目录下的所有文件为null。...

    场景如下: 从服务器下载图片文件到手机创建好的目录下,知道图片路径可以获取到图片,但是获取目录的所有文件集合为空. 以下为创建和获取目录的代码,目录不存在则创建:public  String getP ...

  9. shell访问php文件夹,Shell获取某目录下所有文件夹的名称

    Shell获取某目录下所有文件夹的名称以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Shell获取某目录下所有文件夹的 ...

最新文章

  1. DataGrid 的 全选/取消全选 控制(CheckBox)
  2. C#反射使用时注意BindingFlags的用法(转载)
  3. MSIL 教程(二):数组、分支、循环、使用不安全代码和如何调用Win32 API(转)...
  4. 清华大学计算机系毕业季博论 | 预荐未来的自己
  5. 光端机使用时出现了故障怎样定位和处理
  6. 手写注解实现SpringMVC
  7. html中无序列表做成链接,Beautifulsoup从无序列表中提取文本和链接divulli(斯堪的纳维亚字符)...
  8. TypeScript入门教程
  9. java weblogic 下载,weblogic 下载 weblogic 12.2.1 for windows 64位的下载地址
  10. yui3:widget
  11. linux系统小红帽和ubuntu,Thinkpad trackpoint小红帽和中间键功能的实现。
  12. 用Google地图来做出哈比人五军之战
  13. 放大镜旋转 css,css3中仿放大镜效果的几种方式原理解析
  14. 报价单与贸易术语关系
  15. 码无止境(1)——一个科研项目立项时的小程序(字典嵌套列表)
  16. EDG获得S11冠军
  17. php ssl 465,帝国CMS邮件无法发送 SSL465端口无法发送的问题解决办法
  18. 开源前端脚本错误监控及跟踪解决项目BadJS试用
  19. Lattice原理及在通信中的应用 2 Packing, Covering, Quantization, Modulation
  20. python3视频教程推荐_《Python3从入门到放弃》视频教程

热门文章

  1. ASEMI快恢复二极管ES8JC参数,ES8JC规格,ES8JC封装
  2. 奇妙的AE特效插件之红巨人粒子特效Trapcode Suite
  3. javaScript获取昨天日期跟今天日期
  4. 帝国php调用文章列表,帝国CMS模板中:使用php调用最新文章的代码(非灵动和万能标签)...
  5. 不同大小硬盘对拷oracle,如何实现硬盘对拷_大小不一样的硬盘怎么实现对拷?_不同大小硬盘对拷...
  6. 考研复试英语自我介绍模板
  7. 【xp系统下载】用Excel做个工程倒计时牌
  8. linux7网卡名确定网卡,centos7 修改默认的网卡名称
  9. 型号不同的计算机内存条可以通用么,笔记本内存条和台式机通用吗
  10. if-else过多,使用策略模式(Strategy)解决if-else乱象