1. 程式人生 > >Linux作業系統入門(2)

Linux作業系統入門(2)

vim的常用功能


vim的模式
    普通模式
          瀏覽檔案
    插入模式
        對檔案內容進行編輯
    命令模式
        臨時更改vim的工作方式,對字元批量處理
       編輯配置檔案:vim /etc/vimrc

下面對vim的模式進行介紹


命令模式


1.調整vim的工作方式

set nu    設定行號

set mouse=a    設定滑鼠

永久設定要更改vim的配置檔案

進入vim後輸入冒號即可開始在下方輸入命令

2.字元搜尋

/後跟查詢的字串。vim會顯示文字中第一個出現的字串。
?後跟查詢的字串。vim會顯示文字中最後一個出現的字串。

按n鍵轉到下一個匹配,按N鍵轉到上一個匹配。

3.字元管理
y
yl  複製一個字母
y3l 複製3個字母
yw  複製一個單詞
y3w 複製3個單詞
yy  複製一行
y3y 複製3行

用yw命令複製fni,用p貼上    用yy命令複製一行,用p貼上


d
dl  刪除一個字母
d3l 刪除3個字母
dw  刪除一個單詞
d3w 刪除3個單詞
dd  刪除一行
d3d 刪除3行

將上圖複製的單詞用dw命令刪除一個,用dl命令刪除下一行的第一個字母,用dd刪除一行


c
cl  剪下一個字母
c3l 剪下三個字母
cw  剪下一個單詞
c3w 剪下三個單詞
cc  剪下一行
c3c 剪下三行
注意:在剪下之後vim會進入插入模式,要貼上時按ESC鍵退出插入模式,然後按P貼上
p   貼上
u   撤銷
ctrl+r  恢復撤銷

將上圖倒數第一行用cl命令剪下後貼上到句子末尾,將上圖倒數第二行用cc命令剪下然後貼上到最後一行


4.vim視覺化模式
v  字元視覺化
V  行視覺化
ctrl+v 塊視覺化
批量條家字元
ctrl+v 選中要加入字元所在的列
按大寫I鍵
加入字元
按ESC

下圖分別為字元視覺化,行視覺化,塊視覺化,可用方向鍵上下鍵選擇視覺化的部分


5.字元的替換
:%s/要替換的字元/替換成的字元/g
:%s/westos/redhat/g
:1,5s/westos/reahat/g  #替換1到5行

將一到五行的替換為aaa 圖為效果 圖中的高亮顯示可用命令:noh去掉


6.vim的分屏功能
ctrl+w s    上下分屏
ctrl+w v     左右分屏
ctrl+w c     關閉游標所在螢幕
ctrl+w 上下左右    游標移動到指定螢幕
:sp file2    同時編輯當前檔案和file2

圖中僅演示左右分屏,其他讀者可自己繼續嘗試


7.在命令模式下的游標移動
gg    游標移動到檔案的第一行
G    游標移動到檔案最後
:數字    游標移動到指定行
ZZ    儲存退出

插入模式


插入模式下游標移動
i    游標所在位置插入
I    游標所在行行首插入
o    游標所在行下一行插入
O    游標所在行上一行插入
a    游標所在字元的下一個字元插入
A    游標所在行的行尾插入
s    游標所在字元刪除並插入
S    游標所在行刪除並插入

vim的退出


:q    退出,在檔案內容沒有改變時使用
:wq    退出儲存
:q!    強制退出不報訊,在改變檔案後不想儲存時使用
:wq!    強制退出儲存,在對只讀檔案編寫時使用。注意:所編輯的只讀檔案必須是當前使用者的檔案(root除外)

使用者管理


1.使用者存在的意義
2.組存在的意義
3.使用者的檢視
​    檢視當前使用者 
​    whoami
     系統中使用者的檢視
​    id    檢視指定使用者的id資訊
​    id
​        -u    檢視使用者的uid
​        -g    檢視使用者的gid
​        -G    檢視使用者所在的所有組的id
​        -n     顯示名字而不是id數字


4.切換使用者
​    su - 使用者名稱稱
​    su - 中‘-’表示使用者身份切換時同時切換當前使用者環境
​    su - 執行高階使用者切換到低階使用者時不需要密碼,低階使用者切換到高階使用者需要密碼,平級切換也需要
​    注意:每次su切換到其他使用者操作完成之後退出,再切換到另外使用者

切換到root超級使用者


5.使用者在系統中的儲存方式
/etc/passwd
​    使用者資訊檔案
​    使用者名稱稱:使用者密碼:uid:gid:說明文字:家目錄:預設shell

eg:root:x:0:0:root:/root:/bin/bash

/etc/group
     使用者組資訊檔案
​    組名:組密碼:組id:組成員

eg:root:x:0:

/etc/shadow
​    認證資訊檔案

/home/username
​    使用者的家目錄

#######使用者管理命令

使用者的刪除
​    userdel
​    userdel westos  刪除使用者但不刪除使用者的配置檔案
​    userdel -r      刪除使用者並刪除使用者的配置檔案


使用者的建立
​    useradd -u 8888          westos 指定使用者uid
​    useradd -g 21            westos    指定使用者初始組id,‘21’使用者組必須存在
​    useradd -G 21             westos    指定使用者附加組id,‘21’使用者組必須存在
​    useradd -c “hello”       westos 指定使用者的說明
​    useradd -d /home/lee     westos 指定使用者的家目錄
​    useradd -s /sbin/nologin westos 指定使用者預設shell
​    
​    groupadd       建立使用者組
​    groupadd -g 8888    建立使用者組並指定使用者組id
​    groupdel    刪除使用者組

新增一個指定uid為8888的新使用者,指定使用者的說明文字為hello


更改使用者資訊
usermod
usermod    -l  新名稱      westos 更改使用者的名稱    
usermod -u  8888      westos 更改使用者的uid
usermod    -g  21          westos 更改使用者的初始組
usermod -G  21           westos 更改使用者的附加組
usermod -G  “”          westos 刪除使用者所有的附加組    
usermod -c  “gg”       westos 指定使用者的說明文字
usermod -md “/home/lee”   westos 更改使用者的家目錄
usermod -s  /sbin/nologin westos 更改使用者的shell

更改新建使用者zzz的使用者uid


 

使用者認證訊息


/etc/shadow/  記錄使用者認證資訊
此檔案一共九列
使用者名稱稱:使用者密碼:使用者密碼最後一次被更改的時間:使用者密碼最短有效期:使用者密碼最長有效期:密碼警告期限:使用者非活躍天數:使用者到期日:使用者自定義列

使用者密碼的修改


passwd    westos 更改westos的密碼
passwd -l     westos  對密碼加鎖
passwd -u     westos    解鎖
passwd -d    westos  清空westos密碼
passwd -e       westos    設定最後一次更改密碼的時間為0,使用者在登陸時會被強制修改密碼
passwd -n 1    westos  設定普通使用者一天之內不能更改密碼(使用者密碼最短有效期)
passwd -E 2018-09-23 westos westos使用者在2018-09-23到期(使用者到期日)

usermod -L             westos 凍結使用者
usermod -U           westos 解鎖使用者

注意:
​    普通使用者更改密碼時
​    必須知道當前使用者原始密碼
​    密碼不能是純數字或純字母
​    密碼不能和帳號名稱相似
​    密碼不能是有序的字母和數字的組合

更改使用者zzz的密碼

凍結使用者後,使用者登入後就會出現如下的情況

解封后即能登陸成功

 

檔案許可權


檔案許可權存在的意義
系統最底層安全設定方式之一
保證檔案可以被相應的使用者做相應的操作

檔案許可權的檢視
ls -l file
ls- ld dir
ll    file
ll -d     dir

檔案許可權的讀取
-rw-rw-r--. 1 kiosk kiosk 0 Sep 23 22:56 file

[1]
1.檔案型別

- 空檔案,或者文字
  d  目錄
  l  軟連結
  s  socket套結字
  b  block塊裝置
  c  字元裝置

[2]
rw- | rw- | r--
 1     2     3
1.[u]檔案擁有者對檔案能做什麼操作
2.[g]檔案所有組對檔案能做什麼操作
3.[o]其他人能對檔案做什麼操作

[3]
對檔案:檔案硬連結個數(檔案內容被記錄的次數)
對目錄:目錄中子目錄的個數(不是檔案)

【4】
檔案所有人

【5】
檔案所在組

【6】
對檔案:檔案的大小
對目錄:目錄中子檔案元資料大小

【7】
檔案內容被修改的時間

【8】
檔名名稱

##### 如何修改檔案的所有人和所有組

chown | chgrp

chown         username    file|dir         更改檔案或目錄的所有人
chown        user.group    file/dir    更改檔案或目錄的所在組
chown    -R    user.group    dir        對目錄的所屬組進行遞迴修改

chgrp        group        file/dir    對檔案或目錄的所屬組進行修改
chgrp    -R    group        dir        對目錄的所屬組用遞迴的方式進行修改

修改檔案1的所有人為zhangmin

同時修改檔案1的所有人和所在組

#### 如何修改檔案的許可權

對許可權的理解
r
​    對檔案:是否可以檢視檔案的內容 --->cat file 
​    對目錄:是否可以檢視目錄中有什麼子檔案或子目錄  --->ls dir
w
​    對檔案:是否可以改變檔案裡面記錄的字元
​    對目錄:是否可以對目錄中子目錄會子檔案的元資料進行更改
x
​    對檔案:是否可以通過檔名稱呼叫檔案內記錄的程式
​    對目錄:是否可以進入目錄
更改方式
chmod <u|g|o><+|-|=><r|w|x> file|dir
chmod u+x      /mnt/file1
chmod g-r      /mnt/file1
chmod ug+r     /mnt/file1
chmod u+r,g+x  /mnt/file1
chmod +x       /mnt/file1
chmod u+x      /mnt/file1
chmod o=r-x    /mnt/file1

rwx
210

r=4
w=2
x=1

r-x|r--|--x
 5   4   1

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

用chmod命令給檔案的擁有者和檔案的所有組增加執行的許可權

用數字的方式給檔案的擁有者和檔案的所有組和其他人都給予讀寫執行的許可權