賬戶:root
密碼:admin
192.168.1.101
1、linux簡介:一種開源的、免費的操作系統,安裝在計算機硬件上、用來管理計算機的硬件和軟件資源的系統軟件。
? ? ? ? ? ? ? linux注重安全性、穩定性、高并發處理能力,沒有優異的可視化界面
? ? ? windows用于個人計算機上,linux用于企業服務器上。
2、linux的發行版本:linus在1991年開發,linux的內核程序,后來很多軟件開發組織以及軟件公司在內核程序基礎之上,陸續推出很多不同版本的linux操作系統:Ubuntu(烏班圖)、RedHat(紅帽)、CentOS
3、安裝linux操作系統:
? 1)、虛擬機:可以用軟件模擬出一套具有完整硬件系統功能的、運行在一個完全隔離環境中的完整計算機系統。
? ? ? 安裝虛擬機:
? 2)、安裝linux: linux的鏡像
? ? ? 可視化界面比較單薄,很少使用;使用linux多數都是基于終端命令使用linux指令操作計算機。
4、linux的目錄結構:
? 1)、linux只有一個根目錄。/? 進入根目錄命令cd /
? 2)、層級式的目錄結構:
? ? ? bin ->usr/bin:系統的可執行文件,可以在任何目錄下執行
? ? ? usr/local/bin:用戶自己的可執行文件,可以在任何目錄下執行
? ? ? etc:存放配置文件。配置環境變量(/etc/profile)。
? ? ? home:每一個用戶的根目錄,用來保存用戶私人的數據,默認情況下,目錄名和自己的用戶名相同。
? ? ? opt:存放額外安裝的軟件。相當于windows系統的中Program files目錄。
5、linux的遠程操作:
? ? 1)、Xshell:linux的終端模擬軟件。
? ? ? ? 安裝并破解:解壓、破解(運行兩個.bat文件)、啟動(Xshell)
連接遠程linux系統:創建會話:
? ? ? ? ? ? 查看linux系統的ip地址:ifconfig? (進入根目錄cd /然后
? ? 2)、Xftp:文件傳輸軟件。
? ? ? ? 安裝并破解:解壓、破解(運行兩個.bat文件)、啟動(Xftp)
連接遠程linux系統:創建會話:
? ? ? ? ? ? 查看linux系統的ip地址:ifconfig
6、vi和vim:是linux中的文本編輯器,用來在linux中創建、查看或者編輯文本文件,就好像windows中的記事本一樣。
? ? ? ? vim是vi的增強版本,vi的絕大多數用法在vim都適用。
vi和vim的使用:三種模式
? ? 創建文本:vim test.txt,文件如果存在則打開,不存在則創建
? ? 一般模式:用vi或者vim命令打開文件(vim test.txt),進入了一般模式;
? ? ? ? ? ? ? 可以查看文件的內容,并且可以通過上下左右鍵移動光標,查看文件某一部分;但是不能編輯文件內容。
? 退出一般模式按shift+:在輸入q
? ? ? ? 編輯模式:在一般模式下,按i鍵或者a鍵,進入編輯模式;
? ? ? ? ? ? ? 可以編輯文件內容;但是不能保存編輯的內容;按Esc鍵,可以回到一般模式。
? ? ? ? 命令行模式:在一般模式下進入命令行模式,需要進入一般模式后在進入命令行模式才能進行能保存,
按shift+:,進入命令行模式,然后輸入:q!-----不保存強制退出編輯器
? ? wq-----保存并且退出編輯器
q------只是退出編輯器
vi和vim編輯器的快捷鍵:
? 1)復制當前行:在一般模式下,按yy,把光標所在行復制到剪切板
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 按p,把剪切板中的內容粘貼到光標所在的下一行。
? 2)復制當前行往下5行:在一般模式下,按5yy,把光標所在行往下5行復制到剪切板
按p,把剪切板中的內容粘貼到光標所在的下一行。
? ? ? 3)在文本文件中查找關鍵字:在命令行模式下,輸入/關鍵字,回車
? ? ? ? ? ? ? ? ? ? ? ? 按n表示光標查找下一個關鍵字
? ? ? 4)刪除光標所在的當前行:在一般模式下,按dd,刪除光標所在的當前行
? 5)刪除光標所在的行往下5行:在一般模式下,按5dd
? 6)撤銷上次編輯的內容:在一般模式下,按u
? 7)顯示行號:命令行模式下,設置文件的行號,取消文件的行號.[命令行下(: set nu) 和(:set nonu)]
7、linux中的用戶管理:
? 1)、任何使用linux的系統資源的用戶,必須使用一個合法的賬號和密碼,賬號和密碼一般都是向系統管理員申請。
? ? ? root是linux系統安裝時默認創建的系統管理員賬號,由root創建普通賬號。
? 2)、添加用戶:useradd 用戶名?
例如useradd lisi-----表示創建用戶lisi,在根目錄的home目錄下即/home目錄下創建用的根目錄,目錄名稱默認跟用戶名相同
? |->在linux中任何一個用戶都至少屬于一個組,新建用戶時如果不指定組,則會新建一個組,組名跟用戶名相同,并且把該用戶添加到該組中。
? ? ? useradd -d /home/ww wangwu? 創建用戶的同時,指定用戶的根目錄
? ? 3)、給用戶設置密碼:passwd 用戶名
例如 passwd lisi回車后即可輸入密碼-----*密碼要滿足一定的復雜度
? ? 4)、刪除用戶:userdel 用戶名
? ? ? userdel lisi
? ? ? userdel -r lisi 刪除用戶的同時級聯刪除它的主目錄
? ? 5)、查看用戶信息:id 用戶名
? ? ? id zhangsan
? ? 6)、切換用戶:su 用戶名
? ? ? su zhangsan
? ? ? *從權限高的用戶切換權限低的用戶,不需要密碼驗證;
? ? ? ? 從權限低的用戶切換到權限高的用戶,必須密碼驗證。
8、linux中的組管理:
? ? 1)、linux中的組相當于角色的概念,可以對有共性的用戶進行統一管理;
? ? ? ? 每一個用戶至少屬于一個組,不能獨立于組存在,也可以屬于多個組;
新建用戶時如果不指定組,則會新建一個組,組名跟用戶名相同,并且把該用戶添加到該組中。
? ? 2)、添加組:groupadd 組名
? ? ? ? groupadd dev
? ? 3)、刪除組:groupdel 組名
? ? ? ? groupdel dev
? ? 4)、把用戶添加到組中:gpasswd -a 用戶名 組名
? ? ? ? gpasswd -a zhangsan dev
? ? 5)、把用戶從組中移除:gpasswd -d 用戶名 組名
? ? ? ? gpasswd -d zhangsan dev
? ? *6)、添加用戶時,指定所屬的組(主組):useradd -g 組名 用戶名
? ? ? ? useradd -g dev lisi
9、linux中的系統操作命令:
? ? 關機:shutdown now? 立即關機
? ? ? ? ? shutdown -h xxx? 定時關機
? shutdown -r now? 立即重啟
? 重啟:reboot? 立即重啟
? 同步數據庫:sync
10、linux中的幫助命令:
? 1)、用來查看linux系統手冊上的幫助信息:man 命令
? ? ? man ls
? ? ? 分屏顯示、按回車翻一行、按空格翻一頁、按q退出查看。
? 2)、用來查看命名的內置幫助信息:help 命令
? ? ? help cd
11、linux中的文件和目錄操作的命令:
? 1)、查看當前所在目錄:pwd
? ? ? pwd
? 2)、查看指定目錄下所有的子目錄和文件列表:ls [指定目錄]
? ? ? ls /home
? ? ? ls 查看當前目錄下所有的子目錄和文件列表
? 查看方式
? ? ? ls -l /home :以列表形式顯示
? ? ? ls -a /home:顯示指定目錄下所有的子目錄和文件(包括虛擬的目錄)
? ? ? ls -al /home:以列表形式顯示指定目錄下所有的子目錄和文件(包括虛擬的目錄)
? ? 3)、切換目錄:cd 目錄名
? ? ? ? ? ? ? ? ? ? ? ? |->絕對目錄:以盤符開始的目錄叫絕對目錄,從盤符開始查找目標目錄
? ? ? ? ? ? cd /opt/testDir
~:當前用戶的根目錄。在任何目錄下執行:cd ~,進入當前用戶的根目錄。
|->相對目錄:以目錄名開始的目錄叫相對目錄,從當前目錄開始查找目標目錄
? ? ? ? ? ? cd testDir
..:當前目錄的上一級目錄,從的當前目錄開始查找它的上一級目錄。 例如cd ..
.:當前目錄
xxx.sh====>./xxx.sh
? ? 4)創建目錄:mkdir 目錄名
mkdir /opt/testDir/test1? ? ? ? ? ? 在/opt/testDir目錄下創建一個目錄test1(使用絕對目錄)
mkdir test2? ? ? ? ? ? ? ? ? 在/opt/testDir目錄下創建一個目錄test2(使用相對目錄)
mkdir -p /opt/testDir/test3/test4? 在/opt/testDir目錄下創建目錄test3,并且在test3下創建test4(一次創建多級目錄)
? ? 5)、刪除一個空目錄:rmdir 目錄名
? ? ? ? ? ? ? ? rmdir test1
? ? 6)、創建一個或者多個空文件:touch 文件名列表(文件名之間用空格隔開)
? ? ? ? ? ? ? ? touch t1.txt
? ? ? ? ? ? ? ? touch t2.txt t3.txt t4.txt
? ? 7)、復制文件或者目錄:cp [選項] source(源) dest(目標)
? ? ? ? ? ? ? ? cp t1.txt test2? ? ? ? ? ? //把t1.txt文件復制到test2目錄中
? ? ? ? cp -r test2 test5? ? ? ? ? //把test2目錄復制到test5目錄中(遞歸地復制目錄)
? ? 8)、刪除文件或者目錄:rm 文件名或者目錄名
? ? ? ? ? ? ? ? rm t1.txt? 提示刪除文件
rm -f t2.txt? 強制刪除文件
rm -r test2? 提示遞歸刪除目錄
rm -rf test5? 強制遞歸刪除目錄
? ? 9)、移動(剪切)目錄或者文件:mv source(源) dest(目標)
? ? ? ? ? ? ? ? mv test.txt test1? ? 文件到文件夾
mv test1 test2 文件夾到文件夾
mv t3.txt t3_new.txt? ? 文件重命名
*如果目標中已經存在該文件或者目錄,則會提示是否覆蓋。
? ? 10)、查看文件內容:cat 文件名
? ? ? ? ? ? ? ? 文件內容一次性顯示出來。
? ? ? ? ? ? ? ? cat t4.txt
cat -n t4.txt? 顯示行號
? ? 11)、分頁查看文件文件內容:more 文件名? 一次性加載文件所有內容到內存,分頁顯示
? ? ? ? ? ? ? ? 按回車翻一行、按空格翻一頁
? ? ? ? ? ? ? ? more t4.txt
? ? 12)、分頁查看文件文件內容:less 文件名 分頁加載文件所有內容到內存,分頁顯示
? ? ? ? ? ? ? ? less t4.txt
按回車翻一行、按空格翻一頁,按q退出查看
? ? 13)、查看文件的頭10行:head [選項] 文件名
? ? ? ? ? ? ? ? head t4.txt
? ? ? ? ? ? ? ? head -n 5 t4.txt
? ? 14)、查看文件的后10行:tail [選項] 文件名
? ? ? ? ? ? ? tail t4.txt
? ? ? tail -n 5 t4.txt
11、linux中的文件和目錄操作的命令:
? ? 15)、echo:輸出系統變量或者常量的值到命令行終端。
echo $JAVA_HOME 輸出環境變量
echo $PATH
echo Hello World!? 輸出命令行
windows配置環境變量 JAVA_HOME=D:\DPFS\Java\jdk1.8.0_101
PATH=%JAVA_HOME%\bin;.......
CLASSPATH=%JAVA_HOME%\lib;.
? ? 16)把前一個查看命令的結果輸出到指定的文件中: 查看命令 > 文件名
? ? ? ? ? ? *如果目標文件不存在,則新建一個文件
*如果目標文件已存在,則把文件以前的內容覆蓋
? ? ? ? ls > ret.txt
? ? ? ? ls -al > ret.txt
cat ret.txt > t3_new.txt 文件內容的復制
cat t4.txt > t3_new.txt
? ? 17)把前一個查看命令的結果追加輸出到指定的文件中:查看命令 >> 文件名
? ? ? ? *如果目標文件不存在,則新建一個文件
*如果目標文件已存在,則在文件原來內容的基礎上進行追加
ls > ret.txt
ls -al >> ret.txt
cat t4.txt >> ret.txt
12、linux中關于日期和時間的操作命令:
? ? 1)、查看或者設置系統的日期或者時間:date
? ? ? date 查看系統當前的完整的日期和時間
? ? ? date +%Y? 系統當前的年份
? ? ? date +%m? 系統當前的月份
? ? ? date +%d? 系統當前的日期
? ? ? date '+%Y-%m-%d %H:%M:%S' 按yyyy-MM-dd HH:mm:ss格式顯示
? ? ? date -S '2020-10-20 10:20:30' 設置當前的系統時間
? ? 2)、查看系統日歷:cal
? ? ? cal:查看當前月份的日歷
? ? ? cal 2020:查看指定年份的日歷
13、linux中關于搜索文件或者目錄的命令:
? ? 1)find [搜索范圍][搜索標準] 關鍵字
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |->-name:默認按名稱搜索(文件或者目錄所在的路徑也在搜索范圍之內)
? ? |->-size:按文件大小搜索
? ? |->-user:按文件的所有者搜索
? ? find *.txt? 搜索當前目錄下,所有的.txt文件
? ? find *e*? 搜索當前目錄下,所有名稱中包含e的那些文件或者目錄
? ? find /etc *.txt? 搜索/etc目錄下所有.txt文件
? ? find /etc -size -5k? 搜索/etc目錄下所有小于5k的文件
? ? find /etc -user zhangsan? 搜索/etc目錄下所有的所有者是zhangsan的文件和目錄
? ? 2)locate:在整棵目錄樹中搜索文件或者目錄,都是根據名稱搜索,效率高。
? ? ? updatedb
? ? ? locate 關鍵字
? ? ? updatedb
? ? ? locate *.txt
? ? 3)搜索過濾命令,在前一個搜索命令的結果中進行按名稱進一步過濾:搜索命令 |grep [選項] 過濾條件
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看命令 |grep [選項] 過濾條件
? ? ? find *.txt|grep new? 搜索當前目錄下,所有名稱包含new的.txt文件
? ? ? find /etc -size -5k|grep firefox
? ? ? cat t1.txt|grep beijing
? ? ? cat t1.txt|grep -ni beijing
? ? ? ls -al|grep new
14、linux中有關壓縮和解壓的命令:
? ? 1)、壓縮或者解壓單個文件:gzip 文件名:壓縮單個文件,生成一個.gz的壓縮包,并且會把原來的文件刪除。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? gunzip .gz壓縮包名:解壓.gz壓縮包,并且會把原來的.gz壓縮包刪除。
? 例如 gzip ret.txt
gunzip ret.txt.gz
? ? 2)、壓縮(打包)或者解壓多個文件和目錄:zip 目標壓縮包名稱(通常使用.zip壓縮包) 文件或者目錄列表:
? unzip 壓縮包名(.zip) -d 解壓目錄名:將指定的.zip壓縮包解壓到當前目錄(或者指定目錄)。
zip test.zip ret.txt t1.txt test2? 將ret.txt t1.txt test2打包成test.zip
unzip test.zip -d test3 將test.zip解壓到test3
? ? 3)、壓縮(打包)或者解壓多個文件和目錄:tar [選項] 目標壓縮包名稱(xxx.tar.gz) 文件或者目錄列表
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |->c:打包或者壓縮
? ? ? ? ? tar [選項] 壓縮包名(xxx.tar.gz) -C 解壓目錄名:將指定的.tar.gz壓縮包解壓到當期目錄(或者指定目錄)
|->x: 解壓
? tar -zcvf xxx.tar.gz 文件或者目錄列表
? tar -zxvf xxx.tar.gz -C 解壓目錄名
tar -zcvf mytar.tar.gz mytest.zip ret.txt t1.txt test2
tar -zxvf mytar.tar.gz -C /opt/testDir/test5
15、文件或者目錄與組:
? ? 1)文件或者目錄與組基本介紹:
? ? ? 在linux中,每一個用戶都至少屬于一個組,用戶不能獨立于組存在,一個用戶可以屬于多個組。
? ? ? 在linux中,每一個文件或者目錄也必須屬于一個組,而且只能屬于一個組,默認情況下,文件所有者所屬的主組就是文件所屬的組;
? ? ? 文件或者目錄通過組來控制哪些用戶可以對它進行哪些操作,即文件或者目錄的訪問權限;
? ? ? 在文件或者目錄看來,linux系統中所有的用戶分為三類:
? ? ? ? 所有者:默認情況下,文件或者目錄的所有者都是創建者,可以修改
? ? ? ? 同組用戶:跟文件或者目錄屬于同一個組的用戶
? ? ? ? 其它組用戶:既不是文件或者目錄的所有者,也不是同組用戶
? ? 2)查看文件的所有者和所在的組:
? ? ? ls -l
? ? 3)、修改文件或者目錄的所有者:chown 新的所有者 文件名或者目錄名
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? chown 新的所有者:新的組 文件名或者目錄名
? ? ? chown zhangsan t1.txt
? ? ? chown -R zhangsan test3
? ? ? chown zhangsan:dev t4.txt
? ? ? chown zhangsan:dev test2
? ? ? chown -R zhangsan:dev test2 遞歸修改目錄的所有者和所在的組
? ? 4)、修改文件或者目錄的所在組:chgrp 新的組 文件名或者目錄名
? ? ? chgrp dev t2.txt
? ? ? chgrp -R dev test3
16、Linux中文件或者目錄的權限管理:
? ? 1)準備工作:
? ? ? 一個用戶至少屬于一個組,也可以屬于多個組;
? ? ? 一個文件或者目錄也必須屬于一個,并且只能屬于一個組;
? ? 在一個文件或者目錄看來,linux系統中所有的用戶可以分為三類:
? ? ? ? 所有者:
同組用戶:
其它組用戶:
? ? 2)、文件或者目錄的三種權限:
? ? ? ? 在linux中,任何文件或者目錄都有三種權限:讀(Read)、寫(Write)、執行(Execute)
? ? ? ? ? 對于文件而言:
? ? ? 讀:可以讀取、查看文件的內容, 比如:cat、more、less、head、tail等。
? ? ? 寫:可以修改文件的內容,比如:vi或者vim等
? ? ? 執行:如果該文件是可執行文件(.sh),可以直接運行,比如:./xxx.sh。
? 對于目錄而言:
? ? ? 讀:可以讀取、查看目錄下邊的內容,比如:ls等
? ? ? 寫:可以修改目錄中的內容,創建子目錄、刪除子目錄、創建文件、刪除文件、重名文件或者目錄
? ? ? 執行:可以進入該目錄, 比如:cd等。
? ? 3)、文件或者目錄的權限控制:
? ? ? ? 在linux中,任何一個文件或者目錄都有三部分權限:所有者權限、同組用戶權限、其它組用戶權限。
? ? ? 第一部分權限:所有者權限,文件或者目錄的所有者對該文件所擁有的權限,使用r、w、x分表表示讀、寫、執行的權限。比如:rwx:擁有讀寫執行的權限,r-x:擁有讀和執行的權限,r--:只擁有讀的權限,---:沒有任何權限。
? ? ? 第二部分權限:同組用戶權限,文件或者目錄的同組用戶對該文件所擁有的權限,使用r、w、x分表表示讀、寫、執行的權限。
? ? ? 第三部分權限:其它組用戶權限,文件或者目錄的其它組用戶對該文件所擁有的權限,使用r、w、x分表表示讀、寫、執行的權限。
? ? 4)、查看文件或者目錄的權限:
? ? ? ls -aul
? ? 5)、修改文件或者目錄的權限:chmod
? ? ? ? ? ? ? 用r、w、x分辨表示讀、寫、執行的權限,
? ? ? 用u、g、o、a分別表示給所有者、同組用戶、其它組用戶、所有用戶修改權限
? ? ? 用+、-、=分別表示給指定的用戶增加、減少、設置對應的權限
? ? ? chmod g-w,o+w t5.txt
? ? ? ? ? ? ? chmod g=rwx t5.txt
? ? ? chmod a-r t5.txt
? ? 6)、使用數字的方式修改文件或者目錄的權限:
? ? ? ? ? ? ? 每一個權限可以用一個數字來表示:
? ? ? ? ? ? r、w、x
? ? 4、2、1
? ? 2^2 2^1 2^0
? ? ? 每一個文件或者目錄都有三部分權限,每一部分權限都可以用一組數據之和來表示,三部分權限就是一組三個數據序列:
? ? ? ? ? ? rw- r-x r-x
? ? 6? ? 5? 5
? ? ? ? ? ? ? ? ? ? rwx r-x -wx
? ? 753:
? ? rwxrwxrwx
? ? ? ? ? 777:
? ? ? ? ? ? ? chmod 777 t5.txt
? ? ? chmod 753 t5.txt