Linux期末考試知識點總結


Linux期末考試知識點總結

1. 常用命令

- cd (用於切換當前工作目錄至 dirName(目錄參數))

cd 目錄地址(絕對地址或相對地址)

- ls(列出文件或目錄信息)

//列出當前目錄下的文件和目錄
ls
//列出所有文件包括隱藏的文件
ls -a
//列出當前目錄下所有文件的權限、所有者、文件大小、修改時間和名稱
ls -l
//列出目錄下以及所有子目錄的文件名
ls -R

- cp (用於文件或目錄的復制)

//語法
cp [參數] 源文件 目標文件
//參數
-a 狀態、權限原樣復制
-f 如果目標文件或目錄存在,先刪除再復制,不提示
-i 同上,但要提示
-R 遞歸復制目錄,包括目錄下的各級子目錄
//復制test文件到當前目錄下
cp /home/test .

- history (查詢歷史命令)

//查詢最近使用的n條命令
history n
//將目前正在使用的shell中的所有history命令全部清理
history -c

- mv (文件或目錄的移動或命名)

//語法
mv [參數] 源文件或目錄 目錄文件或目錄
//參數
-i 提示是否覆蓋
-f 不提示,直接覆蓋
//移動test文件到home目錄下
mv test /home

- rm (文件或目錄的刪除)

//語法
rm [參數] 文件名或目錄名
//參數
-i 刪除文件或目錄,提示
-f 不提示
-R 遞歸刪除目錄,包括目錄下的文件和各級子目錄
//刪除當前目錄下的所有文件
rm *

- touch (建立文件或更新目錄)

//參數
-d yyyymmdd 把文件的存取和修改時間改為當前時間
//創建test文件在當前目錄下
touch test
//將test文件的存取和修改時間改為2020年1月2日
touch -d 20190102 test

- hostname (修改主機名)

hostname 主機名
su root
//生效執行

- tar (壓縮或解壓文件)

//壓縮
tar -zcvf 壓縮包名.tar.gz 源文件
//解壓縮
tar -zxvf 壓縮包名.tar.gz -C 目錄

2. 賬號管理

- useradd (創建用戶)

useradd 用戶名
//參數
-d 指定用戶的家目錄
-g 指定所屬組

- passwd (為用戶設置密碼)

passwd 用戶名
//參數
-l 鎖定(停用)用戶賬號
-u 解鎖

- usermod (修改用戶的屬性)

//參數
-L 鎖定
-U 解鎖
-u 修改用戶的UID
-g 變更所屬用戶組
//修改test用戶的用戶名為test1,添加備注信息:testuser
usermod -l test1 -c testuser test

- userdel(刪除用戶)

//刪除用戶賬戶信息
userdel 用戶名
//刪除用戶賬戶信息,並刪除用戶主目錄及其子目錄
user -r 用戶名

- /etc/passwd (用戶賬戶文件)

//打開文件
cat /etc/passwd
//passwd文件的每一行用":"分隔為7個域
如:user1:x:1002:1002::/home/user1:/bin/bash
//各域內容:
用戶名:加密口令:UID:GID:用戶的描述信息:主目錄:命令解釋器

- /etc/shadow (用戶經過加密后的口令)

//shadow文件只對root用戶開放,增加安全性
有9個域:
如:user1:!!::17656:0:99999:7:::
用戶名:!!(未設置密碼):略

3. 組的管理

- groupadd (創建一個新的組)

groupadd 組名

- groupdel (刪除一個組)

groupdel 組名

- groupmod (修改一個組)

groupmod [參數] 組名
//參數
-g 修改GID
-n 修改組名

- gpasswd (在附屬組中增加、刪除用戶)

//語法
gpasswd [選項] [用戶] [組]
//參數
-a 添加用戶到組
-d 把用戶從組中刪除
-r 取消組的密碼
-A 給組指定管理員
//把用戶user1加入testgroup組中
gpasswd -a user1 testgroup

4. find查找命令各個選項

//find命令用來在指定目錄下查找文件。任何位於參數之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄與文件。並且將查找到的子目錄和文件全部進行顯示。
//語法
find [文件目錄] [-參數]
//參數
-name 文件名 // 文件名稱符合 name 的文件
-iname 文件名 // 忽略大小寫

5. wc統計給定文件的字節數,字數,行數

//參數
-c 字節數
-w 字數
-l 行數
//查看/etc/group文件的行數
wc -l /etc/group
或者
cat /etc/group | wc -l

6. 權限管理

- 權限查看

//查看權限使用ll命令
第一組為文件的權限
如:drwxr-xr-x
    -rw-r--r--
第1個參數:
d:表示是一個目錄
-:表示是一個普通文件

第2,3,4個參數:表示文件所有者的權限
第5,6,7個參數:表示文件所有者所屬組成員的權限
第8,9,10個參數:表示文件所有者所屬組群以外的權限
r:讀取
w:寫入
x:執行
-:不具有該項權限

- chomd (使用數字來修改權限)

//語法
chomd 選項數字 文件
//數字:
777:讀寫執行(所有用戶)
775:rwxrwxr-x
666:rw-rw-rw-
664:rw-rw-r--
644:rw-r--r--

- chgrp (變更文件與目錄的所屬群組)

chgrp 組群 文件或目錄

- chown (指定文件的擁有者改為指定的用戶或組)

//語法
chown [參數] user[:group] 文件
//參數
-R : 處理指定目錄以及其子目錄下的所有文件
user : 新的文件擁有者的使用者 ID
group : 新的文件擁有者的使用者組(group)

//如:將目前目錄下的所有文件與子目錄的擁有者皆設為 test,群體的使用者 testgroup
chown -R test:testgroup *

7. 磁盤管理

- fdisk (磁盤分區工具)

//對磁盤分區,如:
fdisk /dev/sdb
//參數
p:列出磁盤分區表
w:將修改寫入磁盤分區表,然后退出
n:創建新分區
d:刪除磁盤分區
q:不做保存更改,退出

- 磁盤管理流程

1. 新增一個磁盤,如:添加一個新磁盤/dev/sdb,用fdisk工具給磁盤分區,要求:兩個主分區,一個擴展分區,兩個邏輯分區。
//使用df -l查看當前磁盤信息
df -l
//用fdisk工具給磁盤分區
fdisk /dev/sdb
//添加主分區
n
p
默認直接回車
+分區大小
//添加擴展分區
n
e
默認回車
+分區大小
//添加邏輯分區
n
l
默認回車
+分區大小
//查看分區結果
p
//保存退出
w
2. 對以上四個分區進行格式化,並掛載,使得系統啟動時自動掛載。
//格式化
mkfs.ext3 /dev/sdb1
//如果出錯(說分區正在被管理),解決辦法
dmsetup status
dmsetup remove_all
//如果說“無法對 /dev/sdb2 進行 stat 調用 --- 沒有那個文件或目錄"
找不到分區設備的情況下,執行此命令(讓內核同步分區信息):
partprobe
//臨時掛載
mkdir /mnt/sdb1
mkdir /mnt/sdb2
mkdir /mnt/sdb5
mkdir /mnt/sdb6
mount /dev/sdb1 /mnt/sdb1
mount /dev/sdb2 /mnt/sdb2
mount /dev/sdb5 /mnt/sdb5
mount /dev/sdb6 /mnt/sdb6
//永久掛載
//修改磁盤配置文件 /etc/fstab ,添加如:
/dev/sdb1   /mnt/sdb1   ext3    defaults   0    0
/dev/sdb2   /mnt/sdb2   ext3    defaults   0    0
/dev/sdb5   /mnt/sdb5   ext3    defaults   0    0
/dev/sdb6   /mnt/sdb6   ext3    defaults   0    0

//保存,重啟即可
//卸載四個分區,並刪除/dev/sdb磁盤中的所有分區。
1. 卸載分區
umount /dev/sdb1
2. 刪除配置文件中的配置
3. 刪除分區
fdisk /dev/sdb
n
d
1 2 3

8. 邏輯卷管理

//先添加兩塊硬盤開機
1. 創建物理卷
pvcreate /dev/sdb /dev/sdc
2. 加入卷組
vgcreate storage /dev/sdb /dev/sdc
vgdisplay查看
3. 創建邏輯卷
lvcreate -n storage_mail -L 39G storage
4. 格式化邏輯卷
mkfs.ext3 /dev/storage/storage_mail
5. 臨時掛載
mkdir /bobby
mount /dev/storage/storage_mail /bobby
查看掛載狀態
df -h
6. 永久掛載
打開配置文件
vim /etc/fastab
寫入配置
/dev/storage/storage_mail    /bobby   ext3  defaults    0    0
7. 擴容邏輯卷
卸載關聯
umount /bobby
擴容
lvextend -L 100M(自定) /dev/storage/storage_mail
8. 刪除邏輯卷
卸載關聯,刪除或注釋配置
刪除邏輯卷
lvremove /dev/storage/storage_mail
刪除卷組
vgremove storage
刪除物理卷
pvremove /dev/sdb /dev/sdc

9.磁盤配額

對/home分區進行磁盤配額的設置
1)目的和賬號:現有帳號分別是 myquota1, myquota2,且這2個用戶所屬的組都是 myquotagrp。
2) 帳號的磁碟容量限制值:我想讓這2個用戶都能夠取得 600MBytes 的磁碟使用量(hard),文件數量則不予限制。 此外,只要容量使用率超過 550MBytes ,就予以警告 (soft)。
步驟:
1. 創建賬號myquota1,myquota2,創建組myquotagrp,把賬號加入到組內:
useradd myquota1
useradd myquota2
groupadd myquotagrp
gpasswd -a myquota1 myquotagrp
gpasswd -a myquota2 myquotagrp
查看
grep myquotagrp /etc/group
2. 對組myquotagrp設置磁盤配額
(1)啟用文件系統的配額支持
df -h /home
mount -o remount,usrquota,grpquota /home
mount | grep home
卸載/home,重新加載/etc/fstab文件
umount /home
mount -a
(2)創建配額文件
quotacheck -ugcv /dev/sda3
查看
ls -l /home/quota.*
(3)編輯組賬號的配額設置
edquota -g myquotagrp
輸入
/dev/sda3    0     0     1000000    0     8
(4)開啟文件系統磁盤配額功能
quotaon -ugv /home
(5)驗證磁盤配額功能
第一步:查看/home目錄的權限,設置/home目錄權限使得普通用戶擁有w權限。
ll /
sudo chomd 777 /home
第二步:登錄普通用戶myquota1進行驗證。
dd if=/dev/zero of=myfile bs=1M count=120
輸出:打開myfile失敗,超出磁盤限額

10. 計划任務

1. 每周一下午5:50將/data目錄下的所有目錄和文件歸檔並壓縮為:backup.tar.gz,放在/home/backup目錄下。(先新建/data目錄,並在目錄中隨意生成幾個文件)。
創建好壓縮包后
打開計划任務文件
crontab -e
輸入任務:
50 17 * * 1 tar -zcvf /home/backup.tar.gz /data
2. 每天早上7:50自動開啟sshd服務,22點50時關閉 
50 7 * * * service start sshd
50 22 * * * service stop sshd
3. 每隔5天清空一次FTP服務器公共目錄/var/ftp/pub
* * */5 * * /bin/rm -rf /var/ftp/pub/*
4. 每周一、三、五的17:30時,打包備份/etc/httpd目錄
30 17 * * 1,3,5 /bin/tar -zcvf /tmp/http
5. 每周日晚上23:55時將“/etc/passwd”文件的內容復制到宿主目錄中,保存為pwd.txt文件
55 23 * * 0 /bin/cp /etc/passwd /root/pwd.txt

11. shell編程

1. if,else語句
創建用戶腳本
vi sh01.sh
------------
#!/bin/bash
read -p "please input your username(default:user1):" name
if [ "$name" == "" ]
then name = user1 && echo "user1 created successfully."
else
/usr/sbin/useradd "$name" && echo "$name created successfully."
fi
------------
sh sh01.sh

2. while語句
對100以內的所有正整數相加求和
------------
#!/bin/bash
u=0
i=1
while [$i -le 100];do
 let u+=$i
 let i++
done
echo $u
------------

計算10以內的所有正整數的平方
------------
#!/bin/bash
u=0
i=1
while [$i -le 10];do
 let u+=$[$i*$i]
 let i++
done
echo $u
------------

3. for語句
9*9乘法表
------------
#!/bin/bash
for ((row=1;row<=9;row++));do
 for ((column=1;column<=$row;column++));do
  echo -ne "${column}*${row}=$[${column}*${row}]\t"
 done
done
------------

12. rpm包管理

rpm參數
-q 軟件包名    查詢
-qf 系統文件   查詢

安裝,查詢,卸載,yum安裝

查詢ls命令屬於哪個安裝包
rpm -qf /bin/ls

配置yum源(不是很理解,希望不會考)

加油!奧里給


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM