從零開始的python世界的闖蕩之視頻學習篇 第一話 Linux命令基礎

一.前言

#本系列篇章是新開的坑,是我看的某機構視頻,所做的課後筆記。#有些地方寫的比較簡單,會有很多不足之處,可以在評論中提出來,畢竟,這樣才能進步#這個篇章比較系統的學習,不像官方教程一樣,兩個篇章可以相互結合的學習。互補!#好的,現在開始進入視頻學習篇。

二.Linux命令概述

#linux系統被越來越廣泛的使用,在企業里,所以掌握一些常用的命令是很有必要的。#(筆者採用的是 Cent OS7 版本的linux系統)##普遍的命令格式: command [options] [parameter] ......# 命令 選項 參數# 選項之間沒有順序,並且通常的只在開頭寫一個-符號# []代表著可選。### 查看幫助文檔: <1>. --help : 一般Linux命令都自帶help選項,只要 命令 + --help 即可# e.g: ls --help# <2>. man : man是linux 提供的一個手冊,當不懂命令或者忘記參數,可以使用# 這個命令,用法為: man + 命令名# e.g: man ls #linux 中 還支持命令補全的功能: 當敲出命令的前幾個字母后,按Tab鍵即可顯示出完整的命令名# 特別注意: 當敲出的字母有許多命令都能匹配時,可以按Tab鍵兩下,顯示出所有以敲# 出字母開頭的命令名#linux 還有記錄命令的功能(歷史命令): 當系統執行過一些命令後,可以通過history命令查看以前# 輸過的命令。並且還能夠快速的再次執行此指定命令# 使用歷史命令: history + 命令前的ID

三.Linux命令之文件,磁碟管理

#<1> ls : 查看指定路徑下所有文件的信息# 常用參數: -a 顯示隱藏文件# -l 以列表的方式顯示文件的詳細信息# -h 給文件的大小標上單位,常常與-l 聯用# e.g:

圖 1.1 ls 效果

圖1.2 ls -a 效果

圖 1.3 ls - l 效果

圖1.4 ls -lh 效果

#<2>.通配符: 如果對正則表達式有了解的人很容易懂,就是一個字元,大概的表示一部分內容# *: 表示任意個任意字元# ?: 表示一個任意字元# []: 中括弧內可以自定義內容。表示匹配中括弧內的任意一個## e.g: ls te* : 顯示出以te開頭的文件 ls *html: 顯示以html結尾的文件 ls ?.c : 顯示文件為一個字元加.c的文件 ls a.? : 顯示以a.開頭且以一個字元結尾的文件 ls [a-f]* : 顯示以a到f之間任意一個字元開頭的文件#<3>.重定向命令: linux允許將命令執行結果重定向到指定的位置。# 『>』:輸出重定向,將本來要輸出到屏幕上的內容,重定向到指定的位置,會覆蓋以前內容# 如果文件不存在,會自動創建# e.g:

圖1.5 將輸出的內容保存到new.txt中

# 『>>』:輸出追加重定向,和輸出重定向一個功能,但是不會覆蓋文件的以前內容#<4>. more :分屏顯示,當內容比較長時,可以使用這個命令,一屏一屏的顯示內容#e.g:

圖1.6 more new.txt 的效果

#<5>.cat : 一口氣顯示完文件的內容,直接到文件的最後。可以同時打開多個文件,合併在一起#e.g:

圖1.7 cat new.txt 的效果

#<6> | : 管道符,將管道符左邊命令的結果,作為管道符右邊命令的參數。#e.g:

圖 1.8 ls -al | more 的效果

#<7> clear: 清屏,將終端上的顯示的內容全清除,也可以使用快捷鍵 Ctrl+L##<8> pwd : 顯示當前路徑#e.g:

圖1.9 pwd 的作用

#<9> cd : 切換工作目錄,也就是切換路徑。# ~ : 切換到當前用戶的主目錄# . : 切換到當前目錄# ..: 切換到上一級目錄(父目錄)# -: 返回到上次所在的目錄#e.g:

圖1.10 cd 各參數的效果

#<10>mkdir : 創建目錄 # -p:可以遞歸創建目錄(當要在不存在的目錄下,創建一個目錄時使用)#e.g:

圖1.11 mkdir 以及mkdir -p 的使用效果

#<10>rmdir : 刪除目錄 (但是只能刪除空目錄)#e.g:

圖1.12 rmdir 的使用效果

#<11>rm :刪除文件,如果沒有加參數,則只能刪除文件。# -f : 強制刪除,沒有互動式提示# -i : 互動式確認是否刪除# -r : 遞歸的刪除目錄下的內容(常用於刪除目錄)#e.g:

圖1.13 rm 刪除文件

圖 1. 14 rm -rf 強制遞歸刪除目錄

#<12>ln : 建立文件鏈接# 在linux中,鏈接可分為 : 軟鏈接: 不佔用磁碟空間,相當於windows的快捷方式,刪除源文件,# 軟鏈接也就失效了# 硬鏈接:佔用磁碟空間,只能鏈接普通文件,相當於增加了一個文件名指向源文件的存儲空間,# 刪除源文件,沒有太大影響。#e.g:

圖1.15 ln -s 軟鏈接的使用

圖1.16 ln 硬鏈接的使用

#<13>grep : 文本搜索。允許對文本文件進行模式查找,將包含模式的所有行列印出來# 一般格式為: grep [-選項] 搜索內容串 文件名 # 通常,搜索內容串可以使用正則表達式# 常用選項有: -v 顯示不包含匹配文本的所有行# -n 顯示匹配行及其行號# -i 忽略大小寫#e.g:

圖1.17 grep 及其選項的用法

#<14> find : 查找文件,通常用來在特定的目錄下搜索符合條件的文件。# 常用選項: -name :按名稱查找,支持通配符# -size :按大小查找,後接具體大小, +大於, -小於。默認等於# -perm :按許可權查找,後接許可權數字。 如777#e.g:

圖1.18 find 的簡單用法

#<15> cp : 拷貝文件,將給出的文件或者目錄複製到另一個文件或目錄中,# 常用選項: -a: 保留文件原有屬性,通常用於複製目錄# -i: 顯示互動式確認# -r: 遞歸複製# -v:顯示拷貝進度#e.g:

圖 1.19 cp 的簡單使用

#<16>mv : 移動文件,常用來移動文件或目錄,也可以用來重命名# 常用選項: -v: 顯示移動進度# -f: 不出現交互界面# -i: 出現交互界面進行確認#e.g:

圖1.20 mv的移動和重命名用法

#<17>tar : 歸檔管理,常用的備份工具,以及對文件的壓縮。# 常用格式: tar [參數] 打包文件名 欲打包的文件# 常用參數: # -cvf 打包# -xvf 解包# -jcvf 將文件壓縮並打包為.tar.bz2# -jxvf 將壓縮包解壓,要是bz2的壓縮包# -zcvf 將文件壓縮並打包為 .tar.gz# -zxvf 將壓縮包解壓,要是gz的壓縮包# -C 解壓到指定路徑#e.g:

圖 1.21 tar 打包解包的簡單用法

圖 1.22 tar 壓縮的簡單用法 bz2

圖 1.23 tar 壓縮的簡單用法 gz

#<18>which :查看命令位置#e.g:

圖 1.24 which 的簡單用法

四.linux命令-用戶丶許可權管理

#linux是一個多用戶多任務的一個系統,所以用戶相關的管理是比較重要的#<1> whoami : 查看當前用戶#e.g:

圖2.1 whoami 的使用效果

#<2>who : 查看登錄用戶#e.g:

圖2.2 who 的使用效果,後面還有一行是IP

#<3>exit: 退出登錄賬戶#e.g:

圖 2.3 exit的使用效果,若是終端。則會退出終端

#<4>useradd :添加用戶# 常用的格式 : useradd [參數] 用戶名# 常用選項: -m 自動建立家目錄# -g 指定組名稱#e.g:

圖2.4 useradd 的使用效果

#<5> passwd : 設置用戶密碼# 常用格式: passwd 用戶名#e.g:

圖 2.5 passwd 設置密碼效果

#<6>userdel : 刪除用戶 # 常用參數 : -r 連家目錄一起刪除#e.g:

圖2.6 userdel 效果圖

#<7>su : 切換用戶# 常用選項 : - :作用是切換用戶後,直接到用戶的家目錄#e.g:

圖 2.7 su 的效果圖

#<8> 在linux中還有類似於QQ中的好友組一樣的東西--》用戶組,有些文件的和目錄的許可權,可以通過# 用戶組來設置。 查看用戶組: cat /etc/group groupmod + Tab*2次#e.g:

圖2.8 查看用戶組的方法

#<9> groupadd : 添加用戶組#e.g:

圖 2.9 groupadd 添加用戶組

#<10>groupdel : 刪除用戶組#e.g:

圖 2.10 groupdel 刪除用戶組

#<11>usermod : 修改用戶所在組# 使用方法為: usermod -g 用戶組 用戶名# 常用參數 : -g : 用來設定用戶默認的默認組# -G : 為用戶添加一個組#e.g:

圖 2.11 usermod 的使用方法

#<12> 在linux中,通常每個文件都會有一個許可權,利用 rwx 表示。# r : 可讀(4) w: 可寫(2) x:可執行(1)# 並且利用 ls -l 可以看到,文件最前面有10個字元位,第一個字元代表文件類型# 剩下九個,三個為一個整體,分別表示,文件的持有者的許可權,文件屬組的許可權,以及其他人的許可權#修改文件的許可權,可以使用 chmod 命令: 通常具有兩種格式,#一種是字母法, 基本格式為: chmod u/g/o/a +/-/= 字母 文件# u:文件的持有者 g:文件的屬組 o:其他人 a:所有人 # +: 增加 -:減少 =:等於#e.g:

圖2.12 chmod 字母法修改許可權

#還有一種是數字法#基本格式為 :chmod 數字組 文件名# 數字組 : 每一位代表一個許可權組,如777,代表所有人都能讀寫執行# 751,代表:文件持有者可以讀寫執行;# 屬組用戶只能讀和執行;# 其他用戶只能執行。#e.g:

圖2.13 chmod 數字法修改許可權

#<13>chown : 修改文件的持有者#e.g:

圖 2.14 chown 的效果

#<14> chgrp :修改文件的所屬組#e.g:

圖2.15 chgrp 的效果圖

五.linux命令之系統管理

#<1> cal : 查看當前日曆#e.g:

圖 3.1 cal 效果圖

#<2>date : 顯示或者設置時間。# 一般設置時間需要管理許可權,且設置時間的格式為: date [MMDDhhmm[[CC]YY][.ss]] + format# MM:月份 DD:日 hh:小時 mm:分鐘 CC:年的前兩位 YY:年的後兩位 ss:秒#顯示時間格式(date +%y,%m,%d,%H,%M,%S)# %Y,%y: 年 %m:月 %d:日 %H:時 %M:分 %S:秒#e.g:

圖3.2 date的效果圖

#<3>ps : 查看進程信息#常用選項: -aux 顯示終端上所有進程的詳細信息,包括沒有控制終端的進程#e.g:

圖3.3 ps 的效果圖

#<4>top : 動態的顯示進程,每個欄位的含義,可以自行man查看#e.g:

圖3.4 top 的效果圖

#<5>kill :殺死進程# 常用格式為: kill -9 pid# pid 為進程號。 利用ps ,或者 top 可以查看到#e.g:

圖3.5 kill的效果圖

#<6>shutdown , reboot :關機 重啟# 關機: shutdown -h now : 立即關機 (init0)# 重啟: reboot(init6)#<7>df: 查看磁碟空間#常用選項: -m 以1024位元組為單位顯示#e.g:

圖 3.6 df 的效果圖

#<8>du : 查看目錄所佔磁碟空間的大小#常用選項: -a 遞歸顯示# -h 添加單位#e.g:

圖 3.7 du的效果圖

#<9>ifconfig : 查看所有網卡的信息#e.g:

圖 3.8 ifconfig 的效果圖

#<10>ping:測試遠程主機的連通性#e.g

圖 3.9 ping的效果圖

六.篇末小練習(附答案)

1.創建test目錄,在裡面創建aa bb cc三個目錄,在aa里創建hello文件,在bb里創建world目錄, 在cc里創建itcast.py,然後執行ls -R,最後刪除test.答案: mkdir test mkdir test/aa test/bb test/cc touch test/aa/hello mkdir test/bb/world touch test/cc/itcast.py ls -R rm -rf test2.查看當前linux的系統時間答案: date 3.把命令cal執行後看到的結果存放到 cal.txt文件中答案: cal > cal.txt4.創建一個文件 test.txt,修改其許可權為 所有者可讀可寫,其他人沒有任何許可權答案: touch test.txt chmod 600 test.txt5.創建一個叫xiaohua的用戶,然後創建一個新的用戶組叫meinv,並將xiaohua用戶添加到這個用戶組 中,然後創建一個新的文件,名字叫123.py,並修它的用戶組為meinv答案: useradd xiaohua groupadd meinv usermod -G meinv xiaohua touch 123.py chgrp meinv 123.py

推薦閱讀:

Linux 用戶的手邊工具:Guide to Linux
新手入門應如何選擇 ARM 開發板?
進程地址空間
Linux系統各種目錄的作用
專訪劉遄:不僅僅是一名技術知識的搬運工

TAG:Python | Linux | Python入門 |