Linux如何大量删除小文件
清楚了问题现象,解决方案就从除去rm -rf *命令的方式之外,还有哪些方法可用,如果通过网络搜索,可能会找到结合find命令再去执行rm的方式,但其实效率非常差,具体写法这里就不列出了,因为我们通常也不会这样处理。那么如何较为效率的删除大批小文件呢?结合网络的经验,并实测验证,最终总结了两种常见的解决方案,效率上也都尚可。
方案一:巧用rsync的方式达到删除目的建立一个空文件夹,使用rsync --delete-before -d <空文件夹> <需要清理删除小文件的目录>命令最终达到删除大批小文件的目的。下面演示具体操作:
1234[oracle@jystdrac2 adump]$ mkdir /data/null[oracle@jystdrac2 adump]$ ls -l /data/nulltotal 0[oracle@jystdrac2 ~]$ nohup rsync --delete-before -d /data/null/ /opt/app/oracle/admin/crmdb/adump/ &
方案二:使用find命令的delet ...
获取docker run命令
有时候我们需要获取docker run命令,比如我们在docker中运行了一个容器或者别人帮我们启动了一个docker但是未告知我们应该如何再启动一个。这时候我们可以通过docker inspect命令来获取。
安装1pip install runlike
支持的参数12345678910111213runlike nginx # 获取nginx容器的run命令Usage: runlike [OPTIONS] [CONTAINER] Shows command line necessary to run copy of existing Docker container.Options: --no-name Do not include container name in output -p, --pretty -s, --stdin --help Show this message and exit.
已启动容器通过 docker update 对设置 restart 选项1docker update --restart=always dock ...
设置非root账号不用sudo直接执行docker命令
起因是经常使用docker,但使用的是自己的账户,这样就每次都需要使用sudo来创建容器和相关的目录。而这样带来的后果就是,我后续的每一个操作都需要加上sudo命令。否则连修改文件都做不到。因此写下这篇文章
设置
创建名为docker的组,如果之前已经有该组就会报错,可以忽略这个错误:
1sudo groupadd docker
将当前用户加入组docker:
1sudo gpasswd -a ${USER} docker
重启docker服务(生产环境请慎用):
1sudo systemctl restart docker
添加访问和执行权限:
1sudo chmod a+rw /var/run/docker.sock
然后就可以了,不用再使用sudo命令了。
家庭服务器Home Server实践
引用自家庭服务器Home Server实践
大佬写的很好,我这里不赘述,这些都是我在家庭服务器上实践过的,非常有用。
linux分区方案
常用方案
分为3个区
挂载点/;主分区;安装系统和软件;大小为30G;分区格式为ext4;
挂载点/home;逻辑分区;相当于“我的文档”;大小为硬盘剩下的; 分区格式ext4;
swap;逻辑分区;充当虚拟内存;大小等于内存大小或内存的一半(本人16G);分区格式为swap
/boot ;引导分区;逻辑分区; 大小为1G ;分区格式为ext4;
linux修改时区
Linux 设置时区和修改时间123timedatectl set-timezone Asia/Shanghai #服务器时区设置date #查看时间date -s "2024-07-17 09:28:05" #修改时间
保存退出,然后reboot重启服务器即可生效,date命令查看是24小时时间格式。
在浏览器调试js程序
在浏览器中调试在编写更复杂的代码前,让我们先来聊聊调试吧。
调试 是指在一个脚本中找出并修复错误的过程。所有的现代浏览器和大多数其他环境都支持调试工具 —— 开发者工具中的一个令调试更加容易的特殊用户界面。它也可以让我们一步步地跟踪代码以查看当前实际运行情况。
在这里我们将会使用 Chrome(谷歌浏览器),因为它拥有足够多的功能,其他大部分浏览器的功能也与之类似。
“资源(Sources)”面板你的 Chrome 版本可能看起来有一点不同,但是它应该还是处于很明显的位置。
在 Chrome 中打开 示例页面。
使用快捷键 F12(Mac:Cmd+Opt+I)打开开发者工具。
选择 Sources(资源) 面板。如果你是第一次这么做,那你应该会看到下面这个样子:
切换按钮 会打开文件列表的选项卡。
让我们在预览树中点击和选择 hello.js。这里应该会如下图所示:
资源(Sources)面板包含三个部分:
文件导航(File Navigator) 区域列出了 HTML、JavaScript、CSS 和包括图片在内的其他依附于此页面的文件。Chrome 扩展程序也会显示在这。
...
重定向和转发
重定向简而言之,重定向就是servlet将新的URL返回给Location,浏览器获得Location值,访问新的URL。从时序图中可以看出,服务器只负责将新的URL注入Location,URL的转变是由浏览器完成的
转发与重定向不同的是,转发的动作是在服务端完成,也就是说server直接将新的URL中的资源返回给浏览器,浏览器地址栏不变,用户察觉不到URL的转变。
linux下硬盘挂载和分区
初始化硬盘并挂载
执行fdisk -l查看硬盘信息
执行以下命令,对 /dev/vdb 裸设备直接创建文件系统格式。mkfs -t <文件系统格式> /dev/vdb
不同文件系统支持的分区大小不同,请根据实际需求合理选择文件系统。以设置文件系统为 EXT4 为mkfs -t ext4 /dev/vdb
执行以下命令,新建挂载点。mkdir <挂载点> 以新建挂载点 /data 为例:mkdir /data
执行以下命令,将新建分区挂载至新建的挂载点。mount /dev/vdb <挂载点>
以新建挂载点 /data 为例:mount /dev/vdb /data
执行以下命令,查看挂载结果。df -TH
开机自动挂载
执行以下命令,查看文件系统的 UUID。blkid /dev/vdb
执行以下命令,使用 VI 编辑器打开 /etc/fstab 文件。vi /etc/fstab
在 /etc/fstab 文件中添加以下内容。
1<设备信息> <挂载点> <文 ...
docker网络模式
该文章引用自csdn血煞长虹的文章,本文仅做概括性整理,辅助自己理解
首先,容器之间虽然不是物理隔离,但是它们彼此之间默认是不互联互通的,这也有助于保持每个容器的纯粹性,相互之间互不影响。其次,既然使用了容器,通常情况下,容器需要与宿主机通信,或者A容器与B容器通信而B不需要知道A的存在,或者A/B两容器相互通信。
模式名称
简介
备注
bridge
容器拥有独属于自己的虚拟网卡和和虚拟IP等网络资源,它们分别通过docker0虚拟网卡与宿主机的eth0网卡交互,进而和外界网络交互
默认模式
host
容器没有自己的任何独立的网络资源(比如:容器的IP、网卡和端口),完全和宿主机共享网络空间
弊端:同一个端口只能同时被一个容器服务绑定
none
光秃秃的一个容器,没有任何的网络资源,就是自娱自乐的光杆司令(很少用)
该模式关闭了容器的网络功能,仅有独自的网络空间(一个空架子),并且该模式不会给容器分配任何网络资源,包括虚拟网卡、路由、防火墙、IP、网关、端口等
container
它是bridge和host模式的合体,优先以bridge方式启动启动 ...