近日,由于电脑出现了一些问题,耽搁了办公的进度,并且网上关于此问题的解决方案较少,所以我根据遇到的问题及其解决方案做了一个详细的说明描述,供读者使用。
Q:添加了新用户bae,sudo一条安装命令后报错xxxis not in the sudoers file. This incident will be reported. 需要允许用户youuser执行sudo命令(需要输入密码),怎么做: 1、切换到root用户下 2、/etc/sudoers文件默认是只读的,对root来说也是,因此需先添加sudoers文件的写权限,命令是: 即执行操作:chmod u+w /etc/sudoers 3. 编辑sudoers文件 即执行:vi /etc/sudoers 找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)
项目修改完成之后,会依赖一个比较大的文件,所以这个大文件就在项目根目录中,使用 git 的时候,直接 git add、git commit、git push 一键三连,等到 git push 后就会提示文件过大,超过100M。 由于技术太菜,经过谷哥和度娘的帮助下,我成功通过以下命令回撤了版本:
有很多时候,处理一个大文件,常规命令并不能很好的利用多核 例如,一个1T的文本,百亿条数据,我想要: 1 wc -l test.txt 或者 1 fgrep xxxx test.txt 一般机器就会自觉进入一核有难,其它核点赞的看戏模式。 我花钱配了这么多核,加了这么多内存,不是让大家来看戏的。于是祭出parallel~ 原理 parallel 是一个perl脚本,通过分割输入,并行处理的方式来加速执行命令。 例如: 1 wc -l test.txt 简单想想就是用个for循环split文件,挨个wc
kernel版本信息 [root@CentOS1 ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) [root@CentOS1 ~]# uname -r 3.10.0-1062.el7.x86_64 配置lustre安装源 // lustre-2.14.0 内核刚好匹配 kernel 3.10.0-1062.el7.x86_64 [root@CentOS1 lustre]# pwd /root/lustre [root@Ce
在使用vim的时候,如果打开的小文件,没啥问题,如果打开的超大类型的文件,那么就会引发巨大的风险,轻则内存使用爆炸,重则引发操作系统oom。
用于执行Linux shell命令,要获得shell命令的输出只需要在后面参数写入('命令')就可以了。
有时候确实需要上传一些比较大的文件,老高的服务器是nginx+php,二者都需要配置。
当项目部署和运行起来后,会产生很多的运行日志。日志的内容是程序里定义的重要输出信息,还有程序出错的报错信息。
上图可以看到原仓库已经很大了,所以必须要清除一些仓库中没用的大文件了,每次下载仓库那个时间简直是太长了,github拉取时间太久,受不了了。
熟悉 Git 的小伙伴应该都知道随着 Git 仓库维护的时间越来越久,追踪的文件越来越多,git 存储的 objects 数量会极其庞大,每次从远程仓库 git clone 的时候都会墨迹很久。如果我们不小心 git add 了一个体积很大的文件,且 git push 到了远程仓库,那么我们 git clone 的时候也会很慢。
网上说什么的也有,你抄我的我抄你的,也是醉了,故自己综合查阅的资料,根据自己的理解和判断以及部分的实践整理下吧,也不敢保证都是对的,如果有比较大的错误,希望看到这篇文章的你提出来,大家共同进步!
Git是用来管理源代码的一个工具,很多时候,我们不想让Git来跟踪较大的二进制文件。但是如果不小心将某个文件加入到Git的缓存区后,不管后面怎么删除这个大文件,Git始终都保存有这个文件的历史记录,因此项目会很大。拿下面例子来说,我们有个500M的文件cnn.model,通过下面的命令加入到git暂存区或提交到远端(提交时自动执行git gc命令,生成pack文件):
http://www.finderweb.net/download/finder-web-2.4.9.war
作为一个后端开发工程师,在Linux中查看查看文件内容是基本操作了。尤其是通常要分析日志文件排查问题,那么我们应该如何正确打开日志文件呢?对于笔者这种小菜鸡来说,第一反应就是 cat,tail,vi(或vim)了,是的,我曾经用过好多次vim编辑器来查看日志文件(可耻)。
linux 常用命令集合 sudo:获取管理权限。 pwd:查看文件路径 clear:清屏 ./:当前路径 …/:上一层文件 cd -:传送至上次目录 cd ~:传送至 home 目录 cd /:传送至根目录 touch test.py:创建文件 touch .test.py://创建隐藏文件 .可用来隐藏文件 mkdir test:创建文件夹 ls:显示文件夹下的文件 ls -a:显示全部文件 ls -l:以列表的方式显示文件的详细信息 ls -l -h:显示文件大小 ls -l -a -h:选项无选后顺
在处理大数据时,有可能会碰到好几个 G 大小的文件。如果通过一些工具(例如:NotePad++)打开它,会发生错误,无法读取任何内容。
Linux系统中,万物皆文件。一个用户是一个文件,一张图片是一个文件。文件是以一定数据结构存储在硬盘中。 打开文件 读取或者写入 关闭文件 打开文件 Python使用内置的open()函数打开一个文件,并且返回一个文件对象,也叫句柄(handle)。
找出已经删除但磁盘空间未释放的文件,如果文件已经删除,但实际的磁盘空间未释放,这个时候文件句柄 fd 相关信息还在内存中,可以通过 lsof 命令找出,比如打开文件的pid和读写文件的系统fd。
1 什么是管道命令? 管道命令能够将一个命令的执行结果经过筛选,只保留我们需要的信息。 如,/etc目录下会有大量的文件,如果使用ls很难找到需要的文件,因此可以使用管道命令将ls的结果进行一次筛选,只保留需要的信息。 2 管道 和 数据流重定向 的区别? 管道一词非常生动形象,原始数据经过管道后,管道会将一部分不需要的信息过滤掉,只保留用户所关注的信息。 数据流重定向是指定数据在哪里显示,默认情况下会在屏幕显示,我们可以指定它输出到文件。 3 管道命令有哪些 3.1 选取指定列:cut cut为剪切
下载较大文件时分段下载会加速下载过程,几乎所有下载软件都有类似的特性。在python中如何实现分段下载文件呢?
也可以使用 -size 选项来查找,以下命令将显示大于100MiB(注意不是100MB,MiB和MB的区别,emmm)的所有文件:
过去三年在线会议需求井喷,腾讯会议用户量骤增到3亿。快速迭代的背后,腾讯会议团队发现:业务保留了长达5年的历史数据,大量未进行 lfs 转换,新 clone 仓库本地空间占17.7G+。本地磁盘面临严重告急,强烈影响团队 clone 效率。当务之急是将仓库进行瘦身。本栏目特邀腾讯会议的智子研发团队成员李双君,回顾腾讯会议客户端的瘦身历程和经验,欢迎阅读。
1.标准输入(stdin)是指令数据的输入,代码为0,使用<或者<<,默认是键盘。
最近遇见一个需要上传超大大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。
Xilinx VCU TRD 集成了图像和视频编解码功能,生成的根文件系统比较大,2020.1的rootfs.cpio.gz大约有114MB。工程师可以根据自己需要裁剪,减少根文件系统大小。 在Ubuntu下,解压rootfs.cpio.gz,得到rootfs.cpio,再解压,得到就是文件了。
至此,我们介绍了linux系统中常用命令的使用方法,简述了bash程序的使用方法和工作流程。在使用bash编写脚本程序时,熟练掌握这些工具的用法,往往能够达到事半功倍的效果。
虽然Linux发行版支持各种各样的饿GUI(graphical user interfaces),但在某些情况下,Linux的命令行接口(bash)仍然是简单快速的。Bash和 Linux Shell 需要输入命令来完成任务,因而被称为 命令行接口。
定位 df -ah可以通过 User% 那一列哪看到个占用多。 进入根目录,查询大文件与目录 cd / du -sh * | sort -n # 查看大小1GB以上的目录并且排序 du -h --max-depth=1 |grep 'G' |sort 迭代执行以上操作,定位到可以删除的大文件,将其删除即可。
作为运维经常发现一些很大的log文件,不知道怎么出来的,不知道能不能删掉。例子中的大log我已经删掉,现在又生成的小文件。
日常运维过程中,我们经常需要处理磁盘空间问题,当接到告警后,第一时间会去找那些大文件,一般比如centos,可能大文件就是 /var/log/messages。
30 23 * * 1,3,5 ---- >> 表示每周1,3,5晚11点半执行该任务
在上篇《XTTS系列之四:迷迷糊糊的并行度》验证之后,就让测试组在RMAN配置中设置好正确的并行。然后重新将备份任务执行,平均速度直接由之前的150MB/s提升为1200MB/s。优化效果非常明显,速度直接提升了8倍。但是由于用户的数据库存在大文件表空间,当执行到大文件表空间时,速度又降到150MB/s的速度,无法使用并行。
日常运维过程中,我们经常需要处理磁盘空间问题,当接到告警后,第一时间会去找那些大文件,一般比如 Centos,可能大文件就是 /var/log/messages。
在服务器接口测试中,我们经常会和各种日志打交道。一旦测试时服务端出现了问题,而单凭服务端的日志又不能发现问题原因的时候,往往开发要向我们测试人员询问客户端这边的情况,希望看看我们能不能提供一些有用信息,如错误返回内容,错误发生时间,哪些用例会出现问题等等。这时就需要我们来查找测试时的日志,从中筛选出有用的信息。
Coreutils Progress Viewer(cv),以前称为cv(Coreutils Viewer):是一个简单的程序,它可以用于显示任何核心组件命令(如:cp、mv、dd、tar、gzip、gunzip、cat、grep、fgrep、egrep、cut、sort、xz、exiting)的进度。它使用文件描述信息来确定一个命令的进度,比如cp命令。cv之美在于,它能够和其它Linux命令一起使用,比如你所知道的watch以及I/O重定向命令。
如果你曾经浏览过git手册(或运行man git),那么你会注意到git的内容比我们大多数人日常使用的多得多。这些命令中有很多是非常强大的,可以让你的生活变得更轻松(其他的则有点小众,但还是要知道的)。
有时候gitignore没做好,一不小心就又进来一个二进制文件 在重复了N次Google之后,还是记一下吧 首先通过rev-list来找到仓库记录中的大文件: 1 git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')" 然后通过filter-branch来重写这些大文件涉及到的所有提交(重写历史记录): 1 g
传送门:CentOS 7 开启防火墙及开放指定端口 查看所有任务进程 ps -aux 查看某个进程是否在运行,java为例,可查看到PID ps -ef|grep java 查看所有正在运行的端口号 netstat -anltp 查看某个端口号的应用是否在运行,可查看到该任务的PID netstat -anltp|grep 8080 结束掉某任务进程 kill -9 pid号 查看正在执行的任务进程占用资源情况 top 查看某个进程占用资源的情况 top -p PID号 查看磁盘容量的使用情况 df -h
这些是我在近一年半的学习和服务器维护中常用的命令汇总,包括管理员常用命令和工作常用命令。
文件存储在硬盘上,硬盘的最小存储单位叫做"扇区"(sector)。每个"扇区"的大小为512字节(byte), ,操作系统读取硬盘的时候,不会一个个扇区的读取,这样效率太慢。他是一次性读取多个扇区,即一次性读取一个"Block块"。一个Block有8个连续的扇区(sector)组成。 数据都存在Block块里面,但是我们怎么知道一个数据存放在哪些Block块里面呢?这个时候就必须需要一个索引,引导我们去找到哪些存放在BLOCK块里面的额数据。这存放索引的地方我们称为索引节点(Inode),索引节点里面包括了:文件的类型,属主,属组,权限,和时间戳一些信息,但是不包括文件名, 1.1.2 inode包含的内容
liunx查找大于100M的文件 find / -type f -size +100M
前几天在Python白银群【kim】问了一个Python机器学习的问题,这里拿出来给大家分享下。
之前在《如何让程序真正地后台运行》一文中提到了程序后台运行的写法,但是里面的示例程序在某些场景下是会有问题的,这里先不说什么问题,我们先看看这个磁盘满的问题是怎么产生的,通过这篇文章你将会学习到大量linux命令的实操使用。
可以发现,很明显是Nginx返回的错误。但是从接口返回看不出太多的细节问题,需要打印nginix日志查看
最近在读《计算机程序的构造和解释》,里面有一句话:代码必须能够被人阅读,只是机器恰巧可以执行。
今天上午,同事叫我帮他看下他正在写的脚本到底哪里出了问题,执行总是达不到预期功能。于是 ssh 连过去看能否发现问题,经过多次 Debug 定位与排除,问题终于得到解决。 同事在网上 down 了一个脚本菜单模板,想把我们已经存在的功能脚本整合到一起,做成多功能的 Linux 运维工具。目前已经添加了挺多功能,而早上才添加的一个抓取高占用 CPU 的 Java 线程功能时出现了无法出现交互界面的问题,而单独去执行这个子脚本又是正常的。 我将这个案子拿到手之后,第一件事就是打开了主菜单,分析了一下菜单功能原理
领取专属 10元无门槛券
手把手带您无忧上云