Loading... 转自:https://www.runoob.com/linux/linux-system-contents.html https://blog.51cto.com/yangrong/1288072 :数据结构详细推荐点击查看 # Linux-目录 ![d0c50-linux2bfile2bsystem2bhierarchy.jpg](http://www.irohane.top/usr/uploads/2021/03/1236155751.jpg) * /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。 * /etc:**存放**所有**的系统需要的**配置文件**和**子目录列表,更改目录下的文件可能会导致系统不能启动。 * **/lib**:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 * /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中 **指令集合:** * /bin:存放着最常用的程序和指令 * /sbin:只有系统管理员能使用的程序和指令。 **外部文件管理:** * /dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。 * /media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。 * /mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。 **临时文件:** * /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。 * /lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。 * /tmp:这个目录是用来存放一些临时文件的。 **账户:** * /root:系统管理员的用户主目录。 * **/home**:用户的主目录,以用户的账号命名的。 * **/usr**:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。 * /usr/bin:系统用户使用的应用程序与指令。 * /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。 * /usr/src:内核源代码默认的放置目录。 **运行过程中要用:** * /var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。 * /proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。 **扩展用的:** * /opt:默认是空的,我们安装额外软件可以放在这个里面。 * ****/srv**:存放服务启动后需要提取的数据**(不用服务器就是空) ## etc详细 1.*/etc/sysconfig/network-scripts/ifcfg-eth0 网卡的配置信息 重启网卡:1)/etc/init.d/network restart(所有网卡) 2)ifdown eth0&&ifup eht0(只针对eht0) 通过steup-network configuration 修改网卡配置 [root@localhost /]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 2:/etc/resolv.conf 设置Linux本地的客户端DNS的文件 3:/etc/sysconfig/network 修改机器名和网卡启动,网关等配置 4:/etc/hosts 设定用户IP与名字(域名)的对应解析表,相当于本地LAN内的DNS 5: /etc/fstab 记录开机要mount的文件系统的一个文件 6:/etc/rc.local:存放开机自启动程序命令的文件(chkconfig只能管理yum/rpm安装的程序的启动服务) 7:/etc/inittab :设定系统启动时init进程将把系统设置成什么样的runlevel及加载相关的启动文件设置 8:/etc/exports :设定NFS网络文件系统用的配置文件 9:/etc/init.d :存放系统或服务器以System V 模式启动的脚本 10:/etc/profile :系统全局环境变量配置路径 重要的 */etc/issue :记录用户登陆前的显示的信息 /etc/motd :登录提醒信息 /etc/redhat-release 声明RedHat版本号和名称 /etc/group :设定用户的组名和相关信息 */etc/passwd : 账号信息文件 */etc/shadow :密码信息文件 /etc/sudoers: 可以执行使用sudo的配置文件 /etc/securetty:设定哪些终端可以让root登录 /etc/login.defs:所有用户登陆时的缺省配置 /etc/modprobe.conf:内核模块额外参数设定 /etc/syslog.conf :日志设置文件(限C5.x) /etc/rsyslog.conf: 日志设置文件(限C6.x) ## Proc文件 转自:https://www.jb51.net/article/47676.htm /proc/buddyinfo 每个内存区中的每个order有多少块可用,和内存碎片问题有关 /proc/cmdline 启动时传递给kernel的参数信息 /proc/cpuinfo cpu的信息 /proc/crypto 内核使用的所有已安装的加密密码及细节 /proc/devices 已经加载的设备并分类 /proc/dma 已注册使用的ISA DMA频道列表 /proc/execdomains Linux内核当前支持的execution domains /proc/fb 帧缓冲设备列表,包括数量和控制它的驱动 /proc/filesystems 内核当前支持的文件系统类型 /proc/interrupts x86架构中的每个IRQ中断数 /proc/iomem 每个物理设备当前在系统内存中的映射 /proc/ioports 一个设备的输入输出所使用的注册端口范围 /proc/kcore 代表系统的物理内存,存储为核心文件格式,里边显示的是字节数,等于RAM大小加上4kb /proc/kmsg 记录内核生成的信息,可以通过/sbin/klogd或/bin/dmesg来处理 /proc/loadavg 根据过去一段时间内CPU和IO的状态得出的负载状态,与uptime命令有关 /proc/locks 内核锁住的文件列表 /proc/mdstat 多硬盘,RAID配置信息(md=multiple disks) /proc/meminfo RAM使用的相关信息 /proc/misc 其他的主要设备(设备号为10)上注册的驱动 /proc/modules 所有加载到内核的模块列表 /proc/mounts 系统中使用的所有挂载 /proc/mtrr 系统使用的Memory Type Range Registers (MTRRs) /proc/partitions 分区中的块分配信息 /proc/pci 系统中的PCI设备列表 /proc/slabinfo 系统中所有活动的 slab 缓存信息 /proc/stat 所有的CPU活动信息 /proc/sysrq-trigger 使用echo命令来写这个文件的时候,远程root用户可以执行大多数的系统请求关键命令,就好像在本地终端执行一样。要写入这个文件,需要把/proc/sys/kernel/sysrq不能设置为0。这个文件对root也是不可读的 /proc/uptime 系统已经运行了多久 /proc/swaps 交换空间的使用情况 /proc/version Linux内核版本和gcc版本 /proc/bus 系统总线(Bus)信息,例如pci/usb等 /proc/driver 驱动信息 /proc/fs 文件系统信息 /proc/ide ide设备信息 /proc/irq 中断请求设备信息 /proc/net 网卡设备信息 /proc/scsi scsi设备信息 /proc/tty tty设备信息 /proc/net/dev 显示网络适配器及统计信息 /proc/vmstat 虚拟内存统计信息 /proc/vmcore 内核panic时的内存映像 /proc/diskstats 取得磁盘信息 /proc/schedstat kernel调度器的统计信息 /proc/zoneinfo 显示内存空间的统计信息,对分析虚拟内存行为很有用 以下是/proc目录中进程N的信息 /proc/N pid为N的进程信息 /proc/N/cmdline 进程启动命令 /proc/N/cwd 链接到进程当前工作目录 /proc/N/environ 进程环境变量列表 /proc/N/exe 链接到进程的执行命令文件 /proc/N/fd 包含进程相关的所有的文件描述符 /proc/N/maps 与进程相关的内存映射信息 /proc/N/mem 指代进程持有的内存,不可读 /proc/N/root 链接到进程的根目录 /proc/N/stat 进程的状态 /proc/N/statm 进程使用的内存的状态 /proc/N/status 进程状态信息,比stat/statm更具可读性 /proc/self 链接到当前正在运行的进程 # Linux系统日志 Linux 常见日志文件(/Var/log) | 文件 | 描述 | | - | - | | altematives.log | 系统一些更新代替信息记录 | | apport.log | 应用程序崩溃信息记录 | | apt/history.log | 使用apt-get安装卸载软件的记录信息 | | apt/term.log | 使用apt具体操作-如下载 | | auth.log | 登录认证信息记录 | | Boot.log | 系统启动时程序服务日志 | | btmo | 错误登录信息记录 | | dmesg | 登陆时,显示屏幕上的内核缓冲区信息-硬件相关(内核调试) | | dpkg.log.dpkg | 命令管理包日志 | | kern.log | 内核产生的信息记录,修改内核有很大帮助 | | faillog | 用户登陆失败详细记录信息 | | lastlog | 记录所有用户最好登录日志.lastb查看 | | wtmp | 登陆信息记录,找出谁正在登录进入系统。 | | syslog | 系统信息记录 | | | | # 用户-组 cat /etc/passwd ![image.png](http://www.irohane.top/usr/uploads/2021/03/411446063.png) 以 : 作为分隔符,划分为7个截断。 root\:x\:0:0:root:/root:/bin/bash root: x : 0 : 0 : root : /root : /bin/bash 用户: 密码 : (用户id) : gid(组 id) : 描述性信息 : 主目录 : 默认 shell | 字段 | 说明 | | - | - | | root | 创建用户给定的名称 | | x | 用户密码,其中密码被放在/etc/shadow文件,文件必须root用户访问、安全性 | | 0 | 给予用户唯一标识 uid ,1\~499系统用户,500\~65535属于用户 | | 0 | 给予用户相同名称的组 gid. | | root | 描述用户信息 | | /root | 主目录, | | /bin/bash | Shell Linux 命令解释器,用户和Linux内核之间沟通桥梁。 | --- 对应关系 一对一:一个组对应一个用户 一对多:一个用户多个组 多对一:多个用户存在一个组 多对多:多个用户存在多个组 --- useradd --help 创建用户 passwd --help 修改密码 usermod --help 修改用户组权限 userdel --help 删除用户 --- groupadd 添加组 groupmod 修改组信息 groupdel 删除组 ## 权限 ls -al ![image.png](http://www.irohane.top/usr/uploads/2021/03/3499225746.png) d rwx r-x r-x 第一个字符文件类型 | 类型 | 说明 | | - | - | | - | 普通文件 | | p | 管道文件 | | b | 设备块文件 | | c | 字符设备文件 | | L | 链接文件 | | d | 目录 | | s | 套接字文件 | 后面九个分为三组 第一组标识文件属性主拥有权限 第二组表示文件属组拥有权限 创造文件用户有一个属于自己的组这条权限是对于创建者组内的权限 第三组表示文件其他用户拥有权限 不属于创建者/组内人员的权限 --- 权限修改命令 chown --help 修改文件属主 chgrp --help 修改文件属组 chmod --help 修改文件权限 | 数字 | 名称 | 用法 | | - | - | - | | r==4 | u 用户 | chmod +r 1.txt | | w==2 | g 组 | chmod g+wx 1.txt | | x==1 | o 其他 | chmod +x 1.txt | | rwx==7 | a 所有用户 | chmod 777 txt | ## 环境遍历 这里只作为记录:如果后期有用,记得加上 https://www.cnblogs.com/renping/p/7020354.html export 显示和设置环境遍历 set 显示本地变量 env 显示环境变量 系统定义的环境变量 PATH 决定了shell将到哪些目录中寻找命令或程序 HOME 当前用户主目录 HISTSIZE 历史记录数 LOGNAME 当前用户的登录名 HOSTNAME 指主机的名称 SHELL 当前用户Shell类型 LANGUGE 语言相关的环境变量,多语言可以修改此环境变量 MAIL 当前用户的邮件存放目录 PS1 基本提示符,对于root用户是#,对于普通用户是$ 环境变量记载流程 /etc/environment->/etc/profile->/etc/bashrc->~/.profile->/.bashrc ## 常用命令 中文帮助很全面就不记录参数了只记常用命令 apt-get dpkg -系统用来安装、创建、管理软件包的实用工具 cd 进入目录 ls 查看 cp mv rmdir 删除目录 mkdir 创建目录 rm 删除 pwd 查看当前工作路径 touch 创建文档 file: 探测指定文件类型 grep 全面搜索正则表达式 grep "hello" 1.txr 从1.txt 搜索hello文本并打印 grep "hello" 1.txr 2.txt 从1.txt 2.txt 搜索hello文本并打印 -r 搜索几次 -n 找到后打印行数 -r "hello" 搜索当前目录下所有带hello 的文本 find 查找文件 whereis / locate 查找二进制程序、源码文件 whereis vim ln 创建链接 软连接:如果创建软连接就创建快捷方式。如源文件删除链接不可用 硬链接:相当于深层拷贝,但又与源文件同步。如源文件删除此文件还可用 kill /kill 结束进程 free 显示当前系统为适应和已使用内存数目 --- 磁盘相关 df 查看物理内存 du 查看文件占用时间 网络相关 netstat 查看网络链接状态和数据包 wget 解压相关 Zip Uzip tag man 命令手册 Server服务相关 最后修改:2021 年 03 月 01 日 © 允许规范转载 赞 0 如果觉得我的文章对你有用,请随意赞赏