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