Linux 常用簡單命令,linux命令
安裝VMware時切記保持更新,重新安裝VMware tools,根據虛擬機器下方的提示完成。在Ubantu系統中額外安裝軟體,軟體格式是.deb,以sublime-text-3為例,直接從Windows中複製粘貼到/opt中,在終端中輸入sudo dpkg -i /opt/sublime-text-3.deb,即可。(終端在應用市場中找,當sublime安裝成功後,在終端輸入subl開啟)
今日要求:瞭解linux和相關檔案、系統的命令。
一、 Linux
Linux、winsows、mac、android、ios是目前所瞭解到的作業系統,它們作為裝置和應用程式的串連紐帶。Linux和Windows一樣,只是目前市場中個人桌面這塊Windows大家接觸的多;但在伺服器方面,Linux則比較突出,它具有免費、高效、穩定等特點。而且在嵌入式領域的應用十分廣泛。
二、 命令
2.1 檔案和目錄
家目錄為 /home/user 或者 ~
目錄分為兩種:
絕對目錄,從根目錄開始寫
相對目錄:相對當前所在的位置開始寫
2.1.1 命令的格式
command [-options] [parameter1][parameter2]...
command:命令名,相當於do;
options:選項,相當於how,對命令進行規範,有時幾個可以同時使用,大多數情況下不分先後順序(目前已知打包-f必須放在最後);有時也可省略。
parameter:命令的對象。
notes:查看命令的位置:which command
自動補全命令按Tab鍵
上下方向鍵可以快速切換之前輸入的命令,輸入history直接看到所有輸入的命令(history | more分屏,q鍵退出)
退出一般按q鍵,無效的情況按Ctrl+C鍵,Ctrl+Z是將進程暫時掛起,fg再次運行,bg後台運行。
2.1.2 命令的協助
在使用命令的時候出現問題,可用下面兩種方法採取協助。(以ls為例)
- --help:ls --help
- man:man 1 ls
man手冊分為8類,第一類是標準命令,如不輸入類別則是按1-8的順序搜尋。
b鍵上一頁,空格下一頁,h鍵手冊指南,q鍵退出。(man ls | more分屏顯示ls --help | more)
2.2 檔案管理命令
2.2.1 切換工作目錄 cd
目錄分為兩種:從/根目錄開始的絕對目錄和從./目前的目錄開始的相對目錄
cd ~直接切換到家目錄/home/user/
cd .(cd ./)目錄不變
cd ..(cd ../)切換到上一層mulu
cd -切換到上一層目錄所在位置
cd 後可直接跟絕對目錄和相對目錄
顯示當前路徑 pwd;清屏clear(快速鍵Ctrl+L)
2.2.2 查看目前的目錄下的檔案目錄 ls
ls -a 也顯示目前的目錄下的隱藏檔案
ls -l 以列表的形式顯示,顯示檔案的詳細資料(包括許可權、永久連結數、最後一次修改時間、檔案名稱等)。
ls -lh 以列表的形式顯示,額外顯示檔案的大小(-h不單獨使用)
萬用字元:*可以代替多個字元,?代表任意一個字元,逸出字元\使得*、?失效,當*、?放在[]內時失效,-放在[]外時也失效。
查看以a開頭的檔案名稱:ls a*
查看.py結尾的檔案名稱:ls *.py
查看名為*a.py的檔案名稱:ls \*a.py
此外還有:ls a?.py;ls a[abcd].py;ls a[a-z].py
2.2.3 重新導向指令
ls 和 cat 均可,>先清除檔案中的內容,再重新輸入。>>不清除,在檔案內容末尾處直接添加『cat [檔案名稱],表示查看該檔案內容』
ls a.py > b.py(cat a.py > b.py)或者ls a.py >> b.py(cat a.py >> b.py)
關於ls和cat重新導向的區別:在ls重新導向的新檔案內容是檔案名稱;cat重新導向的新文檔內容是檔案內容。
2.2.4 管道與分屏顯示
|:管道,用|將命令隔開,一次可以輸入n個命令(同時建立刪除檔案可行,再切換目錄這一步失效)。
more:分屏顯示,一般與|合用。(也可more 檔案名稱)
2.2.5 建立目錄和刪除目錄
建立目錄:
建立一級目錄,直接輸入mkdir 檔案夾名
建立多級目錄,添加選項-p,如:mkdi -p 檔案夾名/檔案夾名/檔案夾名/.... (-p位於檔案夾名前後都可以)
刪除目錄:
rmdir 檔案夾名(必須為空白檔案夾)
2.2.6 拷貝檔案 cp 和移動檔案 mv
拷貝檔案: sudo cp [-options] 原檔案所在目錄及檔案名稱 拷貝檔案目錄及其檔案名稱(在同一目錄下則不用sudo 和寫檔案名稱,當前路徑就是檔案所在路徑也可省略)
選項:-a 拷貝時檔案屬性不變
-v 拷貝進度
-r 拷貝檔案夾
-f 拷貝時不再提醒檔案名稱重複等
移動檔案:sudo mv [-options] 原檔案所在目錄及檔案名稱 拷貝檔案目錄及其檔案名稱(在同一目錄下則不用sudo 和寫檔案名稱,當前路徑就是檔案所在路徑也可省略)
選項:-f 移動時不提醒
-i 提醒
-v 顯示移動進度
Notes:mv 檔案名稱1 檔案名稱2 對檔案1進行重新命名為檔案名稱2
2.2.7 建立和刪除檔案
建立:
touch:建立檔案,例如:touch txet.py
gedit:建立編輯儲存檔案,例如:gedit text.py
刪除:rm :刪除檔案,例如:rm a.py ;
-i: 挨個刪除,一一確認;(yes或y)
-r:對於檔案夾必須添加-r選項;
-f:刪除不存在的檔案,無需提示。
2.2.8 建立連結檔案:ln
ln軟連結檔案類似於Windows的捷徑;永久連結類似於複製粘貼,且只能連結檔案。
跨目錄的話建議用:sudo ln [-s] /原檔案的位置/ /連結的位置/
2.2.9 尋找檔案 find find / 所要尋找的目錄/ [-options] '字串‘
find /所要尋找的目錄/ -name 檔案名稱
find /所要尋找的目錄/ -name ‘*.py'
find /所要尋找的目錄/ -name "[a-z]*" (檔案名稱這塊用雙括弧和單括弧沒有區別)
find /所要尋找的目錄/ -size +4k -size -2M
find /所要尋找的目錄/ -perm 777(或者0777,幾個零無所謂)
2.2.10 文本搜尋 grep grep [-options] ‘字串’
選項:-v 除輸入的字串以外的行
-n 顯示行數
-i 搜尋不區分大小寫
萬用字元:
grep -n '^a' 檔案名稱 在檔案中搜尋以a開頭的行
grep -n '.py$' 檔案名稱 在檔案中搜尋.py結尾的行
grep -n [lL]ik[Ee] 檔案名稱 在檔案中搜尋like、Like、likE、Like所在的行
grep -n 'e.e' 檔案名稱 (.代表任一一個字元)在檔案中搜尋三個字元的字串所在的行,該字串中間字元任意
2.2.11 歸檔打包tar tar [-options] 打包名.tar 被打包檔案名稱1 被打包檔案名稱2...(-f 不能省)
選項:-c 打包
-x 拆包
-v 顯示進度
-f 指定打包的檔案名稱,必須放在選項最後一個,後跟打包名.tar
-t 列出打包件中的東西 (tar -tf 打包名.tar)
2.2.12 檔案壓縮解壓
- tar -z (-j)壓縮命令:壓縮包名可為:名tar.gz;也可是名tar.gz2,或者是名.tar.bz,或者是名.tar.bz2
壓縮:tar -cvzf 壓縮包名 被壓縮包名1 被壓縮包名2...
解壓:tar -xvzf 壓縮包名(解壓到指定目錄,在壓縮包名後添加 -C /目錄/)
壓縮: gzip [-r] 壓縮包名.tar
解壓: gzip -d 壓縮包名.tar.gz
壓縮:zip [-r] 壓縮包名(.zip) 被壓縮包名1 被壓縮包名2...
解壓:unzip -d 解壓後的目錄 壓縮包名.zip
2.3 Linux 命令-使用者、許可權管理
使用者是Unix/Linux系統工作中重要的一環,使用者管理組件括使用者與組帳號的管理。在Unix/Linux系統中,不論是由本機或是遠程登入系統,每個系統都必須擁有一個帳號,並且對於不同的系統資源擁有不同的使用許可權。Unix/Linux系統中的root帳號通常用於系統的維護和管理,它對Unix/Linux作業系統的所有部分具有不受限制的存取權限。在Unix/Linux安裝的過程中,系統會自動建立許多使用者帳號,而這些預設的使用者就稱為“標準使用者”。在大多數版本的Unix/Linux中,都不推薦直接使用root帳號登入系統。
exit : 退出終端(開啟用Ctrl+Alt+T)
whoami: 查看目前使用者的身份(查看系統使用者資訊:cat /etc/passwd)
who : 查看當前所有登入系統的使用者資訊
選項:
-q (--count) 只顯示登入的使用者名稱和使用者的數量
-u 顯示使用者最後一次操作到現在的時間間隔
--heading 顯示欄位標題
切換使用者:su
sudo su [-] 使用者(使用者無則表示切換至root使用者)
- :表示切換使用者後,目錄也切換至新使用者主目錄
無-:則僅僅是切換使用者,目錄不變
注意:如果是ubuntu平台,需要在命令前加“sudo”,如果在某些操作需要管理員才能操作,ubuntu無需切換到root使用者即可操作,只需加“sudo”即可。sudo是 ubuntu平台下允許系統管理員讓普通使用者執行一些或者全部的root命令的一個工具,減少了root 使用者的登陸和行政時間,提高了安全性。
添加、刪除使用者組帳號groupadd、groupdel (查看系統使用者組: cat /etc/group)
添加:sudo groupadd 組帳號
刪除:sudo groupdel 組帳號
修改使用者所在組 usermod
usermod -g 組帳號 使用者名稱
添加使用者帳號:useradd usersdd [-選項] 使用者帳號
選項:-g 指定組名稱
-m 自動建立目錄
-d 主動建立主目錄,否則在家目錄中自動建立與使用者名稱同名的主目錄
Notes: Linux 個使用者必須有主目錄,一般都在/home目錄中,使用者的主目錄和使用者名稱一般一樣。
刪除使用者帳號:userdel
userdel [-r] 使用者名稱
-r表示是否刪除該使用者的同時是否刪除其主目錄
設定使用者密碼:passwd passwd 使用者名稱
修改檔案許可權:chmod
- 第一種:字母法 chmod u/g/o/a +/-/= rwx 檔案名稱
u:user,使用者;g:group,使用者所在使用者組;o:others,其他使用者組;a:all,所有使用者。
+:增添許可權;-:去除許可權,=:重新賦予許可權。
r:read,具有瀏覽的許可權,如:瀏覽該目錄的內容;w:write,具有編輯的許可權,如:建立新檔案;x:execute,具有啟動並執行許可權,如:切換到該 目錄的許可權。
r=4,w=2,x=1,-=0,rwx所在位置許可權對應數字相加。如:rwxrw-r--對應數字為764;rwx------對應數字為700.
注意:如果想遞迴所有目錄加上相同許可權,需要加上參數“ -R ”。 如:chmod 777 test/ -R 遞迴 test 目錄下所有檔案加 777 許可權(-R位置可前可後)
修改檔案所有者:chown chown 使用者名稱 檔案
修改檔案所屬組:chgrp chgrp 使用者組 檔案
2.4 系統管理
cal :查看日曆 -y 查看整年的日曆
date:顯示時間
設定時間格式:sudo date MMhhmmccyy.ss(MM月份,hh小時,mm分鐘,cc年前兩位,yy年後兩位,ss秒)
ps :查看進程資訊 ps [-]options
選項:-a 顯示終端上的所有進程
-x 顯示沒有控制終端的進程
-r 顯示正在啟動並執行進程
-u 顯示進程的詳細資料
kill :結束進程 kill [-signal] PID (PID 通過ps查看;訊號值從0到15,其中9為絕對終止,可以處理一般訊號無法終止的進程。)
top : 動態顯示進程 -d 指定時間間隔,單位:s
M鍵:按記憶體佔有率排序
P鍵:按cpu佔有率排序
T鍵:按已耗用時間排序
U鍵:輸入使用者名稱篩選進程,Enter;退出:Ctrl+C
K鍵:輸入PID來結束進程,Enter,退出:Ctrl+C
H鍵:協助
Q鍵:退出
reboot:重新啟動(等同於 init 6)
shutdown -r now :重啟,並通知其它使用者
shutdown -h now:關機(等同於 init 0)
shutdown -h time :在time時刻關機
shutdown -h +time:time時間後自動關機
df :檢查檔案系統的磁碟佔用和空餘情況(df :只顯示非空的情況)
選項:-T:顯示檔案系統的類型
-t 檔案系統 :顯示指定檔案系統的磁碟佔用和空餘情況
-m: 以1024位元組為單位顯示
-a :顯示所有檔案系統的磁碟使用方式
du:統計目錄或檔案占磁碟空間的大小
選項:-a 目錄:遞迴顯示指定目錄中各檔案和各子目錄中檔案占磁碟空間的大小
-s 目錄:顯示指定檔案或目錄占磁碟的大小(-a 詳細描述,-s只統計整體的大小)
-b:以位元組為單位顯示占磁碟的大小情況
-l : 計算所有檔案大小,包括永久連結
網卡資訊:查看網卡資訊:ifconfig
更改ip:sudo ifconfig 網卡代碼 新ip(網卡代碼:ens33、eth0等)
測試遠程主機連通性:ping (一直跑的情形說明已串連)
ping ip地址(網址)