摘要:為啥直接不行呢因?yàn)橐蚤_(kāi)頭的最后一條命令是。和和和強(qiáng)制終止最常用的,先提出來(lái)。。。。我們可以通過(guò)這一條命令來(lái)迅速回到程序運(yùn)行的環(huán)境。其實(shí)這些配置文件以及這些命令和用戶以及權(quán)限等都是有很大關(guān)系的。
Ubuntu16升級(jí)到18.04
“”“ 有特殊新穎強(qiáng)迫癥癖好可以升下,如果你覺(jué)得16.04好用,就根本沒(méi)必要升了 ”“” 我當(dāng)時(shí)租的 云服務(wù)器通常都是16.04,現(xiàn)在估計(jì)也是16.04較多 我是個(gè)Python3的玩家, 我只想用Python的最新版,或最新標(biāo)準(zhǔn)版3.6-3.7 道理很簡(jiǎn)單,我追求新穎,雖然新版不穩(wěn)定,但是你可以嘗鮮并領(lǐng)先于別人。。。 廢話不多說(shuō): Ubuntu16.04: 默認(rèn)裝的是Python2.7 + Python3.4 或3.5 Ubuntu18.04: 默認(rèn)裝的是Python2.7 + Python3.6.+ 我喜歡升級(jí)系統(tǒng)版本來(lái)直接讓對(duì)應(yīng)軟件升級(jí): lsb_release -a # 查看系統(tǒng)版本 apt update # 一路選Y apt dist-upgrade apt autoremove # 一路選Y apt install update-manager-core # 比較重要 do-release-upgrade -d # 完事 注: 如果其中某個(gè)命令過(guò)程彈出一個(gè)黑窗口讓你選擇, 我記得有個(gè) core-new-update 字眼的,選這個(gè)即可 # 選擇 新 核心vim多行注釋(Python為例)
Ubuntu是肯定可以用, CentOS我記得好像用不了 直接一套連招: 注釋: 1. ctrl + v 2. 按 下 箭頭方向鍵,選中多行 3. shift + i 4. 輸入 # 5. 按兩下 ESC鍵 取消注釋: 1. ctrl + v 2. 按 下 箭頭方向鍵,選中多行 3. 按 x 鍵 注: 此套連招,需要熟練度, 如果不行就多練練。 手不好使,就不要怪我了~~~~vimrc簡(jiǎn)單配置:
“”“ tab = 4縮進(jìn), 設(shè)置行號(hào) 基于文件名的簡(jiǎn)單語(yǔ)法高亮 不要想著刪一行,直接打開(kāi)vimrc 全部復(fù)制上去,保存退出就可以用了 ”“” vi ~/.vimrc syntax on set nu set expandtab set tabstop=4 set shiftwidth=4 set softtabstop=4locate查詢庫(kù)
locate xxx # 雖然很簡(jiǎn)單的命令,但是如果,一直為下線,并且還想查找新東西,那么需要更新庫(kù) updatedb # 更新搜索庫(kù), 完事 如果 updatedb命令出錯(cuò),那就安裝一下 mlocate就好了: yum/apt-get install mlocatehtop查看服務(wù)器負(fù)載
ubuntu/centos中有 top : 此命令可以詳細(xì)查看服務(wù)器各種負(fù)載,資源狀況,但是看著不方便,非常費(fèi)勁 htop : top的升級(jí)版, 容易看出資源消耗情況 如果未安裝,可通過(guò) apt-get/yum install htop 安裝 htop -d 0.1 # 0.1秒動(dòng)態(tài)更新一次資源數(shù)據(jù)。 看起來(lái)有一點(diǎn)炫。pkill
ps -el 查看 PId + kill -9 PID # 這套連招可強(qiáng)制殺死一個(gè)進(jìn)程 但假如你有一連串的python進(jìn)程 想要 全部KILL pkill python # 完事,和python有關(guān)的全KILL掉了,也可以通過(guò)通配符* 的方式來(lái)簡(jiǎn)寫patree列出進(jìn)程
tree: 此命令用來(lái)列出目錄層級(jí)結(jié)構(gòu) pstree: 用來(lái)列出 正在運(yùn)行的 程序(所有進(jìn)程的層級(jí)結(jié)構(gòu),進(jìn)程名) pstree -p: 以層級(jí)的方式,不僅列出進(jìn)程名, 還列出所有進(jìn)程的(PID)alias改名
vi /etc/profile alias python="python3" # 這里是舉個(gè)例子,配完,python命令就等價(jià)于 python3命令 alias pip="pip3" source /etc/profile # 不要忘記,這條命令 更新一下配置文件重定向管道 ( > 與 tee )
date > date.txt # 截流, 屏幕上不顯示 date | tee date.txt # 不截流, 屏幕上顯示, 并且還能輸入到文件! 嘆號(hào)命令
”“ !命令前綴 : 運(yùn)行最后一條以這個(gè)前綴開(kāi)頭的命令 ”“ 假如下面是你最后按順序再command終端 輸入的四條命令: python aaa.py python bbb.py npm run dev pip install ccc 需求:你想迅速運(yùn)行 python bbb.py這條命令 你只需 !py # 即可, 愣著干啥呢, 已經(jīng)完事了,這條命令就等于你上面那一大串 解惑: 1. !py -> py開(kāi)頭的有兩條,為啥不執(zhí)行第一條 python aaa.py 因?yàn)?! 嘆號(hào) 的語(yǔ)法意思就是選擇 最后出現(xiàn)以py開(kāi)頭的執(zhí)行。 2. 為啥直接 !p 不行呢? 因?yàn)橐詐開(kāi)頭的最后一條命令是 pip install ccc。 這也不是你想要的啊。ctrl+z 和 & 和 nohup 和 screen
ctrl+c: 強(qiáng)制終止(最常用的,先提出來(lái)。。。。 應(yīng)該都知道的。。) ctrl+z: 可以把正在運(yùn)行中的程序掛起到后臺(tái)(注意這時(shí)候程序就暫停了) jobs: 粗略列出 后臺(tái)掛起的程序 jobs -l: 詳細(xì)列出 后臺(tái)掛起的程序 (其實(shí)就是多列出了個(gè)PID) kill -9 PID # 順?biāo)浦鄣厥褂么嗣顏?lái)通過(guò) PID 干掉后臺(tái)掛起的程序 fg: 把掛起的后臺(tái)的程序 拿回來(lái)繼續(xù)執(zhí)行 fg 程序編號(hào): 如果有多個(gè)后臺(tái)掛起的程序,選擇一個(gè)繼續(xù)執(zhí)行,編號(hào)可通過(guò) jobs 查看。 使用場(chǎng)景: 加入正在 vim 編輯東西,想跳出編輯器,寫點(diǎn)別的,那么可以 進(jìn)行下面操作: 不要保存, 直接 ctrl+z 然后去 做別的事 做完了想回到 vim繼續(xù)編輯剩下的內(nèi)容, 直接 fg &: 運(yùn)行 的 時(shí)刻 就直接 放到后臺(tái) (不實(shí)用) eg: (通常是費(fèi)時(shí)的操作,或者長(zhǎng)時(shí)間占用 command命令行) sleep 100 & # 這樣費(fèi)時(shí)100秒的操作,直接讓它滾去后臺(tái)執(zhí)行,別占我地方 局限: 假如你用 python xxxx.py & 運(yùn)行一個(gè)web服務(wù)器,雖然它會(huì)滾去后臺(tái)一直運(yùn)行。 前臺(tái)command界面看起來(lái)很干凈了。 但是,如果有用戶請(qǐng)求過(guò)來(lái), 你服務(wù)器收到打印在終端的信息 可不會(huì)乖乖打印在后臺(tái)。 打印信息會(huì)鉆出來(lái)到前臺(tái)command界面來(lái)惡心你。。。。。 為了解決這一問(wèn)題, 請(qǐng)移步 下面 ... nohup: (通常和 上面的 & 聯(lián)合使用) (實(shí)用性一般) eg: 同樣運(yùn)行一個(gè)服務(wù)器 nohup python xxx.py & # 它會(huì)乖乖的滾去后臺(tái)執(zhí)行,并且將要打印的消息 也不會(huì)打印到前臺(tái),也不會(huì)打印到后臺(tái)。 那打印的內(nèi)容去哪了呢?? nohup會(huì)自動(dòng)給你 把打印的東西重定向 到一個(gè) nohup.out文件,通常在當(dāng)前目錄下 # 這時(shí)你的前臺(tái)command 就不會(huì)受到 騷擾了。。。。 也許你以為它很好用了,可以完美的決絕運(yùn)行一個(gè)費(fèi)時(shí)的進(jìn)程。但是 它依然是個(gè) loser。。. 局限: 當(dāng)我一直用 nohup.out 部署一些服務(wù)程序的時(shí)候,一部署就是很多天。 當(dāng)時(shí)學(xué)校斷電(我租的阿里云ECS服務(wù)器). 雖然服務(wù)器可以不間斷的執(zhí)行。 但是 我需要 用 xshell 一直去遠(yuǎn)程 查看我的 程序運(yùn)行的怎么樣了啊, 是否崩了? 可惜的是,每次xshell關(guān)閉了,你再上去, 想找 通過(guò) nohup & 連招 放到后臺(tái)程序的時(shí)候, 你會(huì)痛苦無(wú)比。。。非常慘 后來(lái)。。。。。。。。。 screen: (會(huì)話機(jī)制) 沒(méi)錯(cuò),后來(lái)我就發(fā)現(xiàn)了 這個(gè) screen工具 如果你那里沒(méi)有,就安裝一下嘍: apt-get / yum install screen 然后需要配置一下: vi ~/.screenrc # 創(chuàng)建文件 shell -$SHELL # 輸入此行內(nèi)容,保存退出 至于為何配置這個(gè): 說(shuō)實(shí)話我有點(diǎn)忘了 貌似不同screen會(huì)話對(duì)于不同的shell 權(quán)限有限制,導(dǎo)致很多東西用不了,so do it 直接說(shuō)一套我常用且超級(jí)實(shí)用連招把: eg: screen -S 會(huì)話名 # 創(chuàng)建 并 進(jìn)入這個(gè)會(huì)話(就像進(jìn)入另一個(gè)世界,但資源共享) python xxx.py # 舉例子,這是我的爬蟲(chóng)程序,需要運(yùn)行 三天 ctrl + a + d # 跳出會(huì)話,回到正常命令行,但是這個(gè)會(huì)話以及你的程序依然在運(yùn)行, ....... 這段時(shí)間(除了關(guān)閉服務(wù)器)你做什么都行,關(guān)閉 shell也可以的。 screen -r 上面的會(huì)話名 # 恢復(fù)到會(huì)話中, 你會(huì)發(fā)現(xiàn),爬蟲(chóng)程序還在那里好好的運(yùn)行呢。 如果你忘記會(huì)話名了,不要緊: screen -ls # 這條命令會(huì)列出所有 你創(chuàng)建過(guò)的會(huì)話,你也可以看到會(huì)話名 總結(jié): 所以,我不知道閣下能不能感受到 screen的魅力。 我們可以 通過(guò) screen -r 這一條命令來(lái) 迅速回到程序運(yùn)行的環(huán)境。 nohup &: 你用這個(gè)執(zhí)行的程序,關(guān)了 xshell, 你再連,你就不好找這個(gè)運(yùn)行的程序了 screen 有一套完好的系統(tǒng)(就像有開(kāi)關(guān)一樣)來(lái)控制會(huì)話 你進(jìn)入screen會(huì)話中寫程序,screen 自然就能有條不紊的管理好 你程序的運(yùn)行狀態(tài) 舉個(gè)白話例子: 你正遛二哈呢,突然有急事: nohup & : 你說(shuō):‘二哈,等我回來(lái),自己玩把’ 你回來(lái)時(shí), 二哈跑丟了。 (不受控制,程序找不到了,雖然可以花力氣找到) screen : 你說(shuō):‘二哈,等我回來(lái),自己玩吧,但我要把你拴起來(lái)’ 你回來(lái)時(shí), 二哈還在那里乖乖的玩。(程序有效的受到控制,你可以輕松定位)sudo su等操作
不好意思,用了好幾年linux: 什么 su- su 之類的, 我至今都沒(méi)搞太明白。。。。。。。。。。 但是,我只用下面這一條命令,這些年就沒(méi)遇到過(guò)問(wèn)題: sudo -s # 變?yōu)閞oot, 如果你之前輸入過(guò)密碼, 這條命令還會(huì)免去讓你輸入密碼的環(huán)節(jié)環(huán)境變量
把某路徑加入到環(huán)境變量中: vi /etc/profile export PATH=$PATH:/XXX/XX 做一些配置: vi /etc/profile vi ~/.bashrc 等修改完后 source /etc/profile # 用一個(gè) source 命令執(zhí)行一下使配置更新生效 注: Linux-shell我研究的不深,所以這里可能有些說(shuō)的不是特別明朗。 其實(shí) 這些配置文件 以及 source . sh bash 這些命令 和 用戶 以及權(quán)限等都是有很大關(guān)系的。 有興趣可自行深入了解SSH遠(yuǎn)程連接小坑
假如你的 xshell 連接不上遠(yuǎn)程服務(wù)器, 可能未開(kāi)啟 或 未安裝 sshd服務(wù) 如下命令即可: sudo apt-get install openssh-client # 安裝客戶端配置 sudo apt-get install openssh-service # 安裝服務(wù)器配置 systemctl start sshd.service # 開(kāi)啟服務(wù) 如果你的普通用戶可以連接,但是你的root不能登錄: vim /etc/sshd/ssh_config PermitRootLogin yes # 找到這個(gè)改為yes , 保存退出就完事了MySQL5.7+/MariaDB修改密碼小坑
當(dāng)閣下還在停留在Mysql5.7版本之前,修改密碼可以用下面這兩種方式: mysqladmin -uroot password -p 或內(nèi)部設(shè)置: update user set password=password("root") where user="root" 但是 MySQL5.7 之后 或者 MariaDB ,上面這倆方法 都不能 修改密碼了。 正確修改方式: 先進(jìn)入MySQL交互式: MySQL -uroot -p update mysql.user set authentication_string=password("密碼") where user="用戶名" update user set plugin="mysql_native_password"; flush privileges 最后重啟服務(wù), 完事 另外,值得提醒的一點(diǎn)容易出現(xiàn)的問(wèn)題: 無(wú)論你連接的是什么數(shù)據(jù)庫(kù),如果你連不上 首先你應(yīng)該想到的是,數(shù)據(jù)庫(kù)配置文件: bind 0.0.0.0 # 每種數(shù)據(jù)庫(kù)幾乎都需要先改成這樣,才能被外界訪問(wèn) 其次,你用的是云服務(wù)器的話 看看是否放通了 對(duì)應(yīng)數(shù)據(jù)庫(kù)的寬口 最后,是否開(kāi)了防火墻: 沒(méi)記錯(cuò)的話,Centos 和 Ubuntu 防火墻不是同一種,真正需要關(guān)閉可自行百度其他命令
""" 一時(shí)間也記不起來(lái)還用過(guò)哪些了 """ wc : 統(tǒng)計(jì)字,詞,行(自己選參數(shù)) curl : 可以請(qǐng)求 url,并返回?cái)?shù)據(jù)(相當(dāng)于一個(gè)小小爬蟲(chóng)),也可以向某個(gè)接口發(fā)送請(qǐng)求 ssh-keygen :生成公私密鑰 cd - : 跳回到上一次的路徑 lsb_release -a : 查看Linux發(fā)行版信息 grep : 過(guò)濾字符 tar : 壓縮/解壓 netstat : 查端口 等
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/45125.html
摘要:解釋就相當(dāng)于把每個(gè)序列元素的每一個(gè)單獨(dú)用一個(gè)管道函數(shù)處理,再把他們按順序組合成一個(gè)新可迭代對(duì)象注意這個(gè)管道函數(shù)只能是單參數(shù)函數(shù),如果想傳遞多個(gè)參數(shù)怎么辦使用偏函數(shù)怕有些人看不懂,這里就不用了,而是用普通函數(shù)定義方式固定值固定值固定值固定值固 map In [25]: list(map(lambda a:a**2, [1,2,3,4])) Out[25]: [1, 4, 9, 16] 解...
摘要:不要疑惑,告訴你答案這個(gè)代表正負(fù)號(hào)的正。雖然一點(diǎn)技術(shù)含量沒(méi)有,但是你要懂序列也許叫可迭代對(duì)象更為合適,但是我喜歡叫序列。 數(shù)據(jù)結(jié)構(gòu) 可變類型與不可變類型(重頭戲) 基操: 可變類型:[], {} # 可增刪改 查 不可變類型: int float str () # 無(wú)法增刪改, 只可查 升操: + 與...
摘要:多線程對(duì)于爬蟲(chóng)方面也可以表現(xiàn)出較好的性能。計(jì)算密集型就別想多線程了,一律多進(jìn)程。所以同一時(shí)刻最大的并行線程數(shù)進(jìn)程數(shù)的核數(shù)這條我的個(gè)人理解很模糊,參考吧多線程多線程有種通過(guò)的那種方式,非常普遍,此處就不寫了。 GIL的理解 GIL這個(gè)話題至今也是個(gè)爭(zhēng)議較多的,對(duì)于不用應(yīng)用場(chǎng)景對(duì)線程的需求也就不同,說(shuō)下我聽(tīng)過(guò)的優(yōu)點(diǎn): 1. 我沒(méi)有用過(guò)其他語(yǔ)言的多線程,所以無(wú)法比較什么,但是對(duì)于I/O而言,...
閱讀 2668·2023-04-26 02:17
閱讀 1655·2021-11-24 09:39
閱讀 1104·2021-11-18 13:13
閱讀 2743·2021-09-02 15:11
閱讀 2823·2019-08-30 15:48
閱讀 3439·2019-08-30 14:00
閱讀 2475·2019-08-29 13:43
閱讀 686·2019-08-29 13:07