Linux基本命令使用及語法解析

linux基本命令及語法

基本命令用思維導圖的方式爲各位看官奉上

在這裏插入圖片描述

用戶與組的管理

1.用戶管理

用戶:

  • 超級用戶
  • 普通用戶
  • 虛擬用戶:不能登錄系統,存在主要是方便系統管理,滿足響應系統進程對文件屬主的要求。

用戶組:

  • 主要組(主組):創建用戶是默認創建。
  • 附屬組:用戶加入的組。

用戶配置文件:/etc/passwd

root:x:0:0:root:/root:/bin/bash
root:用戶名
口令:密碼站位符(不顯示密碼),“x”
用戶標識號(UID):"0"
用戶組標識號(GID):"0"
註釋性描述:“root”
用戶主目錄:“/root”
/bin/bash:用戶可以登錄系統

用戶密碼配置文件:/etc/shadow

tom:$1$jXCBeo2F$VvQgqxWNFVGHs9DBJY92t.:18317:0:99999:7:::
從左到右:
tom:用戶名
$1$jXCBeo2F$VvQgqxWNFVGHs9DBJY92t;用戶密碼
18371 :最後一次修改時間
0 :最小時間間隔
99999 :最大時間間隔
7 :警告時間
不活動時間:失效時間:標誌

創建用戶:

  • 指定登錄類型:
默認:/bin/bash
例:useradd -s /bin/nologin lisi
lisi :用戶名
  • 創建時設置真實姓名,電話號碼,公司地址,公司電話:
useradd -c tom-sing,tf5jie,028-85699999,13911202319 tom
用戶:tom
真實姓名:tom-sing
公司地址:tf5jie
公司電話:028-85699999
電話號碼:13911202319
  • 修改用戶名爲jack,修改用戶jack的註釋名爲jack-sing和登錄類型爲/bin/nologin
usermod -l jack -s /bin/nologin tom
chfn -f jack-sing jack```
  • 刪除用戶tom

userdel -r tom

  • 設置jack用戶的密碼最大有效期爲30天,提前9天警告,失效時間爲40天:
chage -l jack
chage -M 90 -W 9 -m 40 jack
  • 修改tom用戶的註釋信息,電話號碼:15822534848,公司地址:scfd,公司電話:028-88888888
chfn -h 15822534848 -o scfd -p 028-88888888 tom

2.用戶組管理

用戶組配置文件:/etc/group

用戶組密碼配置文件:/etc/gshadow

  • 新建用戶組:groupadd 組名

groupadd group01

  • 查看組是否創建成功:cat /etc/group | grep group01
  • 將用戶添加到組:gpasswd -a 用戶名 組名

gpasswd -a stu1 group01

  • 查看用戶屬於哪個組:groups stu1或id stu1
  • 從組中刪除用戶:gpasswd -d 用戶名 組名 gpasswd -d stu1 group01
  • 設置組的管理員:管理員具有向改組添加,刪除成員的權限(管理員身份)。

gpasswd -A stu1 group01

  • 查看該組的組長:cat /etc/gshadow

group01:!:stu1:stu1,stu2,stu3第三個字段表示爲該組的組長。

  • 爲組設置密碼(其他用戶可以臨時加入組並具有組的權限):gpasswd 組名

  • 不同組成員臨時進入:newgrp 組名(再次進入沒有權限)

查看當前登錄用戶:“who am i”
改所有者和所屬組:chown stu1:group01 file
只能刪除自己建立的文件而不能刪除別人建立的文件
SBIT:粘滯位權限(強制位權限)
添加SBIT權限:chmod o+t cwfiles/scfiels/xsfiels/
  • 爲用戶stu1進行提權操作,讓他只具有用戶與用戶組的管理權限
vim /etc/sudoers 並添加如下內容
Cmnd_Alias USERADMINCMD =
/usr/sbin/useradd,/usr/sbin/userdel,/usr/sbin/passwd,/usr/bin/usermod
Cmd_Alias GROUPADMINCMD =
/usr/sbin/groupadd,/usr/sbin/groupdel,/usr/sbin/gpasswd
stu1 ALL=(ALL) USERADMINCMD,GROUPADMINCMD

進程管理

1.運行級別

  • 查看當前運行急別:runlevel
  • 切換運行級別:init 級別數字(1-7)
init 0 關機:poweroff.target
init 1 單用戶模式,僅用於root用戶對系統進行維護時:rescue.target
init 2 多用戶模式(沒有NFS):multi-user.target
init 3 完全多用戶模式,即多用戶文本界面模式,是標準的運行級別 :multi-
user.target
init 4 特定運行級別,基本不用的用戶模式 :multi-user.target
init 5 Xll,Linux 系統的圖形界面運行級別 :graphical.target
inti 6 重啓 :reboot.target
  • 更改開機啓動級別:
cd /etc/systemd/system
ls -l default.target
刪除 default.target再重新創建一個,在創建一個鏈接到/lib/systemd/system/ 下的某一個
方法二直接設置:
#systemctl set-default runlevel3.target
systemctl set-default runlevel5.target

2.服務的管理

systemctl 選項 服務名
選項:stop(停止),
開機自啓動:systemctl enable 服務名稱
systemctl disable 服務名稱
查看是否開機自啓:systemctl is-enabled 服務名稱

3.查看進程

ps 抓取進程的當前狀態,靜態顯示
top 動態查看
終止進程:kill

4.進程調度

  • 一次性調度:
at -f 文件名 -m 時間
例:at -f aa -m now+1minutes 1分鐘後執行aa文件中的命令
  • 週期性調度:
crontab :週期性調度

5.後臺程序

  • 程序放到後臺:
vim 1.txt &
  • 查看後臺運行程序:
bg :
jobs -l :查看後臺運行程序及PID號
fg 1 :將後臺程序調入前臺運行
ctrl+z :切換到後臺
kill -9 進程號 :強制殺死

鏈接文件

1.軟連接

所謂的快捷方式

ln -s 源文件 鏈接文件
ln -s 1.txt ln.txt

2.硬連接

副本,源文件沒了還是可以用

ln 源文件 鏈接文件

名字別名

vim /etc/sysconfig/network-scripts/ifcfg-eth0
簡化:
alias eth0='vim /etc/sysconfig/network-scripts/ifcfg-eth0'
執行eth0就等於執行命令
查看別名:alias 或 alias eth0
刪除別名:unalias eth0

sudo提權

1.sudo配置

  • 查看sudo軟件包:#rpm -qi sudo
  • sudoers的模板配置文件:#cat /etc/sudoers

2.配置普通用戶

所有權限
添加:用戶名 ...
例:xingxing ALL=(ALL) ALL
不輸入密碼:xingixng ALL=(ALL) NOPASSWD:ALL
部分權限:
cmnd_Alias 名稱隨便取(sss)=/usr/sbin/ip,/usr/sbin/ifconfig,/usr/sbin/route
fedora ALL=(ALL) sss

grep命令

cat /etc/passwd | grep ^a :查看以a開頭的
cat /etc/passwd | grep ^$ :空行
cat /etc/passwd | grep a$ :a結尾

週期性調度命令crontab

  • crontab命令
crontab -e :爲自己制定計劃 :文件存放在/var/spool/cron/
crontab -e -u 用戶名 :爲指定用戶制定計劃
30 23 * * * /usr/bin/cp /var/log/yum.log /mnt/bak/
分鐘 小時 日期 月份 星期 命令(完整路徑) 命令
每天23:30 執行cp拷貝文件
crontab -l -u student :查看student用戶任務列表
crontab -r -u student :刪除student用戶任務列表

磁盤分區與文件系統掛載

1.磁盤在linux中的表示方法

硬盤的類型: 
IDE接口     hda   hdb  .....
           hda1  hda2   hda3 .......

SATA接口  SCSI接口  USB
            sda   sdb
            sda1   sda2  sda3 ......
所有磁盤設備及分區都以文件的形式存儲在/dev/,但是這些文件不能直接使用,如果要往這些分區內寫入數據就需要掛載分區。

2.查詢設備名

fdisk -l
所有磁盤及分區在系統中都以文件的形式存在,不能直接使用。
存放目錄:/dev/

3.磁盤分區

磁盤分區必須掛載以後才能通過掛載目錄向分區寫入數據。

1、基本磁盤分區:

(1)最多可以分爲四個主分區(包含擴展分區:只能有一個,將剩餘的所有空間包含在內)。

(2)主分區和擴展分區的編號:1-4爲主分區和擴展分區的編號。

(3)擴展分區不能直接使用,必須在擴展分區上建立邏輯分區並格式化後才能使用。

(4)邏輯分區編號從5開始。

(5)對新加的磁盤進行分區:(分2個主分區,1個擴展分區,2個邏輯分區)

fdisk 磁盤設備名
在這裏插入圖片描述
a toggle a bootable flag

b edit bsd disklabel

c toggle the dos compatibility flag

d delete a partition 刪除分區

g create a new empty GPT partition table

G create an IRIX (SGI) partition table

l list known partition types 顯示所有分區類型

m print this menu

n add a new partition 新建分區

o create a new empty DOS partition table

p print the partition table 顯示分區表

q quit without saving changes

s create a new empty Sun disklabel

t change a partition’s system id 修改分區類型

u change display/entry units

v verify the partition table

w write table to disk and exit 保存並出退出

x extra functionality (experts only)

2.對磁盤進行格式化:mkfs -t 分區類型(ext2 ext3 ext4) 磁盤分區名

mkfs -t ext4 /dev/sdb1

3.新建掛載點,並將分區進行掛載:

mount [-t 文件系統類型] 設備分區名  掛載點
如何查看已經掛載成功:mount (mount | grep sdb1)
取消掛載:umount 掛載點

4.掛載光驅設備:

光驅設備在Linux系統中的表示方法:/dev/sr0
光驅設備文件系統類型:iso9660
將光盤掛載到/mnt/cdrom目錄:

5.永久掛載:使用mount命令掛載只是臨時的,如果重啓系統後就失效了。

[root@www cdrom]# vim /etc/fstab 
[root@www cdrom]# mount -a

6.卸載文件系統:

unmount [設備名或掛載點]
#unmount /dev/sdb1 //指定設備名卸載
#unmount /mnt/sdb1 //指定掛載點卸載

LVM邏輯卷管理

磁盤分區最多隻能分4個主分區,如果需要更多分區,就需要創建擴展分區,並建立多個邏輯分區。分區的擴展往往當你的/sdb1 10G已經用完,不能直接再擴展,如果使用邏輯卷,那麼擴展就非常方便。

1.製作邏輯卷

1. 添加硬盤,重啓系統
2. 使用fdisk -l 查看新增的硬盤
3. pv--->vg -->LV:pv物理卷 ,vg卷組,LV邏輯卷
4. 轉換磁盤爲物理卷:pvcreate /dev/sdb ,查看pvscan或顯示pvdisplay /dev/sdb
5. 刪除:pvremove /dev/sdb
6. 製作卷組:vgcreate Wgroups /dev/sdb ,查看:vgdisplay Wgroups
7. 創建邏輯卷:lvcreate -L +1G -n web Wgroups ,查看 lvdisplay /dev/Wgroups/web

2.格式化

mkfs -t 類型 邏輯卷

#mkfs -t ext4 /dev/Wgroups/web

3.掛載邏輯卷

1. 首先新建一個空目錄:mkdir /mnt/web
2. 使用命令進行掛載:mount -t 類型 /dev/Wgroups/web /mnt/web
例:mount -t ext4 /dev/Wgroups/web /mnt/web
3. df -HT :顯示系統所有掛載情況

4.進入邏輯卷

#cd /mnt/web/
#touch file1

5.取消掛載

umount /mnt/web
cd /mnt/web
ls :沒有文件
重新掛載友能看到文件

6.擴容邏輯卷

  • 查看卷組:
vgdiplay Wgroups
1. 新加一塊硬盤並創建爲pv
2. pvcreate /dev/sdc
3. 擴容卷組:vgextend /dev/Wgroups /dev/sdc
4. 擴容邏輯卷:lvextend -L +1G /dev/Wgroups/web
5. 刷新:resize2fs /dev/Wgroups/web
6. 刪除邏輯卷的方法:
創建:pv-->vg-->lv
刪除:lv-->vg-->pv
7. 將ftp邏輯捲縮減500M,將web卷擴容500M:
lvreduce -L -500M /dev/Wgroups/FTP
lvextend -L +500M /dev/Wgroups/web

quota磁盤配額管理(用戶使用空間)

1.添加掛載

#vim /etc/fstab

2.添加內容

#edquota -u ftp01 :ftp01爲用戶名
/dev/Wgroups/FTP /mnt/FTP ext4 defaults,usrquota,grpquota 0 0

3.刷新

mount -a 查看是否成功:

mount | grep FTP

4.生成配置文件

quotacheck -cvug /mnt/FTP

/mnt/FTP:爲掛載的路徑

5.刷新配額

quotaon -ugv /mnt/FTP/

6.添加權限

setfacl -m u:ftp01:rwx FTP/

7.edquota -u ftp01

8.切換用戶

#su ftp01

9.驗證

dd if=/dev/zero of=/mnt/FTP/aa bs=1KB count=450
  • 用戶組權限設置
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章