垃圾Oracle,下個JDK還需要登錄,并且下載還超慢,還是國內下載鏡像地址爽!(from qingliang4321,Thks!)
TUNA鏡像,HUAWEI鏡像,injdk,編程寶庫,jdk下載
最新下載的jdk壓縮包,解壓后都沒有jre目錄了,需要執行命令
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
生成jre目錄
在Windows系統中,如果兩個項目需要不同版本的Java,可以通過以下方式來解決:
使用環境變量設置不同的JAVA_HOME:
為每個項目創建一個批處理文件(.bat)或shell腳本(.sh)。
在腳本中,設置特定版本的JAVA_HOME環境變量,然后再運行項目。
例如,創建一個名為project1.bat的批處理文件:
set JAVA_HOME=C:\Java\jdk1.8.0_xxx
java -jar project1.jar
對于另一個項目,創建一個名為project2.bat的批處理文件:
set JAVA_HOME=C:\Java\jdk11.0.xxx
java -jar project2.jar
通過運行相應的批處理文件來啟動每個項目。相對路徑按如下設置:
:: 假設你的 Java 安裝在當前腳本所在目錄的上一級目錄的 "jdk" 文件夾中
set RELATIVE_PATH=jdk\temurin_17.0.13_11_windows_x86_64\jdk-17.0.13+11
:: 將相對路徑轉換為絕對路徑(使用%~dp0獲取當前腳本的目錄)
for %%i in ("%~dp0.") do set ABSOLUTE_PATH=%%~dpi%RELATIVE_PATH%
:: 設置 JAVA_HOME 環境變量
set JAVA_HOME=%ABSOLUTE_PATH%
:: 驗證 JAVA_HOME 設置是否正確
echo JAVA_HOME is set to: %JAVA_HOME%
程序員網址導航https://www.coderutil.com/
讓瀏覽器快速變成文本編輯器,地址欄輸入:data:text/html, <html contenteditable>
臨時文件上傳快速分享好網站:奶??靷?/a>
談談Android下App的安全性問題,寫好強壯代碼
Android部分手機崩潰了后會自動重啟應用,導致logcat的崩潰日志被刷掉,很是苦惱,拔線都來不及,這個時候可以用
adb logcat >> log.txt
命令在要崩潰的時候趕緊執行記錄日志到文件,崩潰后及時停止記錄,然后進去搜索FATAL EXCEPTION
就可以愉快看報錯了
Android逆向:
Android脫殼實質就是dumpDexhttps://www.cnblogs.com/jiaoxiake/p/6818786.html
在手機上dump運行app的dex工具https://github.com/CodingGay/BlackDex
Android逆向工具集合https://pan.baidu.com/s/14LvxsYv4O_vTm4IWaGHnjQ?pwd=t3y3
Android 7.0之后系統如何抓包
Android 7.0 (API 24) 之后,使得系統安全性增加了,導致APP 默認不信任用戶域的證書,之前把Charles的ssl證書,安裝到 受信任的憑據 -> 用戶 就沒用了,因為不受信任了,只信任(安裝到)系統域的證書,導致抓出來的https的請求,都是加了密的,無法看到原文了
對此,相關解決思路和方案:
1.(努力想辦法)讓系統信任Charles的ssl證書,作為app的開發者自己:改自己的app的配置,允許https抓包,重要提醒:前提是得到或本身有app的源碼,新建:res/xml/network_security_config.xml,內容:
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <base-config> <trust-anchors> <certificates src="system" /> <certificates src="user" /> </trust-anchors> </base-config> <debug-overrides> <trust-anchors> <certificates src="user" /> </trust-anchors> </debug-overrides> </network-security-config>
2.把證書放到受系統信任的系統證書中去,重要提示:前提是手機已root
??1).計算證書名:openssl x509 -subject_hash_old -in charles-ssl-proxying-certificate_saved.pem,算出數值,比如3a1074b3
??2).證書文件改名,然后把原Charles證書charles-ssl-proxying-certificate_saved.pem改名為3a1074b3.0
??3).放到系統分區,放到/system/etc/security/cacerts/
3.繞開https不去校驗,借助于其他(JustTrustMe等)工具繞開https的校驗,重要提示:需要借助其他XPosed等框架配合才可以
??Android用可以繞開/禁止SSL pinning的插件JustTrustMe,IOS基于Cydia
的Android-SSL-TrustKiller/SSL Kill Switch 2/iOS SSL Kill Switch
??限制:JustTrustMe只能支持Android 7.0
之前的安卓,超過Android 7.0
就不工作了*
gradle自定義task命令行執行時帶參及獲取參數方法
task testTask {//任務定義及參數解析 doFirst { def aarTaskStr = null def projectStr = null def commandParam = project.gradle.startParameter.projectProperties> if(null != commandParam){ aarTaskStr = commandParam.aarTask projectStr = commandParam.projectPath }//end of if println "=======命令行參數==>aarTask:${aarTaskStr}==>projectPath:${projectStr}" } doLast { println "=========>Finish" } } 執行任務及帶參(用-P標識): ./gradlew aAutoPkgTest -PaarTask=assembleReleaseXX -PprojectPath=.../xxxxxx/.../app
android讀取AndroidManifest中meta-data值為長數字讀取成科學計數法的問題,在純數字前面添加\轉義符即可
<meta-data android:name="TEST_KEY" android:value="\\3112212603" />不加的話讀取出來是:3.11221248E9
AndroidTv相關https://gitee.com/kumei/AndroidTvDev
crx Chrome插件下載地址https://crxdl.com/
layui最新網址http://bmxpx.com/
灰常不錯的Linux命令查詢https://wangchujiang.com/linux-command/hot.html
灰常不錯的正則表達式網站https://regex101.com/
JSON/SQL的格式化/校驗等各種工具集合https://www.bejson.com/json/format/;https://www.freeformatter.com/
牛皮好用的markdown編輯器:https://github.com/marktext/marktext/
牛皮好用的markdown編輯及簡單手動轉PDF器:https://md2pdf.netlify.com/和https://realdennis.github.io/md2pdf/,對應項目https://github.com/realdennis/md2pdf
在線markdown轉換pdf器https://cloudconvert.com/md-to-pdf
命令行或代碼實現markdown轉換pdf器:
https://github.com/alanshaw/markdown-pdf,安裝命令:npm install -g markdown-pdf --ignore-scripts,執行轉換命令:markdown-pdf -p /home/xxx/bin/phantomjs test.md;轉換出來效果一般,勉強能用,需要執行安裝:npm install -g phantomjs
https://github.com/simonhaenisch/md-to-pdf,安裝命令:npm i -g md-to-pdf,執行轉換命令:md-to-pdf test.md;轉換出來效果非常接近,推薦使用
https://github.com/kxxoling/markdown2pdf,安裝命令:pip install markdown2pdf,執行轉換命令:md2pdf test.md;轉換出來效果非常接近,推薦使用
牛B的矢量小圖標網站:https://www.iconfont.cn/,矢量大圖標網站:https://undraw.co/
非常棒的在線轉換網站,比如m4r轉mp3,https://onlineconvertfree.com/zh/
mac有時候ssh訪問的時候需要證書
ssh -i xxx.pem root@192.168.8.1 -p 60022 如果遇到報錯:Permissions 0644 for 'xxx.pem' are too open.說明這個pem文件的權限太大了,需要給小點, 所以執行修改哈權限:sudo chmod 600 xxx.pem 最方便的還是使用ssh-add 添加一下鍵文件,以后訪問方便點 ssh-add -k key.pem, 執行完上面的命令后下次就只需要像普通ssh那樣訪問就可以了,如下:ssh root@192.168.8.1 -p 60022 如果報錯:Unable to negotiate with 192.168.8.1 port 60022: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group1-sha1,kexguess2@matt.ucc.asn.au 就sudo vi /etc/ssh/ssh_config文件,在最末尾加入wq保存即可 KexAlgorithms +diffie-hellman-group14-sha1 KexAlgorithms +diffie-hellman-group1-sha1 # KexAlgorithms +kexguess2@matt.ucc.asn.au 注:有時ssh帶端口方式是:ssh root@192.168.8.1:60022,根據執行結果來看選哪種
非常牛批,操作簡單,平臺齊全的內網穿透https://www.ngrok.com/
ngrok authtoken 2322b*********************FP ngrok http 80 ngrok http https://localhost:8080
查看linux、mac支持某個命令,比如nvm:command -v nvm,其他ll,ls,node同理
linux中“sudo 運行 npm或node時,出現找不到命令”,通過建立軟連接可以解決
先執行whereis node和whereis npm找到位置,然后分別執行 sudo ln -s 找到/bin/node位置 /usr/bin/node sudo ln -s 找到/bin/npm位置 /usr/bin/npm
關于Mac的環境變量問題
mac 一般使用bash作為默認shell
Mac系統的環境變量,加載順序為:/etc/profile
/etc/paths
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc
其中/etc/profile和/etc/paths是系統級別的,系統啟動就會加載,后面幾個是當前用戶級的環境變量。后面3個按照從前往后的順序讀取,如果~/.bash_profile文件存在,則后面的幾個文件就會被忽略不讀了,如果 ~/.bash_profile文件不存在,才會以此類推讀取后面的文件。 ~/.bashrc沒有上述規則,它是bash shell打開的時候載入的!
其中OS X 和 Linux 都有~/.bash_profile
和~/.bashrc
這兩個配置文件。但是,有時在OS X里會遇到~/.bashrc
不生效的情況:
兩系統規則是當打開的shell是login shell,~/.bash_profile
才會加載,而~/.bashrc
正好相反。
而真正的區別是在linux下,當用戶登錄到一個圖形界面,然后打開一個終端terminal,那些shell是non-login shell。
然而,在OS X登錄的時候,并沒有運行著一個shell,所以,在運行Terminal.app的時候,其實那是一個login shell。
你還是可以在~/.bashrc
下寫一些配置,只要在~/.bash_profile
里加一條source ~/.bashrc
就是了。
對于Mac的login shell,確實在終端的配置中找到了相關答案: 點擊終端的"偏好設置"選項,在通用一欄中可以看到shell的打開方式 "默認登錄Shell"。剛開始時發現選擇的是"命令(完整的路徑)",在這種方式下并不會先加載".bash_profile"文件,改過后發現可以保證.bash_profile文件在打開時就加載。
而有時改~/.bash_profile
和~/.bashrc
這兩個配置文件還是不行,這個時候還可能就是shell使用的~/.zshrc
了,具體測試方法是向懷疑的配置文件最開始寫一句echo "測試打印"
之類的打印文字保存source一下,然后新開shell打開新標簽,看打印這句話沒!
Mac安裝swig
安裝swig(下載地址,密碼:ftn4)之前一定要先安裝pcre(下載地址,密碼:d99z)
下載完pcre 和swig 之后,把解壓后的pcre 文件夾放到swig 文件夾根目錄下,然后建議對pcre和swig目錄執行sudo chmod -R 777進行授權,避免下面命令不能執行或權限不足
打開終端,先cd進解壓后的pcre根目錄,輸入./configure,回車執行;再輸入make,回車執行;最后輸入sudo make install回車執行
退回swig 根目錄,和上述一樣,依次執行./configure、make、sudo make install
全部執行完后,輸入swig -version,能出來swig版本說明成功安裝swig
Mac開啟自帶的Apache服務器
1、開啟sudo apachectl start
2、關閉sudo apachectl stop
3、重啟sudo apachectl restart
默認的網站根目錄在/Library/WebServer/Documents
,訪問地址:127.0.0.1
Mac壓縮文件且分包:
zip - jeb-demo-4.2.0.zip | split -b 90m -d -a 3 - jeb-demo-4.2.0.zip.
這個命令注意短杠都是必要的,且有空格,命令執行后生成的分包名:jeb-demo-4.2.0.zip.000,jeb-demo-4.2.0.zip.001....,為了通用的軟件能自動識別分包文件到時可實行自動合包解壓,需要把分包后綴改成從.001開始的哈
JD-GUI打開的時候可能彈框報錯:
No suitable Java version found on your system! This program requires Java 1.8+ Make sure you install the required Java version.
這個解決方法直接去Application里面找到JD-GUI,右鍵>顯示包,找到打開universalJavaApplicationStub.sh,然后找到這句報錯,注釋掉這句報錯和下面的exit 3,然后添加一句:JAVACMD="/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/bin/java"
,換成你自己的jdk版本即可
降級 node:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash
或者
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
source ~/.bashrc
(linux)touch ~/.bash_profile
(MacOs)
列出所有版本:nvm ls-remote
安裝指定版本:nvm install v8.11.3
使用指定版本:nvm use v8.11.3
將 8.11.3版本設為默認版本:nvm alias default 8.11.3
查看當前使用版本:nvm ls 或者 node -v
Mac Chrome 谷歌瀏覽器跨域問題解決:
open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users/stephen/Public google-chrome --disable-web-security
Mac 命令行打開Android Stduio并且打開一個項目:
open -a /Applications/Android\ Studio.app/ android-xx-ptoject-name/
其他軟件類推
Mac精品軟件下載https://www.macwk.com/
windows的bat腳本觸發請求
1、curl http://***.****.com 直接請求網址
2、start iexplore http://IP?username=xx&password=xx 打開ie瀏覽器GET請求
windows開機執行bat腳本:把xxx.bat文件放入C:\Users\root\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup目錄下,其中AppData為隱藏目錄,就能夠開機時自動執行腳本里的內容了
windows的bat腳本if語法限制總結:
bat的if語句要注意,有很多限制,要不然執行后輸入后回車cmd直接閃退;
1.里面()不能包含(),否則異常斷句:
error example: if %test% == a (echo 成(功)啦) else (echo 失敗啦)
2.不能在if語句里面輸入獲取,得用goto語句新建塊來操作:
error example: if %test% == a ( set /p input=請輸入: echo %input% ) else (echo 失敗啦)
3.不能在if語句里面執行mkdir等操作,得用goto語句新建塊來操作:
error example: if %test% == a (mkdir testFolder ) else (echo 失敗啦)
Ubuntu PearOS官網 https://pearos.xyz/
linux 查看大文件并排序(這樣找到就可以針對性刪除大文件釋放空間):
sudo du -a /home/stephen | sort -n -r | head -n 100 或 find . -type f -size +800M -print0 | xargs -0 du -hm | sort -n
mac 查看大文件并排序(這樣找到就可以針對性刪除大文件釋放空間):
du -h -d 100 | sort -nr 其中,-h參數表示把大小用人可以閱讀的格式顯示出來,達到 MB 級別就用 M,達到 GB 級別就用 G。如果不加這個參數,那么大小會以比特的方式顯示,于是你會看到很多你數不清多少位的數字; 參數-d 1表示只統計1層文件夾的大小,如果一個文件夾有多層,那么它只會統計到第1層,內部的文件夾無論有多少個,它只會返回一個總大小。你也可以把數字1改成2或者3
Windows 顯示文件占用大小好用的軟件(這樣找到就可以針對性刪除大文件釋放空間): FolderSize wizTree
linux apt-get相關命令:
sudo apt-get -f install apt --fix-broken install sudo apt-get install aptitude sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6AF0E1940624A220 #此處6AF0E1940624A220需要是錯誤提示的key
安裝rpm包
1 #rpm -i example.rpm 安裝 example.rpm 包;
2 #rpm -iv example.rpm 安裝 example.rpm 包并在安裝過程中顯示正在安裝的文件信息;
3 #rpm -ivh example.rpm 安裝 example.rpm 包并在安裝過程中顯示正在安裝的文件信息及安裝進度
dpkg命令進行安裝deb包
1、使用dpkg命令進行安裝:sudo dpkg -i deb文件名
2、根據經驗,通常情況下會報依賴關系的錯誤,我們可以使用以下的命令修復安裝:sudo apt-get install -f
3、如果要卸載安裝的應用我們通過“sudo dpkg -l”查看已經安裝的軟件,并找到自己的安裝的軟件名。
4、最后使用"sudo dpkg -r 軟件名"進行卸載
linux構建python別名
echo alias python=python3 >> ~/.bashrc
source ~/.bashrc
python
linux給一個文件中的每一行開頭插入字符的方法:
awk '{print "xxx"$0}'
test.txt
shell給一個文件中的每一行結尾插入字符的方法:awk '{print $0"xxx"}'
test.txt
shell給一個文件中的每一行的指定列插入字符的方法:awk '$O=$O" xxx"'
test.txt
vi常用命令:
按ESC后輸入“:”進入命令行;清空文件內容輸入“%d”回車;保存輸入“wq”回車;強制保存輸入“wq!”回車;退出輸入“q”回車;搜索內容:“/string” 從光標處開始向后尋找字符串 string,“?string” 從光標處開始向后前尋找字符串 string,n 命令重復上一條檢索命令,N 命令重復上一條檢索命令,但檢索方向改變。例如上次的檢索命令是向前檢索,那么此次檢索的方向是向后;如果上次的檢索命令是向后檢索,那么此次檢索的方向是向前,g/string 使光標停止在第一個檢索到的 string 串的行首
windows上讓python執行報錯后不關閉窗口,首先需確保將python.exe全路徑添加到Windows系統環境變量PATH中,并且命令行執行方式為:python.exe xxx.py
mac/linux根據端口查找殺死進程
lsof -i:8081
kill -9 xxx
netstat -aon|findstr "8081"
tasklist|findstr "7216"
taskkill /pid 7216 /F
PowerShell因為在此系統中禁止執行腳本的解決方法: win菜單->找到powershell->右鍵管理員運行->執行命令:set-executionpolicy remotesigned,選全是【A】回車即可
Mac系統禁用Gatekeeper,開啟任意安裝,否則報錯:macOS cannot verify that this app is free from malware
sudo spctl --master-disable
Mac上裝軟件好的網站:https://www.macwk.com/
可以在線打開pdm數據表文件的網站:http://www.dmanywhere.cn/
黑蘋果 MacOS 10.15 Catalina安裝教程 http://www.lxweimin.com/p/2fa8458378df
websocket測試 http://coolaf.com/tool/chattest
手動安裝Android aab 包方法(也可用這個項目我修改過的腳本直接安裝https://github.com/didikee/AndroidAppBundleIntaller/issues/15)
安裝aab包需要將aab的包轉化成apks格式后進行安裝
總體需要一個必要條件:bundletool.jar
1.命令安裝或手動下載bundletool
brew install bundletool
2.aab包導出apks(簽名后的包需要加上后面的--ks部分)
bundletool build-apks --bundle=app-googleplay.aab --output=./app-googleplay.apks --ks=/Users/xxx/Documents/AndroidProjects/xxxx_android_app/app/xxxx_key.jks --ks-pass=pass:xxxx --ks-key-alias=xxx --key-pass=pass:xxxx
3.安裝apks
bundletool install-apks --apks=/Users/xxx/Downloads/app-googleplay.apks
注:如果是下載的jar,前綴命令為:java -jar bundletool-all-0.15.0.jar build-apks --bunlde=xxxxx....
用aapt命令可查看apk清單文件信息:
./aapt dump badging xxxx.apk
1.aapt 命令下載地址: https://androidaapt.com/ ; 此命令AndroidSdk的build-tools目錄下具體版本下也有
2.如果是xapk格式請先做zip解壓,然后對里面的apk執行此命令
3.如果是apks也先做zip解壓,然后去里面splits目錄找到base-master.apk執行此命令
4.如果是aab格式需先執行上一條備注里面的 <aab包導出apks>命令 將aab包導出apks,再對結果apks做zip解壓,然后對里面的apk執行此命令
openssl生成公鑰和私鑰
openssl genrsa -out rsa_private_key.pem 1024 //生成私鑰
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem //根據私鑰生成對應公鑰
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt //根據私鑰生成pkcs8
Android還原混淆的代碼
將mapping.txt復制到 \Sdk\tools\proguard\bin\ 目錄下
將 crash 信息保存到 \Sdk\tools\proguard\bin\crash.txt中
打開終端,進入 \Sdk\tools\proguard\bin\目錄 執行 retrace.bat -verbose mapping.txt crash.txt > out.txt
更好看的git log
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
配置了這個之后,使用git lg簡直眼前一亮
Android media project 聲音源常量
MediaRecorder.AudioSource.DEFAULT 默認音頻源
MediaRecorder.AudioSource.MIC
設定錄音來源為主麥克風。
MediaRecorder.AudioSource.VOICE_CALL
設定錄音來源為語音撥出的語音與對方說話的聲音
MediaRecorder.AudioSource.VOICE_COMMUNICATION
攝像頭旁邊的麥克風
MediaRecorder.AudioSource.VOICE_DOWNLINK
下行聲音
MediaRecorder.AudioSource.VOICE_RECOGNITION
語音識別
MediaRecorder.AudioSource.VOICE_UPLINK
上行聲音
recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
// recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION);
// recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);//通話中,對方、自己聲音都會錄下來
// recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_DOWNLINK);//只錄取揚聲器、聽筒聲音
// recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_UPLINK);
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_RECOGNITION);//跟MIC一樣,只錄取麥克風聲音,但揚聲器太大聲的話也會錄到
AndroidAPI等級對照圖
API等級對照圖
終端解壓命令集合大全
tar解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是壓縮?。?br> ———————————————
.gz解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName
.tar.gz 和 .tgz解壓:tar zxvf FileName.tar.gz
壓縮:tar zcvf FileName.tar.gz DirName
———————————————
.bz2解壓1:bzip2 -d FileName.bz2
解壓2:bunzip2 FileName.bz2
壓縮: bzip2 -z FileName
.tar.bz2解壓:tar jxvf FileName.tar.bz2
壓縮:tar jcvf FileName.tar.bz2 DirName
———————————————
.bz解壓1:bzip2 -d FileName.bz
解壓2:bunzip2 FileName.bz
壓縮:未知
.tar.bz解壓:tar jxvf FileName.tar.bz
壓縮:未知
———————————————
.Z解壓:uncompress FileName.Z
壓縮:compress FileName
.tar.Z解壓:tar Zxvf FileName.tar.Z
壓縮:tar Zcvf FileName.tar.Z DirName
———————————————
.zip解壓:unzip FileName.zip
壓縮:zip FileName.zip DirName
———————————————
.lha解壓:lha -e FileName.lha
壓縮:lha -a FileName.lha FileName
———————————————
.rpm解包:rpm2cpio FileName.rpm | cpio -div
———————————————
.deb解包:ar p FileName.deb data.tar.gz | tar zxf -
———————————————
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea解壓:sEx x FileName.*
壓縮:sEx a FileName.* FileName
sEx只是調用相關程序,本身并無壓縮、解壓功能,請注意!
gzip 命令減少文件大小有兩個明顯的好處,一是可以減少存儲空間,二是通過網絡傳輸文件時,可以減少傳輸的時間。gzip 是在 Linux 系統中經常使用的一個對文件進行壓縮和解壓縮的命令,既方便又好用。
語法:gzip [選項] 壓縮(解壓縮)的文件名該命令的各選項含義如下:
-c 將輸出寫到標準輸出上,并保留原有文件。-d 將壓縮文件解壓。-l 對每個壓縮文件,顯示下列字段: 壓縮文件的大??;未壓縮文件的大??;壓縮比;未壓縮文件的名字-r 遞歸式地查找指定目錄并壓縮其中的所有文件或者是解壓縮。-t 測試,檢查壓縮文件是否完整。-v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比。-num 用指定的數字 num 調整壓縮的速度,-1 或 --fast 表示最快壓縮方法(低壓縮比),-9 或--best表示最慢壓縮方法(高壓縮比)。系統缺省值為 6。指令實例:
gzip *% 把當前目錄下的每個文件壓縮成 .gz 文件。gzip -dv *% 把當前目錄下每個壓縮的文件解壓,并列出詳細的信息。gzip -l *% 詳細顯示例1中每個壓縮的文件的信息,并不解壓。gzip usr.tar% 壓縮 tar 備份文件 usr.tar,此時壓縮文件的擴展名為.tar.gz。
裝B名詞:
復盤,賦能,沉淀,倒逼,落地,串聯,協同,反哺,兼容;
包裝,重組,履約,響應,量化,發力,布局,聯動,細分;
梳理,輸出,加速,共建,支撐,融合,聚合,解藕,集成;
對齊,對標,對焦,抓手,拆解,拉通,抽象,摸索,提煉;
打通,打透,吃透,遷移,分發,分層,分裝,穿梭,輻射;
圍繞,復用,滲透,擴展,開拓,漏斗,中臺,閉環,打法;
拉通,紐帶,矩陣,刺激,規模,場景,聚焦,維度,格局;
形態,生態,話術,體系,認知,玩法,體感,感知,調性;
心智,戰役,合力,心力,賽道,因子,模型,載體,橫向;
通道,補位,鏈路,試點;
顆粒度,感知度,方法論,組合拳,引爆點,點線面,精細化,差異化,平臺化,結構化,影響力,耦合性,易用性,一致性,端到端,短平快。
生命周期,價值轉化,強化認知,資源傾斜,完善邏輯,抽離透傳,復用打法,商業模式,快速響應,定性定量,關鍵路徑,去中心化,結果導向,垂直領域,如何收口,歸因分析,體驗度量,信息屏障
admob高級技巧如下:
1.多申請幾個admob賬號,以免雞蛋都放在一個籃子里,因為收款要2個月,夜長夢多,萬一被封號,2個月內的錢就付之東流了。一個賬號用一個月,第二個月,去開一個新號。確保每個賬號下的錢2個月后能進賬。
2.應用程序必須支持動態更換admob賬號的能力,也就是說app每次登陸會訪問服務器,服務器分配一個admob賬號給app,app使用該賬號。優點,可以動態的調整廣告的展示,免得每次換admob賬號要重新發布app
3.admob點擊率最好控制在3%以下。過高會封號
4.單個admob賬號,每日收入控制在50美金以下,過高會查你的app
5.使用一定手段鼓勵用戶點擊廣告,我自己寫了一個類似積分墻的東西,點廣告賺積分,用積分去做一些高級的事情。比如點一次廣告送5個積分,每天最多30積分(點6個廣告),下載一段視頻需要15個積分。當然積分的配置也是服務器動態下傳給app的。如果用戶點擊少了,可以提高每天積分的上限,如果用戶點擊多了,就減少點擊上限。所以服務器很重要。1.admob有一個累計效應,也就是說,如果你每天廣告展示次數(CPC)都在逐步增加,說明你是一個可靠的,穩健的廣告展示商,那么admob給的CPM的比重也會增加。CPM(按照展示次數收費)的量這個是可遇不可求的,是admob根據你CPC的量來合理分配的。
2.admob我設置1分鐘換一個廣告,過快沒有意義
3.不要自己去點擊廣告,不要自己搞兩臺機器一直展示廣告。
admob不是傻子,他根據ip,機型,時間,有無用戶操作,很容易判斷用戶的類型。如果一個ip,一個機器,長時間展示廣告,或者大量的點擊,可能會封號。如果一臺機器,沒有用戶操作,長時間展示廣告,也是無效的展示類型。
4.admob的內容過濾,你不要小看admob的功能,它異常的強大,他可以自動掃描你的app內容。比如是否有色情,賭博內容,是否有違法內容,是否有不良字眼。
所以如果你的某個廣告頁上有admob廣告,一定要看看該頁面有無admob禁止的內容。