redis web dockerd& docker pull nicolas/webdis:latest docker run --name webdis --rm -d -p 7379:7379 nicolas/webdis curl http://127.0.0.1:7379/PING curl http://127.0.0.1:7379/SET/hello/world curl http://127.0.0.1:7379/GET/hello curl http://127.0.0.1:7379/SET/number/1 curl http://127.0.0.1:7379/GET/number curl http://127.0.0.1:7379/config curl http://127.0.0.1:7379/help curl http://127.0.0.1:7379/HELP curl http://127.0.0.1:7379/PING curl http://127.0.0.1:7379/C curl http://127.0.0.1:7379/SET/y/1 curl http://127.0.0.1:7379/INCR/y curl http://127.0.0.1:7379/GET/y curl http://127.0.0.1:7379/GET/y.json curl http://127.0.0.1:7379/GET/y.xml curl http://127.0.0.1:7379/GET/y.png docker exec -it redis /bin/sh curl http://127.0.0.1:7379/CONFIG/GET/* curl http://127.0.0.1:7379/KEY/* curl http://127.0.0.1:7379/KEYS/* curl http://127.0.0.1:7379/EXISTS/y curl http://127.0.0.1:7379/TTL/y curl http://127.0.0.1:7379/TYPE/y linux sshd config vim /etc/ssh/sshd_config ListenAddress 0.0.0.0 PermitRootLogin yes PubkeyAuthentication no PasswordAuthentication yes UseLogin yes ubuntu18.04 build python3.12 tar -xzvf nogil-3.12-3.12.0a4.tar.gz apt install libffi-dev apt-get install libssl-dev apt-get install libbz2-dev liblzma-dev zlib1g-dev ./configure --prefix=/opt/python312/ --enable-optimizations --disable-gil make -j4 make install export PATH=/opt/python312/bin:$PATH ./pip3 install numpy ./pip3 install pandas python3 -c "import sys; print(sys.flags.nogil)" # True PYTHONGIL=1 python3 -c "import sys; print(sys.flags.nogil)" # False python3 -c 'import numpy; print(numpy.version)' python3 -c 'import pandas; print(pandas.version)' Ubuntu系统设置时区时间 date -R timedatectl set-timezone Asia/Shanghai tzselect sudo dpkg-reconfigure tzdata (16.04 or below...) Ubuntu Linux 常用软件包管理命令 /var/cache/apt/archives apt-cache search package 搜索包 apt-cache show package 获取包的相关信息，如说明、大小、版本等 sudo apt-get install package 安装包 sudo apt-get install package - - reinstall 重新安装包 sudo apt-get -f install 修复安装"-f = ——fix-missing" sudo apt-get remove package 删除包 sudo apt-get remove package - - purge 删除包，包括删除配置文件等 sudo apt-get update 更新源 sudo apt-get upgrade 更新已安装的包 sudo apt-get dist-upgrade 升级系统 sudo apt-get dselect-upgrade 使用 dselect 升级 apt-cache depends package 了解使用依赖 apt-cache rdepends package 是查看该包被哪些包依赖 sudo apt-get build-dep package 安装相关的编译环境 apt-get source package 下载该包的源代码 sudo apt-get clean && sudo apt-get autoclean 清理无用的包 sudo apt-get check 检查是否有损坏的依赖 apt-cache show xxx 显示某软件包的详细信息 apt-cache depends xxx 查询某软件依赖哪些软件包 apt-cache rdepends xxx 查询某软件被哪些软件包依赖 apt-file search xxx 查找某文件属于哪个包 sudo apt-get autoclean 清理旧版本的软件缓存 sudo apt-get clean 清理所有软件缓存 sudo apt-get autoremove 删除系统不再使用的孤立软件 dpkg -l xxx 查看已经安装了哪些软件包 dpkg -L xxx 查看某软件包的安装文件的保存位置 dpkg --get-selections 备份当前系统安装的所有软件包的列表 dpkg --set-selections 恢复备份的安装包的列表文件所有包 /var/cache/apt/archives 查看安装软件时下载软件包的临时存放目录 ubuntu安装gcc高版本，配置默认版本的gcc链接 install gcc 1955 sudo update-alternatives --config gcc 1956 sudo apt-get install -y gcc-9 g++-9 1957 sudo add-apt-repository ppa:ubuntu-toolchain-r/test 1958 ls /usr/bin/gcc* 1959 ls -la /usr/bin/gcc* 1960 sudo apt-get install -y gcc-9 g++-9 1961 sudo update-alternatives --config gcc 1962 gcc -v 1963 gcc-9 1964 gcc-9 -v 1965 ll *1975 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 20 --slave /usr/bin/g++ g++ /usr/bin/g++-7 1976 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 10 --slave /usr/bin/g++ g++ /usr/bin/g++-9 1977 update-alternatives --config gcc 1978 gcc -v 1986 cmake ../ 1987 make 1988 ls -la 1989 pwd 1990 ./template 1991 history ` APT & unixodbc apt proxy & unixodbc export http_proxy=http://192.168.1.5:8088 Acquire::http::Proxy "http://192.168.1.5:8088" dpkg -i unixodbc_2.3.4-1.1ubuntu3_amd64.deb libodbc1_2.3.4-1.1ubuntu3_amd64.deb odbcinst1debian2_2.3.4-1.1ubuntu3_amd64.deb libodbc1_2.3.4-1.1ubuntu3_amd64.deb odbcinst_2.3.4-1.1ubuntu3_amd64.deb libltdl7_2.4.6-2_amd64.deb libreadline7_7.0-3_amd64.deb readline-common_7.0-3_all.deb linux c DEBUG linux c segmentfault export LD_PRELOAD=/lib64/libc-2.19.so ulimit -c ulimit -c 1024 ulimit -c unlimited gdb main core.83505 objdump -ld main > dumpcode cat /proc/sys/kernel/core_pattern echo "core-%e-%p-%t" > /proc/sys/kernel/core_pattern gdb test core.8482 GCC linux gcc build https://mirrors.ustc.edu.cn/gnu/ gcc-7.5.0.tar.gz gmp-6.1.0.tar.bz2 mpc-1.0.3.tar.gz mpfr-3.1.4.tar.bz2 isl-0.16.1.tar.bz2 wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.gz wget https://mirrors.ustc.edu.cn/gnu/gmp/gmp-6.1.0.tar.bz2 wget https://mirrors.ustc.edu.cn/gnu/mpc/mpc-1.0.3.tar.gz wget https://mirrors.ustc.edu.cn/gnu/mpfr/mpfr-3.1.4.tar.bz2 wget http://ftp.ntua.gr/mirror/gnu/gcc/infrastructure/isl-0.16.1.tar.bz2 tar -xvf gcc-7.5.0.tar.gz cd gcc-7.5.0 upload... gmp-6.1.0.tar.bz2、mpc-1.0.3.tar.gz、mpfr-3.1.4.tar.bz2、isl-0.16.1.tar.bz2 on gcc7.5.0 directory... ./contrib/download_prerequisites cd .. mkdir gcc-build-7.5.0 cd gcc-build-7.5.0 ../gcc-7.5.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib make -j4 make install gcc -v g++ -v sudo update-alternatives --config gcc sudo update-alternatives --config g++ sudo ln -sv /usr/local/gcc/include/ /usr/include/gcc $ wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz $ tar -xvf glibc-2.18.tar.gz $ cd glibc-2.18 $ mkdir build && cd build && ../configure --prefix=/usr && make -j4 && make install $ strings /lib64/libc.so.6 | grep GLIBC_ $ strings /lib64/libstdc++.so.6 | grep GLIBC_ ldd --version strings /lib64/libc.so.6 | grep GLIBC_ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC_ DBeaver 设置 maven 下载仓库为 aliyun 设置 maven 下载仓库为 aliyun 1： 打开设置页面 windwo -> preferences 2: 找到 Dbeavery -> Drives -> maven 4: 然后点击 apply and close 3：选择add 地址为 http://maven.aliyun.com/nexus/content/groups/public/ properties 设置为 id : alimaven name: aliyun maven url: http://maven.aliyun.com/nexus/content/groups/public/ ！！！须要排在第一位！！！ 5: 重新添加连接 （要删除之前的连接，才生效） json RFC json RFC protocol // # INI RFC 822-style // # json // # JSON Pointer (RFC 6901) // # JSON Patch (RFC 6902) // # JSON Merge Patch (RFC 7386) // # UTF-8 encoded RFC 8259 Windows下读写Linux分区Ext4的驱动程序：Ext2Fsd v0.68 官网：https://sourceforge.net/projects/ext2fsd/files/Ext2fsd/ 系统平台：Win XP/7/10（11未测，听反馈说是支持） 注： 1.不推荐用官方最新版v0.69，会出现无法识别ext4等问题。 2.http://www.acc.umu.se/~bosse/v0.7beta修改版不支持win11系统，另外在实机测试中发现与U盘移动硬盘可能有盘符冲突无法安全弹出。 vs download tool vs_Community.exe --layout F:\VS2017_Community_Offline4 --lang zh-CN --add Microsoft.VisualStudio.Workload.CoreEditor;includeRecommended;includeOptional --add Microsoft.VisualStudio.Workload.NativeDesktop;includeRecommended;includeOptional --add Microsoft.VisualStudio.Workload.Universal;includeRecommended;includeOptional --add Microsoft.VisualStudio.Workload.VisualStudioExtensionBuildTools;includeRecommended;includeOptional mu_visual_studio_community_2017_version_15.3_x86_x64_11100062.3.exe --layout D:\VS2017_Community_Offline4 --lang zh-CN --add Microsoft.VisualStudio.Workload.CoreEditor;includeRecommended;includeOptional --add Microsoft.VisualStudio.Workload.NativeDesktop;includeRecommended;includeOptional --add Microsoft.VisualStudio.Workload.Universal;includeRecommended;includeOptional --add Microsoft.VisualStudio.Workload.VisualStudioExtensionBuildTools;includeRecommended;includeOptional vs_community.exe --layout c:\vs2017layout --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --lang zh-CN c:\vs2017layout\vs_community.exe --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended vs_BuildTools.exe --layout c:\VS_BuildTools2017_offline --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Workload.VCTools --lang en-US vs_BuildTools.exe --layout C:\ BT2017offline --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio. Workload.WebBuildTools - 添加Microsoft.VisualStudio.Workload.NetCoreBuildTools --lang en-US --add Microsoft.VisualStudio.Component.NuGet.BuildTools VC项目前后出现如下六个入口函数：main、wmain、_tmain、WinMain、 wWinMain、_tWinMain，以下分别介绍它们的用法。 vc main (1)、main()是WINDOWS的控制台程序(32位)或DOS程序(16位)； (2)、wmain()是UNICODE版本的main()； (3)、_tmain()是个宏，若是UNICODE，则它为wmain()；否则为main()。 (4)、WinMain()是WINDOWS的GUI程序； (5)、wWinMain是UNICODE版本的WinMain ()； (6)、_tWinMain是个宏，若是UNICODE，则它为wWinMain ()；否则为WinMain()。 DNS为什么用TCP和UDP 首先了解以下TCP与UDP传送字节的长度限制： 在以太网当中MTU是1500： UDP 包的大小就应该是 1500 - IP头(20) - UDP头(8) = 1472(Bytes) TCP 包的大小就应该是 1500 - IP头(20) - TCP头(20) = 1460 (Bytes) 在英特网当中标准MTU值为576字节： UDP 包的大小就应该是 576 - IP头(20) - UDP头(8) = 548 (Bytes) TCP 包的大小就应该是 576 - IP头(20) - TCP头(20) = 536 (Bytes) Linux安装Opencv（C++） Opencv sudo apt-get install cmake sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev sudo apt-get install libgtk2.0-dev sudo apt-get install pkg-config unzip opencv-3.4.7.zip cd opencv-3.4.7 mkdir build cd build cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. make -j8 make install sudo gedit /etc/ld.so.conf include /usr/local/lib sudo ldconfig sudo gedit /etc/bash.bashrc PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH source /etc/bash.bashrc pkg-config opencv --modversion Cmder config Cmder.exe /REGISTER ALL clink.lua line:51 CMake构建Visual Studio中MFC项目的MFC配置问题 使用CMake生成MFC项目的时候，需要用到在共享DLL中使用 MFC，需要在CMakeLists文件中加上如下的代码： ADD_DEFINITIONS(-D_AFXDLL) SET(CMAKE_MFC_FLAG 2) ADD_EXECUTABLE(detect WIN32 ${DIR_SRCS}) CMAKE_MFC_FLAG参数的意思是这样解释的： To use MFC, the CMAKE_MFC_FLAG variable must be set as follows: 0: Use Standard Windows Libraries 1: Use MFC in a Static Library 2: Use MFC in a Shared DLL GNU // g++ -O2 -std=c++11 lock.cpp // vc中的CString和MFC及std库string头文件及转换 // "C:\Program Files (x86)\Microsoft Visual C++ Build Tools\vcbuildtools.bat" // "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" cmake -A x64 -G "Visual Studio 14 2015" -DCMAKE_BUILD_TYPE=Release ../ "C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" ALL_BUILD.vcxproj /t:rebuild /p:"Configuration=Release;Platform=x64" // cl.exe /O2 /std:c++11 lock.cpp // cl.exe /O2 /std:c++14 stream.cpp VS2010 not support stdc++11 thread "C:\Users\andy\Desktop\Visual Studio 2010 Ultimate\VC\vcvarsall.bat" "D:\Microsoft Visual Studio 10.0\Common7\Tools\vcvarsall.bat" "C:\Users\andy\Desktop\Visual Studio 2010 Ultimate\Common7\IDE\devenv.exe" template.sln /Build "Release|x64" cl mfc.cpp /link /subsystem:windows Visual Studio 2010打开工程，提示“未知错误”弹窗，原因是整理电脑时，误删除.NET Framework。 打不开工程是因为缺少.NET Framework,安装上即可。 试过.NET Framework4.0、.NET Framework4.5安装不上，.NET Framework4.6成功，完美解决。 .NET Framework下载链接： https://dotnet.microsoft.com/en-us/download/dotnet-framework 更改树莓派(Raspberry Pi)的默认用户名pi usermod 114 usermod -l andy pi 115 kill -9 789 116 usermod -l andy pi 117 groupmod -n andy pi 118 mv /home/pi /home/andy 119 usermod -d /home/andy andy python 编译安装 ./configure --enable-optimizations --enable-shared make -j20 GLIBC_2.14 not found 终极解决方案 ldd --version strings /lib64/libc.so.6 |grep GLIBC http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz http://ftp.gnu.org/gnu/glibc/glibc-ports-2.14.tar.gz tar -xvf glibc-2.14.tar.gz tar -xvf glibc-ports-2.14.tar.gz mv glibc-ports-2.14 glibc-2.14/ports mkdir glibc-2.14/build cd glibc-2.14/build ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin make make install wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz tar -xvf glibc-2.17.tar.gz cd glibc-2.17 mkdir build; cd build ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin make -j 8 make install ldd --version strings /lib64/libc.so.6 |grep GLIBC_ strings /lib/x86_64-linux-gnu/libc.so.6 |grep GLIBC_ /sbin/ldconfig -p | grep stdc++ locate libstdc++.so readelf -s exe_python | grep -oP "GLIBC_[\d.]*" | sort | uniq 黑苹果与Windows双系统时间不一致的解决办法 Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1 linuxmint显示隐藏的文件 CHRL+H linux mint 终端无法输入原因 CTRL + S 锁住终端禁用输入， CTRL + Z 解锁终端启用输入， CTRL + Z解锁后终端会显示锁住后第一次输入的命令 Linux mint xfce 19 使用记录 解决汉化不完全的问题 sudo apt-fast install language-pack-zh-hans language-pack-gnome-zh-hans libreoffice-l10n-zh-cn thunderbird-locale-zh-hans firefox-locale-zh-hans 安装谷歌拼音输入法 安装完成后注销或者重启即可。 sudo apt-fast install fcitx fcitx-config-gtk fcitx-ui-classic fcitx-googlepinyin linux mint 输入法问题 fcitx 输出的文字变繁体 按了 ctrl shift + f 开了繁体的模式,按 ctrl shift + f 切回简体。 linux中的top -c命令，根据进程名过滤列出的进程 top -c top -n 1 top -p 574 top -c -p $(pgrep -d',' -f exe) 命令参数： -b 批处理 -c 显示完整的治命令 -I 忽略失效过程 -s 保密模式 -S 累积模式 -i<时间> 设置间隔时间 -u<用户名> 指定用户名 -p<进程号> 指定进程 -n<次数> 循环显示的次数 交互命令： 在top 命令执行过程中可以使用的一些交互命令。这些命令都是单字母的，如果在命令行中使用了s 选项， 其中一些命令可能会被屏蔽。 h 显示帮助画面，给出一些简短的命令总结说明 k 终止一个进程。 i 忽略闲置和僵死进程。这是一个开关式命令。 q 退出程序 r 重新安排一个进程的优先级别 S 切换到累计模式 s 改变两次刷新之间的延迟时间（单位为s），如果有小数，就换算成m s。输入0值则系统将不断刷新，默认值是5 s f或者F 从当前显示中添加或者删除项目 o或者O 改变显示项目的顺序 l 切换显示平均负载和启动时间信息 m 切换显示内存信息 t 切换显示进程和CPU状态信息 c 切换显示命令名称和完整命令行 M 根据驻留内存大小进行排序 P 根据CPU使用百分比大小进行排序 T 根据时间/累计时间进行排序 1在top基本视图中，按键盘数字“1”可以监控每个逻辑CPU的状况： 2敲击键盘‘b’（打开关闭加亮效果）top视图变换如下： 3敲击键盘‘x’（打开/关闭排序列的加亮效果），top视图变换如下： 4改变进程显示字段 在top基本视图中，敲击”f”进入另一个视图，在这里可以编辑基本视图中的显示字段 linux命令行执行循环命令 watch free -n watch -n 10 df -h for i in {1..8}; do echo -n "running the command $i time"; sleep 3; done for i in {1..1000}; do date >> testd.txt; sleep 10; done while true; do date >>teste.txt; sleep 10; done Linux MInt 和ubuntu版本对应关系 Linux Mint Linux Mint 18(Sarah) 新版本基于Unbutu1604,属于LTS版本，一直维护到2021年 GCC4.8.5 Linux Mint 19 “Tara”将成为基于Ubuntu 18.04 LTS(Bionic Beaver) GCC7.5 Linux Mint 20 正式版发布：代号「Ulyana」，基于 Ubuntu 20.04 GCC8.3 Linux Mint 21“Vanessa”正式版发布，基于 Ubuntu 22.04 LTS Debian 发行版本 Debian 一直维护着至少三个发行版本：稳定版（stable），测试版（testing）和不稳定版（unstable）。 下一代 Debian 正式发行版的代号为 bookworm — 测试（testing）版 — 发布日期尚未确定 Debian 11 (bullseye) — 当前的稳定（stable）版 Debian 10（buster） — 当前的旧的稳定（oldstable）版 Debian 9（stretch） — 更旧的稳定（oldoldstable）版，现有长期支持 Debian 8（jessie） — 已存档版本，现有扩展长期支持 Debian 7（wheezy） — 被淘汰的稳定版 Debian 6.0（squeeze） — 被淘汰的稳定版 Debian GNU/Linux 5.0（lenny） — 被淘汰的稳定版 Debian GNU/Linux 4.0（etch） — 被淘汰的稳定版 Debian GNU/Linux 3.1（sarge） — 被淘汰的稳定版 Debian GNU/Linux 3.0（woody） — 被淘汰的稳定版 Debian GNU/Linux 2.2（potato） — 被淘汰的稳定版 Debian GNU/Linux 2.1（slink） — 被淘汰的稳定版 Debian GNU/Linux 2.0（hamm） — 被淘汰的稳定版 Some user-provided 2.0, 2.1 and 2.2 images (Hamm, Slink, Potato) 3.0_r0 to 3.0_r6 (Woody) 3.1_r0 to 3.1_r8 (Sarge) 4.0_r0 to 4.0_r9 (Etch) 5.0.0 to 5.0.10 (Lenny) 6.0.0 to 6.0.10 (Squeeze) 7.0.0 to 7.11.0 (Wheezy) 8.0.0 to 8.11.0 (Jessie) 8.11.1 (Jessie LTS, for some arches only) 9.0.0 to 9.13.0 (Stretch) 10.0.0 to ... (Buster) 11.0.0 to ... (Bullseye) Ubuntu 各版本代号对照表 版本号 代号 发布时间 4.10（初始发布版本） Warty Warthog 2004-10-20 5.04 Hoary Hedgehog 2005-04-08 5.10 Breezy Badger 2005-10-13 6.06 LTS Dapper Drake 2006-06-01 6.10 Edgy Eft 2006-10-26 7.04 Feisty Fawn 2007-04-19 7.10 Gutsy Gibbon 2007-10-18 8.04 LTS Hardy Heron 2008-04-24 8.10 Intrepid Ibex 2008-10-30 9.04 Jaunty Jackalope 2009-04-23 9.10 Karmic Koala 2009-10-29 10.04 LTS Lucid Lynx 2010-04-29 10.10 Maverick Meerkat 2010-10-10 11.04（Unity成为默认桌面环境） Natty Narwhal 2011-04-28 11.10 Oneiric Ocelot 2011-10-13 12.04 LTS Precise Pangolin 2012-04-26 12.10 Quantal Quetzal 2012-10-18 13.04 Raring Ringtail 2013-04-25 13.10 Saucy Salamander 2013-10-17 14.04 LTS Trusty Tahr 2014-04-18 14.10 Utopic Unicorn 2014-10-23 15.04 Vivid Vervet 2015-04-22 15.10 Wily Werewolf 2015-10-23 16.04 LTS Xenial Xerus 2016-04-21 16.10 Yakkety Yak 2016-10-20 17.04 Zesty Zapus 2017-04-13 17.10（GNOME成为默认桌面环境） Artful Aardvark 2017-10-21 18.04 LTS Bionic Beaver 2018-04-26 18.10 Cosmic Cuttlefish 2018-10-18 19.04 Disco Dingo 2019-4-19 19.10 Eoan Ermine 2019-10-17 20.04 LTS Focal Fossa 2020-04-23 20.10 Groovy Gorilla 2020-10-22 21.04 Hirsute Hippo 2021-04-22 C++版本 GCC版本支持情况 GCC版本 指定版本的命令标志 c++ && gcc C++98 完全支持 是GCC 6.1之前版本的默认模式 -std=c++98 or -std=gnu++98 C++11 完全支持 从GCC4.8.1版本开始完全支持 -std=c++11 or -std=gnu++11 C++14 完全支持 从GCC 6.1版本开始完全支持，是GCC 6.1到GCC 10 (包括) 的默认模式 -std=c++14 or -std=gnu++14 C++17 完全支持 从GCC 5版本开始，到GCC 7版本，已基本完全支持。 是GCC 11版本的默认模式 -std=c++17 or -std=gnu++17 C++20 未完全支持 从GCC 8版本开始陆续支持C++20特性 -std=c++20 or -std=gnu++20 （GCC9及以前使用-std=c++2a） C++23 未完全支持（标准还在发展中） 从GCC 11版本开始支持C++23特性 -std=c++2b or -std=gnu++2b gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 gcc (ubuntu1~18.04) 7.5.0 gcc (ubuntu1~16.04) 4.7 5.4，6.3 gcc (debian 8) 4.9.2 gcc (debian 9) 6.3.0 gcc (debian 10) 9.3.0 -std=$std c89 c99 c11 c17 gnu89 gnu99 gnu11 gnu17 -std=$std c++98 c++11 c++14 c++17 gnu++98 gnu++11 gnu++14 gnu++17 GCC 版本对 C++的支持情况 C++版本 GCC 版本支持情况 GCC 版本 指定版本的命令标志 C++98 完全支持 是 GCC 6.1 之前版本的默认模式 -std=c++98 or -std=gnu++98 C++11 完全支持 从 GCC4.8.1 版本开始完全支持 -std=c++11 or -std=gnu++11 C++14 完全支持 从 GCC 6.1 版本开始完全支持，是 GCC 6.1 到 GCC 10 (包括) 的默认模式 -std=c++14 or -std=gnu++14 C++17 完全支持 从 GCC 5 版本开始，到 GCC 7 版本，已基本完全支持。 是 GCC 11 版本的默认模式 -std=c++17 or -std=gnu++17 C++20 未完全支持 从 GCC 8 版本开始陆续支持 C++20 特性 -std=c++20 or -std=gnu++20 （GCC9 及以前使用-std=c++2a） C++23 未完全支持（标准还在发展中） 从 GCC 11 版本开始支持 C++23 特性 -std=c++2b or -std=gnu++2b vs C++17：vs2017基本支持，vs2015部分支持。 C++14:vs2017就可以完全支持，vs2015基本支持，vs2013部分支持。 C++11：vs2015及以上可以完全支持。vs2013基本支持，vs2012部分支持，vs2010及以下版本不支持。 VC11，Visual Studio 2012编译器 VC14，Visual Studio 2015编译器 VC15，Visual Studio 2017编译器 VC11构建需要安装Visual Studio 2012 x86或x64的Visual C ++ Redistributable VC14构建需要安装Visual Studio 2015 x86或x64的Visual C ++ Redistributable VC15构建需要安装Visual Studio 2017 x64或x86的Visual C ++ Redistributable C++20标准库(STL)现已在VS2022 v17.2和VS2019 v16.11.14 vs不同版本支持的c++版本# C++17：vs2017基本支持，vs2015部分支持。 C++14:vs2017就可以完全支持，vs2015基本支持，vs2013部分支持。 C++11：vs2015及以上可以完全支持。vs2013基本支持，vs2012部分支持，vs2010及以下版本不支持。 Visual Studio 2012：v110 Visual Studio 2013：v120 Visual Studio 2015：v140 Visual Studio 2017：v141 Visual Studio 2019：v142 Visual Studio 2022：v143 Visual Studio 6 ： vc6 Visual Studio 2003 ： vc7 Visual Studio 2005 ： vc8 Visual Studio 2008 ： vc9 Visual Studio 2010 ： vc10 Visual Studio 2012 ： vc11 Visual Studio 2013 ： vc12 Visual Studio 2015 ： vc14 Visual Studio 2017 ： vc15 C++17： gcc7完全支持，gcc6和gcc5部分支持，gcc6支持度当然比gcc5高，gcc4及以下版本不支持。 C++14: gcc5就可以完全支持，gcc4部分支持，gcc3及以下版本不支持。 C++11： gcc4.8.1及以上可以完全支持。gcc4.3部分支持，gcc4.3以下版本不支持。 cmake .. -G "Visual Studio 14 2015" cmake .. -G "Visual Studio 9 2008" cmake -G Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files. Optional [arch] can be "Win64" or "IA64". Visual Studio 9 2008 [arch] = Generates Visual Studio 2008 project files. Optional [arch] can be "Win64" or "IA64". Visual Studio 8 2005 [arch] = Deprecated. Generates Visual Studio 2005 project files. Optional [arch] can be "Win64". MSVC_VERSION Value Visual Studio version 1200 VS 6.0 1300 VS 7.0 1310 VS 7.1 1400 VS 8.0 (v80 toolset) 1500 VS 9.0 (v90 toolset) 1600 VS 10.0 (v100 toolset) 1700 VS 11.0 (v110 toolset) 1800 VS 12.0 (v120 toolset) 1900 VS 14.0 (v140 toolset) 1910-1919 VS 15.0 (v141 toolset) 1920-1929 VS 16.0 (v142 toolset) 1930-1939 VS 17.0 (v143 toolset) vnc & novnc useful sudo apt-get install x11vnc x11vnc -storepasswd 1, download novnc (noVNC-1.3.0) 2, npm install , npm run prepublish 3, copy all(vnc.html vnc_lite.html app core lib vendor) to top httpd dir 4, build websockify (c make) 5, openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem 6, ./websockify 127.0.0.1:5900 192.168.1.31:5900 7, http://localhost/vnc.html?host=127.0.0.1&port=5900 sql窗口函数初识 sql MySQL从8.0开始支持窗口函数，这个功能在大多数据库中早已支持，有的也叫分析函数。 Postgresql 11 针对窗口函数（window function）进行了增强，添加了 sql:2011 标准中的所有窗口范围（window frame）子句选项 1、什么是窗口函数 窗口函数在和当前行相关的一组表行上执行计算。 这相当于一个可以由聚合函数完成的计算类型。但不同于常规的聚合函数， 使用的窗口函数不会导致行被分组到一个单一的输出行；行保留其独立的身份。 在后台，窗口函数能够访问的不止查询结果的当前行。 可以访问与当前记录相关的多行记录； 不会使多行聚集成一行， 与聚集函数的区别； 2、窗口函数语法 window_func() OVER(PARTITION BY [字段] ORDER BY [字段]) 窗口函数跟随一个OVER子句，OVER子句决定究竟查询中的哪些行被分离出来由窗口函数处理。其中分区PARTITION BY与排序ORDER BY指令可以可选的，如果不指定，则等同于聚合函数，对全部数据进行计算。 1.排名函数：row_number/rank/dense_rank 排序函数（分区最大/最小值）：first_value/last_value 分布函数（累积百分比）：cume_dist / sum() over 4.偏移函数：lead/lag java & download java & scala https://www.oracle.com/java/technologies/downloads/archive/ https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html https://www.scala-lang.org/download/ https://www.scala-lang.org/download/2.12.15.html https://plugins.jetbrains.com/plugin/1347-scala/versions/stable Java SE 8 (8u211 and later) Java SE 8 (8u202 and earlier) https://www.graalvm.org/22.0/reference-manual/native-image/ linux proxy 代理上网设置 client terminal export http_proxy="http://192.168.1.6:8088" export https_proxy="http:// 192.168.1.6:8088" export ftp_proxy=$http_proxy export https_proxy=http://192.168.1.6:8088 export http_proxy=http://192.168.1.6:8088 export all_proxy=socks5://192.168.1.6:8088 source /etc/profile curl www.google.com client apt-get sudo vim /etc/apt/apt.conf.d/proxy.conf Acquire::http::Proxy "http://user:password@proxy.server:port/"; Acquire::https::Proxy "http://user:password@proxy.server:port/"; ubuntu18.04 test pass server nginx vim config/nginx.conf http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; server{ resolver 223.5.5.5; resolver_timeout 30s; listen 8088; location / { proxy_pass http://$http_host$request_uri; proxy_set_header Host $http_host; proxy_buffers 256 4k; proxy_max_temp_file_size 0; proxy_connect_timeout 30; proxy_cache_valid 200 302 10m; proxy_cache_valid 301 1h; proxy_cache_valid any 1m; } } server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } } } cat logs/access.log for check Linux 安装远程桌面服务和客户端，可以登录win10的远程桌面 xrdp 1997 sudo apt-get install xrdp 1998 xrdp 1999 sudo apt-get install rdesktop 2000 rdesktop 2001 rdesktop 192.168.1.6 2002 rdesktop -f -u lenovo 192.168.1.6 rdesktop退出全屏模式 :使用组合键ctrl+alt+enter进行切换。” netstat 命令参数和使用详解 netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships## netstat - 打印网络连接、路由表、接口统计、伪装连接和多播成员关系 -a 显示所有状态的 socket -n 不做名字解析，不加此参数，80 端口会显示成 http,127.0.0.1 显示成 localhost,uid 为 0 显示成 root 等等 -e 显示更多信息如用户，inode -p 显示 pid 和程序名字 -t 显示 tcp 链接 -u 显示 udp 链接 -x 显示 unix 套接字 netstat -anpte #查看 tcp 链接 netstat -anpue #查看 udp 链接 netstat -anpxe #查看 unix 套接字链接 netstat -r # 查看路由表 netstat -r 和 route 命令输出是差不多的 netstat -s # 查看网络统计数据，netstat -s 展示各协议的统计信息 netstat -i # 查看网络接口信息 netstat -rF 和 netstat -rC 两个命令的区别是一个输出的是路由表，一个输出的是路由缓存。 默认 netstat -r 输出的是 netstat -rF 结果。-F 为默认参数 UNIX Socket 是同一台服务器上不一样进程间的通讯机制。 TCP/IP Socket 是网络上不一样服务器之间进程的通讯机制，也可让同一服务器的不一样进程通讯。服务器 Postgres 的一位核心开发者曾经作过实验，证实 UNIX Socket 的方式比 TCP/IP Socket 方式要快 31%， 因此，在同一个服务器上应该优先选择 UNIX Socket 方式。网络 influxDB-数据保存策略 retention policy: 存储策略，用于设置数据保留的时间，每个数据库刚开始会自动创建一个默认的存储策略 autogen， 数据保留时间为永久，之后用户可以自己设置，例如保留最近 2 小时的数据。 插入和查询数据时如果不指定存储策略，则使用默认存储策略，且默认存储策略可以修改。InfluxDB 会定期清除过期的数据。 sudo vim /etc/bash.bashrc export PATH=/home/andy/dev/Kubernetes:$PATH alias kubectl='k0s kubectl' 395 ln -s ./k0sctl-linux-x64 k0sctl 397 ln -s ./k0s-v1.23.5+k0s.0-amd64 k0s Win10 安装 OpenSSH 实现 SSH 远程登录 检查并且关闭防火墙，需要将 OpenSSH添加到path变量 否则 sftp会有认证问题。 NetSh Advfirewall set allprofiles state off #关闭防火墙 Netsh Advfirewall show allprofiles #查看防火墙状态 安装方法一 在系统内打开“设置”，选择“应用”>“应用和功能”，然后选择“可选功能 ”，搜索“OpenSSH”，查看是否已安装 OpenSSH， 如果未安 装，请在页面顶部选择“添加功能”，然后：查找“OpenSSH 客户端”，再单击“安装” 安装方法二 查找 Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*' 添加 Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 配置 OpenSSH Start-Service sshd Set-Service -Name sshd -StartupType 'Automatic' 卸载 OpenSSH Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 ssh 无法免密登陆 cannot remove ‘.ssh/authorized_keys’: Operation not permitted 解决方法 1.在.ssh 文件夹下执行命令 chattr -i authorized_keys 2.rm -rf authorized_keys 1.集群内节点 SSH 登录免密 依次执行： 登录 master ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.4 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.14 登录 node1 ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.2 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.14 登录 node2 ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.2 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.4 2.master 可当作 Node 使用 kubectl taint node master node-role.kubernetes.io/master- #将 Master 也当作 Node 使用 kubectl taint node master node-role.kubernetes.io/master="":NoSchedule #将 Master 恢复成 Master Only 状态 linux grub 调整 sudo vim /etc/default/grub GRUB_DEFAULT=0 GRUB_DEFAULT=2 sudo update-grub qt linuxdeployqt 2011 export PATH=/home/andy/Qt5.12.10/5.12.10/gcc_64/bin:$PATH 2012 qmake -v 2030 /home/andy/Qt5.12.10/5.12.10/gcc_64/bin/qmake -o Makefile ../untitledClient/untitledClient.pro -spec linux-g++ CONFIG+=qtquickcompiler 2031 make 2045 ldd untitledClient 2046 readelf -d untitledClient 2047 /home/andy/app_linux/linuxdeployqt-continuous-x86_64.AppImage --help 2048 /home/andy/app_linux/linuxdeployqt-continuous-x86_64.AppImage untitledClient -appimage 命令行重复执行命令 （mac 适用） 方法一、 while true; do ; sleep 1; done 无限重复执行，间隔单位秒。 方法二、 seq 10 | xargs -I (sudo) 重复执行 10 次，间隔约 0.4s，出现 xargs: xxx: Permission denied 时可加上 sudo。 npm config yarn config set registry https://mirrors.huaweicloud.com/repository/npm/ yarn config set disturl https://mirrors.huaweicloud.com/nodejs/ yarn config set electron_mirror https://mirrors.huaweicloud.com/electron/ yarn config set registry https://registry.npm.taobao.org yarn config set disturl https://npm.taobao.org/dist yarn config set electron_mirror https://npm.taobao.org/mirrors/electron/ npm config set registry https://mirrors.huaweicloud.com/repository/npm/ npm config set disturl https://mirrors.huaweicloud.com/nodejs/ npm config set electron_mirror https://mirrors.huaweicloud.com/electron/ npm config set registry https://registry.npm.taobao.org npm config set disturl https://npm.taobao.org/dist npm config set electron_mirror https://npm.taobao.org/mirrors/electron/ npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/ [============================================>] 100.0% of 2.79 mB (2.79 mB/s) 2001 cd /home/andy/NodejsProjects/my-project-webui/ 2002 npm install 2002 npm run dev 2003 cd /home/andy/NodejsProjects/my-project-appui/ 2003 npm install 2004 npm run build:linux 2058 ldd libffmpeg.so 2059 readelf -d libffmpeg.so 2060 readelf libffmpeg.so 2065 nm -D libffmpeg.so 2067 objdump -tT libffmpeg.so ubuntu 打开 chrome 弹出“Enter password to unlock your login keyring”解决方法 sudo rm -rf /home/andy/.local/share/keyrings/login.keyring android mount & service adb mount -o remount,rw / adb shell mount -o remount,rw / mount -o remount,rw / mount -o remount,rw /vendor /system/bin/sshd -f /data/ssh/sshd_config -D -ddd on property:sys.boot_completed=1 write /dev/kmsg "ftpserver starting" start ftpserver write /dev/kmsg "ftpserver started" service ftpserver /system/andy/ftpserver class main user root group root service ftpserver /vendor/bin/ftpserver class core user root 466 service vendor.tftp_server /vendor/bin/tftp_server 467 class core 468 user root 494 service loc_launcher /system/vendor/bin/loc_launcher 495 class late_start 496 user gps 497 group gps 503 service qcom-sh /vendor/bin/init.qcom.sh 504 class late_start 505 user root 506 group root system radio 507 oneshot 508 509 service qcom-post-boot /vendor/bin/init.qcom.post_boot.sh 510 class late_start 511 user root 512 group root system wakelock graphics 513 disabled 514 oneshot service touchserver /system/bin/touch /system/andy/$(date '+%Y-%m-%d\_%H-%M-%S').log class late_start user root group root oneshot gradlew 常用命令 https://downloads.gradle-dn.com/distributions/gradle-6.1.1-all.zip 在开发时有些小伙伴喜欢使用./gradlew 命令行进行打包编译 App,使用起来很安逸. ./gradlew -v //查看 Gradle、Groovy、Ant、JVM 等的版本,截图如下: ./gradlew clean //和 clean project 类似,截图如下: ./gradlew tasks --all //查看所有任务,截图如下: ./gradlew build --info //编译并打印日志,截图如下: ./gradlew clean build --refresh-dependencies //强制更新最新依赖，清除并构建,截图如下: ./gradlew build --info --debug --stacktrace //调试模式并打印堆栈信息 ,截图如下: ./gradlew installDebug //打 debug 包并安装，截图如下 ./gradlew assembleDebug //编译并打 Debug 包 ./gradlew assembleRelease //编译打 release 包,截图如下: ./gradlew installRelease //Release 模式打包并安装,截图如下 ./gradlew uninstallRelease //卸载 Release 模式包 ./gradlew install[productFlavorsName] app:assembleDebug //结合 productFlavorsName ./gradlew assembleTestRelease //Release 模式测试渠道打包 ./gradlew dependencies //依赖信息查看 ./gradlew dependencies --info // 查看详细的依赖信息 ./gradlew compileDebug --stacktrace // 查看详细的资源文件信息 linux mysql安装 sudo apt-get install mysql-server //服务端 sudo apt-get install mysql-client //客户端 sudo apt-get install libmysqlclient-dev //程序编译时链接的库 sudo netstat -tap | grep mysql sudo mysql_secure_installation sudo mysql -uroot -proot linux go env & npm config export GOROOT=/home/andy/app_linux/go export PATH=$PATH:$GOROOT/bin export GOPATH=/home/andy/go go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct go env -w GOPROXY=https://goproxy.cn,direct go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/ go env -w GO111MODULE=auto go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct go env -w GOPROXY="https://goproxy.cn,direct" export NODE_HOME=/home/andy/app_linux/node-v10.21.0-linux-x64/ export PATH=$NODE_HOME/bin:$PATH npm config list npm config set prefix "D:\nodejs\node_global" npm config set cache "D:\nodejs\node_cache" npm config ls -l npm config set registry https://registry.npm.taobao.org npm install express -g npm install -g cnpm --registry=https://registry.npm.taobao.org npm install express # local npm install express -g # global kafka2.8.1 版本 搭建部署启动 kafka （一）：搭建部署 在新发布的 kafka2.8.0 版本中，已经可以不启动 zk 就可以使用 kafka 了， 在 config 目录下多了一个 kraft 目录，在该目录中有一套新的配置文件，可以直接脱离 ZooKeeper 运行。 修改配置到 config 下 kraft 目录中修改 server.properties 文件，单机的话主要是修改下面的配置 advertised.listeners=PLAINTEXT://localhost:9092 log.dirs=/tmp/kraft-combined-logs （二）：启动 kafka 通过现在三行命令，即可开启一个单机的 broker bin/kafka-topics.sh --create --topic foo --partitions 1 --replication-factor 1 --bootstrap-server localhost:9092 参数 值类型 说明 有效值 --topic string 被消费的 topic --whitelist string 正则表达式，指定要包含以供使用的主题的白名单 --partition integer 指定分区 除非指定’–offset’，否则从分区结束(latest)开始消费 --offset string 执行消费的起始 offset 位置 默认值:latest --from-beginning 从存在的最早消息开始，而不是从最新消息开始 --max-messages integer 消费的最大数据量，若不指定，则持续消费下去 --timeout-ms integer 在指定时间间隔内没有消息可用时退出 --bootstrap-server string 必需(除非使用旧版本的消费者)，要连接的服务器 --key-deserializer string --value-deserializer string --group string 指定消费者所属组的 ID --zookeeper string 必需(仅当使用旧的使用者时)连接 zookeeper 的字符串。可以给出多个 URL 以允许故障转移 ./bin/kafka-storage.sh random-uuid ./bin/kafka-storage.sh format -t 1DViwWWpQf63N6bhJFAgzQ -c ./config/kraft/server.properties ./bin/kafka-server-start.sh ./config/kraft/server.properties #后台启动 ./bin/kafka-server-start.sh -daemon ./config/kraft/server.properties 停止 kafka ./bin/kafka-server-stop.sh 创建 topic ./bin/kafka-topics.sh --create --topic test --partitions 1 --replication-factor 1 --bootstrap-server localhost:9092 查看 topic 信息 ./bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic test ./bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 删除 topic ./bin/kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic test 发送消息 ./bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test 消费消息 ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test ./examples/producer localhost:9092 test ./examples/consumer localhost:9092 1 test > kafka check offset kafka-topics.sh --bootstrap-server 192.168.1.31:9092 --list kafka-consumer-groups.sh --bootstrap-server 192.168.1.31:9092 --list kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list 192.168.1.31:9092 -topic eth-link-data kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list 192.168.1.31:9092 -topic eth-term-stat kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list 192.168.1.31:9092 -topic eth-term-sums 查看 消費組和偏移量 信息 kafka-consumer-groups.sh --bootstrap-server 192.168.1.111:9092 --list kafka-consumer-groups.sh --describe --bootstrap-server 192.168.1.111:9092 --group local-consumer-group1 查看 基於分區和偏移量 信息 kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning kafka-console-consumer.sh --bootstrap-server 192.168.1.111:9092 --topic eth-term-sums --partition 0 --offset latest kafka-console-consumer.sh --bootstrap-server 192.168.1.111:9092 --topic eth-term-sums --partition 0 --offset earliest kafka-console-consumer.sh --bootstrap-server 192.168.1.111:9092 --topic eth-term-sums --partition 0 --offset 3395 ################################################################################################# OTHER: bin/kafka-storage.sh random-uuid > uuid bin/kafka-storage.sh format -t `cat uuid` -c config/kraft/server.properties bin/kafka-server-start.sh -daemon config/kraft/server.properties bin/kafka-topics.sh --create --topic foo --partitions 1 --replication-factor 1 --bootstrap-server localhost:9092 ################################################################################################# Linux systemctl 服务管理 systemctl command 1554 sudo systemctl status autosync.service 1556 sudo systemctl status autosync.service -l 1557 systemd-analyze critical-chain autosync.service 1560 systemctl show autosync.service 1561 sudo journalctl -u autosync.service 1563 sudo systemctl restart autosync.service 1564 sudo journalctl -u autosync.service 1568 sudo systemctl restart autosync.service 1569 systemctl show autosync.service 1570 sudo systemctl status autosync.service -l 1571 sudo vim /etc/systemd/system/autosync.service 1572 sudo systemctl restart autosync.service 1575 sudo systemctl restart autosync.service 1576 sudo systemctl status autosync.service -l systemctl daemon-reload # 重启载入服务配置 systemctl list-units --type=service # 查看已启动的服务 systemctl list-unit-files | grep enable # 查看是否设置开机启动 nginx 2060 cat /etc/nginx/nginx.conf 2061 cat /etc/nginx/sites-available/default 1351 sudo systemctl restart nginx.service apache2 498 pwd 499 ll 500 sudo apt-get install -y apache2 501 cd ~ 502 sudo a2enmod dav 503 sudo a2enmod dav_fs 504 sudo mkdir -p /var/www/webdav 505 sudo chown -R www-data:www-data /var/www/webdav 506 sudo htpasswd -c /etc/apache2/webdav.password dav 507 sudo chown root:www-data /etc/apache2/webdav.password 508 sudo chmod 640 /etc/apache2/webdav.password 509 sudo vim /etc/apache2/sites-available/000-default.conf 510 mkdir /home/pi/webdav 511 sudo vim /etc/apache2/sites-available/000-default.conf 512 sudo systemctl restart apache2 513 sudo /etc/init.d/apache2 reload 514 cat /etc/apache2/sites-available/000-default.conf 516 systemctl status autofrpc 517 vim /boot/rpi/frpc.ini 518 sudo vim /boot/rpi/frpc.ini 519 systemctl restart autofrpc 521 history pi command 437 sudo apt-get install sshfs 438 sudo apt-get install xrdp 439 ll 440 mkdir -p ~/pi/ 441 sshfs pi@192.168.1.4:/home/pi ~/pi/ 442 umount ~/pi/ 443 sudo umount ~/pi/ 444 sshfs pi@192.168.1.4:/home ~/pi/ 445 sudo umount ~/pi/ 446 sshfs pi@192.168.1.4:/ ~/pi/ 447 history 448 sudo umount ~/pi/ 449 history andy@andy-ThinkPad-T440s:~$ 175 df -BG 176 fdisk 2019-04-08-raspbian-stretch-lite.img 177 sudo mount -o loop,offset=4194304 2019-04-08-raspbian-stretch-lite.img /mnt/ 178 fdisk -l 2019-04-08-raspbian-stretch-lite.img 179 mount _.img /Volumes/boot -t vfat -o rw,loop,offset=4194304,sizelimit=45297664 180 sudo mount _.img /mnt/boot -t vfat -o rw,loop,offset=4194304,sizelimit=45297664 181 mkdir /mnt/boot 182 sudo mkdir /mnt/boot 183 sudo mount ***.img /mnt/boot -t vfat -o rw,loop,offset=4194304,sizelimit=45297664 184 sudo mount 2019-04-08-raspbian-stretch-lite.img /mnt/boot -t vfat -o rw,loop,offset=4194304,sizelimit=45297664 185 sudo dd bs=4M if=2019-04-08-raspbian-stretch-lite.img of=/dev/sdc 186 ll /mnt/ 187 ll 188 sudo mount 2019-04-08-raspbian-stretch-lite.img /mnt/boot -t vfat -o rw,loop,offset=4194304,sizelimit=45297664 189 fdisk -l 2019-04-08-raspbian-stretch-lite.img 190 sudo ls /mnt/boot/ 191 umount /mnt/boot 192 sudo umount /mnt/boot 193 sudo chmod 777 /mnt/boot/ 194 sudo mount 2019-04-08-raspbian-stretch-lite.img /mnt/boot -t vfat -o rw,loop,offset=4194304,sizelimit=45297664 195 sudo umount /mnt/boot 196 sudo mount 2021-05-07-raspios-buster-armhf-lite.img /mnt/boot -t vfat -o rw,loop,offset=4194304,sizelimit=45297664 197 fdisk -l 2021-05-07-raspios-buster-armhf-lite.img 198 fdisk -l 2019-04-08-raspbian-stretch-lite.img apt-get install g++ sudo apt-get install cmake /usr/bin/ld: cannot find -lGL sudo apt-get install libgl1-mesa-dev sudo apt-get install redis-server sudo apt-get install libhiredis-dev sudo netstat -tap | grep mysql sudo mysql_secure_installation sudo mysql -uroot -proot cat /proc/asound/cards sudo vim /lib/systemd/system/getty@.service ExecStart=-/sbin/agetty -o '-p -f root' -n -a root --noclear %I $TERM sudo vi /etc/lightdm/lightdm.conf [SeatDefaults] autologin-user=pi xset dpms 0 0 0 xset s off sudo vi /etc/dhcpcd.conf interface eth0 static ip_address=192.168.1.222/24 static routers=192.168.1.1 static domain_name_servers=114.114.114.114 auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf auto wlan0 allow-hotplug wlan0 iface wlan0 inet static wpa-ssid NETGEAR_AND wpa-psk 0987654321 address 192.168.1.11 netmask 255.255.255.0 gateway 192.168.1.1 network 192.168.1.1 interface eth0 static ip_address=192.168.1.222/24 static routers=192.168.1.1 static domain_name_servers=114.114.114.114 auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid NETGEAR_AND wpa-psk 0987654321 iface default inet dhcp wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp ifconfig configure network ifconfig ifconfig -a ifconfig eth0 up ifconfig eth0 down ifconfig eth0 192.168.2.10 ifconfig eth0 192.168.2.10 netmask 255.255.255.0 ifconfig eth0 192.168.2.10 netmask 255.255.255.0 broadcast 192.168.2.255 pyinstaller pyinstaller -F -w -i favicon.ico curFile.py pyinstaller --distpath . -F -w -i favicon.ico test.py pip install python-docx pip install python-docx -i https://pypi.tuna.tsinghua.edu.cn/simple pip install openpyxl==2.6.4 pip install python-docx==0.8.10 pip install PyMySQL==0.9.3 pip install redis==3.5.3 pip install PyQt4-4.11.4-cp27-cp27m-win32.whl pip install numpy==1.16.6 pip install pandas==0.24.2 pip install --target=path_name package_name pip install --target=D:\dev\python\ PyQt4-4.11.4-cp27-cp27m-win_amd64.whl sip is in package PyQt4-4.11.4-cp27-cp27m-win_amd64.whl python -m ensurepip --default-pip only for python2 pip install pefile==2019.4.18 pip install PyInstaller==3.6 pip install python-qt5==0.1.10 pip install PyInstaller==3.6 pip download python-qt5==0.1.10 pip install python-qt5==0.1.10 python3 PyQt5 PyQt5-tools 安装 pip install pyQt5 pip install pyQt5-tools website ipaddress 721 curl http://www.sixjun.com/tphp/cache 722 curl http://www.sixjun.com/v2/whatismyip.php 723 curl http://www.sixjun.com/v2/whatishost.php download ide https://www.jetbrains.com/idea/download/other.html https://www.jetbrains.com/pycharm/download/other.html https://www.jetbrains.com/clion/download/other.html https://www.jetbrains.com/go/download/other.html bootloader black mac https://github.com/CloverHackyColor/CloverBootloader https://github.com/acidanthera/OpenCorePkg https://github.com/OpenIntelWireless/itlwm download debian https://laotzu.ftp.acc.umu.se/cdimage/archive/9.13.0/amd64/iso-cd/debian-9.13.0-amd64-xfce-CD-1.iso https://laotzu.ftp.acc.umu.se/cdimage/archive/10.13.0/amd64/iso-cd/debian-10.13.0-amd64-xfce-CD-1.iso download mingw https://www.mingw-w64.org/downloads/ https://www.mingw-w64.org/downloads/#mingw-builds https://www.mingw-w64.org/downloads/#llvm-mingw https://github.com/llvm/llvm-project/releases/download https://sourceforge.net/projects/mingw-w64/files/mingw-w64/ download clangd https://github.com/clangd/clangd/releases download xcode xcode download link 299 whereis gcc 300 whereis clang 301 whereis llvm 302 ll /usr/bin/clang 303 ll /usr/bin/gcc 305 find . -name _cgo_export.c 310 ll /Library/Developer/CommandLineTools/Packages/ 313 ll /Library/Developer/CommandLineTools/ 315 ll /Library/Developer/CommandLineTools/usr/include/ 318 xcode-select --install 320 gcc -v 321 xcode-select --print-path 322 sudo rm -rf /Library/Developer/CommandLineTools 323 xcode-select --print-path 324 xcode-select --install 325 xcode-select --switch Xcode_7.2 链接：https://pan.baidu.com/s/1URxMoUKQq2vrOBX1NepHRg 提取码：ldm3 Xcode_7.3 链接：https://pan.baidu.com/s/1-iWltCvON85FbJyTwhv3Ig 提取码：xzb6 Xcode_8.0 链接：https://pan.baidu.com/s/1hqZinpSkDA3IfB8WQC49Zg 提取码：zh1j Xcode_8.1 链接：https://pan.baidu.com/s/1XmT6er_7FV79bDAqYhMA8w 提取码：78lh Xcode_8.2 链接：https://pan.baidu.com/s/1m--hVxhVipVqNsa-wGtgSw 提取码：ia6g Xcode_8.2.1 链接：https://pan.baidu.com/s/1yog6UJHBL4KTx2jHY-_2jg 提取码：w97b linux 微信ubuntu麒麟官网下载 http://archive.ubuntukylin.com/ubuntukylin/pool/partner/ https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/ https://community-packages.deepin.com/deepin/ http://archive.ubuntukylin.com/software/pool/partner/ [ ] weixin_2.1.1_amd64.deb 2021-12-31 14:25 105M [ ] qqmusic_1.0.8_amd64.deb 2021-04-23 20:12 74M [ ] linuxqq_2.0.0-b2-1082_amd64.deb 2020-04-23 23:49 12M [ ] TencentMeeting_2.8.0.0_amd64.deb 2021-09-03 14:04 99M [ ] baidunetdisk_3.5.0_amd64.deb 2021-04-20 16:15 106M [ ] bytedance-feishu-stable_4.8.0-52_amd64.deb 2021-09-07 10:00 228M [ ] com.xunlei.download_1.0.0.1_amd64.deb 2020-10-10 16:44 44M [ ] google-chrome-stable_81.0.4044.113-1_amd64.deb 2020-04-22 15:54 64M
Linux 安装远程桌面服务和客户端，可以登录win10的远程桌面 1997 sudo apt-get install xrdp 1998 xrdp 1999 sudo apt-get install rdesktop 2000 rdesktop 2001 rdesktop 192.168.1.6 2002 rdesktop -f -u lenovo 192.168.1.6 rdesktop退出全屏模式 :使用组合键ctrl+alt+enter进行切换。” Linux mint xfce 19 使用记录 解决汉化不完全的问题 sudo apt-fast install language-pack-zh-hans language-pack-gnome-zh-hans libreoffice-l10n-zh-cn thunderbird-locale-zh-hans firefox-locale-zh-hans 安装谷歌拼音输入法 安装完成后注销或者重启即可。 sudo apt-fast install fcitx fcitx-config-gtk fcitx-ui-classic fcitx-googlepinyin netstat 命令参数和使用详解 netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships netstat - 打印网络连接、路由表、接口统计、伪装连接和多播成员关系 -a 显示所有状态的 socket -n 不做名字解析，不加此参数，80 端口会显示成 http,127.0.0.1 显示成 localhost,uid 为 0 显示成 root 等等 -e 显示更多信息如用户，inode -p 显示 pid 和程序名字 -t 显示 tcp 链接 -u 显示 udp 链接 -x 显示 unix 套接字 netstat -anpte #查看 tcp 链接 netstat -anpue #查看 udp 链接 netstat -anpxe #查看 unix 套接字链接 netstat -r # 查看路由表 netstat -r 和 route 命令输出是差不多的 netstat -s # 查看网络统计数据，netstat -s 展示各协议的统计信息 netstat -i # 查看网络接口信息 netstat -rF 和 netstat -rC 两个命令的区别是一个输出的是路由表，一个输出的是路由缓存。 默认 netstat -r 输出的是 netstat -rF 结果。-F 为默认参数 spring.io 上的项目介绍： https://spring.io/blog/2021/03/11/announcing-spring-native-beta GitHub 仓库： https://github.com/spring-projects-experimental/spring-native mvn install mvn spring-boot:build-image or gradle bootBuildImage Spring Native 0.9.2 设计用于 Spring Boot 2.4.5。为了保证支持和兼容性，最新的 Spring Boot 2.x 次要版本的每个修补版本都会发布一个新版本的 Spring Native。 Spring Native 0.9.2 仅支持 Spring Boot 2.4.5，建议使用指定版本。 https://www.graalvm.org/22.0/reference-manual/native-image/ gu install native-image After this additional step, the native-image executable will become available in the $JAVA_HOME/bin directory. javac Example.java native-image Example ./example export GRAALVM_HOME=/home/andy/share/graalvm-ce-java11-22.0.0.2 export PATH=$GRAALVM_HOME/bin:$PATH export PATH=$GRAALVM_HOME/lib/svm/bin:$PATH UNIX Socket 是同一台服务器上不一样进程间的通讯机制。 TCP/IP Socket 是网络上不一样服务器之间进程的通讯机制，也可让同一服务器的不一样进程通讯。服务器 Postgres 的一位核心开发者曾经作过实验，证实 UNIX Socket 的方式比 TCP/IP Socket 方式要快 31%， 因此，在同一个服务器上应该优先选择 UNIX Socket 方式。网络 influxDB-数据保存策略 retention policy: 存储策略，用于设置数据保留的时间，每个数据库刚开始会自动创建一个默认的存储策略 autogen， 数据保留时间为永久，之后用户可以自己设置，例如保留最近 2 小时的数据。 插入和查询数据时如果不指定存储策略，则使用默认存储策略，且默认存储策略可以修改。InfluxDB 会定期清除过期的数据。 sudo vim /etc/bash.bashrc export PATH=/home/andy/dev/Kubernetes:$PATH alias kubectl='k0s kubectl' 395 ln -s ./k0sctl-linux-x64 k0sctl 397 ln -s ./k0s-v1.23.5+k0s.0-amd64 k0s sudo ./k0s kubectl get nodes sudo ./k0s kubectl get pods -n kube-system sudo ./k0s kubectl get -n ingress all sudo ./k0s kubectl get pods sudo ./k0s kubectl get pods -o wide 1554 sudo systemctl status autosync.service 1556 sudo systemctl status autosync.service -l 1557 systemd-analyze critical-chain autosync.service 1560 systemctl show autosync.service 1561 sudo journalctl -u autosync.service 1563 sudo systemctl restart autosync.service 1564 sudo journalctl -u autosync.service 1568 sudo systemctl restart autosync.service 1569 systemctl show autosync.service 1570 sudo systemctl status autosync.service -l 1571 sudo vim /etc/systemd/system/autosync.service 1572 sudo systemctl restart autosync.service 1575 sudo systemctl restart autosync.service 1576 sudo systemctl status autosync.service -l ssh 无法免密登陆 cannot remove ‘.ssh/authorized_keys’: Operation not permitted 解决方法 1.在.ssh 文件夹下执行命令 chattr -i authorized_keys 2.rm -rf authorized_keys 1.集群内节点 SSH 登录免密 依次执行： 登录 master ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.4 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.14 登录 node1 ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.2 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.14 登录 node2 ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.2 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.4 2.master 可当作 Node 使用 kubectl taint node master node-role.kubernetes.io/master- #将 Master 也当作 Node 使用 kubectl taint node master node-role.kubernetes.io/master="":NoSchedule #将 Master 恢复成 Master Only 状态 GCC 版本对 C++的支持情况 C++版本 GCC 版本支持情况 GCC 版本 指定版本的命令标志 C++98 完全支持 是 GCC 6.1 之前版本的默认模式 -std=c++98 or -std=gnu++98 C++11 完全支持 从 GCC4.8.1 版本开始完全支持 -std=c++11 or -std=gnu++11 C++14 完全支持 从 GCC 6.1 版本开始完全支持，是 GCC 6.1 到 GCC 10 (包括) 的默认模式 -std=c++14 or -std=gnu++14 C++17 完全支持 从 GCC 5 版本开始，到 GCC 7 版本，已基本完全支持。 是 GCC 11 版本的默认模式 -std=c++17 or -std=gnu++17 C++20 未完全支持 从 GCC 8 版本开始陆续支持 C++20 特性 -std=c++20 or -std=gnu++20 （GCC9 及以前使用-std=c++2a） C++23 未完全支持（标准还在发展中） 从 GCC 11 版本开始支持 C++23 特性 -std=c++2b or -std=gnu++2b fcitx 输出的文字变繁体 按了 ctrl shift + f 开了繁体的模式,按 ctrl shift + f 切回简体。 sudo vim /etc/default/grub GRUB_DEFAULT=0 GRUB_DEFAULT=2 sudo update-grub ubuntu 18.04 / linux mint 19.3 【运行】~/app_linux/cmd_markdown_linux64$ ./Cmd\ Markdown 【报错】./Cmd Markdown: error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory 【解决】sudo apt-get install libgconf-2-4 sudo apt-get install x11vnc x11vnc -storepasswd https://download.jetbrains.com.cn/go/goland-2021.3.4.win.zip https://www.jetbrains.com/zh-cn/go/download/other.html https://developer.android.google.cn/studio/releases/platform-tools https://github.com/syncthing/syncthing/releases https://github.com/android/testing-samples/tree/master/ https://github.com/android/testing-samples/tree/master/ui/uiautomator/BasicSample exec java -Xmx1600M -Djava.ext.dirs=/home/andy/Android/Sdk/tools/lib/x86_64:/home/andy/Android/Sdk/tools/lib -Dcom.android.uiautomator.bindir=/home/andy/Android/Sdk/tools -jar /home/andy/Android/Sdk/tools/lib/uiautomatorviewer-26.0.0-dev.jar AppImage cp /home/andy/app_linux/app_icon/icon.png default.png echo "Categories=Application;" >> default.desktop 2011 export PATH=/home/andy/Qt5.12.10/5.12.10/gcc_64/bin:$PATH 2012 qmake -v 2030 /home/andy/Qt5.12.10/5.12.10/gcc_64/bin/qmake -o Makefile ../untitledClient/untitledClient.pro -spec linux-g++ CONFIG+=qtquickcompiler 2031 make 2045 ldd untitledClient 2046 readelf -d untitledClient 2047 /home/andy/app_linux/linuxdeployqt-continuous-x86_64.AppImage --help 2048 /home/andy/app_linux/linuxdeployqt-continuous-x86_64.AppImage untitledClient -appimage 1、docker 三个基本概念： • 镜像（Image）：Docker 镜像（Image），就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。 • 容器（Container）：镜像（Image）和容器（Container）的关系，就像是面向对象程序设计中的类和实例一样，镜像是静态的定义，容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。 • 仓库（Repository）：仓库可看着一个代码控制中心，用来保存镜像。 2、docker 的镜像分层 一个完整的 Docker 镜像可以支撑一个 Docker 容器的运行，在 Docker 容器运行过程中主要提供文件系统数据支撑。 Docker 镜像作为 docker 中最基本的概念，有以下几个特性：  镜像分层，每个镜像都由一个或多个镜像层组成；  可通过在某个镜像加上一定的镜像层得到新镜像（此过程可通过编写 dockerfile 或基于容器 Commit 实现）；  每个镜像层拥有唯一镜像 ID；  镜像在存储和使用时共享相同的镜像层（根据 ID），所以在 pull 镜像时，已有的镜像层会自动跳过下载；  每个镜像层都是只读，即使启动成容器，也无法对其真正的修改，修改只会作用于最上层的容器层； 6、附 docker 基本命令 docker build -t friendlyhello . # Create image using this directory's Dockerfile docker run -p 4000:80 friendlyhello # Run "friendlyhello" mapping port 4000 to 80 docker run -d -p 4000:80 friendlyhello # Same thing, but in detached mode docker container ls # List all running containers docker container ls -a # List all containers, even those not running docker container stop # Gracefully stop the specified container docker container kill # Force shutdown of the specified container docker container rm # Remove specified container from this machine docker container rm $(docker container ls -a -q) # Remove all containers docker image ls -a # List all images on this machine docker image rm # Remove specified image from this machine docker image rm $(docker image ls -a -q) # Remove all images from this machine docker login # Log in this CLI session using your Docker credentials docker tag username/repository:tag # Tag for upload to registry docker push username/repository:tag # Upload tagged image to registry docker run username/repository:tag # Run image from a registry $ sudo docker run hello-world sudo docker run hello-world 5.2.以非 root 用户管理 docker Docker 守护程序绑定到 Unix socket 而不是 TCP 端口。 默认情况下，Unix socke 是 root 用户才有，而其他用户只能通过使用 sudo 使用它。Docker 守护程序始终以 root 用户身份运行。 如果您不想在 docker 命令前加上 sudo，请创建一个名为 docker 的 Unix 组并向其添加用户。 当 Docker 守护程序启动时，它会创建一个可由该 docker 组成员访问的 Unix socket。 1.创建docker组 sudo groupadd docker 2.添加user到docker组 sudo usermod -aG docker $USER 请将$USER 替换为系统中你的除 root 外的某个用户。 3.注销并重新登录，以便重新评估您的组成员身份。 https://objects.githubusercontent.com/github-production-release-asset-2e65be/6838921/e711afc2-01e1-466d-8bdb-3705c22b78c2?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220309%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220309T031333Z&X-Amz-Expires=300&X-Amz-Signature=f83a4ea9ef6769a60ab43655d5db206400cc795ddbdd28ed757adb6ec25d6841&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=6838921&response-content-disposition=attachment%3B%20filename%3Dprometheus-2.33.5.linux-amd64.tar.gz&response-content-type=application%2Foctet-stream https://gh.xiu.workers.dev/https://github.com/prometheus/prometheus/releases/download/v2.33.5/prometheus-2.33.5.linux-amd64.tar.gz node_exporter 页面搜索 node exporter 根据 id 导入模板: https://grafana.com/dashboards/8919 mysqld_exporter 推荐图标 ID：https://grafana.com/dashboards/7362 https://github.com/prometheus/node_exporter/releases https://github.com/prometheus/mysqld_exporter/releases Docker CE 镜像 简介 Docker CE 是免费的 Docker 产品的新名称，Docker CE 包含了完整的 Docker 平台，非常适合开发人员和运维团队构建容器 APP。 下载地址：https://mirrors.aliyun.com/docker-ce/ https://mirrors.aliyun.com/docker-ce/ https://mirrors.huaweicloud.com/grafana/ https://download.lfd.uci.edu/pythonlibs/x6hvwk7i/cp27/PyQt4-4.11.4-cp27-cp27m-win32.whl https://download.lfd.uci.edu/pythonlibs/x6hvwk7i/cp27/PyQt4-4.11.4-cp27-cp27m-win_amd64.whl https://github.com/Tencent/wepy 21.7K https://github.com/Meituan-Dianping/mpvue 20.4K https://github.com/youzan/vant-weapp 15.7K https://github.com/TalkingData/iview-weapp 6.2K H2 变电二次: https://liuzongandy.com/v3/exam-vue/Exam2022_H2.html I2 配电架空: https://liuzongandy.com/v3/exam-vue/Exam2022_I2.html 命令行重复执行命令 文章标签： c/c++ 操作系统 版权 （mac 适用） 方法一、 while true; do ; sleep 1; done 无限重复执行，间隔单位秒。 方法二、 seq 10 | xargs -I (sudo) 重复执行 10 次，间隔约 0.4s，出现 xargs: xxx: Permission denied 时可加上 sudo。 yarn config set registry https://mirrors.huaweicloud.com/repository/npm/ yarn config set disturl https://mirrors.huaweicloud.com/nodejs/ yarn config set electron_mirror https://mirrors.huaweicloud.com/electron/ yarn config set registry https://registry.npm.taobao.org yarn config set disturl https://npm.taobao.org/dist yarn config set electron_mirror https://npm.taobao.org/mirrors/electron/ npm config set registry https://mirrors.huaweicloud.com/repository/npm/ npm config set disturl https://mirrors.huaweicloud.com/nodejs/ npm config set electron_mirror https://mirrors.huaweicloud.com/electron/ npm config set registry https://registry.npm.taobao.org npm config set disturl https://npm.taobao.org/dist npm config set electron_mirror https://npm.taobao.org/mirrors/electron/ npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/ [============================================>] 100.0% of 2.79 mB (2.79 mB/s) 2001 cd /home/andy/NodejsProjects/my-project-webui/ 2002 npm install 2002 npm run dev 2003 cd /home/andy/NodejsProjects/my-project-appui/ 2003 npm install 2004 npm run build:linux 2058 ldd libffmpeg.so 2059 readelf -d libffmpeg.so 2060 readelf libffmpeg.so 2065 nm -D libffmpeg.so 2067 objdump -tT libffmpeg.so ubuntu 打开 chrome 弹出“Enter password to unlock your login keyring”解决方法 sudo rm -rf /home/andy/.local/share/keyrings/login.keyring ExecStart： # 启动服务时执行的命令 ExecReload： # 重启服务时执行的命令 ExecStop： # 停止服务时执行的命令 ExecStartPre： # 启动服务前执行的命令 ExecStartPost：# 启动服务后执行的命令 ExecStopPost： # 停止服务后执行的命令 enable root for adb adb root adb disable-verity adb reboot adb mount -o remount,rw / adb shell mount -o remount,rw / mount -o remount,rw / mount -o remount,rw /vendor /system/bin/sshd -f /data/ssh/sshd_config -D -ddd on property:sys.boot_completed=1 write /dev/kmsg "ftpserver starting" start ftpserver write /dev/kmsg "ftpserver started" service ftpserver /system/andy/ftpserver class main user root group root service ftpserver /vendor/bin/ftpserver class core user root 466 service vendor.tftp_server /vendor/bin/tftp_server 467 class core 468 user root 494 service loc_launcher /system/vendor/bin/loc_launcher 495 class late_start 496 user gps 497 group gps 503 service qcom-sh /vendor/bin/init.qcom.sh 504 class late_start 505 user root 506 group root system radio 507 oneshot 508 509 service qcom-post-boot /vendor/bin/init.qcom.post_boot.sh 510 class late_start 511 user root 512 group root system wakelock graphics 513 disabled 514 oneshot service touchserver /system/bin/touch /system/andy/$(date '+%Y-%m-%d_%H-%M-%S').log class late_start user root group root oneshot vim /vendor/etc/init/hw/init.qcom.rc dmesg ftpserver /system/andy/ftpserver Endwith named go linux、darwin、windows、freebsd only_build_on_linux.go // +build linux package main func main() { } // end only_build_on_windows.go // +build !windows package main func main() { } // end https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/ https://community-packages.deepin.com/deepin/ http://archive.ubuntukylin.com/ubuntukylin/pool/partner/ [ ] weixin_2.1.1_amd64.deb 2021-12-31 14:25 105M [ ] qqmusic_1.0.8_amd64.deb 2021-04-23 20:12 74M [ ] linuxqq_2.0.0-b2-1082_amd64.deb 2020-04-23 23:49 12M [ ] TencentMeeting_2.8.0.0_amd64.deb 2021-09-03 14:04 99M [ ] baidunetdisk_3.5.0_amd64.deb 2021-04-20 16:15 106M [ ] bytedance-feishu-stable_4.8.0-52_amd64.deb 2021-09-07 10:00 228M [ ] com.xunlei.download_1.0.0.1_amd64.deb 2020-10-10 16:44 44M [ ] google-chrome-stable_81.0.4044.113-1_amd64.deb 2020-04-22 15:54 64M gradlew 常用命令 在开发时有些小伙伴喜欢使用./gradlew 命令行进行打包编译 App,使用起来很安逸. ./gradlew -v //查看 Gradle、Groovy、Ant、JVM 等的版本,截图如下: ./gradlew clean //和 clean project 类似,截图如下: ./gradlew tasks --all //查看所有任务,截图如下: ./gradlew build --info //编译并打印日志,截图如下: ./gradlew clean build --refresh-dependencies //强制更新最新依赖，清除并构建,截图如下: ./gradlew build --info --debug --stacktrace //调试模式并打印堆栈信息 ,截图如下: ./gradlew installDebug //打 debug 包并安装，截图如下 ./gradlew assembleDebug //编译并打 Debug 包 ./gradlew assembleRelease //编译打 release 包,截图如下: ./gradlew installRelease //Release 模式打包并安装,截图如下 ./gradlew uninstallRelease //卸载 Release 模式包 ./gradlew install[productFlavorsName] app:assembleDebug //结合 productFlavorsName ./gradlew assembleTestRelease //Release 模式测试渠道打包 ./gradlew dependencies //依赖信息查看 ./gradlew dependencies --info // 查看详细的依赖信息 ./gradlew compileDebug --stacktrace // 查看详细的资源文件信息 使用 gradlew 命令行还有一个好处就是，当依赖很多第三方库导致的 aapt 报错，而你又不知道具体是哪个库，可以用./gradlew build --info --debug --stacktrace 命令打印并排查对栈信息，不需要我们去手动排查,下一篇写一下排查步骤. apt-get install g++ sudo apt-get install cmake /usr/bin/ld: cannot find -lGL sudo apt-get install libgl1-mesa-dev sudo apt-get install redis-server sudo apt-get install libhiredis-dev sudo apt-get install mysql-server //服务端 sudo apt-get install mysql-client //客户端 sudo apt-get install libmysqlclient-dev //程序编译时链接的库 sudo netstat -tap | grep mysql sudo mysql_secure_installation sudo mysql -uroot -proot https://downloads.gradle-dn.com/distributions/gradle-6.1.1-all.zip export GOROOT=/home/andy/app_linux/go export PATH=$PATH:$GOROOT/bin export GOPATH=/home/andy/go go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct go env -w GOPROXY=https://goproxy.cn,direct go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/ go env -w GO111MODULE=on go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct // pg_ctl.c:2199 // exit(0); 1993 cd /home/andy/CLionProjects/postgresql-11.11/ 1994 ./configure --help 1996 ./configure --prefix=/home/andy/pgsql --without-readline 1998 make -j4 1999 make install 2000 /home/andy/pgsql/bin/initdb --help 2001 /home/andy/pgsql/bin/initdb --pgdata=/home/andy/pgdat --username=root -W 2002 /home/andy/pgsql/bin/pg_ctl -D /home/andy/pgdat -l logfile start 2008 /home/andy/pgsql/bin/psql -d postgres -U root -h 127.0.0.1 -p 5432 postgres=# select * from current_user; postgres=# select user; postgres=# select * from pg_catalog.pg_user; https://top.baidu.com https://www.douyin.com/hot https://weibo.com export GOROOT=/home/andy/app_linux/go export PATH=$PATH:$GOROOT/bin go env -w GOPROXY="https://goproxy.cn,direct" export NODE_HOME=/home/andy/app_linux/node-v10.21.0-linux-x64/ export PATH=$NODE_HOME/bin:$PATH npm config list npm config set prefix "D:\nodejs\node_global" npm config set cache "D:\nodejs\node_cache" npm config ls -l npm config set registry https://registry.npm.taobao.org npm install express -g npm install -g cnpm --registry=https://registry.npm.taobao.org npm install express # local npm install express -g # global nginx 2060 cat /etc/nginx/nginx.conf 2061 cat /etc/nginx/sites-available/default apache2 498 pwd 499 ll 500 sudo apt-get install -y apache2 501 cd ~ 502 sudo a2enmod dav 503 sudo a2enmod dav_fs 504 sudo mkdir -p /var/www/webdav 505 sudo chown -R www-data:www-data /var/www/webdav 506 sudo htpasswd -c /etc/apache2/webdav.password dav 507 sudo chown root:www-data /etc/apache2/webdav.password 508 sudo chmod 640 /etc/apache2/webdav.password 509 sudo vim /etc/apache2/sites-available/000-default.conf 510 mkdir /home/pi/webdav 511 sudo vim /etc/apache2/sites-available/000-default.conf 512 sudo systemctl restart apache2 513 sudo /etc/init.d/apache2 reload 514 cat /etc/apache2/sites-available/000-default.conf 515 ifconfig 516 systemctl status autofrpc 517 vim /boot/rpi/frpc.ini 518 sudo vim /boot/rpi/frpc.ini 519 systemctl restart autofrpc 520 ifconfig 521 history 437 sudo apt-get install sshfs 438 sudo apt-get install xrdp 439 ll 440 mkdir -p ~/pi/ 441 sshfs pi@192.168.1.4:/home/pi ~/pi/ 442 umount ~/pi/ 443 sudo umount ~/pi/ 444 sshfs pi@192.168.1.4:/home ~/pi/ 445 sudo umount ~/pi/ 446 sshfs pi@192.168.1.4:/ ~/pi/ 447 history 448 sudo umount ~/pi/ 449 history andy@andy-ThinkPad-T440s:~$ 175 df -BG 176 fdisk 2019-04-08-raspbian-stretch-lite.img 177 sudo mount -o loop,offset=4194304 2019-04-08-raspbian-stretch-lite.img /mnt/ 178 fdisk -l 2019-04-08-raspbian-stretch-lite.img 179 mount _.img /Volumes/boot -t vfat -o rw,loop,offset=4194304,sizelimit=45297664 180 sudo mount _.img /mnt/boot -t vfat -o rw,loop,offset=4194304,sizelimit=45297664 181 mkdir /mnt/boot 182 sudo mkdir /mnt/boot 183 sudo mount ***.img /mnt/boot -t vfat -o rw,loop,offset=4194304,sizelimit=45297664 184 sudo mount 2019-04-08-raspbian-stretch-lite.img /mnt/boot -t vfat -o rw,loop,offset=4194304,sizelimit=45297664 185 sudo dd bs=4M if=2019-04-08-raspbian-stretch-lite.img of=/dev/sdc 186 ll /mnt/ 187 ll 188 sudo mount 2019-04-08-raspbian-stretch-lite.img /mnt/boot -t vfat -o rw,loop,offset=4194304,sizelimit=45297664 189 fdisk -l 2019-04-08-raspbian-stretch-lite.img 190 sudo ls /mnt/boot/ 191 umount /mnt/boot 192 sudo umount /mnt/boot 193 sudo chmod 777 /mnt/boot/ 194 sudo mount 2019-04-08-raspbian-stretch-lite.img /mnt/boot -t vfat -o rw,loop,offset=4194304,sizelimit=45297664 195 sudo umount /mnt/boot 196 sudo mount 2021-05-07-raspios-buster-armhf-lite.img /mnt/boot -t vfat -o rw,loop,offset=4194304,sizelimit=45297664 197 fdisk -l 2021-05-07-raspios-buster-armhf-lite.img 198 fdisk -l 2019-04-08-raspbian-stretch-lite.img cat /proc/asound/cards sudo vim /lib/systemd/system/getty@.service ExecStart=-/sbin/agetty -o '-p -f root' -n -a root --noclear %I $TERM sudo vi /etc/lightdm/lightdm.conf [SeatDefaults] autologin-user=pi xset dpms 0 0 0 xset s off sudo vi /etc/dhcpcd.conf interface eth0 static ip_address=192.168.1.222/24 static routers=192.168.1.1 static domain_name_servers=114.114.114.114 auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf auto wlan0 allow-hotplug wlan0 iface wlan0 inet static wpa-ssid NETGEAR_AND wpa-psk 0987654321 address 192.168.1.11 netmask 255.255.255.0 gateway 192.168.1.1 network 192.168.1.1 iface default inet dhcp wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf interface eth0 static ip_address=192.168.1.222/24 static routers=192.168.1.1 static domain_name_servers=114.114.114.114 auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid NETGEAR_AND wpa-psk 0987654321 iface default inet dhcp apt-get install g++ sudo apt-get install cmake /usr/bin/ld: cannot find -lGL sudo apt-get install libgl1-mesa-dev sudo apt-get install redis-server sudo apt-get install libhiredis-dev sudo apt-get install mysql-server //服务端 sudo apt-get install mysql-client //客户端 sudo apt-get install libmysqlclient-dev //程序编译时链接的库 sudo netstat -tap | grep mysql sudo mysql_secure_installation sudo mysql -uroot -proot
cmd /k adb shell pm list package | grep home pm uninstall --user 0 com.miui.newhome pm uninstall --user 0 com.android.browser https://github.com/green-green-avk/build-proot-android tar -xzvf proot-android-aarch64.tar.gz nitrogen:/data/local/tmp # ./su.sh proot warning: can't sanitize binding "ubuntu-fs/root": No such file or directory proot warning: can't canonicalize /tmp/: No such file or directory proot warning: Unable to create temp directory for f2fs bug probe: No such file or directory proot warning: can't chdir("/root/.") in the guest rootfs: No such file or directory proot info: default working directory is now "/" root@localhost:/# 1, tsinghua: $ sudo nano /etc/apt/sources.list deb http://mirrors.tuna.tsinghua.edu.cn/raspberry-pi-os/raspbian/ buster main non-free contrib rpi deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberry-pi-os/raspbian/ buster main non-free contrib rpi $ sudo nano /etc/apt/sources.list.d/raspi.list deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui 2, USTC $ sudo nano /etc/apt/sources.list deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi $ sudo nano /etc/apt/sources.list.d/raspi.list deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ buster main deb-src http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ buster main $ sudo apt-get update $ sudo apt-get upgrade 树莓派更换国内镜像源 网上常见的教程往往都是替换软件更新源（/etc/apt/sources.list），实际上还存在一个系统更新源（/etc/apt/sources.d/raspi.list）。我们对这两个文件进行修改，将其中的源网址更换为国内镜像站点即可。 步骤一、备份原文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak 步骤二、修改源文件 此处更换为中科大站点，地址如下： http://mirrors.ustc.edu.cn/raspbian/raspbian/ http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ 先更改软件源文件，执行命令如下： sudo vim /etc/apt/sources.list 修改文件中网址即可，修改后文件如下： deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi 然后更改系统源文件，执行命令如下： sudo vim /etc/apt/sources.list.d/raspi.list 修改文件中网址即可，修改后文件如下： deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ buster main deb-src http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ buster main 步骤三、更新 sudo apt-get update sudo apt-get upgrade 更新时间较长，需要等待十分钟左右 Android关闭系统锁屏 昨晚探索了一下Android系统内的目录，意外发现系统锁屏的数据库 使用adb shell进入系统根目录 adb shell su adb shell su sqlite3 data/system/locksettings.db select * from locksettings; update locksettings set value=1 where name='lockscreen.disable'; .quit 机器重启后直接进入系统默认App，电源键关屏幕后也不需要划屏开机 电源按键 adb shell input keyevent 26 屏幕亮度 echo 0 > /sys/class/leds/lcd-backlight/brightness echo 255 > /sys/class/leds/lcd-backlight/brightness 获取系统默认输入法 默认搜狗输入法 C:\Users\Administrator>adb shell settings get secure default_input_method com.sohu.inputmethod.sogouoem/.SogouIME 默认为Appium使用中文输入时安装的输入法 C:\Users\Administrator>adb shell settings get secure default_input_method put命令更改默认输入法（将io.appium.android.ime/.UnicodeIME改成com.sohu.inputmethod.sogouoem/.SogouIME） C:\Users\Administrator>adb shell settings put secure default_input_method com.sohu.inputmethod.sogouoem/.SogouIME 获取亮度是否为自动获取 C:\Users\Administrator>adb shell settings get system screen_brightness_mode 获取当前亮度值 C:\Users\Administrator>adb shell settings get system screen_brightness 更改亮度值（亮度值在0—255之间） C:\Users\Administrator>adb shell settings put system screen_brightness 150 获取屏幕休眠时间 C:\Users\Administrator>adb shell settings get system screen_off_timeout 更改休眠时间，10分钟 C:\Users\Administrator>adb shell settings put system screen_off_timeout 600000 获取日期时间选项中经过网络获取时间的状态，1为容许、0为不容许 C:\Users\Administrator>adb shell settings get global auto_time 更改该状态，从1改成0 C:\Users\Administrator>adb shell settings put global auto_time 0 以及获取、修改wifi状态（wifi_on）、飞行模式（airlpane_mode_on）等，这里也是appium中getNetworkConnection得到设备网络状态的方法。 adb shell settings help adb shell settings list system adb shell settings list secure adb shell settings list global apt install openssh sshd -p 8022 echo "sshd -p 8022" >> ~/.bashrc apt install tsu tsu passwd ssh root@192.168.1.165 apt edit-sources vi $PREFIX/etc/apt/sources.list pkg update pkg install vim curl wget git unzip unrar pkg install vim clang python gdb cgdb curl pkg install tsu vim /data/data/com.termux/files/usr/etc/apt/sources.list deb https://mirrors.ustc.edu.cn/termux stable main sed -i 's@^(deb.stable main)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux stable main@' $PREFIX/etc/apt/sources.list sed -i 's@^(deb.stable main)$@#\1\ndeb https://mirrors.ustc.edu.cn/termux stable main@' $PREFIX/etc/apt/sources.list sed -i 's@^(deb.*stable main)$@#\1\ndeb https://termux.net/ stable main@' $PREFIX/etc/apt/sources.list apt clean pkg up echo "sshd" >> ~/.bashrc echo "sshd -p 8022" >> ~/.bashrc echo "sshd" >> ~/.bashrc sshd -p 8022 ssh u0_a123@localhost -p 8022 pkg install termux-api pkg install python2 pkg install nodejs pkg install mariadb pkg install nginx pkg install aria2 pkg install clang fuser -k 8080/tcp pkg install nyancat nyancat vim ~/.vimrc " 设置当文件被改动时自动载入 set autoread " quickfix模式 autocmd FileType c,cpp map :w:make "代码补全 set completeopt=preview,menu "允许插件 filetype plugin on "共享剪贴板 set clipboard=unnamed "从不备份 set nobackup "自动保存 set autowrite set ruler " 打开状态栏标尺 set cursorline " 突出显示当前行 set magic " 设置魔术 set guioptions-=T " 隐藏工具栏 set guioptions-=m " 隐藏菜单栏 set foldcolumn=0 set foldmethod=indent set foldlevel=3 set foldenable " 开始折叠 " 不要使用vi的键盘模式，而是vim自己的 set nocompatible " 语法高亮 set syntax=on " 去掉输入错误的提示声音 set noeb " 在处理未保存或只读文件的时候，弹出确认 set confirm " 自动缩进 set autoindent set cindent " Tab键的宽度 set tabstop=4 " 统一缩进为4 set softtabstop=4 set shiftwidth=4 " 不要用空格代替制表符 set noexpandtab " 在行和段开始处使用制表符 set smarttab " 显示行号 set number " 历史记录数 set history=1000 "禁止生成临时文件 set nobackup set noswapfile "搜索忽略大小写 set ignorecase "搜索逐字符高亮 set hlsearch set incsearch "行内替换 set gdefault "编码设置 set enc=utf-8 set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 "语言设置 set langmenu=zh_CN.UTF-8 set helplang=cn " 我的状态行显示的内容（包括文件类型和解码） set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%] " 总是显示状态行 set laststatus=2 " 命令行（在状态行下）的高度，默认为1，这里是2 set cmdheight=2 " 侦测文件类型 filetype on " 载入文件类型插件 filetype plugin on " 为特定文件类型载入相关缩进文件 filetype indent on " 保存全局变量 set viminfo+=! " 带有如下符号的单词不要被换行分割 set iskeyword+=_,$,@,%,#,- " 字符间插入的像素行数目 set linespace=0 " 增强模式中的命令行自动完成操作 set wildmenu " 使回格键（backspace）正常处理indent, eol, start等 set backspace=2 " 允许backspace和光标键跨越行边界 set whichwrap+=<,>,h,l " 可以在buffer的任何地方使用鼠标（类似office中在工作区双击鼠标定位） set mouse=a set selection=exclusive set selectmode=mouse,key " 通过使用: commands命令，告诉我们文件的哪一行被改变过 set report=0 " 高亮显示匹配的括号 set showmatch " 匹配括号高亮的时间（单位是十分之一秒） set matchtime=1 " 光标移动到buffer的顶部和底部时保持3行距离 set scrolloff=3 " 为C程序提供自动缩进 set smartindent " 高亮显示普通txt文件（需要txt.vim脚本） au BufRead,BufNewFile * setfiletype txt "自动补全 :inoremap ( ()i :inoremap ) =ClosePair(')') :inoremap { {}O :inoremap } =ClosePair('}') :inoremap [ []i :inoremap ] =ClosePair(']') :inoremap " ""i :inoremap ' ''i function! ClosePair(char) if getline('.')[col('.') - 1] == a:char return "/" else return a:char endif endfunction filetype plugin indent on "打开文件类型检测, 加了这句才可以用智能补全 set completeopt=longest,menu "C++的编译和运行 "编译运行 map :call CompileRunGpp() func! CompileRunGpp() exec "w" exec "!g++ % -o %<" exec "! ./%<" endfunc "编译 map :call CompileGpp() func! CompileGpp() exec "w" exec "!g++ % -o %<" endfunc "运行 map :call RunGpp() func! RunGpp() exec "w" exec "! ./%<" endfunc F8（音量+键 + 8） 编译 F9（音量+键 + 9） 运行 F10（音量+键 + 0） 编译并运行 termux apt install openssh sshd -p 8022 echo "sshd -p 8022" >> ~/.bashrc apt install tsu tsu passwd ssh root@192.168.1.165 apt edit-sources vi $PREFIX/etc/apt/sources.list pkg update pkg install vim curl wget git unzip unrar pkg install vim clang python gdb cgdb curl pkg install tsu vim /data/data/com.termux/files/usr/etc/apt/sources.list deb https://mirrors.ustc.edu.cn/termux stable main sed -i 's@^(deb.stable main)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux stable main@' $PREFIX/etc/apt/sources.list sed -i 's@^(deb.stable main)$@#\1\ndeb https://mirrors.ustc.edu.cn/termux stable main@' $PREFIX/etc/apt/sources.list sed -i 's@^(deb.*stable main)$@#\1\ndeb https://termux.net/ stable main@' $PREFIX/etc/apt/sources.list apt clean pkg up echo "sshd" >> ~/.bashrc echo "sshd -p 8022" >> ~/.bashrc echo "sshd" >> ~/.bashrc sshd -p 8022 ssh u0_a123@localhost -p 8022 pkg install termux-api pkg install python2 pkg install nodejs pkg install mariadb pkg install nginx pkg install aria2 pkg install clang fuser -k 8080/tcp pkg install nyancat nyancat setprop persist.sys.usb.config mtp,adb setprop persist.sys.usb.config none export PATH=/data/local/tmp/buster/bin:$PATH chroot buster/ /bin/bash export PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin: export HOME=/root unset LD_PRELOAD export PATH=/data/local/tmp/buster/bin:$PATH cd /data/local/tmp exec proot --link2symlink -0 -r buster -b /dev -b /proc -w /root /usr/bin/env -i HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin: TERM=xterm-256color LANG=C.UTF-8 /bin/bash --login unset LD_PRELOAD export PATH=/data/local/tmp:/data/local/tmp/ubuntu-fs/bin:$PATH cd /data/local/tmp export LD_LIBRARY_PATH=/data/local/tmp export PROOT_TMP_DIR=/data/local/tmp/ubuntu-fs/tmp exec proot --link2symlink -0 -r ubuntu-fs -b /dev -b /proc -w /root /usr/bin/env -i HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin: TERM=xterm-256color LANG=C.UTF-8 /bin/bash --login export TERM=xterm-256color cd /data/local/tmp export PATH=/data/local/tmp:$PATH export LD_LIBRARY_PATH=/data/local/tmp export PROOT_TMP_DIR=/data/local/tmp/ubuntu-fs/tmp exec proot --link2symlink -0 -r ubuntu-fs -b /dev -b /proc -w /root /usr/bin/env -i HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin: TERM=xterm-256color LANG=C.UTF-8 /bin/bash --login proot error: execve("/usr/bin/env"): Permission denied proot info: possible causes: the program is a script but its interpreter (eg. /bin/sh) was not found; the program is an ELF but its interpreter (eg. ld-linux.so) was not found; the program is a foreign binary but qemu was not specified; qemu does not work correctly (if specified); the loader was not found or doesn't work. fatal error: see proot --help. ------ 真心累，好难配 ------ 安卓adb官方下载地址 ADB和Fastboot for Windows https://dl.google.com/android/repository/platform-tools-latest-windows.zip ADB和Fastboot for Mac https://dl.google.com/android/repository/platform-tools-latest-darwin.zip ADB和Fastboot for Linux https://dl.google.com/android/repository/platform-tools-latest-linux.zip cat data/system/users/0/runtime-permissions.xml https://bigota.d.miui.com/V12.0.1.0.QEDRUXM/miui_NITROGENRUGlobal_V12.0.1.0.QEDRUXM_ea7b3b949e_10.0.zip https://bigota.d.miui.com/V12.0.1.0.QEDMIXM/miui_MIMAX3Global_V12.0.1.0.QEDMIXM_83ae0d72cd_10.0.zip cmake -DCMAKE_TOOLCHAIN_FILE=/home/andy/Android/Sdk/ndk/21.2.6472646/build/cmake/android.toolchain.cmake -DANDROID_NDK=/home/andy/Android/Sdk/ndk/21.2.6472646/ -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM="27" ./ && cmake --build ./ adb shell pm list package import os import sys import platform os.name # 'posix' sys.platform # 'linux2' platform.machine() # 'x86_64' bool(sys.maxsize > 2 ** 32) # True export PATH=/data/data/com.termux/files/usr/bin:$PATH adb shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -h LD_LIBRARY_PATH=. ./minicap -h LD_LIBRARY_PATH=. ./minicap -P 1080x1920@1080x1920/0 -t wget https://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/os/ArchLinuxARM-aarch64-latest.tar.gz wget https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cdimage/ubuntu-base/releases/18.04.4/release/ubuntu-base-18.04-base-arm64.tar.gz !/data/data/com.termux/files/usr/bin/bash cd $(dirname $0) unset LD_PRELOAD in case termux-exec is installed unset LD_PRELOAD vim ubuntu-fs/etc/resolv.conf nameserver 8.8.8.8 nameserver 114.114.114.114 vim ubuntu-fs/etc/apt/sources.list deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates universe proot -w /home -b /dev -b /proc --link2symlink -0 -r ~/boost /bin/true pkg install debootstrap proot debootstrap --arch=armel stretch stretch http://ftp.debian.org/debian/. debootstrap --arch=armel stable stable http://ftp.debian.org/debian/ . !/data/data/com.termux/files/usr/bin/sh proot -0 -r ~/boost -b /dev/ -b /sys/ -b /proc/ -b /data/data/com.termux/files/home /bin/env -i HOME=/root TERM="xterm-256color" PS1='[root@stretch \W]$ ' PATH=/bin:/usr/bin:/sbin:/usr/sbin:/bin /bin/bash --login chmod 700 start.sh ./start.sh +enter/return /data/data/com.termux/files/usr/libexec/termux-api BatteryStatus /data/data/com.termux/files/usr/libexec/termux-api Brightness /data/com.termux/files/usr/libexec/termux-api Brightness --ei brightness 15 --ez auto false cd /data/data/com.termux/files/home/workspace/ dalvikvm -cp HelloWorld.dex HelloWorld dalvikvm -cp classes.dex HelloWorld pkg install ecj dx termux-tools ecj HelloWorld.java dx --dex --output=HelloWorld.dex dalvikvm -cp HelloWorld.dex HelloWorld ecj HelloWorld.java dx --dex --output=HelloWorld.dex HelloWorld.class dalvikvm -cp HelloWorld.dex HelloWorld ecj TermuxApiReceiver.java dx --dex --output=TermuxApiReceiver.dex TermuxApiReceiver.class dalvikvm -cp TermuxApiReceiver.dex TermuxApiReceiver https://redirector.gvt1.com/edgedl/android/studio/ide-zips/3.6.1.0/android-studio-ide-192.6241897-linux.tar.gz /media/andy/DEVS/dev/android/ndk-samples-master/native-activity/gradle/wrapper/gradle-wrapper.properties distributionUrl=https://services.gradle.org/distributions/gradle-5.4.1-all.zip distributionUrl=file:///home/andy/app_linux/gradle-4.10.1-all.zip distributionUrl=file:///home/andy/app_linux/gradle-5.4.1-all.zip distributionUrl=file:///home/andy/app_linux/gradle-6.1.1-all.zip taka-no-me / android-cmake cmake -DCMAKE_TOOLCHAIN_FILE=android.toolchain.cmake -DANDROID_NDK= -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="armeabi-v7a with NEON" && cmake --build cmake -DCMAKE_TOOLCHAIN_FILE=/home/andy/app_linux/android-ndk-r18b/build/cmake/android.toolchain.cmake -DANDROID_NDK=/home/andy/app_linux/android-ndk-r18b -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM="18" ./ && cmake --build ./ cmake -DCMAKE_TOOLCHAIN_FILE=/home/andy/Android/Sdk/ndk/21.2.6472646/build/cmake/android.toolchain.cmake -DANDROID_NDK=/home/andy/Android/Sdk/ndk/21.2.6472646 -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM="24" ../ && cmake --build ./ cmake --build . --clean-first pkg install clang pkg install nyancat pkg install python2 pkg install nodejs pkg install mariadb pkg install ecj pkg install dx ecj HelloWorld.java dx --dex --output=HelloWorld.dex HelloWorld.class dalvikvm -cp HelloWorld.dex HelloWorld javac HelloWorld.java dx --dex --output=classes.dex HelloWorld.class zip HelloWorld.zip classes.dex adb push HelloWorld.zip /sdcard/ adb shell mkdir /sdcard/dalvik-cache adb shell ANDROID_DATA=/sdcard dalvikvm -cp /sdcard/HelloWorld.zip HelloWorld aapt package -f -m -J gen -S res -I E:\sdk\platforms\android-19\android.jar -M AndroidManifest.xml javac -encoding UTF-8 -target 1.6 -bootclasspath E:\sdk\platforms\android-19\android.jar -d bin src\com\demo\www*.java gen\com\demo\www\R.java aapt package -f -m -J ./gen -S res -M AndroidManifest.xml -I D:\android.jar aapt package -f -m -J ./gen -S res -I /home/tonywang/sdk/platforms/android-23/android.jar -M AndroidManifest.xml 1098 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "build-tools;27.0.3" 1099 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "platforms;android-27" 1100 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "system-images;android-27;default;x86_64" 1101 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "emulator" 1102 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --list 1103 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "platform-tools" 1104 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "platform-tools" | grep 26.1.1 1105 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "platform-too 1106 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --list | grep 26.1.1 1107 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --list | grep ools 1108 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --list | grep tools 1109 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "tools" 1110 ./sdkmanager --sdk_root=/home/andy/Android/Sdk --help cd /home/andy/app_linux/cmdline-tools/bin/ ./sdkmanager --list --sdk_root=/home/andy/Android/Sdk ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "build-tools;27.0.3" ./sdkmanager --sdk_root=/home/andy/Android/Sdk --install "platforms;android-27" android create project --target --name <项目名称> --path <项目的路径> --activity <Activity的名称> --package <项目的包名> strace android create project --target 24 --path native-camera --package com.liuzongandy.nativeCamera --activity NativeCamera ./gradlew assembleRelease 简写为：./gradlew aR ./gradlew tasks --all gradlew :app:dependencies ./gradlew installDebug ./gradlew build --info ./gradlew build --info --debug --stacktrace ./gradlew clean --refresh-dependencies build /home/andy/app_linux/android-ndk-r18b/ export ANDROID_NDK=/home/andy/app_linux/android-ndk-r18b/ export ANDROID_SDK=/home/andy/app_linux/android-studio/ adb shell su cd /data/data/com.termux/files/home/jails/ubuntu/ export PATH=/data/data/com.termux/files/usr/bin:$PATH unset LD_PRELOAD exec proot --link2symlink -0 -r ubuntu-fs -b /dev -b /proc -w /root /usr/bin/env -i HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin: TERM=xterm-256color LANG=C.UTF-8 /bin/bash --login LD_LIBRARY_PATH=. exec ./proot --link2symlink -0 -r deb-fs -b /dev -b /proc -b debn/tmp:/tmp -w /root /usr/bin/env -i HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin: TERM=xterm-256color LANG=C.UTF-8 /bin/bash --login export PATH=/data/local/tmp/deb-fs/usr/bin:/data/local/tmp:$PATH exec proot --link2symlink -0 -r deb-fs -b /dev -b /proc -w /root /usr/bin/env -i HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin: TERM=xterm-256color LANG=C.UTF-8 /bin/bash --login 2055 adb shell dumpsys window | findstr mCurrentFocus 2056 adb shell dumpsys window | grep mCurrentFocus 2057 adb shell pm list packages -f 2065 adb shell input swipe 300 100 300 500 2081 adb logcat *:I 2093 adb logcat -s "native-activity" 2094 ./gradlew installDebug 模拟滑动触屏操作 adb shell input touchscreen swipe 930 880 930 380 //向上滑 adb shell input touchscreen swipe 930 880 330 880 //向左滑 adb shell input touchscreen swipe 330 880 930 880 //向右滑 adb shell input touchscreen swipe 930 380 930 880 //向下滑 模拟鼠标操作 adb shell input mouse tap 100 500 adb shell input keyevent 19 (方向上键) adb shell input keyevent 20 (方向下键) adb shell input keyevent 21 (方向左键) adb shell input keyevent 22 (方向右键) adb shell input keyevent 23 (方向下键) adb shell input keyevent 61 (TAB键) adb shell input keyevent 66 (确定键) adb shell input keyevent 3 (返回键) adb shell input keyevent HOME (方向下键) adb shell input keyevent MENU (菜单键) adb shell input keyevent BACK (返回键) adb shell input keyevent CAMERA (拍照键) adb shell input keyevent POWER (电源键) 1996 adb install Magisk_V23.0.apk 1997 adb shell 1998 adb shell pm start com.example.native_activity 1999 adb shell am start -n com.example.native_activity/com.example.native_activity 2000 adb shell am start -n com.android.music/com.android.music.MusicBrowserActivity 2001 adb shell pm list package -f 2002 adb shell pm list package -f | grep nat 2003 adb shell dumpsys package com.example.native_activity 2004 adb shell am start -n com.example.native_activity/android.app.NativeActivity 2005 adb shell 2006 adb shell input keyevent 26 2007 dumpsys power | grep mScreenOn 2008 adb shell dumpsys power | grep mScreenOn 2009 adb shell dumpsys power 2010 adb shell dumpsys power | grep een 2011 adb shell dumpsys power | grep mScreenOn 2012 adb shell dumpsys power 2013 adb shell screencap -p /sdcard/screenshots/01.png 2014 adb shell screencap -p /sdcard/Andy/01.png 2016 adb shell input keyevent 224 2017 pwd 2018 ll 2019 adb logcat *:W adb shell am start -n <com.package.name>/<com.package.name.ActivityName> adb shell pm list packages -f adb shell dumpsys activity adb shell am force-stop cn.com.conversant.swiftsync.android adb shell am kill com.android.browser adb shell am start -n com.android.settings/com.android.settings.Settings dumpsys window windows | grep Current am start -n com.termux/com.termux.app.TermuxActivity am start -a android.intent.action.CALL -d tel:10010 am start -n com.android.camera/com.android.camera.Camera am start -a android.intent.action.VIEW -d http://www.google.cn/ am start -a android.intent.action.CALL -d tel:10086 am start -a android.intent.action.VIEW geo:0,0?q=beijing am start -n com.example.native_activity/android.app.NativeActivity service ftpServer /data/data/com.termux/files/home/workspace/ftpServer class main user root group root oneshot on property:sys.boot_completed=1 start ftpServer mount -o rw -o remount /dev/block/actb / https://f-droid.org/repo/com.termux.api_47.apk https://f-droid.org/repo/com.termux.api_46.apk adb tcpip 5555 （端口号） adb connect 192.168.1.100 （Android设备IP地址） adb usb 使用回usb调试 adb -s 192.168.1.142:5555 shell adb devices adb -s 6016958b shell adb shell TCP/IP方式： setprop service.adb.tcp.port 5555 stop adbd start adbd usb方式： setprop service.adb.tcp.port -1 stop adbd start adbd /init.rc /default.prop /system/build.prop ANDROID_NDK NDK_ROOT https://dl.google.com/android/repository/android-ndk-r17c-windows-x86.zip https://dl.google.com/android/repository/android-ndk-r17c-windows-x86_64.zip https://dl.google.com/android/repository/android-ndk-r17c-darwin-x86_64.zip https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip 翻不了墙的话，可以用迅雷下载 最新版本r20 https://dl.google.com/android/repository/android-ndk-r20-windows-x86.zip https://dl.google.com/android/repository/android-ndk-r20-windows-x86_64.zip https://dl.google.com/android/repository/android-ndk-r20-darwin-x86_64.zip https://dl.google.com/android/repository/android-ndk-r20-linux-x86_64.zip 历史版本： https://dl.google.com/android/repository/android-ndk-r19c-windows-x86.zip https://dl.google.com/android/repository/android-ndk-r19c-windows-x86_64.zip https://dl.google.com/android/repository/android-ndk-r19c-darwin-x86_64.zip https://dl.google.com/android/repository/android-ndk-r19c-linux-x86_64.zip https://dl.google.com/android/repository/android-ndk-r18b-windows-x86.zip https://dl.google.com/android/repository/android-ndk-r18b-windows-x86_64.zip https://dl.google.com/android/repository/android-ndk-r18b-darwin-x86_64.zip https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip https://dl.google.com/android/repository/android-ndk-r17c-windows-x86.zip https://dl.google.com/android/repository/android-ndk-r17c-windows-x86_64.zip https://dl.google.com/android/repository/android-ndk-r17c-darwin-x86_64.zip https://dl.google.com/android/repository/android-ndk-r17c-linux-x86_64.zip https://dl.google.com/android/repository/android-ndk-r16b-windows-x86.zip https://dl.google.com/android/repository/android-ndk-r16b-windows-x86_64.zip https://dl.google.com/android/repository/android-ndk-r16b-darwin-x86_64.zip https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip https://dl.google.com/android/repository/android-ndk-r15c-windows-x86.zip https://dl.google.com/android/repository/android-ndk-r15c-windows-x86_64.zip https://dl.google.com/android/repository/android-ndk-r15c-darwin-x86_64.zip https://dl.google.com/android/repository/android-ndk-r15c-linux-x86_64.zip https://dl.google.com/android/repository/android-ndk-r14b-windows-x86.zip https://dl.google.com/android/repository/android-ndk-r14b-windows-x86_64.zip https://dl.google.com/android/repository/android-ndk-r14b-darwin-x86_64.zip https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip https://dl.google.com/android/repository/android-ndk-r13b-windows-x86.zip https://dl.google.com/android/repository/android-ndk-r13b-windows-x86_64.zip https://dl.google.com/android/repository/android-ndk-r13b-darwin-x86_64.zip https://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip https://dl.google.com/android/repository/android-ndk-r12b-windows-x86.zip https://dl.google.com/android/repository/android-ndk-r12b-windows-x86_64.zip https://dl.google.com/android/repository/android-ndk-r12b-darwin-x86_64.zip https://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip https://dl.google.com/android/repository/android-ndk-r11c-windows-x86.zip https://dl.google.com/android/repository/android-ndk-r11c-windows-x86_64.zip https://dl.google.com/android/repository/android-ndk-r11c-darwin-x86_64.zip https://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip https://dl.google.com/android/repository/android-ndk-r10e-windows-x86.zip https://dl.google.com/android/repository/android-ndk-r10e-windows-x86_64.zip https://dl.google.com/android/repository/android-ndk-r10e-darwin-x86_64.zip https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip Android API Level对应Android版本一览表 API Level 最初Android版本 Linux内核版本 首次发布日期 后续Android版本 29 10 Unknown 2019-06-05(Beta 4) - 28 9 4.4.107, 4.9.84, and 4.14.42 2018-08-06 无 27 8.1 4.10 2017-12-05 无 26 8.0 4.10 2017-08-21 无 25 7.1 4.4.1 2016-10-04 7.1.1、7.1.2 24 7.0 4.4.1 2016-08-22 无 23 6.0 3.18.10 2015-10-05 6.0.1 22 5.1 3.16.1 2015-03-09 5.1.1 21 5.0 3.16.1 2014-11-12 5.0.1、5.0.2 20 4.4w 3.10 2014-06-25 4.4w.1、4.4w.2 19 4.4 3.10 2013-10-31 4.4.1、4.4.2、4.4.3、4.4.4 18 4.3 3.4.0 2013-07-24 4.3.1 17 4.2 3.4.0 2012-11-13 4.2.1、4.2.2 16 4.1 3.0.31 2012-07-09 4.1.1、4.1.2 15 4.0.3 3.0.1 2011-12-16 4.0.4 14 4.0 3.0.1 2011-10-18 4.0.1、4.0.2 13 3.2 2.6.36 2011-07-15 3.2.1、3.2.2、3.2.3、3.2.4、3.2.5、3.2.6 12 3.1 2.6.36 2011-05-10 无 11 3.0 2.6.36 2011-02-22 无 10 2.3.3 2.6.35 2011-02-09 2.3.4、2.3.5、2.3.6、2.3.7 9 2.3 2.6.35 2010-12-06 2.3.1、2.3.2 8 2.2 2.6.32 2010-05-20 2.2.1、2.2.2、2.2.3 7 2.1 2.6.29 2010-01-12 无 6 2.0.1 2.6.29 2009-12-03 无 5 2.0 2.6.29 2009-10-26 无 4 1.6 2.6.29 2009-09-15 无 3 1.5 2.6.27 2009-04-27 无 2 1.1 2.6.X 2009-02-09 无 1 1.0 - 2008-09-23 无
0，虚拟主机： Location:Tokyo IP Address:202.182.127.16 Username:root Password:Z1%eG9Yw8T-A)p)n 用户 [doubi] 的配置信息： I P : 202.182.127.16 端口 : 2333 密码 : 543604 加密 : aes-128-ctr 协议 : auth_aes128_md5 混淆 : tls1.2_ticket_auth_compatible 设备数限制 : 0(无限) 单线程限速 : 0 KB/S 用户总限速 : 0 KB/S 禁止的端口 : 无限制 A，使用步骤： 下载RT2870驱动包含kext（5.0.1.25）和pkg（5.0.0.27）pkg解包手动安装 116 pkgutil --expand RT2870Utility.pkg WirelessUtility 117 cd WirelessUtility/ 118 cat RT2870Utility.pkg/Payload | cpio -i 1、安装 RT2870USBWirelessDriver.kext 到 /S/L/E*/，本人安装到clover/kexts/10.11 2、安装 RaWLAPI.framework 到 /Library/Frameworks 3、安装 WirelessUtility 到 /Applications，并设置为自动启动 B，使用步骤，版本51方法失效： Google Chorme 51 cd ~/Library/Google sudo chown root:wheel GoogleSoftwareUpdate Google Chorme 62 cd /Library/Google/GoogleSoftwareUpdate rm GoogleSoftwareUpdate.bundle C，使用步骤，破解删除软件包五次限制： cd /Users/liujun/Library/Preferences/ com.corecode.UninstallPKG.plist Usage=1 Paddle.framework replace in UninstallPKG.app D，原生支持NTFS磁盘读写 macbook:~ uwe$ sudo umount /Volumes/UNTITLED macbook:~ uwe$ sudo mount -t ntfs -o rw,auto,nobrowse /dev/disk3s1 ~/ntfs-volume 或者编译mac版本的ntfs开源驱动 E，删除系统报告里面安装软件记录： sudo vim /Library/Receipts/InstallHistory.plist F，sublimetext 3.1.1 3176激活码： ----- BEGIN LICENSE ----- sgbteam Single User License EA7E-1153259 8891CBB9 F1513E4F 1A3405C1 A865D53F 115F202E 7B91AB2D 0D2A40ED 352B269B 76E84F0B CD69BFC7 59F2DFEF E267328F 215652A3 E88F9D8F 4C38E3BA 5B2DAAE4 969624E7 DC9CD4D5 717FB40C 1B9738CF 20B3C4F1 E917B5B3 87C38D9C ACCE7DD8 5F7EF854 86B9743C FADC04AA FB0DA5C0 F913BE58 42FEA319 F954EFDD AE881E0B ------ END LICENSE ------ 如果无效更改hosts：sudo vim /private/etc/hosts 127.0.0.1 www.sublimetext.com 127.0.0.1 license.sublimehq.com 设置中文： 官网安装默认 Package Control 选项，找到 Tools->Install Package Control选项，即可调出 Package Control 或者Tools->Command Palette...选项，输入 ipc ,点击 Install Package Control，即可调出 Package Control 找到Preferences->Package Control 输入框输入ip，点击install Package输入clz，点击ChineseLocalizations 设置成中文
set qt env for 32bit system set QTDIR = D:\Qt\Qt5.12.12\5.12.12\msvc2017 set Qt_INCLUDEPATH_ = %QTDIR%\include set Qt_LIBPATH_ = %QTDIR%\lib qt-vsaddin-msvc2017 bug test (please use 2.2.2(Qt4VSv1.0) or 2.7.2(QtVS_v304) auto moc with icon bug for rc ") qt-vsaddin-msvc2017-2.2.2 ** OK qt-vsaddin-msvc2017-2.5.2-rev.01 qt-vsaddin-msvc2017-2.6.0-rev.07 qt-vsaddin-msvc2017-2.7.2-rev.02 IDI_ICON1 ICON DISCARDABLE "QtWidgetsApplication.ico qt-vsaddin-msvc2017-2.8.1-rev.06 qt-vsaddin-msvc2017-2.9.1-rev.06 qt-vsaddin-msvc2017-2.10.1-rev.2 QList<QPair<QWidget *, QPair<QString, char *>>> tablist = {{treeWidget, {"treeitem", "模板树图"}}}; error C2440: “初始化”: 无法从“initializer list”转换为“QList<QPair>” ``` win10 输入法突然自动变成繁体： -- win10繁体字改简体字快捷键介绍 在微软输入法的前提下,直接按住【Ctrl+Shift+F】 1.# Windows10 与 WSL（Ubuntu）的文件互访 从WSL访问win10的文件 cd /mnt 从win10访问WSL的文件 打开Ubuntu explorer.exe . 导出当前系统 wsl --export Ubuntu-20.04 D:\Ubuntu-20.04.tar 注销当前已经安装的Linux发行版 wsl --unregister Ubuntu-20.04 将导出的Linux发行版重新导入并安装到D盘 wsl --import Ubuntu-20.04 D:\Ubuntu-20.04 D:\Ubuntu-20.04.tar --version 2 设置默认登录用户 ubuntu2004 config --default-user WSL https://learn.microsoft.com/en-us/windows/wsl/install-manual wsl -l wsl -l -v wsl --set-default-version 2 wsl -s Ubuntu-20.04 wsl --set-version Ubuntu-20.04 1 wsl --set-version Ubuntu-18.04 2 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi 功率源 Power source 协议 agree on; agreement; protocol; windows 修改WSL系统ubuntu默认登陆用户 ubuntu1804.exe config --default-user root -- download: vs_community.exe --layout e:\vs2017layout --lang zh-CN --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended vs_Community.exe --layout e:\vs2017layout --lang zh-CN --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Component.VC.ATLMFC --includeRecommended -- install： c:\vs2017layout\vs_community.exe --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommend Ubuntu Ubuntu 22.04 LTS Ubuntu 20.04 Ubuntu 20.04 ARM Ubuntu 18.04 Ubuntu 18.04 ARM Ubuntu 16.04 Debian GNU/Linux Kali Linux SUSE Linux Enterprise Server 12 SUSE Linux Enterprise Server 15 SP2 SUSE Linux Enterprise Server 15 SP3 openSUSE Tumbleweed openSUSE Leap 15.3 openSUSE Leap 15.2 Oracle Linux 8.5 Oracle Linux 7.9 Fedora Remix for WSL https://learn.microsoft.com/en-us/windows/wsl/install-manual GCC (on Linux) and some other compilers, e.g Sun Studio. Set CFLAGS and CXXFLAGS to include -m32 (32-bit build) or -m64 (64-bit build). Windows, Visual Studio generator .Use 64 bit generator ,e.g cmake -G "Visual Studio 10 Win64" path osourcedir to compile 64-bit (x64). Omit "Win64" in generator name, to build for 32 bit Mac OS X. Use CMAKE_OSX_ARCHITECTURES CMake variable. cmake -DCMAKE_OSX_ARCHITECTURES=i386 /path/to/source/dir will compile 32 bit build cmake -DCMAKE_OSX_ARCHITECTURES=x86_64 /path/to/source/dir will compile 64 bit. Finally, cmake "-DCMAKE_OSX_ARCHITECTURES=x86_64;i386" /path/to/source/dir will create 96-bit universal binaries :) VS2017写代码时几个常用的快捷键 说明：组合键是同时按，非组合键是按住Ctrl依次按后面的键 0.导航 向前 Ctrl+- 向后 CTRL + SHIFT + - 1.格式化 格式化全部代码 Ctrl+A+K+F 格式化选中的代码 Ctrl+K+F 正确对齐所有代码 Ctrl + K，Ctrl + D 2.注释代码 注释代码 Ctrl+K+C（comment） 反注释代码 Ctrl+K+U 3.代码录入智能提示 组合键 Ctrl+J 组合键 Alt+→ 4.移动调整代码 1）调整一行：按住Alt键同时，按方向键上或下可以调整代码的顺序 2）同时移动多行： a）先按住Shift+Alt 然后按上或下选中多行，有条竖线产生； b）然后只松开Shift键，按上下方向键移动多行。 5.快速隐藏或显示当前代码段 组合键：Ctrl+M,M 按两次M 6.全屏显示/退出全屏显示 组合键 SHIFT + ALT + ENTER 7.剪切复制粘贴删除 删除，复制，剪切一行代码不需要选中，只需要光标在这一行就是了 复制 Ctrl+C 剪切 Ctrl+X 粘贴 Ctrl+V 删除 Ctrl+L 8.在光标所在行的上面或下面插入一行 配合5使用，效果更佳 在当前行的上面插入一个空行 组合键：Ctrl+Enter 在当前行的下面插入一个空行 组合键：Ctrl+Shift+Enter 9.查找和替换 查找 组合键：Ctrl+F 替换 组合键：Ctrl+H 10.大小写转换 转小写 组合键：Ctrl+ U 转大写 组合键：CTRL + SHIFT + U 11.快速切换窗口 组合键：Ctrl+Tab 12.跳转到指定的某一行 组合键：Ctrl+G 13.矩形区域选择 组合键：Shift+Alt+鼠标拖动 （很适合区域代码块选择） 14、定位到代码开始和结尾 Home：定位到行头 End：定位到行尾 15.调用智能提示 1）方法1：使用组合键“Ctrl+J”； 2）方法2：使用组合键“Alt+→”。 win10正式版版本号有哪些 正式版本号有： 1、第一代的“10240”；2、第二代的“10586”；3、第三代的“14393”；4、第四代的“15063”； 5、第五代的“16299”；6、第六代的“17134”；7、第七代的“17763”；8、第八代的“18362”等。 Line 57: 1、开发代号：TH1；版本号：1507；内部版本号：10240 Line 61: 2、开发代号：TH2 版本号：1511 内部版本号：10586 Line 65: 3、开发代号：RS1；版本号：1607；内部版本号：14393 Line 69: 4、开发代号：RS2；版本号：1703；内部版本号：15063 Line 75: 5、开发代号：RS3；版本号：1709；内部版本号：16299 Line 81: 6、开发代号：RS4；版本号：1803；内部版本号：17134 Line 87: 7、开发代号：RS5；版本号：1809；内部版本号：17763 Line 93: 8、开发代号：19H1；版本号：1903；内部版本号：18362 Line 97: 9、开发代号：19H2；版本号：1909；内部版本号：18363 Line 101: 10、开发代号：20H1；版本号：2004；内部版本号：19041 Line 117: 13、开发代号：未知；版本号：21H2；内部版本号：2xxxx Windows 10 神州网信政府版说明： Windows 10 神州网信政府版，官方报价2158元人民币 Windows 10 神州网信政府版 V2020-L 系统版本号 v1809 (Build 17763.1309) Windows 10 神州网信政府版 账户密码设置要求非常严格： 1、不能使用Administrator作为用户名； 2、请牢记你设置的密码，如果你忘记了密码，我们无法帮助你恢复，你将只能重装系统； 3、登录系统时，默认密码输入错误5次后会锁定半小时，半小时后可继续尝试输入密码。 或用任意Win10激活工具即可KMS38永久激活！ slmgr /upk slmgr /ipk YYVX9-NTFWV-6MDM3-9PT4T-4M68B slmgr /skms kms.03k.org slmgr /ato windows下 OpenSSH ssh可以连接 sftp无法连接的解决方法 需要将openssh所在的文件夹的路径添加到环境变量中 配置文件sshd_config_default中的sftp相关的配置使用的是相对路径。如果不在环境变量中是找不到的 override default of no subsystems -- Subsystem sftp sftp-server.exe PowerShell_Win32-OpenSSH https://github.com/PowerShell/PowerShell https://github.com/PowerShell/Win32-OpenSSH https://github.com/PowerShell/Win32-OpenSSH/wiki powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22 注意: 选项名称包括等号。 等号和值之间需要一个空格。 sc config sshd start= auto net start sshd New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 net start sshd Set-Service sshd -StartupType Automatic cat C:\ProgramData\ssh\sshd_config cd 'C:\Program Files\OpenSSH' powershell.exe -ExecutionPolicy Bypass -File uninstall-sshd.ps1 Windows + Linux 双系统时间同步问题解决 1, 推荐 sudo timedatectl set-local-rtc 1 timedatectl set-local-rtc 1 --adjust-system-clock # 让Linux使用localtime sudo timedatectl # 验证时间 sudo hwclock -w #更新硬件时间 sudo hwclock可以查看硬件时间，timedatectl可以查看本地时间、UTC时间、时区、是否开启时间同步等信息。如果经过设置之后时间不正确了，可以通过以下命令开启同步。 sudo systemctl restart systemd-timesyncd.service #开启时间同步服务 sudo timedatectl set-ntp true #开启同步 sudo hwclock -w #更新硬件时间 2,不推荐， 每次装linux都需要改linux的时间 修改 Windows对硬件时间的对待方式，让 Windows把硬件时间当作UTC Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1 visual-cpp-build-tools d:\vslayout\visualcppbuildtools_full.exe /layout d:\vslayout\visualcppbuildtools vs_community.exe --layout d:\vslayout\vs_community_offline --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --lang zh-CN en-US English zh-CN Chinese - Simplified 制作Visual Studio 2019 (VS 2019) 离线安装包 制作web和桌面开发的安装包 vs_community.exe --layout c:\vslayout --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.NetWeb --add Component.GitHub.VisualStudio --includeOptional --lang en-US 注意： 上面的参数—add添加了Visual Studio中所需要的功能模块 上面的参数—lang en-us指定了语音包，如果需要中文版本，可以使用参数zh-cn 桌面应用和office应用开发 vs_community.exe --layout c:\vslayout --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.Office --includeOptional --lang en-US C++桌面开发 vs_community.exe --layout c:\vslayout --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --lang en-US 下载完整的安装包 vs_community.exe --layout c:\vslayout --lang en-US download visualcppbuildtools_full.exe /Layout VCbuildtools visualcppbuildtools_full.exe /Help #include<stdio.h> int main(){ printf("hello vs build tools.\n"); printf("press any key to exit.\n"); getchar(); return 0; } cl hello_world.c .\hello_world.exe C:\Program Files (x86)\Microsoft Visual C++ Build Tools\vcbuildtools.bat C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat MSBuild vsNMakeTest.sln /t:rebuild /p:Configuration=Release MSBuild vsNMakeTest.vcproj /t:rebuild /p:Configuration=Debug MSBuild vsNMakeTest.vcproj /t:clean /p:Configuration=Debug MSBuild vsNMakeTest.csproj /t:build /p:Configuration=Debug;Platform=x86;TargetFrameworkVersion=v3.5 win7 修改用户名,彻底修改用户名和用户文件夹路径 1，控制面板修改用户名； 2，管理，用户和组修改用户名； 3，修改C盘user下面的用户名文件夹； 4，注册表修改用户路径中的用户名； 5，重启，重设壁纸； 1,控制面版，用户，修改用户名； 2, 计算机，用户和组，修改用户实际名字； 3，注册表，[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList]修改用户文件夹路径； 4，修改C盘users下面的文件夹名字； 5，重启 win彻底修改用户名和用户文件夹路径 win解压msi文件 msiexec /a "d:\python-2.7.18.amd64.msi" /qb TARGETDIR="" win10 win11 开启linux子系统 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 开启虚拟机平台 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart wsl --help wsl.exe --install wsl --install -d <DistroName> wsl --install -d Ubuntu-20.04 // Ubuntu-20.04 wsl -d debian wsl --list --online wsl --update wsl --status wsl --list --verbose 或 wsl -l -v wsl --set-default wsl -s wsl -s ubuntu wsl --set-default-version 2 wsl --set -version <name> <version> wsl --set -version Debian 2 wsl sudo apt update wsl --distribution debian sudo apt update wsl --export <发行版> <位置> <文件名> wsl --export debian c:\code\debiantest.tar wsl --import debian c:\code\debiantest.tar wsl --distribution <发行名称> wsl --distribution debiantest WSL 2（Windows Subsystem for Linux 2） wsl -l -v wsl --list --verbose dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart wsl --set-default version 2 wsl --set-version Ubuntu-18．04 2 wsl --shutdown wsl --update wsl --list --online wsl --install -d Ubuntu-20.04 wsl -d Ubuntu-20.04 -u root service mysql start start one of ubuntu of linux // /mnt/c /mnt/d \wsl$ \wsl$\Ubuntu-18.04 explorer.exe . other: %LOCALAPPDATA%\Packages\<PackageFamilyName>\LocalState\ wsl --mount \\.\PHYSICALDRIVE2 --Partition 1 -t ext4 wsl --unmount <DISKPATH> eg: wsl --unmount \\.\PHYSICALDRIVE2 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart sudo apt install language-pack-zh-hans sudo apt install language-pack-gnome-zh-hans sudo apt install language-pack-kde-zh-hans Win10 + WSL2 + VS Code + Terminal config develop envirement win10 禁用更新 1.首先使用Win+R组合快捷键,打开运行对话框,然后输入命令services.msc,点击下方的“确定”打开服务 2.在Win10服务设置中找到「Windows Update」选项,并双击打开 3.然后在Windows Update属性设置中,将启动类型改为「禁用」,再点击下方的「停止」,最后再点击底部的「应用」保存设置 4.接下来再切换到「恢复」选项,将默认的「重新启动服务」改为「无操作」,完成后点击下方的「应用」即可 win10自动更新是一个非常便利但是也非常让人烦恼的一个功能，虽然开启自动更新功能用户们就不需要为更新而思考但是用户们也失去了对自己电脑的掌控了，并且自动更新这个功能还非常的难以关闭，今天小编为大家带来的就是如何_彻底禁止win10自动更新的图文详细教程，有需要关闭win10自动更新功能的小伙伴们快来看看吧。 win10永久关闭自动更新方法： 方法一： 1、在键盘上按「win+R」键。 2、输入services.msc点击「确定」。 3、找到windows update选项，双击「Windows Update」。 4、启动类型选择「禁用」。 5、点击「恢复」，第一次失败处选择「无操作」，然后点击「应用」、「确定」。 6、在键盘上按「win+R」键，输入gpedit.msc点击「确定」。 7、依此选择「计算机配置」、「管理模板」、「Windows组件」双击「Windows更新」。 8、找到"配置自动更新"选项，双击「配置自动更新」。 9、选择「已禁用」，点击「应用」、「确定」即可彻底关闭windows系统更新。 win10 添加启动项 打开“运行”，输入：shell:startup ，既打开如下路径，添加快捷方式或者应用程序。 C:\Users\Lenovo\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup Windows 路径变量 变量 路径 %HOMEDRIVE% C:\ %SystemDrive% C:\ %PROGRAMFILES% C:\Program Files %PROGRAMFILES(X86)% C:\Program Files (x86) %COMMONPROGRAMFILES% C:\Program Files\Common Files %COMMONPROGRAMFILES(x86)% C:\Program Files (x86)\Common Files %ALLUSERSPROFILE% C:\ProgramData %PROGRAMDATA% C:\ProgramData %HOMEPATH% C:\Users\用户名 %USERPROFILE% C:\Users\用户名 %LOCALAPPDATA% C:\Users\用户名\AppData\Local %TEMP% C:\Users\用户名\AppData\LocalTemp %TMP% C:\Users\用户名\AppData\LocalTemp %APPDATA% C:\Users\用户名\AppData\Roaming %PUBLIC% C:\Users\Public %SystemRoot% C:\Windows %WINDIR% C:\Windows %COMSPEC% C:\Windows\System32\cmd.exe