基礎Linux命令總結


簡單命令Linux

  • ls 列出當前文件目錄下的文件(只顯示文件名)
  • pwd 顯示當前操作的路徑
  • cd 跳轉路徑
  • ls -a 可以把隱藏的文件顯示出來 ,另外,創建隱藏文件的命令是 touch.123.txt 就是在文件名字前加了一個“點”
  • ls -h可以顯示所創文件的大小,會進行一個自動的統計
  • ls -l以鏈表的形式顯示文件信息,一行輸出,其實是詳細了
  • ls -a -l -h綜合上面是三種方式,以鏈表的形式輸出
  • ls -alhls -a -l -h 的作用是一樣的
  • clear是清空屏幕
  • touch創建一個文件
  • mkdir創建一個文件夾
  • rm刪除文件或一個文件夾,值得注意的是,在刪除文件夾的時候,要寫rm 文件夾名 -r。其中-r的意思是遞歸。不管文件夾是不是為空都會刪除!!
  • rmdir刪除文件夾(文件夾是空才能刪除)
  • rm / -rf從根目錄開始刪除(萬惡的命令啊~~~)
  • gedit使用linux默認編輯器對文件進行編輯
  • cat 可以查看文件的全部內容(不能編輯)還可以同時查看兩個文件或多個文件的內容,例如:
cat 1.txt 2.txt

而且cat可以和 重定向>>>連用,例如:

cat 1.txt 2.txt > xxx.txt

這樣的話就能實現吧1.txt 和2.txt 的內容 寫到新建的xxx.txt 的文件中去。也就是實現了文件的合並

  • more可以查看文件的內容(以百分比顯示),如果想要繼續查看下面的內容,則可以按下fb鍵進行翻頁查看。

幾個簡單的快捷鍵

  • Tab 鍵可以自動補全
  • b 可以往回走(翻屏)
  • f 可以向下走(翻屏)
  • q如果沒有顯示'命令'時,就要按q鍵進行退出操作
  • ctrl + shift + t在同一個終端中新建一個標簽
  • alt + 1切換到第一個標簽的終端,依次類推
  • 上箭頭下箭頭就可以找到上一個或者下一個命令,這樣就可以實現對於命令的快速使用,而不需要再重新寫命令。

幫助文檔查看

  • 命令的名字 + --help 可以顯示這個命令的幫助信息,或者是用man + 命令的名字也可以達到相同的效果,舉個栗子:我們要查看ls的用法,就可以使用下面的兩種方法來實現:
    ls --helpman ls

通配符的使用

  • 通配符 *:可以代替多位(0-n)字符,進行模糊查詢操作,例如 在目錄下有文件 123.txt 234.txt 245.txt 134.txt ls 2* 執行這個命令之后就會篩選出來文件 234.txt 245.txt ,也就是說把以2開頭的文件進行篩選。
  • 通配符 ?:可以代替一位字符,進行模糊查詢操作,例如:在目錄下有文件 23.txt 234.txt 執行ls 2?命令,則只會顯示23.txt。同理如果執行ls 2??,則此時顯示234.txt。
  • 通配符 []可以指定模糊查詢的范圍。例如
    在目錄下游文件 123.txt,456,txt,213.txt,143.txt 執行 ls 1[23]3則此時只會顯示123.txt []這個通配符 只占一位 。當然[]里面也可以寫[1-4]則這時表示 中括號中的值可以在1,2,3,4 中選,只要存在一個,就可以。

重定向

對於重定向而言,主要是是用到>>>這兩個符號。下面舉個例子:假如我們已經在目錄下創建好了 ers.txt sda.txt 123.txt 三個文件了

ls 
ers.txt sda.txt 123.txt
ls > xxx.txt
ls
ers.txt sda.txt 123.txt xxx.txt
gedit xxx.txt
-----------------------------------
下面是xxx.txt 顯示的內容
-----------------------------------
ers.txt sda.txt 123.txt xxx.txt

通過上面的代碼,可以得出關於重定向的幾個小作用

1.當重定向文件是,會自動創建一個文件 在本例中 自動生成了 xxx.txt文件。

2.重定向會把剛剛顯示的信息(包括生成的xxx.txt ) 到 剛剛自動生成的 “重定向文件中去”。在本例中 通過 gedit 命令可以看到 ers.txt sda.txt 123.txt xxx.txt這樣的結果。

ls -alh >> xxx.txt
ls
ers.txt sda.txt 123.txt xxx.txt 
gedit xxx.txt 
-----------------------------------
下面是xxx.txt 顯示的內容
-----------------------------------
ers.txt sda.txt 123.txt xxx.txt
xxx.txt
{此處是ls -alh 所顯示的信息}

通過上面的一段代碼,可以知道>>可以追加並寫入,但是如果只有> 的話,會把原來的刪除,只寫最新的ls

ls 和 cd 的補充、相對路徑和絕對路徑

  • 一行一般只寫一個命令,如果非要寫很多命令的話,記得要用 ;把兩個命令進行分開。
  • |這個符號類似於“管道”的概念,例如:ls -alh | more這樣就可以實現分屏顯示要顯示的內容了。
  • 對於相對路徑和絕對路徑的基本解釋就不多做解釋了。在Linux中 .\A這個命令表示在當前目錄先的A的文件夾下的目錄下。也就是說一個點可以表示的 絕對路徑。而 ..則表示是返回上一層的路徑 例如:在目錄 \home\python\A 下,使用命令 cd .. 則執行的結果就是返回上一次的目錄,也就是到了python 的目錄下。當然了之有...。不存在三個或者是多個點。在本例要想返回到home 文件夾下,命令應該這樣寫:cd ..\..這樣就到了home 的文件夾下面,當然了也可以用絕對路徑。
  • cd -是快速返還上一次的路徑,且只能執行一次。
  • cd ~是快速返回到家目錄。在我的機子上 就是\home\yaojianlong\

mkdir 的補充

  • 如果以個命令我們寫了部分,寫錯了,或者不想執行這個名命令了,我們可以寫 Ctrl + C 就會跳轉到下一行。我們就可以重新寫命令了。
  • 對於多層次的文件夾的創建,可以使用cd 命令和mkdir創建,但是這樣的話就比較麻煩了。可以用一個簡單的方法進行創建。例如:要創建/A/B/C/D 要進行文件夾的嵌套創建,只需要使用如下命令:
mkdir /A/B/C/D -p

就完成了上述嵌套文件的創建。-p 命令執行之后,就會對與依賴文件先進行創建。

注意

1.ls -a -l -hls -l -a -h實現的效果是一樣的,或者說這個是和順序無關的,例如 ls -alhls -hal 實現的效果也是一樣的;2.不要忘記了ls 和 -alh 之間的空格。

軟鏈接,硬鏈接,grep,cp,mv

Linux 鏈接文件類似於Windows下的快捷方式。鏈接文件分為軟鏈接硬鏈接

  • 軟鏈接:軟鏈接不占用磁盤空間,源文件刪除則軟鏈接失效。
  • 硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。
    使用格式:
ln 源文件 鏈接文件
ln -s 源文件 鏈接文件

如果 沒有-s選項代表建立以個硬鏈接文件,兩個文件占用相同大小的磁盤空間,即使刪除了源文件,鏈接文件還是存在,所以-s 選項是更常見的形式。

注意:如果軟連接和源文件不在同一個目錄。源文件要使用絕對路徑,不能使用相對路徑。軟鏈接相當於在windows系統下‘快捷方式’而硬鏈接在相當於是文件的另外一個名字,在linux下,可以看成是有多個名字的,對於新建的硬鏈接就相當於是文件的另外一個名字,如果說,這個文件只要是有一個'名字'存在的話,就可以真是的存在

  • grep 搜索:相當於搜索查找例如:
grep "ntsd" xxx.txt

上面的代碼的意思就是在xxx.txt 文件中查找 含有ntsd這幾個字母的字段。

如果在選項中加入 -n則表示的是 查找 字段並把該字段在文件中的位置(行號)顯示出來。命令如下:

grep -n "ntsd" xxx.txt

如果在選項中加入 -v則表示的是 查找字段並把不包含該字段的其余字段顯示,命令如下:(顯示不包含該字段的信息)

grep -v "ntsd" xxx.txt

如果想要在文件中查找以 ntsd 字段開頭的字段 命令如下:(顯示不包含該字段的信息)

grep  "^ntsd" xxx.txt

如果想要在文件中查找以 ntsd 字段結尾的字段 命令如下:(顯示不包含該字段的信息)

grep  "ntsd$" xxx.txt
  • mv重命名文件(或者文件夾)/移動(剪切並且粘貼)
mv 1.txt 111.txt//把1.txt 重命名為111.txt
mv 111.txt laowang/   //把111.txt 移動到laowang 文件夾中
  • cp 復制文件/文件夾(並且粘貼)
cp 2.txt A   //復制 2.txt 文件到 A 文件夾中
cp A laowang/ -r    //只要是文件夾不能操作,加一個-r 就可以了。
  • find 命令可以查找文件,和grep 不同的是,grep 是查找文件里面的內容。這一點一定不要搞混了。find 有name 和 size 選項,下面舉個簡單的例子來說明這個命令的用法。
find /tmp -name ts   //查找tmp目錄下的 名字為 ts 的文件

find /tmp -name "*ts*"  //查找tmp目錄下的文件名中含有 ts 的文件

find /tmp -size 2M  //查找tmp 目錄下 文件大小為2M的文件

壓縮和解壓縮

  • tar -cvf test.tar *.py 打包,把所有的.py文件進行打包(大小不變,並沒有壓縮)

  • tar -xvf test.tar 解包

壓縮格式(一)

  • tar -zcvd xxx.tar.gz *.py 壓縮所有.py文件

  • tar -zxvd xxx.tar.gz解壓.gz 壓縮包

這種方法壓縮的文件比較小哦

壓縮格式(二)

  • tar -cvf yyy.tar.bz2 *.py 壓縮包為.bz2 壓縮格式

  • tar -jcvf yyy.tar.bz2 解壓上面的包(不是面包哦)

這種方法壓縮的文件比較大哦(雖然是廢話,但是我還是要說~哼)

Linux 系統相關命令

  • cal (顯示日歷的,不要寫成call,一天天的給xxx瘋狂打call)

舉個栗子:查看2018年的日歷

cal -y 2018
  • date 查看當前的時間(很具體的哦)。date "+%Y年%m%d"在這個小的命令中呢,顯示的結果是 2018年1月3日 也就是說,在date命令后加上了雙引號了之后呢,就可以根據自己的格式來了,還有需要注意的一點就是,在這個小的命令中%Y%y顯示的效果是不一樣的,小y只是顯示年份的最后兩位,例如2018 如果用小y的話就只是顯示“18”了哦。
  • ps -aux顯示現在的所有進程
  • top 命令可以顯示當前地電腦顯示進程,但是沒有全部顯示出來
  • htop 顯示進程(很詳細,很牛x)
  • kill 例如:kill 9822 則把id為9822 的進程殺死,但是如果殺不死呢1就是不死呢!woc!竟然不死,不要緊,用 kill -9 9822 強制殺死,就這樣,他掛掉了。這個id 可以用ps -aux 進行查看。
  • reboot 重新啟動
  • shutdown -h now立刻關機;shutdown +10 10 min后關機;shutdown 20:2020:20准時關機
  • df用來查看系統總硬盤的使用情況
  • du用來查看當前路徑的使用情況
  • ifconfig用來顯示當前電腦上的網絡信息和設置網絡
  • pingping 加一個ip看接通情況。
  • sudo useradd root123 -m 創建一個新的用戶(root 是自定的用戶名),其中-m的意思是創建一個用戶之后,同時在home 下創建一個和用戶名稱一樣的目錄文件夾
  • sudo userdel root123 刪除名字為root123的用戶
  • su root切換到root123用戶中(此時還是在原來用戶的目錄下)。如果說su - root 切換到root用戶下,並且同時切換到root123的家目錄下。
  • sudo passwd root123 設置root123 用戶的密碼,或者更改用戶的密碼
  • whoami 查看登陸當前操作用戶的名字並顯示
  • who 查看所有登陸用戶的名字並顯示
  • exit 退出當前用戶
  • ssh root@172.100.2.2 遠程連接名稱為root的用戶(用戶ip為172.100.2.2),window是沒有這個命令的
  • sudo -s進入進入root超級管理員界面,需要注意的一點是,不要用su root這樣你是進不去的(限於linux),不信你試試哈(你是不會知道密碼的hahahah~)
  • sudo groupadd創建用戶組
  • sudo delgroup刪除用戶組
  • cat /etc/passwd查看用戶是否創建成功
  • cat /etc/group查看用戶組是否創建成功
  • 添加sudo權限給普通用戶給普通用戶(xxxx)添加sudo權限。注意的一點是,在linux中,如果創建了一個新的用戶組,默認的是沒有sudo權限的,也就是說在新建的用戶xxxx中是無法使用 sudo -s這個命令的。所以如果非要使用這個命令的話,就需要給他sudo權限。

下面的是完整的命令:

sudo usermod -a -G sudo xxxx

sudo usermod -a -G adm xxxx

  • chgrp xxxx 1.py更改當前用戶組的 1.py 文件的 用戶組權限為xxxx

  • chown xxxx 1.py更改當前用的 1.py 文件的用戶權限為 xxxx

  • 修改文件權限(字母法,數字法)

舉一個簡單的小栗子吧~

現在有 1.py 2.py 3.py 三個文件,修改1.py 用戶權限為 “可讀可寫可執行”則:

chmod u=rwx 1.py

執行結果:

-rwxrw-r-- 1 python python 0   1月    4  20:29 1.py*

從上面的例子中我們可以看出,-rwxrw-r-- 用戶的權限已經改成了rwx;用戶組的權限為rw-;其他用戶的權限為r--。通過這個例子,同樣的我們可以用chmon g=rwx chmod o=r等命令進行權限的更改。也可硬一次性的改多個屬性,例如:

chmod u=rwx,g=r,o=wx 2.py    //可以用逗號進行分割

上面介紹的方法是字母法,現在來介紹數字法:

r 代表讀(read),w 代表寫(write),x 代表執行(execute)

讀,權限是二進制的100,十進制是4;
寫,權限是二進制的010,十進制是2;
執行,權限是二進制的001,十進制是1;

具備多個權限,就把相應的 4、2、1 相加就可以了:

若要 rwx 則 4+2+1=7
若要 rw- 則 4+2=6
若要 r-x 則 4+1=5
若要 r-- 則 =4
若要 -wx 則 2+1=3
若要 -w- 則 =2
若要 --x 則 =1
若要 --- 則 =0

也就是說,下面的代碼是等價的:

chmod u=x,g=wx,o=rwx 2.py

chmod 137 2.py

常用vi命令

先不寫啦

小結

小總結一下常用的Linux命令。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM