1. 程式人生 > >linux基礎學習【2】

linux基礎學習【2】

次數 ket caf 輸入 普通 初始 不能 nologin log

2018.09.23

1.vim的三種模式

普通模式:瀏覽文件
插入模式:對文件進行編輯
命令模式:臨時更改vim的工作方式,需要更改/etc/vimrc文件

##命令模式##

2.字符管理

y       復制
y(3)l       復制單(3)個字母
y(3)w       復制單(3)個單詞
y(3)y       復制單(3)行
y(G)y       復制全部

註:單詞之間需要分割符號
d       刪除
d(3)l       刪除單(3)個字母
d(3)w       刪除單(3)個單詞
d(3)d       刪除單(3)行
c       剪切
c(3)l       剪切單(3)個字母
c(3)w       剪切單(3)個單詞
c(3)c       剪切單(3)行
註:在剪切之後vim會進入插入模式,要粘貼需要按[Esc]後[p]鍵粘貼
p       粘貼
u       撤銷
ctrl+r      恢復撤銷

技術分享圖片

vim編輯文件liuyu

技術分享圖片

yGy復制全部並按p粘貼

技術分享圖片

d8d刪除後8行

技術分享圖片

c3l後在行尾P粘貼

技術分享圖片

u(3次,剪切,移動光標,粘貼)撤銷3步

技術分享圖片

ctrl+r(3次,粘貼,移動光標,剪切)撤銷恢復

3.vim可視化模式

v       字符可視化
V       行可視化
ctrl + v    塊可視化

技術分享圖片

【v】移動光標實現字符可視化

技術分享圖片

【V】移動光標實現行可視化

技術分享圖片

【ctrl】+【V】移動光標實現塊可視化

4.字符的替換

:%s/要替換的字符/替換成的字符/g
:%s/a/b/g
:1,5s/a/b/g             用b替換1到5行的a

技術分享圖片

按【:】輸入2,4s/bin/haha/g,將2-4行中的bin字符串替換成haha

技術分享圖片

替換後

5.vim的分屏功能

ctrl+w s        上下分屏
ctrl+w v        左右分屏
ctrl+w c        關閉光標所在屏幕
ctrl+w 上下左右     光標移動到指定屏幕
:sp file2       同時編輯當前文件和file2

技術分享圖片

vim編輯文件liuyu

技術分享圖片

ctrl+w後按s,上下分屏

技術分享圖片

ctrl+w後按v,左右分屏

技術分享圖片

ctrl+w後按下方向鍵,光標移動至下方分屏上

技術分享圖片

ctrl+w後按c,關閉光標所在下方分屏

技術分享圖片

單屏編輯文件liuyu狀態下【:】輸入sp passwd,同時編輯兩個文件。

6.在命令模式下光標的移動

gg      光標移動到文件的第一行
G       光標移動到文件的最後
:數字     光標移動到指定行
ZZ      保存退出
註意:ZZ在普通模式下使用

技術分享圖片

gg 光標移動至文件起點

技術分享圖片

G 光標移動到文件末尾

技術分享圖片

:5 光標跳至第5行

##插入模式##

7.在插入模式下光標的移動

i       在光標當前位置插入
I       在光標所在行首進行插入
o       在光標所在行另起一行插入
O       在光表所在行上一行起一行插入
a       在光標所在位置下一字符插入
A       在光標所在行尾進行插入
s       刪除單個字符並進入插入模式
S       刪除整行並進入插入模式

技術分享圖片

光標位於文件1行1列按【i】,直接在文章開頭插入

技術分享圖片

光標位於文件3行2列按【S】,刪除第3行並插入

8.vim的退出

q       文件未進行編輯操作輯時退出
wq      保存並退出
q!      強制退出不保存
wq!     強制退出保存,對只讀文件編寫,僅用戶對當前文件有寫權限使用
![](http://i2.51cto.com/images/blog/201809/27/e76bbe728e1a8e65380503ca40158862.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

按【:】後輸入wq,保存文件並退出,重新進入文件修改內容已保存

技術分享圖片

文件內容修改後:q無法退出,:q!退出成功不保存

技術分享圖片

如圖,當前用戶對one文件僅有讀權限

技術分享圖片

vim編輯時提示只讀

技術分享圖片

:wq無法保存退出,:wq!強制保存退出,文件擁有者轉換為當前用戶

9.用戶(組)的意義

系統最底層安全設定方式之一
方便限定使用者或組的權限

10.用戶的查看

id a        查看a用戶的id信息
    -u  查看用戶的uid
    -g  查看用戶的gid
    -G  查看用戶的所有組id
    -n  用名稱代替id號,要配合-ugG使用

技術分享圖片

分別查看用戶的uid,組id,附加組id,配合-n使用顯示對應的名稱(圖中為kiosk)

11.切換用戶

su- a       切換至a用戶

註:
1.-表示切換用戶的同時切換環境。
2.高級用戶切換低級用戶不用密碼,低級向高級或平級切換需要密碼。
3.每切換一次用戶都會在對應用戶進程中打開一個shell
編輯完成後需要及時退出(exit或ctrl+d)
技術分享圖片

如圖,kiosk用戶切換至root時需輸入密碼,而root向較低級用戶kiosk切換時無需

12.用戶在系統中的存儲方式

/etc/passwd     用戶信息文件  用戶名:密碼:uid:gid:說明文字:家目錄:配置文件
/etc/group      用戶組信息文件 組名:組密碼:組id:組成員
/etc/shadow     認證信息文件
/home/username      用戶的家目錄

技術分享圖片

如圖,為存儲的用戶信息

13.用戶管理命令

userdel a           刪除用戶a
    -r      刪除用戶所有信息
useradd a           添加用戶a
    -u 88       指定用戶uid為88
    -g 55       指定用戶gid為55,55組必須存在
    -G 55       指定用戶附加組id,55組必須存在
    -d h        指定用戶的家目錄名為h
    -c ha       指定用戶的說明文字為ha 
    -s bin/bash 指定用戶的登陸配置文件為bin/bash
groupadd a          建立用戶組a
    -g 88       建立用戶組並指定用戶組id為88
groupdel a          刪除用戶組a
usermod 
usermod -l   b      a   將用戶a的名稱改為b
usermod -u   b      a   將用戶a的uid改為b
usermod -g   b      a   將用戶a的gid改為b
usermod -G   b      a   將用戶a的附加組改為b
usermod -G   ""     a   刪除用戶a的所有附加組
usermod -c   ha     a   將用戶a的說明文字改為ha
usermod -md      /jia       a   將用戶a的家目錄改為jia
usermod -s   /sbin/nologin  a   更改用戶a的shell
usermod -L          a   凍結用戶
usermod -U          a   解鎖用戶

技術分享圖片

建立uid為88,說明文字為haha的用戶liuyu

技術分享圖片

遞歸刪除用戶liuyu的所有信息

技術分享圖片

root用戶凍結用戶liuyu,普通用戶kiosk無法切換至liuyu,liuyu無法登入

14.用戶認證信息

/etc/shadow
共有9列
用戶名稱:用戶密碼:用戶密碼最後一次被更改的時間:密碼最短有效期:密碼最長有效期:密碼警告期限:用戶非活躍天數:用戶到期日:用戶自定義列

15.用戶密碼

passwd      a   更改a用戶密碼
passwd  -l  a   加鎖a用戶的密碼
passwd  -e  a   更改用戶最後一次修改用戶的時間為0,強制用戶a修改密碼
passwd  -u  a   解鎖a用戶的密碼
passwd  -d  a   清空a用戶的密碼
passwd  -n 1    a   a用戶在1天之內不能修改密碼
chage   -E  2018-09-23  a   a用戶在2018年9月23日到期

技術分享圖片

root修改用戶kiosk密碼

技術分享圖片

root用戶設置liuyu在1天內不能修改密碼,用戶liuyu暫時無法更改。

##文件權限##

16.文件權限存在的意義

系統最底層安全設定方式之一
保證文件可以被相應的用戶做相應的操作

17.文件權限的查看

ls -l   a(A)    列表顯示a文件(A目錄中所有文件)的屬性
ls -ld  A   列表顯示A目錄本身的屬性        
ll  a(A)    列表顯示a文件(A目錄中所有文件)的屬性
ll -d   A   列表顯示A目錄本身的屬性

技術分享圖片

ls -l顯示當前目錄中的文件屬性ll等效,ls -ld顯示目錄file本身屬性ll -d等效。

18.讀取文件權限信息

- | rw-rw-r-- | 1 | kiosk | group | 4189 | Sep 23 22:21| 0923
1       2       3     4       5      6          7         8

1文件類型
-   空文件或者文本
d   目錄
l   軟鏈接(類比windows環境下的快捷方式)
s   socket套接字(類比模塊的接口)
b   block塊設備
c   字符設備

2權限
1-3:文件所有者的權限
4-6:文件所有者所在組其他成員的權限
7-9:文件所有者所在組之外,其他人的權限

3
文件:文件的硬鏈接個數(文件內容被記錄的次數)
目錄:目錄中子目錄的個數

4文件的所有者
文件的所有者為kiosk

5文件所有者所在的初始組
文件所有人所在的初始組為group

6
文件:文件的大小
目錄:目錄中字文件元數據大小(即文件的基礎屬性)
                註:其中文件名稱每字符占一個字節

7文件內容最後被修改的時間

8文件名稱

19.修改所有人和所有組

(a已存在的用戶名 A已存在的用戶組名 b要修改的文件名 B需要修改的目錄名)
chown       a   b(B)    修改文件b(目錄B)的所有者為a
chown       a.A b(B)    修改文件b(目錄B)的所有者為a所有組為A
chown -R    a.A B   修改目錄B及其中所有文件的所有者為a所有組為A
chgrp       A   b(B)    修改文件b(目錄B)的所有組為A
chgrp -R    A   B   修改目錄B及其中所有文件的所有組為A

##文件的權限##
    @權限的理解
    r:  對文件:是否可以查看文件中內容
        對目錄:是否可以查看目錄中有什麽子文件或子目錄
    w:  對文件:是否可以改變文件裏面記錄的字符
        對目錄:是否可以對目錄中子目錄或子文件元數據進行更改
    x:  對文件:是否可以通過文件名稱調用文件內記錄的程序
        對目錄:是否可以進入目錄
    @更改方式
    chmod <ugo><+-=><rwx>   a(A)
    chmod u+x       a(A)    給a文件(A目錄)的所有者添加執行權限
    chmod g-r       a(A)    給a文件(A目錄)的所在組成員刪去讀權限
    chmod o=rwx     a(A)    給a文件(A目錄)的其他成員添加讀/寫/執行權限
    chmod 421       a(A)    給a文件(A目錄)的所有者添加r所在組添加w其他添加x
    註:對於文件而言最危險的權限為x。(二進制代碼文件運行需要執行權限)
            對於目錄而言最危險的權限為w。(對目錄擁有寫權限意味可以隨意刪除)
            系統默認不添加危險的權限。rwx分別對應421即(7表示rwx,5表示-wx,1表示--x)

技術分享圖片

練習

技術分享圖片

創建規定組

技術分享圖片

tom附加組為shengchan,harry附加組為caiwu,leo附加組為jishu 。

技術分享圖片

修改權限,僅shengchan組成員能寫入sc,caiwu組成員能寫入cw

技術分享圖片

如圖,經測試leo能寫入/pub,tom能寫入/pub和/sc,harry能寫入/pub和/cw,功能實現。

linux基礎學習【2】