1 用戶操作
2 su和sudo
3 普通權限
4 特殊權限
5 解壓壓縮
6 軟件管理,rpm和yum
6.1 rpm
6.2 yum
7 源碼安裝nginx
8 系統服務
9 進程管理
1 用戶操作
####創建用戶####1 創建sa和sutdents組
groupadd sa
groupadd students
# 2 用戶可以屬于多個組,只能屬于一個主組,附加組可以有多個 G
useradd -u 5001 -g students -G sa -c "注釋" -s /bin/bash lqz666
# 3 設置密碼
passwd lqz666# 4 有的情況下我們創建用戶,不希望登錄
#創建mysql系統用戶,-M不建立用戶家目錄 -s指定nologin使其用戶無法登陸系統
useradd mysql -M -s /sbin/nologin # 運行進程 某個用戶運行的##### 修改用戶 ###
usermod -L lqz666
usermod -U lqz666### 刪除用戶 ###
userdel justin #保留家路徑
userdel -r lqz888 # 家路徑一并刪除
2 su和sudo
# su身份切換-以root用戶登錄了---》切換到其他用戶上去su 用戶名 不需要輸入密碼su - username # 加載當前用戶的環境變量-以其他用戶登錄了---》切換成root用戶su root 需要輸入root用戶密碼
# 環境變量加載順序/etc/profile->/家路徑.bash_profile->家路徑/.bashrc->/etc/bashrc# sudo 提權--->能不能干取決于有沒有被授予
su命令在切換用戶身份時,如果每個普通用戶都能拿到root用戶的密碼,當其中某個用戶不小心泄漏了root的密碼,那系統會變得非常不安全。為了改進這個問題,從而產生了sudo這個命令。其實sudo就相當于給某個普通用戶埋下了浩克(hulk)的種子,當需要執行一些高級操作時,進行發怒,但正常情況下還是普通人,還是會受到限制# 舉個例子:-普通用戶不能創建用戶-就是普通用戶,就想創建---》問管理員要root密碼--》su 成 root---》可以創建了---》完事切回來-我就是普通用戶,管理員授予我創建用戶權限 sudo useradd lqz 輸入密碼:你的密碼# 1 命令 把lqz666這個用戶加入到wheel組,這個組 是root 用戶的組,有很多權限usermod lqz666 -G wheel# 2 wheel組的成員,跟root是一種權限,跟root用戶一樣,有一些權限-刪除文件,創建文件夾。。。# 3 文件有些操作權限-rwx:讀,寫 ,執行屬主:用戶的權限屬組:當前組都有權限 rwxrw_r__ 其他:其他用戶有權限
3 普通權限
針對文件定義了三種身份,
分別是屬主(owner):文件屬于哪個用戶
屬組(group):文件是屬于哪個用戶用戶組的
其他人(others):其他人
三種權限,分別是可讀(readable)、可寫(writable)、可執行(excutable)rw- r-- r--
當前用戶有讀寫權限 同一個組有讀權限 其他人有讀權限d rwx --- ---# 授予文件權限
# 方式一:
chmod u=rwx,g=rwx,o=rwx lqz.txt
# 方式二:
r:4
w:2
x:1
110 rw- 6
chmod 777 lqz.txtchmod 077 lqz.txtchomd +x xx.sh # 對該文件加執行權限(自己,組,其他人都有)
4 特殊權限
#選項: + 增加權限 -減少權限 =等于某個權限
# a:讓文件或目錄僅可追加內容
# i:不得任意更動文件或目錄-電腦中毒了,一切皆文件---》查看哪個進程占cpu,內存高,定位到那個可執行文件---》刪除可執行文件即可-刪沒有權限-chattr -i 文件# 操作
chattr +i 文件
5 解壓壓縮
# 在windows系統下,我們接觸最多的壓縮格式是 rar 或 zip ,但在Linux上使用最多的壓縮格式是 zip 和 tar.gz 。當然不用擔心,Linux上的壓縮格式放在windows系統下都是可以正常打開的。
PS: Linux不支持 Windows下的 RAR 格式的壓縮文件。Windows和Linux互通通常選擇 zip# gzip-僅對文件有效,對文件夾無效,壓縮后文件刪除,解壓后壓縮包刪除-安裝:yum install gzip -y-壓縮:gzip 文件名-解壓:gzip -d file.gz-實際用途:做備份-gzip * 把當前路徑下所有文件都壓成 gz-gzip -d * 解壓當前路徑下所有gz文件# zip-yum install zip unzip -y-壓縮:zip filename.zip xx.txt-壓縮:包括目錄和文件:zip -r filename1.zip xx.txt a.txt /etc/hosts-查看壓縮包中有哪些文件:unzip -t filename1.zip-解壓:unzip filename.zip-解壓到指定目錄下:unzip filename.zip -d /opt/
# tar #語法:tar [-zjxcvfpP] filename c #創建新的歸檔文件x #對歸檔文件解包t #列出歸檔文件里的文件列表v #輸出命令的歸檔或解包的過程f #指定包文件名,多參數f寫最后z #使用gzip壓縮歸檔后的文件(.tar.gz)j #使用bzip2壓縮歸檔后的文件(.tar.bz2)J #使用xz壓縮歸檔后的文件(tar.xz)C #指定解壓目錄位置X #排除多個文件(寫入需要排除的文件名稱)h #打包軟鏈接# 壓縮時候選項:可以打出czf #打包tar.gz格式 常用cjf #打包tar.bz格式 不怎么用cJf #打包tar.xz格式 不考慮# 解壓時候選項zxf #解壓tar.gz格式jxf #解壓tar.bz格式xf #自動選擇解壓模式xvf #顯示解壓過程tf #查看壓縮包內容# 實戰:-壓縮:只記這一條即可tar czf test.tar.gz a.txt ./etc xx.txt-解壓:tar -xf test.tar.gztar -xvf test.tar.gz-查看壓縮包內容tar tf test.tar.gz
6 軟件管理,rpm和yum
# 把光驅掛在到某個目錄下
mount /dev/cdrom /mnt# rmp包的樣子
httpd-devel-2.4.6-97.el7.centos.5.x86_64.rpm
6.1 rpm
# rpm安裝軟件命令rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
# rpm查看軟件rpm -q 查看是否安裝rpm -ql 釋放的目錄
# rpm卸載軟件rpm -qa |grep tree # 從所有安裝的軟件中過濾一些是否有treerpm -q tree # 查看tree有沒有裝rpm -e tree # 卸載tree軟件
安裝軟件命令
選項 | 描述 |
---|---|
-i | 安裝rpm |
-v | 顯示安裝詳細信息 |
-h | 顯示安裝rpm進度 |
–force | 強制重新安裝 |
–nodeps | 忽略依賴關系 |
查看軟件命令
選項 | 描述 |
---|---|
rpm -q | 查看指定軟件包是否安裝(重點) |
rpm -qa | 查看系統中已安裝的所有RPM軟件包列表 |
rpm -qi | 查看指定軟件的詳細信息 |
rpm -ql | 查詢指定軟件包所安裝的目錄、文件列表(重點) |
rpm -qc | 查詢指定軟件包的配置文件(只有配置文件,etc下的) |
rpm -qf | 查詢文件或目錄屬于哪個RPM軟件 |
rpm -qip | 查詢未安裝的rpm包詳細信息 |
rpm -qlp | 查詢未安裝的軟件包會產生哪些文件 |
6.2 yum
# Yum是RedHat以及CentOS中的軟件包管理器。能夠通過互聯網下載 .rpm 包并且安裝,并可以自動處理依賴性關系,無須繁瑣地一次次下載、安裝# YUM源-yum install 裝軟件,它去某個位置下,默認是centos提供的,國外,可能會慢一些-國內的阿里云,提供鏡像站wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# epel擴展源wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo# 查詢軟件yum list |wc -l # 查看所有可以按裝的軟件yum list|grep ftpyum info ftp#安裝軟件
yum install vim -y
yum install 遠程地址rpm包自動處理依賴
yum reinstall vsftpd # 重新安裝
rpm -qc vsftpd # 查看改軟件安裝后的一些目錄# 更新軟件
yum update nginx -y
# 卸載軟件
yum remove 軟件名 -y
7 源碼安裝nginx
# nginx 為例安裝# yum install nginx 簡單,不能使用最新版,不能修改源碼
# 源碼安裝,官方下載最新版,改源碼,自己編譯---》得到軟件# 源碼安裝nginx
1 wget https://nginx.org/download/nginx-1.24.0.tar.gz
2 tar xf nginx-1.24.0.tar.gz
3 配置相關的選項,并生成Makefile./configure --help./configure --prefix=/usr/local/nginx # 指定安裝路徑yum -y install gcc gcc-c++ makeyum install -y pcre-develyum -y install zlib-develyum -y install openssl-devel
4 make 編譯---》把源碼編譯成可執行文件---》/usr/local/nginx路徑下會不會有?5 make install 安裝6 cd /usr/local/nginx 可以看到文件夾
conf html logs sbin
配置文件 index.html 日志 可執行文件7 在任意路徑下敲nginx 都能找到-1 軟連接-2 把sbin路徑加入到環境變量- vim .bash_profile-加入一行:PATH=$PATH:$HOME/binPATH=$PATH:/usr/local/nginx/sbinexport PATH-3 source 一下,讓它生效source .bash_profile-4 以后再任意路徑敲nginx,都會有響應
8 系統服務
# centos7 systemclt
systemctl管理服務的啟動、重啟、停止、重載、查看狀態等常用命令# systemctl restart network# win上net start 服務名# 使用 systemctl 管理nginx -如果用yum安裝的nginx,自動加入到服務中去,就會被systemctl管理-yum install nginx -y-systemctl status nginx-systemctl start nginx-systemctl stop nginx-systemctl reload nginx# 把咱們自己使用源碼安裝的軟件也可以被systemctl管理#1 來到路徑下:路徑是
cd /usr/lib/systemd/system/
# 2 新建一個 mynginx.service
vim mynginx.service
[Unit]
Description=xxxx
After=network.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecRestart=/usr/local/nginx/sbin/nginx -s restart
ExecReload=/usr/local/nginx/sbin/nginx -s reload
[Install]
WantedBy=multi-user.target# 3 以后,使用systemctl 管理nginx-systemctl status mynginx-systemctl start mynginx-systemctl stop mynginx-systemctl reload mynginx# 4 開機自啟動
systemctl enable mynginx # 開機啟動
systemctl disable mynginx # 取消開機啟動# 關閉防火墻,設置不開機自啟動
systemctl stop firewalld
systemctl disable firewalld
9 進程管理
#1 ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.4 0.3 128148 6800 ? Ss 15:08 0:01 /usr/lib/systemd/systemd
root 2 0.0 0.0 0 0 ? S 15:08 0:00 [kthreadd]# 哪個用戶啟動
# 進程id是什么,后期殺進程,可以使用進程id號
# cpu占用率
#內存占用率
# COMMAND 進程的命令 [系統進程] 其他進程#2 ps aux | grep redis#3 孤兒進程和僵尸進程
#4 ps -ef# 5 top 動態查看進程# 6 殺進程
kill -9 進程id號
pkill -9 進程名 批量干掉進程