关于Ubuntu20.04文件系统思考
文章目录
- 问题产生
- Ubuntu文件系统中普通用户可读写地址
- Ubuntu文件系统
- Ubuntu文件系统详解
- 一级目录
- 二级目录
- 查找Ubuntu中软件安装位置
- Ubuntu修改文件权限
问题产生
使用electron框架开发桌面端跨平台软件时,当开发完成的程序部署到Ubuntu上,系统无法产生日志文件
针对上述问题开始认为是electron程序没有root权限,所以无法创建;后来思考可能是Ubuntu文件系统的权限问题
Ubuntu文件系统中普通用户可读写地址
- 因为用户安装软件后不可能自己修改文件系统的权限,所以首先的解决方法是找到普通用户可以操作的文件夹地址
/home/用户名/
这个路径下普通用户是可以读写的,但是程序中生成日志的文件地址如/logs
我们不能确定用户名
分别是什么,所以这种方式先放弃(应该是有方法可以获得用户名的)- 下面列出普通用户可以读写的路径
- /tmp/
- /var/tmp/
- /var/crash
- /var/lock
- /var/metrics
- 接下来要思考Ubuntu系统中的
var
文件夹的作用:该目录和usr类似,首先是根目录下的子目录,也可以作为单独的文件系统,用于存储各种可变长的数据文件(如日志文件)、暂存文件或待处理的临时文件 - Ubuntu的文件系统参考下文
- 所以我们可以把软件产生的日志文件存储到上述的普通用户可读写目录中
- 其实最好的选择是将日志文件保存到
/tmp
目录中,因为该目录下普通用户都有创建和删除文件夹权限
Ubuntu文件系统
上图标记处权限的大小:None < List files only < Access files < Create and delete files;最大的权限是Create and delete files
- None:不能进行任何操作
- List files only:只可以展示本文件夹的所有内容,不可以进入下级目录
- Access files:可以进入到本文件夹下的所有目录
- Create and delete files:最高的权限,可以在本文件夹中任意的创建和删除文件
Ubuntu文件系统详解
一级目录
-
/bin:包含普通用户和系统管理员可以共享的各种通用程序,如bash、dd、gzip、grep、mv、mkdir等常用的基本命令。
-
/boot:包含系统引导程序GRUB及其配置文件、linux内核文件vmlinuz和磁盘内存映象文件initrd.img等重要引导文件。
-
/dev:包含系统支持的所有设备文件。具体来说,console表示控制台,lp0表示打印机,mem表示系统的物理内存,sda表示连接到主控制器的第一个磁盘,ttyXX表示串口设备。
-
/etc:包含系统管理和维护方面的所有配置文件。
-
/home:包含所有普通用户的主目录。
-
/lost+found:用于存储fsck命令在检测与修复文件系统时删除的文件和目录。
-
/media:包含移动存储介质的挂载点,插入U盘,系统会自动将U盘挂在到该目录的某个子目录。
-
/mnt:包含所有自定义的文件系统的挂载点,可以挂在任何文件系统,包含NFS或CIFS网络文件系统。
-
/opt:应用程序等附加软件的安装目录,类似于windows系统中的Program Files目录。
-
/proc:虚拟文件目录,系统关闭时为空目录,系统运行时进程文件系统根目录,其中的部分文件系统分别对应当前正在运行的进程,可以 用于访问当前进程的地址空间。
-
/root:超级用户root的主目录
-
/sbin:超级用户管理员的常用工具,如管理和维护、系统引导和回复命令集合。
-
/srv:分担了var目录的一些功能,保存了一些网络服务所需的数据文件。
-
/sys:和proc一样的虚拟目录,系统各种设备信息的根目录,如block子目录中包含有磁盘及磁盘分区的配置信息。
-
/tmp:临时文件目录,用于存储系统运行过程生成的临时文件,也可以供用户存储自己的临时文件。需要注意的是,只是文件的创建者才可以删除响应文件。
-
/usr:既可以作为根目录下的一个子目录,其中保存系统提供的各种共享数据(用户命令、库函数、头文件、文档等),又可以作为一个单独的文件系统,可以认为是对根木的一个递归目录,是的文件系统具有更大的灵活性。
-
/var:该目录和usr类似,首先是根目录下的子目录,也可以作为单独的文件系统,用于存储各种可变长的数据文件(如日志文件)、暂存文件或待处理的临时文件。
二级目录
-
/boot/grub:其中存有GRUB配置文件,一级三种不同类型的初始引导程序。
-
/etc/apt:包含软件管理工具使用的配置文件,如sources.list。
-
/etc/cron.d:用于存储cron进程调度运行后台进程所用的配置文件和控制文件。其它有关目录cron.hourly,cron.daily,cron.weekly,cron.monthly四个目录。
-
/etc/init.d:用于存储系统启动引导过程中需要init调度执行的脚本文件。
-
/etc/network:包含网络接口的配置文件interfaces,一级相关的配置文件。
-
/etc/X11:包含X服务器使用的各种配置文件,如xorg.conf等。
-
/usr/bin 包含用户经常使用的各种命令
-
/usr/include 用于存储各种C语言头文件。这个目录及其子目录是开发人员经常引用的文件。其中sys、linux和bits等子目录中定义的数据结构,对于深入学习、理解和掌握Linux系统具有极大的参考价值
-
/usr/lib 其中包含各种共享的库函数,可供程序员已静态或动态的方式链接自己开发的程序
-
/usr/sbin 包含系统引导完成之后系统管理员经常使用的各种系统管理和维护命令
-
/usr/share 共享目录 包含man(联机文档的根目录)、info(GNU info文档的根目录)、doc(各种软件包特定的文档)、locale(语言环境)、vim(用户指南)、zoneinfo(时区定义)等子目录
-
/usr/src 存放linux系统内核的源代码和文档等
-
/var/lib 存储软件包特定的动态链接共享库、配置文件、数据文件和状态信息等
-
/var/log 系统守护进程日志文件的存储目录,其中包括lastlog(每个用户最后一次登录的时间)、messages(由syslogd记录的所有内核和系统程序的日志消息)及wtmp(所有用户的系统注册/注销记录)等重要文件。位于/var/log中的文件会不断地增长,因而要求定期备份或删除,通常linux系统均采用日、周或月为时间周期,定期执行例程检查,以循环截取的方式,删除过时的数据,保留一定时间范围的最新数据,使文件的大小保持一个适中的规模。在Ubuntu Linux系统中,每日将会执行一次logrotate程序,检查并处理系统日志文件。
-
/var/lock 用于存储各种服务进程或应用程序访问特定的设备或文件时设置的封锁文件
-
/var/run 系统运行信息文件的根目录,其中包括各种.pid文件中存有守护进程的PID。另外一个最典型的文件是/var/run/utmp,其中包含当前系统中用户注册信息
-
/var/spool 用于缓存各种等待处理的文件,如打印服务等。通常每类待处理的缓存文件均位于各自的子目录中,如/var/spool/cups等
-
/var/tmp 用于存储各种临时文件
查找Ubuntu中软件安装位置
可以尝试使用如下命令
// 方式1
type 软件名
// 方式2
ps aux | grep 软件名
// 方式3
使用文件搜索命令 find 、locate、whereis查找
// 方式4
使用which命令查看运行文件所在的路径
// 方式5
dpkg -L 软件名 #显示包含此软件包的所有位置
Ubuntu修改文件权限
相关文章:
关于Ubuntu20.04文件系统思考
文章目录问题产生Ubuntu文件系统中普通用户可读写地址Ubuntu文件系统Ubuntu文件系统详解一级目录二级目录查找Ubuntu中软件安装位置Ubuntu修改文件权限问题产生 使用electron框架开发桌面端跨平台软件时,当开发完成的程序部署到Ubuntu上,系统无法产生日…...
内嵌于球的等边三棱柱
( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 做一个网络让输入只有3个节点,每个训练集里有两张图片,让B的训练集全为0,排列组合A,观察迭代次数平均值的变化。共完成了64组,但只有12组不同的迭代次数。 差值结构 A-B 迭代次…...
论文解读 | [CVPR2020] ContourNet:向精确的任意形状场景文本检测迈出进一步
目录 1 研究背景和目的 1.1 主要贡献: 1.2 两个挑战: 2 ContourNet 3 方法论 3.1 Adaptive-RPN 3.2 LOTM 3.3 点重定位算法 4 实验和结果 论文地址:ContourNet: Taking a Further Step toward Accurate Arbitrary-shaped Scene Tex…...
干货分享|数据可视化报表制作技巧
脑中想得再好,也要看最终的效果呈现。但偏偏有些用户分析思维不差,就是数据分析报表的制作拖了后腿,导致始终无法完美呈现数据可视化分析效果。本文将总结奥威BI软件上的常用的数据可视化报表制作技巧,供大家随时查阅。 BI数据可…...
Longhorn,企业级云原生容器分布式存储 - 备份与恢复
Longhorn,企业级云原生容器分布式存储 - 备份与恢复快照手动快照周期性快照和备份使用 Longhorn UI 设置周期性快照使用 StorageClass 设置 Recurring Jobs分离卷时允许 Recurring Job容灾卷创建容灾(DR)卷备份设置备份目标使用阿里云OSS备份存储准备工作为 S3 兼容…...
亿级高并发电商项目-- 实战篇 --万达商城项目 十(安装与配置Elasticsearch和kibana、编写搜索功能、向ES同步数据库商品数据)
亿级高并发电商项目-- 实战篇 --万达商城项目搭建 一 (商家端与用户端功能介绍、项目技术架构、数据库表结构等设计) 亿级高并发电商项目-- 实战篇 --万达商城项目搭建 一 (商家端与用户端功能介绍、项目技术架构、数据库表结构等设计&#x…...
windwos安装spring-cloud-alibaba-nacos
windwos安装spring-cloud-alibaba-nacos前言一、预备环境二、下载源码或者安装包1.启动2.关闭总结前言 这个快速开始手册是帮忙您快速在您的电脑上,下载、安装并使用 Nacos。 一、预备环境 Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos&#x…...
Spring Boot 项目如何统一结果,统一异常,统一日志
1 统一结果返回目前的前后端开发大部分数据的传输格式都是json,因此定义一个统一规范的数据格式有利于前后端的交互与UI的展示。1.1 统一结果的一般形式是否响应成功;响应状态码;状态码描述;响应数据;其他标识符&#…...
Ubuntu下用Lean源码编译openwrt及一行命令u盘启动openwrt安装x86硬盘上
Ubuntu下用Lean源码编译openwrt 源码地址:https://github.com/coolsnowwolf/lede 1:首先微软云服务器装好 Ubuntu 64bit,推荐 Ubuntu 20.04 LTS x64,免费一年。ip设置在地球某处。总结就是每一步需要下载的都得下载完,…...
JavaScript Number 对象
JavaScript 是一门非常强大的编程语言,它提供了许多内置对象来帮助开发者在编写 JavaScript 应用时更轻松地处理数据。其中一个非常有用的对象是 JavaScript Number 对象,它可以帮助我们处理数值类型的数据,例如整数和浮点数。在本文中&#…...
【原创】java+swing+mysql银行ATM管理系统
本文主要介绍使用javaswingmysql去设计一个银行ATM管理系统,模仿实现存款、取款、转账、余额查询等功能。 功能分析: 隐含ATM管理系统一般分为管理员和用户角色,管理员可以进行用户管理、账单管理,用户可以进行转取存款等功能如…...
博弈论--总结
博弈分类 按照是否对外产出或消耗 零和博弈:博弈过程作为整体对外无产出也无消耗。非零和博弈:博弈过程作为整体对外有产出或有消耗。 按照博弈参与人数 1人博弈2人博弈3人博弈n人博弈 按照博弈是否重复 注:同一规则的同一博弈过程反复…...
AMBA低功耗接口规范(Low Power Interface Spec)
1.简介 AMBA提供的低功耗接口,用于实现power控制功能。目前AMBA里面包含2种低功耗接口: Q-Channel:实现简单的power控制,如上电,下电。 P-Channel:实现复杂的power控制,如全上电,半上…...
matlab-汽车四分之一半主动悬架模糊控制
1、内容简介汽车四分之一半主动悬架模糊控制651-可以交流、咨询、答疑2、内容说明半主动悬架汽车 1/4 动力学模型建立 本章主要对悬架类型进行简要介绍,并对其进行对比分析,提出半主动悬架的优越性,论述半主动悬架的工作原理,并对…...
【安全加密】通信加密算法介绍
加密常用于通信中,如战争中电台通讯有明码和密码,密码需要不断更换密码本;另外,商用软件也需要用到加密技术,如根据电脑的mac地址设置权限,防止软件被恶意传播。 文章目录一、介绍1. 单向散列/哈希算法2. 对…...
kubernetes教程 --组件详细介绍
组件详细介绍 NameSpace 在 Kubernetes 中,名字空间(Namespace) 提供一种机制,将同一集群中的资源划分为相互隔离的组。 同一名字空间内的资源名称要唯一,但跨名字空间时没有这个要求。 名字空间作用域仅针对带有名字…...
数字化系统使用率低的原因剖析
当“数字化变革”成为热门话题,当“数字化转型”作为主题频频出现在一个个大型会议中,我们知道数字化时代的确到来了。但是,根据Gartner的报告我们看到一个矛盾的现象——85%的企业数字化建设与应用并不理想、但对数字化系统的需求多年来持续…...
<<Java开发环境配置>>7-Apache Tomcat安装教程环境变量配置IDEA配置
一.Apache Tomcat简介: Apache是普通服务器,本身只支持html即普通网页。不仅可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。Apache只支持静态网页,但像php,cgi,jsp等动态网页就需要Tomc…...
互联网大厂测开面试记,二面被按地上血虐,所幸Offer已到手
在互联网做了几年之后,去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好,更重要的是,它是对你专业能力的背书,大厂工作背景多少会给你的简历增加几分竞争力。 如何备战面试的? 第一步:准备简历…...
网络管理之设备上线技术的发展现状和趋势
网络和网络设备无处不在 随着社会的发展和技术的进步,人类文明开始向信息时代演进,网络逐渐变成现代社会不可或缺的一部分,极大程度影响了人类的认知形式、思维方式与生活模式。从家庭网,到企业网;从无线网࿰…...
SQL67 返回固定价格的产品
描述有表Productsprod_idprod_nameprod_pricea0018sockets9.49a0019iphone13600b0018gucci t-shirts1000【问题】从 Products 表中检索产品 ID(prod_id)和产品名称(prod_name),只返回价格为 9.49 美元的产品。【示例结…...
webpack 开发环境的基本配置(webpack打包样式资源、html、图片、devserver、开发环境配置、以及其他资源)
A.打包样式资源 1. 创建文件 2. 下载安装 loader 包 npm i css-loader style-loader less-loader less -D 3. 修改配置文件 /*webpack.config.js webpack的配置文件作用: 指示 webpack 干哪些活(当你运行 webpack 指令时,会加载里面的配置ÿ…...
刷题记录:牛客NC14402求最大值
传送门:牛客 题目描述: 给出一个序列,你的任务是求每次操作之后序列中 (a[j]-a[i])/(j-i)【1<i<j<n】的最大值。 操作次数有Q次,每次操作需要将位子p处的数字变成y. 输入: 5 2 4 6 8 10 2 2 5 4…...
javaEE 初阶 — 传输层 TCP 协议 中的延迟应答与捎带应答
文章目录1. 延迟应答2. 捎带应答TCP 工作机制:确认应答机制 超时重传机制 连接管理机制 滑动窗口 流量控制与拥塞控制 1. 延迟应答 延时应答 也是提升效率的机制,也是在滑动窗口基础上搞点事情。 滑动窗口的关键是让窗口大小大一点,传输…...
STM32单片机初学8-SPI flash(W25Q128)数据读写
当使用单片机进行项目开发,涉及大量数据需要储存时(例如使用了屏幕作为显示设备,常常需要存储图片、动画等数据),单靠单片机内部的Flash往往是不够用的。 如STM32F103系列,内部Flash最多只能达到512KByte&a…...
MS-SQL创建查询排序语句总结
重新捡起枪杆子,学习N年没用过的MS-SQL,整理一些学习笔记记录。 一、创建、修改和删除表 在SQL中,表有如下规则: 每张表都有一个名字,通常称为表名或关系名。表名必须以字母开头,最大长度为 30 个字符。一…...
subprocess—Python多进程模块
subprocess—Python多进程模块 1.概述 这篇文章介绍并行运算中的subprocess模块,subprocess 模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值。 subprocess 它可以用来调用第三方工具(例如&#x…...
【APP渗透测试】 Android APP渗透测试技术实施以及工具使用(客户端服务端)
文章目录前言一、安全威胁分析二、主要风险项三、Android测试思维导图四、反编译工具五、Android客户端漏洞一、Jnaus漏洞漏洞二、数据备份配置风险漏洞漏洞三、Activity组件泄露漏洞漏洞四、BroadcastReceiver组件泄露漏洞漏洞五、允许模拟器Root环境登录漏洞漏洞六、未识别代…...
字符串匹配 - Overview
字符串匹配(String Matchiing)也称字符串搜索(String Searching)是字符串算法中重要的一种,是指从一个大字符串或文本中找到模式串出现的位置。字符串匹配概念字符串匹配问题的形式定义:文本(Text)是一个长度为 n 的数组 T[1..n]&…...
【IP课堂】Ip地址如何进行精准定位?
通过Ip地址定位,是目前网络上最常见的定位方式。当然,也是最简单的定位方式。其实方法大多都是雷同的,通过Ip定位,就目前网上公开的技术。如通过搜索关键词“定位,定位查询,Ip定位”等,只能查询…...
网站建设教程菜鸟物流/百度识图搜索
很多人在投了简历后没回音,他们往往会抱怨公司不好、HR没眼光、自己运气不好等各种理由,却很少有人会反思是不是自己投简历的方式错了。接下来就告诉你,究竟为什么你的简历会“零回音”。一、冲名气而投此类投递者,往往只看公司名…...
电子商务知名网站/网站优化推广方案
可能大家在使用DataGrid编辑数据的时候会觉得要点击最后的编辑列的按钮来修改数据不是很方便,在今天的例子中给出一种比较方便的操作方法:要修改数据点击这一行-》鼠标放在哪个文本框就会选中哪个文本框的内容,直接可以进行修改&a…...
怎么查看网站根目录/百度一下首页网页百度
一插上网线电脑会自动重启解决方法,网线,解决方法,插上,自动重启,电脑一插上网线电脑会自动重启解决方法易采站长站,站长之家为您整理了一插上网线电脑会自动重启解决方法的相关内容。今天遇到关于电脑的灵异事件,一插上网线电脑会自动重启,只…...
wordpress文章如何调整字体/广告咨询
与WifiMonitor.java负责监控supplicant状态不同,WifiService.java负责给supplicant下命令,WifiService.java是framework中wifi的核心模块。1 WifiService是server端,WifiManager是client端WifiService处理WifiManager发来的各种命令2 AsyncCh…...
做网站有生意吗/seo还能赚钱吗
1、目标今天的目标是某生鲜App的签名 paramsMD5 ,抓个包先:javaTIP: 新鲜热乎的 1.4.5python2、步骤老规矩,上jadx纳尼...... 这个 qihoo 很眼熟,在Windows平台下是老熟人了,没想到如今混移动端了,它又冒出…...
大学网站建设目标/百度联盟推广
ffmpeg.exe -i F:\闪客之家\闪客之歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\11.flv ffmpeg -i F:\01.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\test.flv 使用-ss参数 作用(time_off set the start time offset),可以从指…...