工作中的硬核记录

张开发
2026/4/16 4:33:28 15 分钟阅读

分享文章

工作中的硬核记录
此文档用以记录我在工作中实用的命令工具与相关知识# 虚拟机客户机隔离选项开启从而实现拖放与复制sudoapt-getupdatesudoapt-getinstallopen-vm-tools-desktop# 建立管道# https://jupyter.ihep.ac.cn/YzPmEyvDRSGpoLviXENXsQssh-NfR9922:localhost:22 grandxxxxx# 实现ubuntu虚拟机与windows之间的复制粘贴sudoapt-getautoremove open-vm-toolssudoapt-getinstallopen-vm-tools-desktopreboot# 大小端读取法以 00 00 ad c0为例# 读取数据从低地址开始读取小端模式数据低位存储到地址低位 以文件存储为例在.dat文件中存储的先后顺序为c0 ad 00 00 从文件存储的地址来看字节顺序为0123符合数据低位存储到地址低位# 远程使用nohup挂起命令nohupcmdlog.txt21# 不需要重定向到log文件里nohupdudaq_run/dev/null# pmo001上下载python需要的包pip3installpackage--user# 在拷贝前询问是否拷贝适用于删除与移动aliascpcp -igtot 用法gtot 用法 /home/mapx/mapx/DunhuangData/gtot/gtot binary.dat balabalabala.rootbalabalabala.log 这样可以在你希望的路径生成 balabalabala.root 文件然后使用/home/mapx/mapx/Reco/Package_onSite/_Process_FFT_DH_bp_gaufit_DU_NewSNR.cpp 文件去分析你看看里面的int Ndu参数它的值是你ROOT文件采集DU的个数比如采集了6个DU的数据Ndu6;# 这是我RUN gtot的命令。新下载的文件写入list然后一个个转成ROOT文件ls-1/home/mapx/mapx/DunhuangData/Rawdata/t3_20dB/GRAND.TEST-TRIGGER.20230531232435.040.4.dat|whilereadn;dofile$(basename$n);./gtot$n/home/mapx/mapx/DunhuangData/ROOTFile/TD/T3_20dB_1024_XY_${file}.root/home/mapx/mapx/DunhuangData/ROOTFile/TD/Log/T3_20dB_1024_XY_${file}.LOG21;donedbV 计算方法ADC*109/1e6这个就是电压单位了然后对他取log再乘以20就是dB了所以是dBv一道ADC定义14位ADC一共2^1416384道对应电平范围/-0.9V共1.8V。 所以一道ADC对应电平 1.8V/16384约等于109uV将传感器数据转换成正常数据//accx accy accz amb_temp press humidity batteryatm_humidity[0]*0.61035156/460.375-1650/460.375\tatm_pressure[0]*0.61035156/460.375-1650/460.375\tatm_temperature[0]*0.61035156/460.375-1650/460.375“\t”;coutacceleration_x[0]*0.61035156/19.5-400/19.5\tacceleration_y[0]*0.61035156/3300./0.0090.095/0.009\t//湿度acceleration_z[0]*0.61035156*0.048-500*0.048\tbattery_level[0]*0.61035156*0.109/18endl;【汇报内容格式6月25日重启前9个DU通讯正常重启后(9个)DU恢复通讯统一运行(10s/20Hz/…)模式(23)小时。】 其中括号中的内容根据实际情况调整。rsync -Pave ‘ssh -p xxxx’ grandxxxxx:/home/grand/workarea/raw_data/xxxxx20230817针对单个DU进行配置的DAQ修改elec_config.cppelec_config.hcsdaq_app.cpp站上运行程序的一些建议不要在白天温度较高的时候运行毕业论文的写作建议关于背景注重物理含义目标为实现此目标需要哪些参数如何测得这些参数引入到DAQ软件中围绕实验来展开论文写作不要围绕技术难题去写论文这样有点儿跑题内容伴随的目的是什么解决虚拟机上无法拷贝到windows的问题sudoapt-getautoremove open-vm-toolssudoapt-getinstallopen-vm-tools-desktopshutdown-rnow# 重启虚拟机# yaml编译g -L/home/grand/pc_installed/lib -I/home/grand/pc_installed/include-stdc0x modifyYAML.cpp -lyaml-cppbaseline:基线两个天线之间的距离实时传输两种方式HTTP轮询 和 websocket语言Vue3 TypeScript2023年9月6日定义一些的接口触发和远程控制的一些需求Exp-Hup信息上行心跳轮询等等上行状态参数名称数据格式的类型数值等等工程描述哪些模块模块之间的关系作为配置保存在用户配置运行参数部署信息透传信息登陆认证日志DIY日志内容软件下载与更新控制指令Exp-Local初级版本软件的更新功能Exp-DAQ计划建立仓库ExpHupExpLCchannel1, channel2 均选择是或的关系nuc01 开发前端控制页面:10xxxxdaq daqihepdocker run --rm -ti -v /home/daq/expcs/expdaq:/app -p 9000:4000 node:16.17.0 bashcd /app/ui-webyarn # 安装依赖yarn start # 启动后台http://10.xxxx使用目录: /home/daq/expcs/expdaq配置网卡ifconfig直接操作操作系统内核,使用方法如下1.sudoifconfig 网卡 给定ip 从而可以固定网卡的ip地址2.ifconfig-a可以查看所有网卡包括未启用的网卡信息也可以查看3.sudoifconfig 网卡 up 启用网卡4.sudoifconfig 网卡 down 关闭网卡5. 当同一个ip地址分配到不同的网卡上计算机无法识别应当关掉一个网卡重复步骤4使用iperf3通信如果可以ping通但是不能使用iperf3进行通信则考虑关闭防火墙sudosystemctl stop ufw.service# 停止防火墙服务sudosystemctl disable ufw.service# 禁用防火墙服务sudoufw status# 查看防火墙状态# 若显示Status: inactive 则说明防火墙成功关闭# 再次使用iperf3进行通讯成功使用cssh安装csshsudoaptupdatesudoaptinstallclusterssh创建配置文件在 ~/.clusterssh/ 目录中你可以创建一个配置文件用于定义要连接的服务器列表。可以使用文本编辑器来创建或编辑该文件nano~/.clusterssh/clusters# or vim在文件中你可以添加要连接的服务器的别名和SSH连接信息如下所示mycluster server1.example.com server2.example.com server3.example.com启动ClusterSSH:要启动 ClusterSSH 并连接到你的服务器集群请使用以下命令cssh mycluster使用cssh一旦打开了 ClusterSSH 窗口你可以在其中执行命令这些命令将同时在所有服务器上运行。你可以在窗口中输入命令然后按 Enter 键来执行。所有服务器上的结果都会显示在各自的子窗口中。你还可以使用以下键盘快捷键来管理 ClusterSSH 窗口Ctrl Enter执行命令并等待所有服务器返回结果。Ctrl C中断正在执行的命令。Ctrl D 或 exit退出 ClusterSSH。添加更多服务器如果你想添加更多服务器到 ClusterSSH只需编辑 ~/.clusterssh/clusters 文件并添加更多服务器别名及其SSH连接信息。退出 ClusterSSH要退出 ClusterSSH只需在 ClusterSSH 窗口中按 Ctrl D 或者输入 exit 命令。这就是如何在 Ubuntu 上使用 ClusterSSH 来管理多个远程服务器。请确保小心使用此工具以免不小心在多台服务器上执行不希望的操作。防火墙定义防火墙Firewall是计算机网络安全的重要组成部分其主要目的是保护网络免受未经授权的访问和恶意活动的影响。以下是对防火墙概念的总结定义与功能防火墙是一种网络安全设备或软件用于监视、过滤和控制网络流量以确保只有合法的流量可以进入或离开受保护的网络。访问控制防火墙允许管理员定义规则和策略以控制谁可以访问网络资源。这包括限制特定IP地址、端口或应用程序的访问权限。包过滤防火墙分析传入和传出的网络数据包根据预定义的规则过滤掉潜在的威胁和恶意流量以保护网络免受病毒、恶意软件、网络攻击等威胁的侵害。网络隔离防火墙可以将网络划分为不同的安全区域从而确保不安全的外部流量无法直接访问内部网络提高了内部网络的安全性。NAT网络地址转换防火墙执行NAT将内部网络中的多个内部IP地址映射到单个外部IP地址以隐藏内部网络的拓扑结构提高隐私和安全性。日志和审计防火墙记录网络活动并生成日志用于监视、审计和安全事件调查。这有助于检测异常活动和安全事件以及进行调查和响应。应用程序控制某些高级防火墙具有应用程序识别功能允许管理员基于应用程序层面的信息控制访问以实现更细粒度的流量控制。抵御DoS和DDoS攻击防火墙可以协助缓解分布式拒绝服务DDoS和拒绝服务DoS攻击通过监测和过滤大量的恶意流量来减轻网络压力。总之防火墙是网络安全的重要防线用于维护网络的安全性和完整性确保只有经过授权的用户和流量可以访问网络资源同时防止各种网络威胁和攻击。它是保护网络和敏感信息的关键工具之一。如何将数据中的ascill形式以10进制读出(python)chr(eventID)git-hub使用右上角找到并点击settingstailtail-f[filename]# 轮询查看文件更新net-toolsnetstat-anp|grepcsdaqfor almalinux ssh issue: Unable to negotiate with 192.168 port 22: no matching host key type found. Their offer: ssh-rsaupdate-crypto-policies--setDEFAULT:SHA1rename修改文件名renames/old/new/*.txtrename-v_CD- _CD_ GP80_*_CD-*linux修改后面的主机名称sudovi/etc/hostnameubuntu删除指定名称的进程下的除了某一个 PID 之外的所有其他进程pgrep example_process|grep-v1234|xargskill# example: pgrep csdaq_run|grep -v 127039|xargs kill# Terminate all processes under the csdaq_run expect for the PID number 127039nohup后台执行命令nohupcsdaq_run2592000log_10s_mode_202404161443_DU21_DU41_30days_6.5M.txt21要在 Ubuntu 上批量将文件名中包含 GRAND 部分替换为 GP13forfilein*GRAND*;domv$file${file/GRAND/GP13};donefor file inGRAND;查找当前目录中所有包含 GRAND 的文件。do mv “filefile file{file/GRAND/GP13}”; done将每个找到的文件的名字中的 GRAND 替换为 GP13。实验室信号源的使用如果用minipc和实验室信号源信号源不要插在拓展坞上需要直接插minipc主机那个usb3.0口否则拓展坞驱动力不够I/O会报错。usage ofpsshtoolpssh -i -h ~/fred/dus.list uptimeUbuntu 如何查找某一进程是否存在方法一使用 pgreppgrep 命令用于根据进程名称查找进程。如果进程存在它会返回进程 IDPID否则不返回任何内容。复制代码pgrepprocess_name例如检查名为 “myprocess” 的进程是否存在pgrep myprocess你可以通过检查命令的退出状态$?来判断进程是否存在ifpgrep myprocess/dev/null;thenechoProcess existselseechoProcess does not existfi方法二使用 ps 和 grep另一种方法是使用 ps 命令结合 grep 来查找进程psaux|grep-vgrep|grepprocess_name例如检查 “myprocess” 是否存在ifpsaux|grep-vgrep|grepmyprocess/dev/null;thenechoProcess existselseechoProcess does not existfi方法三使用 pidofpidof 命令可以直接根据进程名称返回进程 ID适合单一进程的查找。pidofprocess_name例如ifpidof myprocess/dev/null;thenechoProcess existselseechoProcess does not existfi查看端口状态netstat-awp|grep${port}# include the info of the network state终端下使用vim进行删除文本文件含有某些特定字段的行forfilein*;docp$file/home/user/path-to-file/filteredTxt/filtered_output/${file%.txt}_filtered.txtvim-cg/Did not pass the casualty test/d\-cg/Got casual antenna/d\-cg/T3Trigger time/d\-cg/No antenna/d\-cwq/home/user/path-to-file/filteredTxt/filtered_output/${file%.txt}_filtered.txtdone根目录下内存已满无法修改密码使用df -h /查看根目录下的磁盘空间一般是du -sh /var/ 下的log目录的文件占用空间巨大如下所示[rootdaq ~]du-sh/var/ 60G /var/[rootdaq ~]df-h/ Filesystem Size Used Avail Use% Mounted on /dev/mapper/almalinux-root 70G 70G 100M100% /[rootdaq ~]du-h-x--max-depth1/|sort-hr|head-n2070G / 60G /var9.3G /usr 478M /root 191M /lib 31M /etc0/srv0/opt0/mnt0/lostfound0/afs进入目录 /var找到占用空间最大的log文件如下所示-rw-------.1root root 49G Nov1219:04 rsyslog-debug.log安全起见不要用rm直接删除使用进行日志更新rsyslog-debug.log如果 更新失败检查该文件被哪个进程占用然后让该进程重新运行更新文件[rootdaq log]lsof/var/log/rsyslog-debug.log lsof: WARNING: cant stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs Output information may be incomplete. lsof: WARNING: cant stat()fuse.gvfsd-fusefilesystem /run/user/1001/gvfs Output information may be incomplete. lsof: WARNING: cant stat() fuse.portal file system /run/user/1001/doc Output information may be incomplete. lsof: WARNING: cant stat()fuse.portalfilesystem /run/user/1000/doc Output information may be incomplete. COMMAND PIDUSERFD TYPE DEVICE SIZE/OFF NODE NAME rsyslogd1662root 4w REG253,05236538299568326221/var/log/rsyslog-debug.log[rootdaq log]truncate-s0/var/log/rsyslog-debug.log[rootdaq log]df-h/ Filesystem Size Used Avail Use% Mounted on /dev/mapper/almalinux-root 70G 22G 49G31% /rsync远程同步# FROM LOCAL TO REMOTE COMPOSITORYrsync-avz-essh -p 2222data.root grand192.168.1.10:/home/grand/data/远程固件更新flashcp-v./BOOT.BIN /dev/mtd0 flashcp-v./image.ub /dev/mtd2If it is not pingable1. check the network interface cards status: sudo ethtool xxx 2. delete the useless equipment sudo ip addr del xxx.xxx.xxx dev enp3s0f1 3. statr the equipment which you are using: sudo ip link set xxx up 4. change the ip address that you are using 5. ping again

更多文章