python技術--Linux基礎02


```

## 補充命令  

```
whoami 查看當前哪個用戶登錄 
date 顯示當前的日期和時間 
cal 查看當月日曆
cal 2018 查看2018全年的日曆   

```

## 文件權限  

```
rwx  
r 4 100 讀
w 2 010 寫
x 1 001 執行  exec
- 0 沒有權限

u 文件的擁有者
g group 文件所屬組 
o 其它用戶  
a 以上所有  

+ 在原有的基礎上 增加權限  
- 在原有的基礎上 減少權限  
= 在原有的基礎上 更新權限   不寫就代表 =  


chmod  
sudo chmod u+x test.txt  給test 擁有者增加執行的權限  
sudo chmod g+w test.txt  給所屬的組增加寫的權限  
sudo chmod a-w test.txt 給所有的 減去寫的權限  
sudo chmod a=rwx test.txt  讓所有的用戶更新成 讀寫執行  
sudo chmod g-x,g-w,o-w,o-x test.txt 
sudo chmod 775 test.txt  更新權限   775  


修改目錄權限的時候 記住先回到 上一級  
chmod -R 遞歸修改權限

```

## 更改文件的擁有者  chown 

```
sudo chown 用戶名 目標目錄
sudo chown 用戶名:組名 目標目錄 
sudo chown -R 用戶名:組名 目標目錄 遞歸修改所屬的用戶及組  
```

## 更改文件的所屬組 chgrp   

```
sudo chgrp 組名 目錄名或者文件名  
sudo chgrp -R 組名 目錄名或者文件名  遞歸修改 
```

## chattr   chmod 後面的大boss 

```
sudo chattr +|-i  文件名 給文件增加或者去除只讀屬性  只能看不能修改 不能修改權限 不能刪除
sudo chattr +|-a  文件名 只能往裏寫 看  不能刪除  不能寫 
+a 只能 查看  只能echo >> 追加  
   不能刪除  不能vi 寫入內容  不能更新權限 
-a 解除保護   一般用於日誌文件   
```

## 用戶和組 

```
一個用戶必須有一個主組  
一個用戶可以同時屬於多個組 
一個組可以擁有多個用戶  

用戶信息存在: /etc/passwd 
組信息存在:/etc/group
密碼信息存在: /etc/shadow 
```

### 創建用戶 useradd  

```
useradd 
    sudo useradd 用戶名
    -g 指定所屬的組 
    -m 自動建立用戶的家目錄  
    -d 指定用戶的家目錄  並不一定在home裏邊  
    -u 手動指定用戶的id 
    -s 指定 /usr/sbin/nologin 或者 /bin/bash
zelinxiong:x:1001:1002::/home/zelinxiong:/bin/bash
新建一個用戶的同時 會自動創建一個用戶名命名的組  
sudo useradd -m qiulinxiong -g need888 -d /home/qiulin666
     qiulinxiong:x:1003:1000::/home/qiulin666:
sudo useradd -m yuhuxiong -g kangbazi
    yuhuxiong:x:1002:1001::/home/yuhuxiong:
sudo useradd -m shiminxiong -g kangbazi -s /bin/bash
sudo useradd -m shimin -g kangbazi -s /usr/sbin/nologin

第一部分:用戶名
第二部分:密碼 
第三部分:用戶id
第四部分:組id
第五部分:備註信息 
第六部分:用戶的家目錄 
第七部分: /bin/bash 該用戶具備腳本執行的權限  也就是說 可以登錄
        /usr/sbin/nologin  表示改用戶不具備腳
        本執行的權限  也就是不能切換登錄 
```

### 修改用戶密碼 

```
sudo passwd 用戶名  不寫用戶名 代表你修改root  
     passwd -l  用戶名 鎖定用戶密碼  
     passwd -u  用戶名 解鎖用戶密碼  
```

### 刪除用戶 userdel   

```
sudo userdel shimin  #/etc/passwd  shimin記錄取消  
sudo userdel -r shiminxiong # 刪除 /etc/passwd 記錄的同時  將 用戶的家目錄一併刪除   

提示被佔用   
kill -9 進程號  
```

### 修改用戶  

```
usermod 
    -u 用戶id
    -g 所屬組 組的id
    -G 組的名稱 附屬組  
    -a 將用戶添加到附屬組  跟G配合使用  
    -d 用戶家目錄 
    -l 修改用戶名  
    
    
usermod -l yuhu yuhuxiong
sudo usermod -g 1001 -u 1003 zelinxiong  更改zelinxiong 的所屬組id 用戶id 
sudo usermod -d /home/zelin zelinxiong  更改 zelinxiong的家目錄  
 sudo usermod -a -G need888 zelinxiong  將zelinxiong 加入到臨時組need888 中  

    
```

### su sudo  

> ubuntu 禁止root 用戶  系統安裝的時候 新建一個用戶名  自動屬於 sudo組  sudo權限 低於root 但是高於普通用戶  普通用戶只能 處理自己創建的內容  管理員權限大   這個時候可以使用sudo 暫時提升權限  

```
sudo 命令 #需要用戶輸入自己的密碼  暫時提升權限  
su 用戶  切換用戶  

sudo usermod -a -G sudo 用戶名  將一個普通用戶 臨時加入 sudo組  這樣  該用戶權限 就有提升  


```

### 其它命令 

```
whoami 查看當前的用戶 
id 直接查看當前用戶的 id 組信息  
need888@need888-virtual-machine:~$ groups 
need888 adm cdrom sudo dip plugdev lpadmin sambashare  查看當前用戶所屬的組  


```

### 組管理  

```
groupadd 組名 

python1806:x:1003: 
組名     組密碼  組id 

groupdel 組名  

groupmod -n 新組名  舊組名 組名更新  
```

## 文本編輯器 vi vim    

vim 編輯是 是vi的增強版  

```
sudo apt-get install vim 
vi 文件名  
創建文件方式: 
1.touch 文件名  
2.vim  文件名  保存 也是創建文件的一種方式
3.cp   

```

### 編輯模式   

| 按鈕   | 說明                   |
| ---- | -------------------- |
| i    | 在當前光標的位置插入文本         |
| a    | 在光標的下一個文職插入文本        |
| o    | 在光標的下一行插入文本          |
| s    | 刪除光標當前位置的字符 然後輸入內容   |
| A    | 自動將光標定位到該行末尾 在行尾插入文本 |
| S    | 刪除光標當前行的字符然後輸入內容     |
| L    | 最後一行的行首              |
| I    | 本行的行首                |
| ESC  | 回到命令模式               |

### 命令模式 默認進入命令模式  輸入法 切換到英文輸入狀態   

| 按鍵         | 說明                            |
| ---------- | ----------------------------- |
| H          | 向左移動                          |
| J          | 向下移動                          |
| K          | 向上移動                          |
| L          | 向右移動                          |
| (          | 移動到段落開頭                       |
| )          | 移動到段落結尾                       |
| gg         | 回到第一行                         |
| GG         | 回到最後一行                        |
| ngg  4gg   | 向上移動到第4行  n 是一個數字             |
| yy         | 複製一行  ctrl+c                  |
| p          | 粘貼一行                          |
| nyy        | 複製n行  n 是數字                   |
| np         | 粘貼n行                          |
| dd         | 刪除1行 還可以當剪切使用                 |
| ndd        | 刪除n行                          |
| u          | 撤銷上一次的操作 類似於windows 中的 ctrl+z |
| .          | 重複上一次的操作                      |
| shift+6    | 本行行首                          |
| shift+4    | 本行行尾                          |
| :或者   /  ? | 進入底部命令模式                      |

### 底部命令模式 保存 退出  查找 替換   

| 快捷鍵                   | 說明                                     |
| --------------------- | -------------------------------------- |
| :wq                   | 保存退出                                   |
| :q                    | 不保存退出                                  |
| :q!                   | 強制退出                                   |
| :wq!                  | 強制保存並退出                                |
| :x                    | 保存並退出                                  |
| :set nu               | 設置行號                                   |
| :行號    :66            | 把光標定位到第幾行                              |
| :set nonu             | 不顯示行號                                  |
| /字符串                  | 查找字符串 n 下一個  從上往下   shift+n 從下往上找  上一個 |
| ?字符串                  | 查找字符串 n 上一個 從下往上    shift+n 從上往下  下一個  |
| :s/要查找的字符串/替換後的字符串    | 替換光標當前行的第一個目標詞  第二個不被替換                |
| :s/要查找的字符串/替換後的字符串/g  | 替換光標當前行所有的目標詞                          |
| :%s/要查找的字符串/替換後的字符串   | 替換全文每一行的第一個目標詞 第二個不被替換                 |
| :%s/要查找的字符串/替換後的字符串/g | 替換全文所有的目標詞                             |
| :n,ms/要查找的字符串/替換後的字符串 | 只替換n到m行之間的目標詞                          |
|                       |                                        |
|                       |                                        |

> 如果發現編輯不了   可能是因爲 非法退出    會產生一個  .文件名.swp 的臨時隱藏文件  
>
> 將其刪除 重新編輯 即可  

```
:%s/http:\/\/www.baidu.com\/1.py/https:\/\/www.google.cn\/test.py 
```

## 網絡管理  

### ifconfig   windows 中是 ipconfig   

```
ens33     Link encap:Ethernet  HWaddr 00:0c:29:4e:78:d2  
          inet addr:10.11.53.107  Bcast:10.11.53.255  Mask:255.255.255.0
          inet6 addr: fe80::de4e:2eb6:3c99:2f7a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:370513 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14235 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:72233130 (72.2 MB)  TX bytes:1622123 (1.6 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING MTU:65536  Metric:1
          RX packets:294 errors:0 dropped:0 overruns:0 frame:0
          TX packets:294 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:24031 (24.0 KB)  TX bytes:24031 (24.0 KB)


ens33  代表當前 ip地址屬於哪一塊網卡   一個電腦可以有多塊網卡 
inet addr  ipv4地址  會看 
Bcast 網關 下一跳    會看
Mask 子網掩碼   會看  
HWaddr mac地址 
 RX 接收包
 TX    發送包 
 SYN  
 ack 
 fin 
 UP 網卡開啓 RUNNING 網線連接正常    會看 
 MULTICAST 支持組播
 MTU 最大的傳輸單元   
 
 
 
 ifconfig ens33 查看制定網卡的信息  
 ifconfig  ens33 down 關閉網卡 
 ifconfig  ens33 up  啓用網卡 

重啓網絡 
    1.service  networking restart|start|stop   service  服務名  restart|start|stop
    2./etc/init.d/networking restart  重點  
```

### ping  重點  

```
ping -c 3 www.baidu.com   指定ping的次數  
     -b 測試與網關ip的連通性      
```

### netstat 查看網絡連接狀況  

```
netstat 
    -n 顯示端口號  
    -p 顯示進程  process  
    -t tcp 協議過來的   http協議  socket 協議 都是 基於tcp/ip協議 
    -u udp udp協議 
    -a 顯示所有
    
    sudo netstat -nt
    sudo netstat -nu 顯示udp協議 連接  
    sudo netstat -ntpa 顯示所有tcp 端口號的使用情況   
    
    sudo netstat -ntpa | grep 22  重要  經常用它來測試 ssh服務是否開啓  
    sudo netstat -ntpa | grep 80  測試http服務是否開啓正常運行   重點  
```

## 進程管理 ps   process status 進程狀態的縮寫  

```
ps 
    -e 顯示所有的進程 
    -u 查看制定用戶的進程  
    -x 跟a 配合使用 顯示完整的信息 
    
    ps -e  | more -20  顯示所有的進程   每頁20個  
    ps -u root | more -10 顯示root 用戶的進程信息  每屏10個 
    ps -ef | grep ssh  過濾所有的進程信息 
    ps -aux | grep ssh 重要 通常用它來測試 服務是否正常開啓 測試正在內存中的 進程信息  重點  
    
    need888    4898  0.0  0.2  94924  4412 ?        S    14:15   0:03 sshd: need888@pts/17
    user 用戶名     
    pid 進程號
    0.0 cpu 佔用率  
    0.2 內存佔用率 
    94924 VSZ 虛擬內存佔用量  等待進入的  
    4412  駐留內存的量 
    ? tty ?表示不是終端連接 而是遠程鏈接過來的  
    S 進程狀態 表示可以終端的休眠狀態   R 準備就緒隨時等候調用  
    14:15 進程開始時間  
    0:03 已經執行的時間  
    
    kill -9 進程號   重點 
    
    killall -TERM 進程名稱   
    killall -TERM sshd   重點 
```

### top  類似於 windows 中的任務管理器  

```
top  
    q 退出 


top - 16:51:41 up 1 min,  2 users,  load average: 0.29, 0.15, 0.06
Tasks: 229 total,   1 running, 126 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.2 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2017316 total,  1473660 free,   185812 used,   357844 buff/cache
KiB Swap:   998396 total,   998396 free,        0 used.  1638376 avail Mem 


16:51:41 當前時間  
up 1 min 系統運行的時間 
2個users 

load average: 0.29, 0.15, 0.06  系統的平均負載情況  
0.29  每分鐘的 負載情況 
0.15  每五分鐘負載情況
0.06  每15分鐘的負載情況 

值越大 說明負載越大  也就是壓力越大  
1核  這三個值  不能超過 1  
2核  這三個值不能超過2  

 229 total 任務總數
 1 個運行
 126 sleeping 126個睡眠的  
 stopped 停止的總數  
            
 最後兩行  內存的信息   
 總共 2gb內存   free 還剩   used 使用了   緩存的數量  
 
 swap 交換分區   
 total 交換分區的大小  
 
 
 
 下面一行信息 詳解: 
     PID  用戶進程 
     USER 進程所有者的用戶名
     PR 優先級 
     
     
     
     
 可以安裝一個 可視化管理軟件   htop  
 sudo apt-get install htop 
 
 htop 直接查看   
 
```

## 登錄狀態  

#### hostname  顯示 設置 主機的名稱  

```
hostname 顯示主機名 
sudo hostname kangbazi  臨時設置主機名 
sudo vim /etc/hostname 永久設置主機名   
```

### whoami 

```
查看當前登錄的用戶  

who
need888  pts/8        2018-08-29 16:50 (10.11.53.21)  
need888  pts/9        2018-08-29 16:51 (10.11.53.85)

tty  終端登錄 
pts  遠程登錄  

```

### last 

```
顯示最近的登錄信息 
last -10 顯示最近10條登錄信息  
```

### w 查看登錄者信息 及行爲  

```

 17:21:24 up 31 min,  2 users,  load average: 0.00, 0.02, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
need888  pts/8    10.11.53.21      16:50    1.00s  0.35s  0.01s w
need888  pts/9    10.11.53.85      16:51    4:50   0.07s  0.07s -bash

```

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章