一.Linux命令格式:
? ??????????????命令? ? ? ? ? ? 選項(xiàng)? ? ? ? ? 參數(shù)1? ? ? ? ? ? ? 參數(shù)2?
? ??????????command? [-options]? [parameter1]? [parameter2] ...
說(shuō)明:選項(xiàng)和參數(shù)不區(qū)分先后位置
? ??????????man xxx命令:可以查看此命令的使用
? ??????????xxx命令 - -help:可以查看此命令的使用
二.常用命令:
1.終端常用操作
Ctrl Shift +按鍵:放大終端字體
Ctrl -按鍵:縮小終端字體
Tab按鍵:自動(dòng)補(bǔ)全,兩次Tab會(huì)顯示當(dāng)前路徑下的內(nèi)容
clear:清空終端內(nèi)容
which?命令:可以查看執(zhí)行命令所在的位置
2.文件和目錄命令
通配符:*任意個(gè)字符;?至少1個(gè)字符;[]字符組中任意一個(gè);^abc已a(bǔ)bc開始;abc$以abc結(jié)尾
ls:顯示當(dāng)前目錄下的非隱藏資源
ls -a:顯示當(dāng)前目錄下的所有資源(包括隱藏資源)
ls -l:以列表方式顯示資源,資源大小是字節(jié)
ls -lh:以列表方式顯示資源,資源大小是K字節(jié)
tree:以目錄樹查看當(dāng)前目錄下的文檔結(jié)構(gòu)(包括文件和文件夾)
tree -d:以目錄樹查看當(dāng)前目錄下的文檔結(jié)構(gòu)(只顯示文件夾)
pwd:終端所在的當(dāng)前路徑
cd:切換路徑 (../上一級(jí)目錄;./當(dāng)前目錄;/根目錄;?-上一次目錄;~家目錄);直接cd也可以回到家目錄
touch:創(chuàng)建文件,創(chuàng)建文件時(shí)文件名前加.可創(chuàng)建隱藏文件
mkdir:創(chuàng)建文件夾
mkdir -p:創(chuàng)建依賴卻不存在的文件夾,例如demo/example.txt
rm:刪除文件
rm -r:遞歸刪除,刪除文件或文件夾,不存在的文件或文件夾會(huì)提示
rm -f:強(qiáng)制刪除,不存在的文件或文件夾不會(huì)提示
mv:移動(dòng)文件或文件夾,例如mv? /home/a/demo.txt? /home/b/demo.txt;重命名,mv? 原文件(文件夾)名? 新文(文件夾)名
mv -i:移動(dòng)文件或文件夾,如果文件或文件夾存在,會(huì)提示是否覆蓋
mv -r:遞歸移動(dòng)
cp:復(fù)制文件
cp -i:復(fù)制文件,如果文件已存在,會(huì)提示是否覆蓋
cp -r:遞歸復(fù)制文件或文件夾
3.文件內(nèi)容命令
gedit:編輯查看一個(gè)文件的內(nèi)容
cat:查看文件(可以是多個(gè)文件)的內(nèi)容(顯示全部?jī)?nèi)容)
cat -b:內(nèi)容增加行號(hào)但不包括空行
cat -n:所有內(nèi)容增加行號(hào)包括空行
more:查看一個(gè)文件的內(nèi)容(分屏顯示內(nèi)容,b后退,f前進(jìn));
? ? ? ? ? ? 例如:ls -alh | more 通過(guò)管道符|將管道符之前的內(nèi)容以分屏的方式顯示
grep:搜索某個(gè)內(nèi)容并展示該內(nèi)容所在的行的全部?jī)?nèi)容,例如grep "哈哈" demo.txt(被搜索的文件)
grep -n:搜索某個(gè)的內(nèi)容并展示該內(nèi)容所在行的全部?jī)?nèi)容及行號(hào)
grep -v:搜索不包含某個(gè)內(nèi)容的全部?jī)?nèi)容
grep -i:搜索包含某個(gè)內(nèi)容的全部?jī)?nèi)容不區(qū)分大小寫
find "文件名":查找某個(gè)文件
find -name?"文件名":按照名字查找某個(gè)文件
find -size?"文件名":按照大小查找某個(gè)文件
history:查看歷史命令,然后通過(guò) !命令序號(hào) 執(zhí)行歷史命令
4.重定向與軟硬鏈接
echo:把參數(shù)在終端中顯示出來(lái),配合重定向使用
>: 重定向,把命令執(zhí)行的結(jié)果添加到一個(gè)文件中(覆蓋);例如:ls > demo.txt
>>: 重定向,把命令執(zhí)行的結(jié)果添加到一個(gè)文件中(追加);例如:ls > detmo.txt
ln:硬鏈接(刪除源文件并不會(huì)影響,原因文件名和文件數(shù)據(jù)是分開存儲(chǔ)的)
ln -s:軟鏈接,相當(dāng)于windows創(chuàng)建快捷方式;例如 ln -s 原文件(絕對(duì)路徑) 鏈接文件
5.文件、用戶、用戶組權(quán)限
chmod u=rwx,g=r,o=w 文件名:設(shè)置文件可讀可寫可執(zhí)行權(quán) r(4),w(2),x(1),沒(méi)有權(quán)限(0);例如?chmod 742?文件名,修改文件夾下所有內(nèi)容的權(quán)限加-R
useradd -m?用戶名:自動(dòng)創(chuàng)建用戶家目錄
useradd -m -g?組名 用戶名:創(chuàng)建用戶并指定用戶所在的組
passwd 用戶名:設(shè)置用戶密碼
userdel -r?用戶名:刪除用戶
id?用戶名:查看用戶的用戶代號(hào)和組代號(hào)
cat /etc/passwd:查看用戶
who:查看當(dāng)前所有登錄的用戶列表
whomi:查看當(dāng)前登錄的賬戶名
usermod -g?組名?用戶名:修改用戶的主組
usermod -G 組名?用戶名:修改用戶的附加組
例如為普通用戶添加sudo權(quán)限:
????????sudo usermod -a -G sudo 用戶名
? ? ? ? sudo usermod -a -G amd 用戶名
usermod -s /bin/bash?用戶名:修改用戶登錄shell
su - 用戶名:切換用戶及用戶家目錄路徑(su 用戶名:只切換用戶)
su -?或?sudo -s:切換管理員權(quán)限(root)
groupadd ?用戶組名:創(chuàng)建用戶組
groupdel 用戶組名:刪除用戶組
chown? 用戶名? 文件或目錄:修改文件或文件夾所屬的用戶
chgrp -R?用戶組名? 文件或目錄:修改文件或文件夾所屬的組
cat /etc/group:查看用戶組
6.遠(yuǎn)程管理
ifconfig:查看ip地址信息
ping ip地址:可以查看是否和這個(gè)主機(jī)通信
服務(wù)器默認(rèn)端口:web(80);ftp(21);ssh(22);https(443)
ssh? 用戶名@IP地址? [-p?端口號(hào)]:遠(yuǎn)程登錄某個(gè)電腦; exit:退出登錄
拷貝本地文件到遠(yuǎn)程:scp? ?[-P 端口號(hào)]? 1.py ?遠(yuǎn)程用戶名@IP地址:Desktop/1.py
ssh免密碼登錄:ssh-keygen——生成ssh秘鑰;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ssh-copy-id?用戶名@IP地址? [-p?端口號(hào)]——拷貝秘鑰至遠(yuǎn)程服務(wù)器
ssh配置別名:在.ssh文件夾下創(chuàng)建config文件,在文件中增加以下內(nèi)容
????????????????????????Host? 別名
? ??????????????????????HostName? 服務(wù)器IP地址
? ? ? ? ? ? ? ? ? ? ? ? User ?服務(wù)器用戶名
? ? ? ? ? ? ? ? ? ? ? ? Port ?服務(wù)器端口
7.系統(tǒng)命令
date查看系統(tǒng)時(shí)間?cal查看當(dāng)月日歷?cal -y查看一年12個(gè)月的日歷
df -h查看磁盤占用空間?du -f查看當(dāng)前目錄中所有文件占用空間
ps?aux查看進(jìn)程,a(終端進(jìn)程);u(進(jìn)程詳細(xì)狀態(tài));x(沒(méi)有控制終端的進(jìn)程)
top當(dāng)前系統(tǒng)中內(nèi)存和cpu占用高的程序,q退出
kill [-9]?進(jìn)程代號(hào)(PID):結(jié)束進(jìn)程,-9代表強(qiáng)制結(jié)束
shutdown:關(guān)機(jī)
shutdown -r:重啟
shutdown -c:取消關(guān)機(jī)或者重啟
8.壓縮解壓
壓縮:tar -zcvf 需要打包的內(nèi)容 壓縮包的名字.tar.gz
? ? ? ? ? tar -jcvf 需要打包的內(nèi)容 壓縮包的名字.tar.bz2
解壓:tar -zxvf 壓縮包的名字.tar.gz 解壓到當(dāng)前目錄(需要解壓到的某個(gè)文件夾-C 文件夾名)
? ? ? ? ? tar -jxvf 壓縮包的名字.tar.bz2 解壓到當(dāng)前目錄(需要解壓到的某個(gè)文件夾-C 文件夾名)
9.軟件安裝
apt install?軟件包:安裝軟件,例如apt?install?sl或者apt?install?htop
apt?remove?軟件包:卸載軟件
apt?upgrade:升級(jí)軟件
10.vim的使用

vim命令:
yy:復(fù)制光標(biāo)所在的這一行; 4yy:光標(biāo)所在行開始向下復(fù)制4行
dd:剪切光標(biāo)所在的這一行;2dd:光標(biāo)所在行開始向下剪切2行
D:從當(dāng)前的光標(biāo)開始剪切,一直到行末
d0:從當(dāng)前的光標(biāo)開始剪切,一直到行首
x:刪除當(dāng)前的光標(biāo)
X:刪除當(dāng)前光標(biāo)前面的一個(gè)
u:撤銷剛剛的操作
Ctrl+r:反撤銷
p:粘貼
h:左;j:下;k:上;l:右
H:當(dāng)前屏幕的最上方;M:當(dāng)前屏幕的中間;L:當(dāng)前屏幕的最下方
Ctrl+f:向下翻一頁(yè);Ctrl+b:向上翻一頁(yè)
20G:快讀定位到第20行;gg:快速定位到第一行;G:快讀定位到最后一行
w:向后跳一個(gè)單詞的長(zhǎng)度即跳到下一個(gè)單詞的開始處;b:向前跳一個(gè)單詞的長(zhǎng)度即跳到上一個(gè)單詞的開始處
v+上下左右鍵:選中一片代碼(按光標(biāo));V+上下左右鍵:選中一片代碼(按光標(biāo)所在的行)
>>:向右移動(dòng);<<:向左移動(dòng);.:重復(fù)上一次命令
r:替換光標(biāo)所在處的一個(gè)字符;R:向后替換光標(biāo)處的字符
/某內(nèi)容:回車后可以搜索“某內(nèi)容”;n:顯示搜索到的下一個(gè);N:顯示搜索到的上一個(gè)
:%s/abc/123/g:將所有的abc替換為123;:11,16s/abc/123/g:將11行到16行中的abc替換為123
:w:保存;:q:退出;:wq或Shift+zz:保存退出;:q!:不保存強(qiáng)制退出