作為一個程序員或者測試開發(fā)人員,我們在進(jìn)行項(xiàng)目部署和運(yùn)維時,經(jīng)常會用到一些linux命令,可是這些命令老是忘記,每次用到的時候都要去谷歌百度,很是麻煩!這不,為了自己使用方便,對常見的linux命令, SHELL, VIM, Linux性能調(diào)優(yōu)和linux kernel的總結(jié),以便在用到時能夠快速地找到相關(guān)命令,同時有需要的朋友也可以參考搜藏該篇文章!文章對講到的每個命令都有詳細(xì)的參數(shù)解釋,并且給出一些常用例子,因此也非常適合用來學(xué)習(xí)!
創(chuàng)新互聯(lián)建站2013年至今,先為越秀等服務(wù)建站,越秀等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為越秀企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
shell(命令解釋器)自帶的命令稱為內(nèi)部命令,其它的是外部命令
內(nèi)部命令使用help幫助:help cd
外部命令使用help幫助:ls --help
type命令:用于區(qū)分是內(nèi)部命令還是外部命令:
ls is aliased to `ls --color=auto' #外部命令
cd is a shell builtin #內(nèi)部命令
pwd命令:顯示當(dāng)前目錄
ls命令:查看目錄和文件名稱
ls -l 查看目錄各個字段含義
第一字段:首字母代表的是文件類型 ,其中"-"為普通文件、"d"為目錄文件、"c"為字符設(shè)備文件、"b"為塊設(shè)備文件、"p"為管道文件、"l"為鏈接文件、"s"為socket文件?!皉wx”分別代表擁有讀、寫和執(zhí)行權(quán)限,"-代表無對應(yīng)權(quán)限。三個"rwx"依次代表文件所有者、文件所有者所在用戶組、其它用戶對文件擁有的權(quán)限。
第二字段:文件硬連接數(shù)量
第三字段:文件擁有者
第四字段:文件擁有者所在組
第五字段:文件大?。ㄒ宰止?jié)為單位)
第六字段:文件最后更改時間
第七字段:文件名(若為鏈接文件則追加顯示其鏈接的原文件的路徑)
ls命令其它參數(shù)含義:
-a顯示隱藏文件(.開頭的文件)
-r逆序排序
-t按照時間順序顯示
-R遞歸顯示
ls -lartR : 按照時間順序倒序顯示所有文件及其文件夾的文件
cd命令:更改當(dāng)前的工作目錄
cd /path/... 絕對路徑
cd ./path/... 相對路徑(./可以省略)
cd ../path/... 相對路徑
mkdir -p 遞歸目錄:遞歸創(chuàng)建目錄
rmdir命令:刪除目錄
rmdir a/b/c/d/e/ #刪除空目錄
rm -r a/b/c/d/ #遞歸刪除目錄,但是系統(tǒng)會做多次詢問
rm -rf a/b/c/d/ #刪除目錄,不做任何詢問
cp命令:復(fù)制文件和目錄
-r 復(fù)制目錄
-p 保留用戶、權(quán)限、時間等文件屬性
mv命令:移動文件和重命名
mv *.log 目標(biāo)目錄
通配符:
*匹配任何字符串
?匹配一個字符串
[xyz]任何一個字符串
[a-z]匹配一個范圍
cat命令:文本內(nèi)容顯示到終端
head命令:查看文件開頭
head -3 文件名稱 #顯示文件開頭3行
tail命令:查看文件末尾
tail -3 文件名稱 #顯示文件末尾3行
tail常用參數(shù)-f,文件內(nèi)容更新后,同步顯示更新的文件信息
tail -f 文件名稱
wc命令:統(tǒng)計(jì)文件內(nèi)容信息
wc 文件名稱
useradd命令:新建用戶
useradd 用戶名
userdel命令:刪除用戶
userdel 用戶名 用戶所在的家目錄不會被刪除
userdel -r 用戶名 用戶相關(guān)的所有配置都會被刪除
passwd命令:修改用戶密碼
passwd 用戶名
usermod命令:修改用戶屬性
/etc/passwd文件:查看用戶文件
tail /etc/passwd
/etc/shadow文件:查看用戶密碼
tail /etc/shadow
groupadd命令:添加用戶組
groupadd 用戶組
groupdel命令:刪除用戶組
groupdel 用戶組
用戶切換
su 用戶名 切換用戶,但是用戶所在環(huán)境不變,即pwd路徑不會變化
su - 用戶名 切換用戶,同時會切換到用戶家目錄,即/home/用戶名
sudo命令:普通用戶需要執(zhí)行root用戶權(quán)限的解決方案。
以下是一些常用命令匯總;The following table provides a reminder of most of the commands that we have covered so far. If you include the three, as-yet-unmentioned, commands in the last column, then you will probably be able to achieve 95% of everything that you will ever want to do in Unix (remember, you can use the man command to find out more about top , ps , and kill ). The power comes from how you can use combinations of these commands.
-c 'cc-address' -b 'bcc-address'
'to-address' | Command to send email | | mail -s "Subject"
to-address Filename` | Command to send email with attachment |
File Permission commands
Hope this Linux reference guide helps you!
希望這些常用的命令和系統(tǒng)原理,以及l(fā)inux操作可以幫助大家提升linux命令和操作?。?!
可能由于自己在WIN10里,在360進(jìn)行一些殺毒清理,一個不小心根據(jù)它的提示,修改了啟動項(xiàng) 把其中你認(rèn)為加上它提示沒用用的不知神碼東西給刪除了,然后要求我們重啟。
重啟后你會發(fā)現(xiàn)進(jìn)不去選擇系統(tǒng)的頁面了
出現(xiàn)error:file 'boot/grub/i386-pc/normal.mod' not found? ?grub rescue:
然后就很無奈? 只能先去百度試試 解決方案如下,勇敢嘗試,不要怕處理不了,方法還是很有效的,不然我也不會寫這個文章的:
先輸入命令 ls??
會出現(xiàn)一串字符串? 我的是 hd0? (hd0,msdos9) (hd0,msdos8)??(hd0,msdos7)?(hd0,msdos6)?(hd0,msdos5)?(hd0,msdos2)?(hd0,msdos1)
接下來需要試一下到底那個msdos*(*為上面字符串里的數(shù)字)才是具體的linux系統(tǒng)的主分區(qū);需要輸入的命令為:ls(hd0,msdos*)/boot/grub? ? 一個個試過去,一般都是第一個的? ? ?當(dāng)輸入正確的時候會出現(xiàn)下列命令:
../../....../.......(由于沒用拍照,所以忘記了,不好意思,基本格式是這樣的,輸入錯誤的都會提示 not found)
好,你終于找到了先恭喜一下,你快解決了,接下只要配置下環(huán)境就好了,再輸入一些命令就好,命令為:
1.set root=(hd0,msdos9)/boot/grub? //這里msdos后面的數(shù)字為你找到的msdos后面的那個數(shù)字? ?我的為9;
2.set prefix=(hd0,msdos9)/boot/grub
3.insmod normal
4.normal
輸入完后你就可以進(jìn)入選擇系統(tǒng)頁面的;為了安全起見,我們先進(jìn)入linux系統(tǒng)內(nèi),重新安裝一下grub,就可以盡可能避免再次發(fā)生這樣的事;
很簡單。ctrl+alt+t進(jìn)入終端,輸入命令 sudo update-grub
會出現(xiàn):
Installing for i386-pc platform.
Installation finished. No error reported.
sudo grub-install /dev/sda
會出現(xiàn)
Installing for i386-pc platform.? ?
Installation finished. No error reported.
好的 這個問題已經(jīng)解決的
謝謝觀看本文章
Question:
持續(xù)更新......
(11)重啟網(wǎng)絡(luò):sudo /etc/init.d/networking restart
·
(10) Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pycurl.so' Consider using the --user option or check the permissions.
給它sudo 權(quán)限就可以了,醬紫:
(9) Failed building wheel for pycurl
(9)make install 時候,醬紫:
很簡單,給它root 權(quán)限就OK
醬紫: sudo make install
(8)安裝Python 2.7的時候報錯:
configure: error: no acceptable C compiler found in $PATH See "config.log" for more details
錯誤:
解決辦法:安裝基礎(chǔ)包
此時 再輸入 ./configure 即醬紫: ./configure --prefix=/usr/local/python2 就不會報錯了
(7) E: Unable to locate package build-essential
究其原因,應(yīng)該是剛安裝,軟件源還來不及更新,所以才會無法找到包。我猜測在更換軟件源之后,也很可能會出現(xiàn)這個問題。
輸入即可
(6) wget: unable to resolve host address
修改conf 文件: sudo vim /etc/resolv.conf
后面加上:
(5)SSH Xshell 連接不上Linux ubuntu(Ubuntu已安裝了ssh)
這個原因是由于自身是server,然后又給它裝了一個桌面,所以之后,一直都起不來,最后的解決方法是 卸載桌面,清掉相關(guān)的信息,就是醬紫:
(4)apt-get update 報錯:
E: Failed to fetch cdrom://Ubuntu-Server 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801)/dists/xenial/main/binary-amd64/Packages Please use apt-cdrom to make this CD-ROM recognized by APT. apt-get update cannot be used to add new CD-ROMs E: Some index files failed to download. They have been ignored, or old ones used instead.
執(zhí)行 : sudo nano /etc/apt/sources.list or sudo vim /etc/apt/sources.list ,
在頂部附近,注釋掉看起來像這樣的行:
deb cdrom:[Ubuntu-Server 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801)]/ xenial main restricted
再運(yùn)行 sudo apt-get update :
如果還是覺得沒用,試試
(3)第一次ssh上傳文件報錯:server responded”algorithm negotiation failed”
解決方法:
修改ssh的配置文件 /etc/ssh/sshd_config
cd /etc/ssh
vi /etc/ssh/sshd_config
在配置文件中添加:
重啟sshd服務(wù)后(sudo service ssh restart),即可正常連接:
sudo service ssh restart 或者 sudo reboot
(2)解決 swap file “*.swp”already exists!問題
方法:
使用vim編輯文件實(shí)際是先 copy 一份臨時文件并映射到內(nèi)存給你編輯, 編輯的是臨時文件, 當(dāng)執(zhí)行:w 后才保存臨時文件到原文件,執(zhí)行:q 后才刪除臨時文件。
*****將隱藏的 *.swp 文件刪除即可,原先的文件便可再次編輯*****
ls -a
rm -r .swp文件 eg:rm -r .test.py.swp
vi 文件
(1)虛擬機(jī)不能上網(wǎng):
ifconfig 網(wǎng)卡有沒有
VMware 兩個網(wǎng)卡
VMware 編輯 恢復(fù)初始化