天天看點

linux基礎知識

Linux簡易指令表:

ls  檢視目前檔案夾下的内容
pwd 檢視目前所在的檔案夾
cd  切換檔案夾
touch 如果檔案不存在,建立檔案
mkdir 建立目錄
rm   删除指定的檔案名
rm - r 删除目錄(即檔案名)
clear 清屏
command 代表指令名,相應功能的英語單詞或單詞的縮寫
{}代表可選(另也可代表可有可無)
command--help 顯示command指令的幫助資訊
man {command} {指令} 查詢command指令的使用手冊
【空格鍵 顯示手冊頁的下一幕】
【Enter 一次滾動手冊頁的一行】
【b 復原一屏】
【f 前滾一屏】
【q 退出】
【word 搜尋word的字元串】
linux系統檢視隐藏檔案:

ls -a 可以檢視到Linux的隐藏檔案。

建立Linux的隐藏檔案:

touch .【檔案名】

隐藏檔案前需要.

Linux删除隐藏檔案:

跟删除普通檔案一樣,但需要将隐藏檔案前的.輸入。

ls的通配符的使用:

* 代表任意和任意數量的字元,例如:需要尋找到以demo檔案,隻需要輸入:ls d*即可。

h 隻能代表一個字元

ls -lh 以清單的方式檢視目前目錄下的所有檔案。

【】是代表我們想要的一個字元組。

【-】中括号中加入一個減号,代表一個範圍。例如:【1-6】代表可以找到檔案名中含有1到6的檔案名。

cd指令的常用指令:
cd 可以直接回到檔案的根目錄
cd ~ 可以直接回到檔案根目錄
cd .. 退回上一層目錄
cd - 在最近的兩個目錄之間來回切換
cd . 在目前目錄不動

mkdir進階用法:
mkdir -p 可以在一個檔案夾内建立多個目錄

rm的進階指令:(rm删除指令,删除檔案後不能複原。)

rm -f 強制删除,忽略不存在的檔案,無需提示。
rm -r 删除檔案夾時,必須加上。
拷貝和移動檔案:
tree【目錄名】
tree -d 隻顯示目錄

cp 指令:
cp 源檔案 目标檔案 【複制檔案】
cp -i 覆寫檔案之前提示【y 代表yes】 【n 代表no】
cp -r 複制一個目錄

mv 指令:
mv 源檔案 目标檔案 【移動檔案或者目錄 進行檔案或者目錄的重命名】
mv -i 【覆寫檔案前會提示】

檢視檔案内容的指令:
cat 檔案名 【檢視檔案内容,建立檔案,檔案合并】(完全顯示檔案内容)
cat -b 對非空輸出行編号
cat -n 對輸出的所有行編号

more 檔案名 【分屏顯示檔案内容】(隻顯示一頁的内容)
more 的操縱鍵:
空格鍵 顯示手冊頁的下一頁
Enter鍵 一次滾動手冊的一行
b 復原一行
f 前滾一行
q 退出
/word 搜尋word字元串

grep 搜尋文本檔案名 【搜尋文本檔案内容】

grep -n 顯示比對行及行号
grep -v 顯示不包含比對文本的所有行(相當于求反)
grep -i 忽略大小寫

常用的兩種模式查找:
grep ^a 行首。搜尋以a開頭的行
ke$ 行尾,搜尋以ke結束的行

echo指令會在終端中顯示參數指定的文字,通常會和重定向聯合使用
重定向的符号:>和>>

> 是一個輸出符号,可以将輸出的資料輸出到其它檔案之中,并替換原檔案裡的内容。
>> 是一個追加符号,會将内容追加到已有檔案的末尾。

管道符号:| 。【linux允許一個指令的輸出可以通過管道做為另一個指令的輸入。】

遠端管理常用指令:
關機:shutdown
重新開機:shutdown -r
取消之前的關機指令:shutdown -c

shutdown -r now 表示現在立即重新開機
shutdown now 表示現在立刻關機
shutdown 指定時間 表示會在自己指定的時間冠關機
shutdown -r 指定時間 表示會在自己的指定時間進行重新開機
shutdown +10 表示會在十分鐘之後進行關機

檢視配置網卡資訊:
ifconfig 檢視配置計算機目前的網卡配置資訊
ping ip位址 檢測到目标ip位址的連接配接是否正常
【ctrl c 可以中止ping指令】

遠端登入和複制檔案
ssh 使用者名@ip
scp 使用者名@ip:檔案名或路徑 使用者名@ip:檔案名或路徑

SSH 伺服器 預設端口号:22
Web 伺服器 預設端口号:80
HTTPS 預設端口号:443
FTP 伺服器 預設端口号:21

SSH用戶端的簡單使用
ssh [-p port] user@remote
user 是在遠端機器上的使用者名,如果不指定的話預設為目前使用者
remote 是遠端機器的位址,可以是ip/域名,或者是别名
port 是SSH Server 監聽的端口,如果不指定,就為預設值 22

【windows】使用者,可以安裝PuTTY或者XShell用戶端即可

scp -P 複制目錄
scp -r 傳送目錄
scp -r 【要傳輸的檔案名】 {虛拟機使用者名}@{虛拟機位址}:要複制到的檔案的名稱(傳輸到虛拟機裡)
scp -r {虛拟機使用者名}@{虛拟機位址}:要複制過來的檔案名及其所在位址(由虛拟機傳輸到現實計算機裡)

ssh:
免密碼登入:ssh-keygen即可生成ssh鑰匙。
上傳公鑰到伺服器:ssh-copy-id -p (端口号) (使用者名)@(遠端電腦的ip位址)

ls -l的擴充用法:
r代表可讀
w代表可寫
x代表可執行

chmod 簡單使用
chmod可以修改使用者/組對檔案/目錄的權限
chmod +/-rwx 檔案名/目錄名
+ 代表增權重限
- 代表減少權限
(python 執行檔案指令需要先加上一個.然後加上/最後寫上檔案名/目錄名

組管理 終端指令
【建立組/删除組的終端指令都需要通過sudo執行】
groupadd 組名    添加組
groupdel 組名    删除組
cat/etc/group    确認組資訊
sudo chgrp -R 組名 檔案/目錄名      修改檔案/目錄的所屬組    -R是可以修改檔案夾裡所有檔案/目錄的組别

使用者管理 終端指令
建立使用者/設定密碼/删除使用者
useradd -m -g 組 建立使用者名    作用:添加新使用者    說明:-m 自動建立使用者家目錄 -g 指定使用者所在的組,否則建立一個和同名的組
passwd 使用者名        作用:設定使用者密碼    說明:如果是普通使用者,直接使用passwd可以修改自己的賬戶密碼
userdel -r 使用者名    作用:删除使用者        說明:-r 選項會自動删除使用者家目錄
cat/etc/passwd | grep 使用者名    作用:确認使用者資訊    說明:建立使用者後,使用者資訊會儲存在/etc/passwd檔案中

檢視使用者資訊
id 使用者名    作用:檢視使用者UID和GID資訊    UID(使用者辨別) GID(組辨別)
who        作用:檢視目前所有登入的使用者清單
whoami        作用:檢視目前登入使用者的賬戶名

usermod 
usermod 可以用來設定使用者的主組/附加組和登入Shell。
主組:通常在建立使用者時指定,在etc/passwd的第四列GID對應的組
附加組:在etc/group中最後一清單示該組的使用者清單,用于指定使用者的附權重限

修改使用者的主組(passwd 中的 GID)
usermod -g 組名 使用者名
修改使用者的附加組
usermod -G 組名 使用者名
修改使用者登入 Shell
usermod -s /bin/bash
Shell 即為終端視窗 

which 指令
/etc/passwd 是用于儲存使用者資訊的檔案
/usr/bin/passwd 是用于修改使用者密碼的程式
 which ls 顯示出which後面所跟着的檔案/目錄所在的具體位置

/bin (binary) 是二進制執行檔案目錄,主要用于具體應用
/sbin (system binary) 是系統管理者專用的二進制代碼存放目錄,主要用于系統管理
/usr/bin (user commands for applications) 後期安裝的一些軟體
/usr/sbin (super user commands for applications) 超級使用者的一些管理程式 

切換使用者
su -使用者名    作用:切換使用者,并且切換目錄    說明:- 可以切換到使用者家目錄,否則保持地位不變
exit        作用:推出目前登入賬戶

修改檔案權限
chown    作用:修改擁有者
chgrp    作用:修改組
chmod    作用:修改權限
指令格式入下:
#修改檔案|目錄的擁有者
chown 使用者名 檔案名|目錄名
#遞歸修改檔案|目錄的組
chgrp -R 組名 檔案名|目錄名
#遞歸修改檔案權限
chmod -R 755 檔案名|目錄名  7 表示擁有者權限 5 表示組使用者權限 5 表示其他使用者權限

擁有者        組        其他
r w x        r w x        r w x 
4 2 1        4 2 1        4 2 1

4 2 1        7        rwx
4 2 0        6        rw-
4 0 1        5        r-x
4 0 0        4        r--
0 2 1        3        -wx
0 2 0        2        -w-
0 0 1        1        --x
0 0 0        0        ---

常見數字組合有(u代表使用者/g代表組/o代表其他)
777 ===> u=rwx,g=rwx,o=rwx
755 ===> u=rwx,g=r-x,o=r-x
644 ===> u=rw-,g=r--,o=r--

系統資訊相關指令
時間和日期:
date    檢視系統時間
cal    calendar檢視月曆,-y選項可以檢視一年的月曆
磁盤和目錄空間:
df -h    disk free顯示磁盤空間
du -h 【目錄名】    disk usage 顯示目錄下的檔案大小
-h    含義:以人性化的方式顯示檔案大小
程序資訊:
ps    ps aux    作用:process status 檢視程序的詳細狀況
top    作用:動态顯示運作中的程序并且排序
kill    kill [-9] 程序代号    作用:終止指定代号的程序,-9 表示強行終止
(使用kill指令時,最好終止由目前使用者開啟的程序,而不要終止root身份開啟的程序,否則可能導緻系統崩潰           

ps 預設隻會顯示目前使用者通過終端啟動的應用程式

ps選項說明功能
a    含義:顯示終端上的所有程序,包括其他使用者的程序
u    含義:顯示程序的詳細狀态
x    含義:顯示沒有控制終端的程序

其他指令
查找檔案:
find
軟連結:
ln
打包和壓縮:
tar
軟體安裝:
apt-get

查找檔案
find [路徑] -name "擴充名"    作用:查找指定路徑下的擴充名,包括子目錄 
(如果省略路徑,表示在目前檔案夾下查找)

軟連結
ln -s 被連結的源檔案/連結檔案    作用:建立檔案的軟連結,用通俗的方式講類似于windows下的快捷方式
注意:
沒有-s選項建立的是一個硬連結檔案
兩個檔案占用相同大小的硬碟空間,工作中幾乎不會建立檔案的硬連結
源檔案要使用絕對路徑,不能使用相對路徑,這樣可以友善移動連結檔案後,仍然能夠正常使用

移動檔案指令
mv 【檔案名/目錄名】 要移動到的目标路徑

硬連結簡介
在使用ln建立連結時,如果沒有-s選項,會建立一個硬連結,而不是軟連結

打包壓縮
Windows 常用 rar
mac 常用 zip
linux 常用 tar.gz

打包/解包
tar 是 linux中常用的備份工具,此指令可以把一系列檔案打包到一個大檔案中,也可以把一個打包的大檔案恢複成一系列檔案
tar 的指令格式:
#打封包件
tar -cvf 打封包件名.tar  被打包的檔案/路徑...
#解封包件
tar -xvf 打封包件.tar
tar 選項說明
c    含義:生成檔案檔案,建立打封包件
x    含義:解開檔案檔案
v    含義:列出歸檔解檔的詳細過程,顯示進度
f    含義:指定檔案檔案名稱,f後面一定是.tar檔案,是以必須放在選項最後

壓縮檔案/解壓縮檔案
1. gzip
tar 與 gzip 指令結合可以使用實作檔案打包和壓縮
    tar 隻負責打封包件,但不壓縮
    用gzip 壓縮tar打包後的檔案,其擴充名一般用xxx.tar.gz
在linux中,最常見的壓縮檔案格式就是xxx.tar.gz
在tar指令中有一個選項 -z 可以調用 gzip,進而可以友善的實作壓縮和解壓縮的功能
指令格式:
#壓縮檔案
tar -zcvf 打封包件名.tar.gz 被壓縮的檔案/路徑...
#解壓縮檔案
tar -zxvf 打封包件名.tar.gz
#解壓縮到指定路徑
tar -zxvf 打封包件名.tar.gz -C 目标路徑
(-C    含義:解壓縮到指定目錄,注意:要解壓縮的目錄必須存在

bzip
tar與bzip指令結合可以使用實作檔案打包和壓縮。用法和gzip一樣
    tar隻負責打封包件,但不壓縮。
    用bzip2壓縮tar打包後的檔案,其擴充名一般用xxx.tar.bz2
    在tar指令中有一個選項-j可以調用bzip2,進而可以友善的實作壓縮和解壓縮的功能
指令格式:
#壓縮檔案
tar -jcvf 打封包件名.tar.bz2 被解壓縮的檔案/路徑...
#解壓縮檔案
tar -jxvf 打封包件名.tar.bz2

軟體安裝
apt是Advanced Packagiing Tool,是Linux下的一款安裝包管理工具
#安裝軟體
$ sudo apt install 軟體包名
#解除安裝軟體
$ sudo apt remove 軟體名名
#更新已安裝的包
$ sudo apt upgrade
           

繼續閱讀