linux就應該這樣學 筆記
iso檔案下載映象 http://www.linuxprobe.com/tools 1.4: 重置root管理員密碼 cat /etc/redhat-realease 進入引導頁面時 按下e鍵進入核心編輯介面 在 linux16 引數這行最後面新增 rd.break 然後按下ctrl+x組合鍵來進行修改過的核心程式 30s after.... mount -o remount,rw /sysroot chroot /sysroot passwd touch /.autorelabel exit reboot mm:linuxprobe ---------------------------------- RPM包管理 安裝軟體:rpm -ivh file.rpm 升級軟體:rpm -Uvh file.rpm 解除安裝軟體:rpm -e file.rpm 查詢描述資訊軟體:rpm -qpi file.rpm 列出軟體檔案資訊:rpm -qpl file.rpm 查詢檔案屬於哪個RPM的命令格式 ------------------------------------------ yum工具的使用 yum repolist all 列出所有的倉庫 yum list all 列出所有的軟體包 yum info 軟體包名稱 檢視軟體包資訊 yum installl 安裝軟體包 yum reinstall 重新安裝軟體包 yum update yum remove yum clean all yum check-update yum grouplist yum groupinstall 1.7 --------------------------------- systemd 初始化程序 systemd 沒有了執行級別的概念 systemd 適應target 替代了執行級別的概念 0 1 單使用者 2 3 3 多使用者文字 4 3 5 多使用者圖形介面 6 重啟 enmergency 緊急shell ----------------------- if change(no-grapphical ,multi-user) ln -sf /lib/systemd/sytem/muti-user.target /etc/systemd/system/default.target -----------rehat6 --------------- service foo start................................systemctl start foo service foo restart service foo stop service foo reload (重新載入配置檔案,不終止服務) service foo status ------------------------ chkconfig foo on chkconfig foo off chkconfig foo 檢視是否開機自啟 chkconfig --list 檢視各個級別下任務的啟動與禁用情況 ---------------------------強大好用的shell------------------------------ man命令 常用的按鍵 space next page down next page up ex home head end tail -----date 設定系統的時間-------------------------- date -s "20170901 8:30:00" ----檢視 今天時當年的第幾天 date "+%j" ---------------wget--------------------------------- wget -c http://www.baidu.com 斷點續傳 ps -a --------------top---------------------------- 動態監視程序活動與系統的負載
------------------------pidof
檢視指定程序的pid
pid [引數][服務]
eg:pidof sshd
------------------------kill all
eg:kill all httpd
------------------------uname 系統的核心版本資訊
------------------------uptime 系統的負載情況
------------------------free 系統的記憶體使用量
-------------------------who 當前登入主機的使用者終端資訊
-------------------------last 檢視系統的所有系統登入資訊
-------------------------history 檢視歷史的命令
-------------------------sosrport 收集系統的配置
------------------------tr 替換文字的資訊
eg:cat anaconda-ks.cfg | tr [a-z] [A-Z]
-------------------------WC -l 行 -w 單詞 -c 位元組數
-------------------------stat 檢視檔案的具體資訊和時間等資訊
-------------------------cut 按列提取資訊
-------------------------diff
-------------------------touch 建立空白檔案 或設定檔案的時間touch -a 讀取時間 -m 修改時間 -d 同時修改 “”2017-05-04 15:44” anaconda-ks.cfg
----------------------------------dd命令-----------------------------------
複製或者轉換檔案
dd if = /dev/zero of=506file count=1 bs=560m
bs 塊的大小 count 複製塊個 個數
---------iso 檔案的建立
dd if=/dev/cdrom of=centos-iso
-------------------------file 檢視檔案的型別
-------------------------命令管道符
grep "/sbin/nologin" /etc/passwd | wc -l
---------------------------------------------------
alias rm 顯示別名
unalias rm 取消別名
--------------------------
echo $PATH
PATH=$PATH:/root/bin/
echo $PATH
--------------------
把ls命令正常輸出資訊追加到寫入到 error.txt檔案中的命令是是什麼
ls >> error.txt
簡述管道符的作用
把前面的命令的輸出值作為後面命令的輸入值進一步進行處理資訊
bash直譯器的萬用字元中* 表示什麼資訊
零個或者多個
PATH變數的作用是什麼
設定直譯器搜尋執行的命令的路徑
使用什麼命令可以把名為LINUX的一般變數轉換為全域性變數
export LINUX
--------------------------------------------VIM中常用的命令
dd 剪下 刪除 游標所在的整行
5dd 剪下 或者刪除 游標所在 後的5行
yy 複製游標所在的整行
5yy 複製游標所在5行
n 顯示搜尋命令的下一個 字元
N 顯示搜尋命令的上一個 字元f
u 撤銷上一步的操作
p 將之前刪除 或者 複製的資料 貼上到游標的後面
------------------------------------------末行模式下可用的命令
:w
: q
: q!
: wq!
: set nu 顯示行號
:set none 不顯示行號
:命令 執行該命令
:跳轉到該行
-----------------------------------------可用的整數運算子
-ne 是否不等於
-eq 是否等於
-gt 是否大於
-lt 是否小於
-le 是否等於或者小於
-ge 是否大於或者等於
= 比較字串是否相同
!= 比較字串 是否不同
-z 判斷字串是否為空
-----------------------------------------shell 指令碼
vim mkcdrom.shell
#!/bin/bash
DIR="/media/cdrom"
if [! -e $DIR]
then
mkdir -p $DIR
fi
-----------
[
逗號表示時間段 除號表示 間隔的時間
vim 編輯器的三種模式分別是什麼 答:命令模式 末行模式 與輸入模式 一個完整的shell 指令碼應該哪些內容 答:應該包括指令碼宣告 註釋資訊和可執行語句 分別解釋shell 指令碼$0 and $3 變數的作用 答:在shell 指令碼中 $0 代表指令碼檔案的名稱 $3 則表示該指令碼在執行時接收的第三個引數 if 測試語句包括幾種結構 答:單分支 雙分支 多分支 for 條件迴圈語句的迴圈結構是什麼樣子的 答:for 變數名 in 取值列表 do 命令序列 done", 管理員uid為0 :系統的管理員使用者 系統使用者uid 為 1-999 :linux系統為了避免因某個服務程式 出現漏洞而被黑客提權至整臺伺服器,預設服務程式會有獨立的系統使用者負責執行,進而有效控制被破環範圍 普通使用者uid 從1000開始 :是由管理員建立的用於日常工作的使用者 ------------------ useradd [選項] 使用者名稱 useradd -d /home/linux -u 8888 -s /sbin/nologin linuxprobe -d 使用者的家目錄 -u 8888 使用者的uid shell 直譯器 /sbin/nologin 表示該使用者不能登入到系統中 檢視 user 資訊 id linuxprobe --------------------------------- groupadd ronny usermod -G root linuxprobe -------修改user 的uid usermod -u 8888 linux [[email protected]_0_7_centos ~]# id root uid=0(root) gid=0(root) groups=0(root) [[email protected]_0_7_centos ~]# useradd -u 518 song [[email protected]_0_7_centos ~]# id song uid=518(song) gid=518(song) groups=518(song) [[email protected]_0_7_centos ~]# usermod -G root song [[email protected]_0_7_centos ~]# id song uid=518(song) gid=518(song) groups=518(song),0(root) [[email protected]_0_7_centos ~]# usermod -u 888 song [[email protected]_0_7_centos ~]# id song uid=888(song) gid=518(song) groups=518(song),0(root) [[email protected]_0_7_centos ~]# ----------------------------------- [[email protected]_0_7_centos ~]# passwd -l song Locking password for user song. passwd: Success [[email protected]_0_7_centos ~]# passwd -u song Unlocking password for user song. passwd: Success ---------------------- [[email protected]_0_7_centos ~]# passwd -S song song PS 2018-10-23 0 99999 7 -1 (Password set, SHA512 crypt.) ------顯示使用者 是否被鎖定 以及加密演算法的名稱 ------ [[email protected]_0_7_centos ~]# passwd -l song Locking password for user song. passwd: Success [[email protected]_0_7_centos ~]# passwd -S song song LK 2018-10-23 0 99999 7 -1 (Password locked.) ------------------------ userdel -f -r song ------------------------- - 普通檔案 d 目錄檔案 l 連結檔案 b 塊裝置檔案 c 字元裝置檔案 p 管道檔案 -----檔案許可權 r 4 w 2 x 1 --------------------------- suid 是一種對二進位制程式設定的特殊許可權 s sbit (sticky bit) 粘滯位 t 只允許操作自己的 檔案 ----------------------------------------------- chattr 檔案的隱藏屬性 i 無法對檔案修改 a 僅允許追加內容 無法覆蓋刪除內容 S 內容在變更後立即同步到硬碟 s 徹底從硬碟中刪除 不可恢復(用0填充原始檔所在硬碟的區域) A 不在修改這個檔案或者目錄的最後訪問時間 ---------- lsattr 顯示檔案的預設許可權 -----------檔案訪問控制列表 setfacl 命令用於管理檔案的ACL規則 格式為 setfacl 可以針對單一使用者或使用者組 單一檔案或目錄來進行讀寫執行許可權的控制 針對目錄檔案需要使用-R 遞迴引數 針對普通檔案則使用 -m 引數 如果想刪除某個檔案的ACL,則可以使用-b 引數 . 變成了 + 意味著檔案已經設定了 acl許可權 getfacl 用於顯示檔案設定的acl 資訊 eg : getfacl 檔名稱 su - song :完全切換到新的使用者 環境變數也是 -----------srv :一些網路服務的資料檔案的目錄 --------------------------------------------------- 物理設定的命名規則 ide 裝置:/dev/hd[a-d] scsi/sata/u盤 /dev/sd[a-p] 軟碟機 /dev/fd[0-1] 印表機 /dev/lp[0-15] 光碟機 /dev/cdrom ===================== 檔案系統 ext3 ext4 1eb 可批量分配block xfs 18eb ------------- mount -a 掛載所有在/etc/fstab 中定義的檔案系統 mount -t 指定檔案系統的型別 裝置檔案 掛載目錄 格式型別 許可權選項 是否備份 是否自檢 /dev/sdb /backup ext4 defaults 0 0 許可權的選項 rw suid dev exec auto nouser async umount /dev/sdb 解除安裝掛載項 -------------------------- fdisk /dev/sdb >>>>>>mkfs.xfs /dev/sdb1 du ---------------建立交換分割槽 mkswap /dev/sdb2 ---------------------xfs_quota 針對xfs格式的配額命令 -x 專家模式 更多的配置 -c 用於以引數形式設定要執行的命令 ------------------------------------------ edquota 編輯使用者的quota配額限制 ---------------------------ln -s 符號連結 如果不帶 預設 硬連結(不會依賴原檔案) -f 強制建立檔案 -i 覆蓋前詢問 -v 顯示建立的過程 -------------RAID(獨立冗餘磁碟陣列) 1988 加利福尼亞大學伯克利分校 -----------raid 0 串聯 (提高吞吐速度 不具備 備份 錯誤修復) -----------raid 1 相當於整塊備份 -----------raid 5 一塊用於奇偶校驗 -----------raid 10 =raid1+raid0 ------------------------------------mdadm(配置陣列) ------------------------------------LVM(邏輯卷管理器) 部署邏輯卷 物理 卷組 邏輯卷 掃描 pvscan vgscan lvscan 建立 pvcreate vgcreate lvcreate 顯示 pvdisplay vgdisplay lvdisplay 刪除 pvremove vgremove lvremove 擴充套件 vgextend lvextend 縮小 vgreduce lvreduce ----------------------(1)使其支援lvm技術-------------------------------- pvcreate /dev/sdb /dev/sdc 使其支援lvm技術 ----------(2)-把兩塊裝置加入到storage卷組中再檢視卷組狀態-------------- vgcreate storage /dev/sdb /dev/sdc vgdisplay ------------------ (3)切割一個約為150mb的邏輯卷裝置 量為單位 -L 150mb -l 基本單元為單位 一個單元為40m -l 37 -------------------------- lvcreate -n vo -l 37 storage lvdisplay (4)將生成的lv 格式化 mkfs.ext4 /dev/storage/vo (目錄名自動生成) ------------------ mkdir /linuxprobe mount /dev/storage/vo /linuxprobe --------------(5) 永久掛載 df -h 檢視掛載狀態 echo "/dev/storage/vo /linuxprobe ext4 default 0 0" >> /etc/fstab ======================================== 擴容邏輯卷 擴容前 需要解除安裝物理裝置 umount /linuxprobe ----------------------------------- 1)將vo >>290mb lvextend -L 290M /dev/storage/vo 2)檢查完整性 並重置硬碟容量 e2fsck -f /dev/storage/vo resize2fs /dev/storage/vo 3)重新掛載並檢視掛載狀態 mount -a df -h ============縮小邏輯卷 umount /linuxprobe e2fsck -f /dev/storage/vo resize2fs /dev/storage/vo 120M mount -a df -h ---------------邏輯卷快照-------------- page:150