热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

arduino编译目录临时文件_linux安全Linux目录管理

实验所有虚拟主机用户和密码如下:H-server--1主机:用户:root密码:123456第一步、打开拓扑,

099cfb5a1c7304d63a6a2cb2501f1bb9.gif

实验所有虚拟主机用户和密码如下:

H-server--1主机:

用户:root      密码:123456

第一步、打开拓扑,启动虚拟主机

bfdce16a895402047f26ef4210518f7f.png

第二步、目录介绍及相关命令实例

#cd /

#ls -l

7a340503f22e0b8c92374b0c4847d78c.png

1.‘/’ 根目录。

包含了几乎所的文件目录。相当于中央系统。进入的最简单方法是:cd /。

2./boot 引导程序,内核等存放的目录。这个目录,包括了在引导过程中所必需的文件,引导程序的相关文件。

3./sbin 超级用户可以使用的命令的存放目录。

4./bin普通用户可以使用的命令的存放目录。

5./lib 根目录下的所程序的共享库目录。

6./dev 设备文件目录。在Linux中设备都是以文件形式出现,这里的设备可以是硬盘,键盘,鼠标,网卡,终端,等设备,通过访问这些文件可以访问到相应的设备

7./home普通用户的家目录($HOME目录。在Linux机器上,用户主目录通常直接或间接地设置在此目录下。其结构通常由本地机的管理员来决定。通常而言,系统的每个用户都拥有自己的根目录,目录以用户名作为名字存放在/home下面,有利于数据的维护。

8./root用户root的$HOME目录。系统管理员(就是root用户或超级用户)的主目录比较特殊,不存放在/home中,而是直接放在/root目录下了。

9./etc全局的配置文件存放目录。

10./usr这个目录中包含了命令库文件和在通常操作中不会修改的文件。这个目录对于系统来说也是一个非常重要的目录,其地位类似Windows上面的”Program Files”目录。

f23dfb52d1652c245766c9a3a74d73b4.png

11./usr/lib目标库文件,包括动态连接库加上一些通常不是直接调用的可执行文件的存放位置。

12./usr/bin一般使用者使用并且不是系统自检等所必需可执行文件的目录。此目录相当于根文件系统下的对应目录(/bin,非启动系统,非修复系统以及非本地安装的程序一般都放在此目录下。

13./usr/sbin管理员使用的非系统必须的可执行文件存放目录。

14./usr/share存放共享文件的目录。

#cd /usr/share

#ls

013e0d3f8d99bc410eddb1d7a01fda2b.png

比如:i18n 是操作系统国际化所需要的资源的目录。

15. /usr/include  C程序语言编译使用的头文件。

16./usr/local

#cd /usr/local

#ls

3df4539aa4a353a43f66fbe953091ff0.png

17./proc 特殊文件目录。

#cd /proc

#ls

c7e2b426ed5b7e6b2efba4c886e28716.png

注:这个目录采用一种特殊的文件系统格式(proc格式,内核支持这种格式。其中包含了全部虚拟文件。它们并不保存在磁盘中,也不占据磁盘空间(尽管命令ls -c会显示它们的大小)。当查看它们时,实际上看到的是内存里的信息,这些文件助于我们了解系统内部信息。例如:

├1/关于进程1的信息目录。每个进程在/proc下一个名为其进程号的目录。

├cpuinfo处理器信息,如类型、制造商、型号和性能。

├devices当前运行的核心配置的设备驱动的列表。

├dma 显示当前使用的DMA通道。

├filesystems 核心配置的文件系统。

├interrupts 显示使用的中断,and how many of each there have been.

├ioports 当前使用的I/O端口。

├kcore 系统物理内存映像。与物理内存大小一样,但实际不占这么多内存;

├kmsg 核心输出的消息。也被送到syslog 。

├ksyms 核心符号表。

├loadavg 系统”平均负载”;3个没意义的指示器指出系统当前的工作量。

├meminfo 存储器使用信息,包括物理内存和swap。

├modules 当前加载了哪些核心模块。

├net 网络协议状态信息。

├self 到查看/proc 的程序的进程目录的符号连接。

├stat 系统的不同状态

├uptime 系统启动的时间长度。

├mounts 系统已经挂载的数据

└version 核心版本。

#cd /proc/1

#ls -l

68661c9c773fee56de7250603f69e151.png

1) 查看系统挂载信息

#cd /proc

#cat mounts

88ae8c8a5a6677478c208f9fe21dcadc.png

2) 查看cpu 信息

#cd /proc

#cat cpuinfo

a74932226631b02fc82d66fcba836f4b.png

3) 查看内存信息

#cd /proc

#cat  meminfo

b825747c67f1fb916ee501143122a708.png 

4) 查看已加载模块

#cd /proc

#cat modules

2469079a1aac30eb80084d13b91dcf6d.png

5) 查看磁盘状态信息

#cd /proc

#cat diskstats

6c5403bd00b4f964182dd929f401905a.png

6) 查看内核命令行参数

/proc/cmdline - 系统启动时输入的内核命令行参数

#cd /proc

#cat cmdline

dd5417d8a88d47ffc298508a7c503ae9.png

7) 查看进程信息

 /proc 文件系统可以用于获取运行中的进程的信息。在 /proc 中有一些编号的子目录。每个编号的目录对应一个进程 id (PID)。这样,每一个运行中的进程 /proc 中都有一个用它的 PID 命名的目录。这些子目录中包含可以提供有关进程的状态和环境的重要细节信息的文件。让我们试着查找一个运行中的进程

e99a340ccf215d354e75c91066d79cef.png

上述命令显示有一个正在运行的httpd PID 是 1316。相对应的,/proc 中应该有一个名叫 1316的目录[在实际实验时进程号不一定是1316]

#cd /proc/1316  (注:这是一步操作,也可以分解成两步操作,cd /proc/  cd 1316)

#ls

40e3034d728a30ea38297ad43d9f0a8b.png 文件 "cmdline" 包含启动进程时调用的命令行。"envir" 进程的环境变量。 "status" 是进程的状态信息,包括启动进程的用户的用户ID (UID) 和组ID(GID) ,父进程ID (PPID),还有进程当前的状态,比如"Sleeping"和"Running"。每个进程的目录都有几个符号链接,"cwd"是指向进程当前工作目录的符号链接,"exe"指向运行的进程的可执行程序,"root"指向被这个进程看作是根目录的目录 (通常是"/")。目录"fd"包含指向进程使用的文件描述符的链接。 "cpu"仅在运行 SMP 内核时出现,里面是按 CPU 划分的进程时间。

#cat cmdline

08b8a8c1085e2b090905130f4996ca96.png

#cat environ

0446e33eb23be11430ecb3f495b1ecd3.png

#cat status

a0620c6078d3fb4cc8d9f6f4d4177b13.png

从上图 可以看出,该进程的状态处于Sleeping ,父进程是 1.说明系统是被root启动的

从刚才httpd 的进程结构看,1316 有4个子进程(注:上面的ps -aef | grep httpd)。

我们进入其中1个进程(在实际实验时进程号不一定是1335)

#cd /proc

#cd 1335

435ec6d2c78832c2a6135297aa405043.png

从上图可以看出,进程状态是Sleeping ,父进程是1316

/proc/self 是一个有趣的子目录,它使得程序可以方便地使用 /proc 查找本进程的信息。/proc/self 是一个链接到 /proc 中访问 /proc 的进程所对应的 PID 的目录的符号链接

afff2b033e66d9a7a6c419eb7af69dea.png

1460 是调用ls –ld self 命令所产生的进程号

60ae00b729075db72bc1307055306841.png

比如如上图,cmdline 只能是cat self/cmdline

8) 查看机器、网络的主机名、域名

/proc/sys/kernel - 这个目录包含反通用内核行为的信息。 /proc/sys/kernel/domainname, hostname 存放着机器/网络的域名和主机名。这些文件可以用于修改这些名字。

#hostname

0951e3c3a5529ca8f9faf48cb00ef8f0.png

# cat /proc/sys/kernel/domainname
domainname.com
# cat /proc/sys/kernel/hostname
server

9f5f584779fabbc1691fa451421c2a71.png

# echo "server1" > /proc/sys/kernel/hostname

#hostname

server1

8792101782f429282b828424f5921b34.png

这样,通过修改 /proc 文件系统中的文件,我们可以修改主机名。很多其他可配置的文件存在于 /proc/sys/kernel/。

18./opt可选择的文件目录。这个目录表示的是可选择的意思,一些自定义软件包或者第三方工具,就可以安装在这里。比如在Fedora Core 5.0中,OpenOffice就是安装在这里。一些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以把它们的安装路径设置成/opt这样来安装。这个目录的作用一点类似/usr/local。

19./mnt 临时挂载目录。这个目录一般是用于存放挂载储存设备的挂载目录的,比如磁盘,光驱,网络文件系统等,当我们需要挂载某个磁盘设备的时候,可以把磁盘设备挂载到这个目录上去,这样我们可以直接通过访问这个目录来访问那个磁盘了。一般来说,我们最好在/mnt目录下面多建立几个子目录,挂载的时候挂载到这些子目录上面,因为通常我们可能不仅仅是挂载一个设备吧?

20./media 挂载的媒体设备目录。挂载的媒体设备目录,一般外部设备挂载到这里,例如cdrom等。比如我们插入一个U盘,我们一般会发现,Linux自动在这个目录下建立一个disk目录,然后把U盘挂载到这个disk目录上,通过访问这个disk来访问U盘。

21./var内容经常变化的目录。此目录下文件的大小可能会改变,如缓冲文件,日志文件,缓存文件,等一般都存放在这里。

#cd /var

#ls

189cb1b02f6e52b9822fc19b52213267.png

22. /tmp临时文件目录。该目录存放系统中的一些临时文件,文件可能会被系统自动清空。系统直接把tmpfs类型的文件系统挂载到这个目录上,tmpfs文件系统由Linux内核支持,在这个文件系统中的数据,实际上是内存中的,由于内存的数据断电易失,当系统重新启动的时候我们就会发现这个目录被清空了。

#cd /tmp

#ls

3b44cb8fd1d53e8db46d8688a6e5cacf.png

23./lost+found 恢复文件存放的位置。当系统崩溃的时候,在系统修复过程中需要恢复的文件,可能就会在这里被找到了,这个目录一般为空。

第三步、有些目录初学者容易混淆,这里简单区分一下:

1. /bin,/sbin与/usr/bin,/usr/sbin:

/bin一般存放对于用户和系统来说“必须”的程序(二进制文件)

#cd /bin

ls

7a40915f8b91e33ded0a1529a42b1ecb.png

比如mv ,pwd ,ps 都在本目录

/sbin一般存放对于系统管理的“必需”的程序(二进制文件,一般普通用户不会使用,根用户使用。

#cd /sbin

#ls

651ba63f5f2ec69a688183dc69a6657c.png

比如防火墙程序iptables 等都在这个目录

/usr/bin一般存放的只是对用户和系统来说“不是必需的”程序(二进制文件)。

040df175408416e2db59d1f9facb121d.png

/usr/sbin一般存放对于系统管理的不是必需的程序(二进制文件)。

#cd /usr/sbin

#ls

3ab6fa7fec68e450e5a1726d660ab05a.png

2. /lib与/usr/lib:

/lib和/usr/lib的区别类似/bin,/sbin与/usr/bin,/usr/sbin。

/lib一般存放对于用户和系统来说“必须”的库(二进制文件)

#cd /lib

#ls

d5aa1618d835acf803154a60922fc18d.png

从上图可以看出,ld库,pam库已经解析库都在基本的库目录下。

/usr/lib一般存放的只是对用户和系统来说“不是必需的”库(二进制文件)。

#cd /usr/lib

#ls

4682e672c6539790405311f69c04afee.png

从上图可以看出,X11和usb 相关的库这个目录下。

其他还一些目录例如/home/user/bin,/home/user/opt,/home/user/etc,/usr/local/etc等等,其作用都是类似于/etc,/bin等目录的,可能只是层次概念不同了,使用Linux时间长了,会逐渐体会到其中的含义。

第四步、实验结束,关闭虚拟机。

8b41aab7347b058eb93322bce0f312f3.gif




推荐阅读
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 本文介绍了PE文件结构中的导出表的解析方法,包括获取区段头表、遍历查找所在的区段等步骤。通过该方法可以准确地解析PE文件中的导出表信息。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
author-avatar
忠讧_136
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有