Linux-day1-上課筆記

命令的組成web

命令關鍵字 [選項] [參數]shell

注意:apache

1. 一般狀況下 選項- --鏈接vim

ls -l /etc安全

2. - 選項和選項之間是能夠合併的bash

ls -ld /etc網絡

 

 

 

 

ls 羅列文件   常見的選項 -l 羅列文件屬性app

      -d 羅列目錄自己less

      -a 羅列全部文件(包括隱藏文件)    以點起始的文件-隱藏文件ssh

      特殊注意事項  .. 上一級目錄

       . 當前目錄

cd 切換目錄

cd /etc

cd /usr/lib

 

pwd 顯示當前目錄絕對路徑

 

 

查看幫助文檔

man

 

基於文件的基礎操做指令

1. 建立文件

touch /tmp/file1

2. 刪除文件

rm /tmp/file1

3. 複製文件

cp 源文件1 [源文件2] [源文件3] 目的地

cp /tmp/file5 /srv

4. 移動文件

mv 源文件1 [源文件2] [源文件3] 目的地

mv /tmp/file3 /srv

5. 建立目錄

mkdir

mkdir -p /tmp/a/b/c/d/e/f/g

遞歸建立目錄

6. 刪除目錄

rmdir

rm -r

rm -rf

7. 複製目錄

cp -r test/ /tmp

8. 移動目錄

mv /tmp/test /srv

 

基於文件內容執行的操做

1. 查看文件內容

cat  用於查看小文件,不適用於日誌型(大文件)查看

head 查看文件頭部,默認狀況下,將文件前10行顯示到屏幕上

     -n 指定顯示行數

tail 查看文件尾部,默認狀況下,將文件前10行顯示到屏幕上

     -n 指定顯示行數

     -f /var/log/messages 動態查看文件尾部追加內容

     中斷指令ctrl + c

more 查看大文件,按空格翻下一頁,b翻上一頁,退出q

less 查看大文件,按空格翻下一頁,b翻上一頁,退出q,/搜索的關鍵字

2. 修改文件內容

vim

1) 查看模式

2) 進入插入模式的方法

i

退出插入模式

esc

3) 退出模式

保存退出:wq

不保存退出:q!

保存不退出:w

3. 統計文件內容

過濾行:

grep 字符串 文件

     -v 反選

     字符串的特殊表達方式  ^ 行起始  $ 行結尾

[root@jenny tmp]# grep ^root /etc/passwd

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

[root@jenny tmp]# grep login$ /etc/passwd

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

polkitd:x:999:998:User for polkitd:/:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin

[root@jenny tmp]#

A下幾行

B上幾行

 grep -A1 -B1 root /etc/fstab

 

截取列

[root@jenny tmp]# cut -d":" -f1 /etc/passwd

以冒號做爲分割的第一列截取出來

 

練習:

1. 建立/tmp/a/b/c目錄

mkdir -p /tmp/a/b/c

2. 在該目錄下建立20個文件,名爲file1-20

touch /tmp/a/b/c/file{1..20}

3. 複製file1 file2 file3 到/srv目錄

cd /tmp/a/b/c

cp file{1..3} /srv

4. 移動file5 到/srv目錄

cd /tmp/a/b/c

mv file5 /srv

5. 移動b目錄到/opt目錄

[root@jenny c]# mv /tmp/a/b/ /opt/

6. 刪除/tmp/a

rm -rf /tmp/a/

7. 編輯/srv/file5,寫入hello並保存退出

vim /srv/file5

i

hello

esc

:wq

 

 

==================================

ls -l

   -a

   -d

cp -r 源文件 目標地址

mv 源文件 目標地址

mkdir

rm

 

 

 

. 當前目錄

.. 上一級目錄

{1..10}

* 通配符

==================================

 

 

 

8. 截取/etc/passwd的第一列

cut -d":" -f1 /etc/passwd

9. 檢索/etc/passwd以bash結尾的行

grep bash$ /etc/passwd

#10. 統計/etc/passwd行數

11. 查看/etc/目錄下全部以.conf結尾的文件屬性

ls -l /etc/*.conf

12. 顯示/etc/passwd中不含bin的行

grep -v bin /etc/passwd

13. 顯示/etc/fstab不以"#"開頭的行

grep -v ^# /etc/fstab

14. 去除空行顯示/etc/fstab

grep -v ^$ /etc/fstab

#15. 檢索/var/log/messages中包含kernel的行,並以頁的方式進行查看。

#16. 查看當前年月日

 

 

回家做業

1. 若是有一個文件名爲全空格,如何將該文件刪除?

例如:

[root@jenny tmp]# touch '      file'

[root@jenny tmp]# ls -al

total 4

drwxrwxrwt. 10 root root 255 Apr 14 10:32 .

dr-xr-xr-x. 17 root root 253 Apr 14 10:28 ..

-rw-r--r--.  1 root root   0 Apr 14 10:32       file

 

 

 

 

 

 

 

 

 

用戶相關概念

1. 用戶家目錄:存放用戶獨有的信息

2. 用戶: uid

3. 每一個用戶都會有對應的所屬組: 默認組、附加組

4. 密碼

 

 

三類

1)root用戶(超級管理員)

2)系統用戶(保證一些程序可以安全穩定的運行而產生的帳戶)     不容許人爲登陸操做系統的

/sbin/nologin

3)普通用戶(可以登陸操做系統,可是權限受到必定限制的用戶) 容許登陸,容許執行命令

shell --> bash

/bin/bash

 

 

用戶信息文件: /etc/passwd

test:x:1000:1000::/home/test:/bin/bash

apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin

以冒號做爲分割,總共有7列

 

用戶名:密碼佔位符:uid:默認組的gid:描述:用戶家目錄:登陸shell

 

 

/etc/login.defs 定義了用戶初始化的參數

一般狀況下,自定義用戶uid 1000-60000,系統用戶uid範圍201-999

 

 

/etc/shadow

man 5 shadow

root:$6$as1u8f2ySgWp2YXh$VXIiTYn5YZBEPuFkKH7Hj7wv97.Gb/BeGWBUjY49FoJA8ikBqK931VwK..eaYlcozgLizhg5Wy8Dj3DtuANzN1::0:99999:7:::

 

/etc/group

systemd-journal:x:190:

組名:x:gid:以附加組身份用戶名單

 

 

用戶相關的配置文件

- /etc/passwd 存放用戶信息

- /etc/shadow 存放用戶密碼策略的

- /etc/login.defs 存放用戶初始化相關定義參數的

- /etc/default/useradd 建立用戶默認參數

 

組相關的配置文件

- /etc/group 組相關的配置文件

 

 

 

組的命令

1. 添加組

groupadd 組名

groupadd -g gid 組名

2. 刪除組

groupdel 組名

3. 修改組的屬性

groupmod

 

用戶的命令

1. 添加用戶

useradd

      -d 指定用戶家目錄位置

      -u 指定用戶uid

      -g 指定用戶默認組,(默認組有且只有一個)

      -G 指定用戶附加組

      -s 指定用戶的登陸shell

2. 刪除用戶

userdel 僅刪除用戶

userdel -r 刪除用戶及我的配置信息

3. 給用戶設置密碼

passwd 用戶名

4. 修改用戶的屬性

usermod

      -d 修改用戶家目錄位置

      -u 修改用戶uid

      -g 修改用戶默認組,(默認組有且只有一個)

      -G 修改用戶附加組

      -aG 追加附加組

      -s 修改用戶的登陸shell

uid=1005(webuser) gid=1005(webuser) groups=1005(webuser),1001(jenny),1002(carol),1003(alexey),1006(grouptest1)

5. chage 修改用戶的密碼策略

[root@jenny home]# chage -l webuser

Last password change : Apr 14, 2019

Password expires : never

Password inactive : never

Account expires : never

Minimum number of days between password change : 0

Maximum number of days between password change : 99999

Number of days of warning before password expires : 7

[root@jenny home]# chage webuser

Changing the aging information for webuser

Enter the new value, or press ENTER for the default

 

Minimum Password Age [0]: 7

Maximum Password Age [99999]: 90

Last Password Change (YYYY-MM-DD) [2019-04-14]:

Password Expiration Warning [7]:

Password Inactive [-1]:

Account Expiration Date (YYYY-MM-DD) [-1]:

 

6. 切換用戶身份

su - webuser

exit

 

要求:

1. 建立jenny用戶和carol用戶,並設置其密碼爲Yyit123456

useradd

passwd jenny

2. 建立組grouptest1和grouptest2,要求該組的gid分別爲10001和10002

groupadd -g 10001 grouptest1

groupadd -g 10002 grouptest2

3. 建立用戶alexey,要求該用戶以附加組成員身份添加grouptest1和grouptest2。

useradd alexey -G grouptest1,grouptest2

4. 建立用戶appuser,要求該用戶不容許登陸操做系統

useradd appuser -s /sbin/nologin

5. 建立用戶ivy,要求該用戶家目錄在/opt/ivy這個位置, 並設置密碼xxxxx

useradd ivy -d /opt/ivy

passwd ivy

6. 要求刪除jenny用戶及其我的配置信息

userdel -r jenny

 

 

第一人要管理網絡,重啓服務,

第二個管理用戶,useradd,usermod,userdel,groupadd,groupdel,groupmod

sudo權限:在執行某些特定指令的時候,獲取其餘人的身份(不須要知道其餘人的密碼)

配置文件 /etc/sudoers

root

修改配置文件 建議使用visudo命令

用戶 地方=(身份) 命令

alexey  ALL=(ALL)       /usr/sbin/useradd

命令寫絕對路徑(可經過Whereis useradd查找到絕對路徑在哪裏)

 

 

當用戶想要去執行指令的時候

sudo useradd peter(第一次執行時候需輸入本身的密碼)

 

 

alexey  ALL=(ALL)       /usr/sbin/useradd,/usr/bin/userdel

 

 

 

 

做業:

容許alexey用戶經過sudo可以執行useradd,usermod,userdel,groupadd,groupdel,groupmod

思考:可否免密碼執行該指令

 

 

 

vim使用

在通常模式下可以作的事情

1. 光標的跳轉

G: 直接跳轉到文件最後一行

10G: 跳轉到文件第十行

gg: 直接跳轉到文件第一行

2. 行復制黏貼

yy: 複製一行

p: 在當前行下方黏貼

3yy: 複製三行

p: 在當前行下方黏貼

3. 行刪除、剪貼

dd: 刪除一行

3dd: 刪除三行

dd剪貼,p 貼

4. 撤回

條件: 不執行wq,均可以撤回

u: 撤回執行操做

5. 查找

執行'/查找的字符串'

 

如何進入到插入模式

i: 在光標所在位置進入到插入模式

o: 在當前光標所在位置下方新開一行進入到插入模式

O: 在當前光標所在位置上方新開一行進入到插入模式

A: 在當前光標所在行尾部進入插入模式

I: 在當前光標所在行頭部進入到插入模式

 

若是要進行文本保存,需進入到命令模式(退出模式)

插入模式 ---> 通常模式   ----> 命令模式

         esc   :

 

 

命令模式下能夠作的事情

:wq

:q! (! 強制)

:wq!

:set nu 顯示行號

:set nonu 取消行號顯示

替換

:s/被替換的內容/替換後的內容/

:s/games/happy/ 意味着將當前光標所在行匹配到的第一個games替換爲happy

:s/games/happy/g  意味着當前光標所在行全部的games替換爲happy

:%s/sbin/happy/g  意味着全文中的sbin替換爲happy

 

 

 

cp /etc/passwd /tmp

對該文件進行vim的系列操做

1. 將第一行復制到第十行

2. 刪除第五行

3. 查找全文中全部bash,將其替換爲test

4. 將第三行,第四行剪貼至文件末尾處

5. 保存退出

相關文章
相關標籤/搜索