轉換關係 | 字節數 |
---|---|
1B=8bit | 2^0B |
1KB=1024B | 2^10B |
1MB=1024KB | 2^20B |
1GB=1024MB | 2^30B |
1TB=1024GB | 2^40B |
1PB=1024TB | 2^50B |
1EB=1024PB | 2^60B |
規格 :html
厚度 用U表示 1U=1.75英寸=4.445CM=4.45CMnode
寬度 19英寸mysql
刀片服務器linux
塔式服務器正則表達式
命令 [選項] [參數]sql
ls -l /etc/hostsshell
mkdir /data
ls /data
ls -d /data
cd cd /data cd ~ cd - cd ..
pwd
mv /data /wuxing
cp -r /wuxing /root/
rm -r /wuxing
touch oldboy.txt
echo oldboy > oldboy.txt #覆蓋 echo 123456 >> oldboy.txt #追加
查看文件內容命令不少數據庫
cat oldboy.txt head oldboy.txt tail oldboy.txt more oldboy.txt less oldboy.txt grep sed awk
ls -l oldboy.txt
mv oldboy.txt oldgirl.txt
cp oldgirl.txt /tmp/
vi/vim oldgirl.txt
vi編輯器簡單操做步驟express
rm oldgirl.txt
type cd
命令 --help編程
man 命令/配置文件
info 命令
搜索 linux ls 命令
http://man.linuxde.net/
http://linux.51yip.com/
https://www.gnu.org/software/coreutils/manual/coreutils.html
tab鍵 命令或路徑補全功能 ctrl+c 終止當前命令或程序 ctrl+d 退出當前shell ctrl+l 清屏 ctrl+a 命令行光標移到行首 ctrl+e 命令行光標移到行尾 ctrl+u 命令行刪除光標到行首的內容 ctrl+k 命令行刪除光標到行尾的內容 ctrl+r 命令行搜索 ctrl+s 鎖屏 ctrl+q 解鎖
http://www.pathname.com/fhs/pub/fhs-2.3.html
tree
目錄 | 含義 |
---|---|
/usr/bin | 基本用戶命令二進制文件 |
/usr/sbin | 系統命令二進制文件 |
/usr/lib | 基本共享庫和內核模塊 |
/usr/lib64 | 64位共享庫 |
/usr/local | 本地安裝軟件存放目錄(源碼安裝軟件默認目錄) |
/usr/include | C程序包含的頭文件 |
/usr/src | 程序源碼目錄 |
/usr/share | 與體系結構無關的數據 |
/usr/share/man | 幫助目錄 |
/usr/share/doc | 文檔目錄 |
centos7系統運行級別
/usr/lib/systemd/system/runlevel0.target -> poweroff.target /usr/lib/systemd/system/runlevel1.target -> rescue.target /usr/lib/systemd/system/runlevel2.target -> multi-user.target /usr/lib/systemd/system/runlevel3.target -> multi-user.target /usr/lib/systemd/system/runlevel4.target -> multi-user.target /usr/lib/systemd/system/runlevel5.target -> graphical.target /usr/lib/systemd/system/runlevel6.target -> reboot.target
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/resolv.conf
/etc/hostname
hostnamectl set-hostname wuxingge
/etc/hosts
/etc/fstab
[root@oldboyedu ~]# blkid /dev/sda1: UUID="1515d309-b3aa-4df7-8a0a-a6bf5d0587c9" TYPE="xfs" /dev/sda2: UUID="e5256992-206d-4ade-bb70-7ca46ec94998" TYPE="swap" /dev/sda3: UUID="7189cadf-e438-4507-a4ef-4e304c4c3d40" TYPE="xfs" /dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/etc/rc.local -> /etc/rc.d/rc.local
/etc/inittab
/etc/rc.d/rc0.d/ /etc/rc.d/rc1.d/ /etc/rc.d/rc2.d/ /etc/rc.d/rc3.d/ /etc/rc.d/rc4.d/ /etc/rc.d/rc5.d/ /etc/rc.d/rc6.d/
/etc/issue 認證前的輸出信息,默認輸出版本內核信息
/etc/issue.net
/etc/motd 設置認證後的輸出信息
[root@repo ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)
[root@repo ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"
[root@repo ~]# uname -a Linux repo.novalocal 3.10.0-957.12.2.el7.x86_64 #1 SMP Tue May 14 21:24:32 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
/etc/selinux/config
本次關閉selinux
setenforce 0
查看selinux狀態
getenforce
/etc/locale.conf
設置語言字符集
localectl set-locale LANG=zh_CN.utf8
/run/lock/ 鎖文件
文件 | 含義 |
---|---|
/proc/cpuinfo | 處理器的信息 |
/proc/meminfo | 內存信息 |
/proc/devices | 當前運行內核所配置的全部設備清單 |
/proc/filesystems | 文件系統 |
/proc/dma | 當前正在使用的DMA通道 |
/proc/interrupts | 正在使用的中斷和曾經有多少箇中斷 |
/proc/ioports | 當前正在使用的I/O端口 |
目錄 | 含義 |
---|---|
/var/cache | 應用程序緩存數據 |
/var/lib | 變化的數據 |
/var/log | 日誌文件和目錄 |
/var/opt | /opt的變量數據 |
/var/spool | 應用程序假脫機數據 |
/var/tmp | 系統從新引導之間保留的臨時文件 |
系統相關日誌文件
/var/log/messages /var/log/secure /var/log/dmesg
[root@repo ~]# ll -i /etc/hosts 101031 -rw-r--r--. 1 root root 159 6月 4 17:17 /etc/hosts
列 | 含義 |
---|---|
第一列 | inode號 |
第二列 | 文件類型及權限(第二列共11個字符:其中第一個字符是文件類型,隨後的9個字符爲文件的對應權限,最後一個字符點號 . 是和selinux有關的一個標識) |
第三列 | 硬連接個數 |
第四列 | 文件全部者(屬主) |
第五列 | 文件所屬的組(屬組) |
第六列 | 文件大小 |
第7、8、九列 | 修改時間 |
第十列 | 文件名 |
硬盤格式化的時候,操做系統將硬盤分紅兩個區域。一個是數據區,存放文件數據;另外一個是inode區(inode table),存放inode所包含的信息。
讀或者寫一個block稱爲一次IO
文件類型 | 目錄項 | inode | block |
---|---|---|---|
文件 | 文件名 | inode號 | 文件內容 |
目錄 | 目錄名 | inode號 | 目錄中的文件名 |
首先,系統找到這個文件名對應的inode號碼
其次,經過inode號碼,獲取inode信息
最後,根據inode信息,找到文件數據所在的block,讀出數據
ls -li
stat /etc/hosts
df -i
df -h
inode使用完或block使用完都表示磁盤空間使用完
文件類型標識符 | 文件類型 |
---|---|
- | 普通文件(文本文件、二進制文件、數據文件、壓縮文件) |
d | 目錄(directory) |
l | 軟連接(link) |
b | 塊設備(block) |
c | 字符設備(character) |
s | socket文件 |
p | 管道文件(pipe) |
file /etc/hosts
權限 | 含義 | 數字表示 |
---|---|---|
r | 讀 | 4 |
w | 寫 | 2 |
x | 執行 | 1 |
- | 沒有任何權限 | 0 |
屬主 | 屬組 | 其餘用戶 |
---|---|---|
rw- | r-- | r-- |
6 | 4 | 4 |
[root@oldboy test]# ls -ldi oldboy oldboy/. oldboy/oldboydir/.. 398269 drwxr-xr-x 3 root root 4096 Aug 26 20:20 oldboy 398269 drwxr-xr-x 3 root root 4096 Aug 26 20:20 oldboy/. 398269 drwxr-xr-x 3 root root 4096 Aug 26 20:20 oldboy/oldboydir/..
ln oldboy.txt OLDBOY.TXT
ln -s oldboy.txt old.txt
UID | 用戶類型 | 用戶特性 |
---|---|---|
0 | 超級用戶root | linux系統超級管理員 |
1-999 | 虛擬用戶 | 不能登陸系統 |
1000-65535 | 普通用戶 | 能夠登陸系統 |
modify mtime 文件內容(block)修改時間
change ctime 文件屬性(元數據)改變時間
access atime 文件內容訪問時間
ls -lhi
7 8 9 三列是時間(修改時間)
tar [選項] 歸檔文件 【文件或目錄】
參數 | 參數說明 | 其餘說明 |
---|---|---|
-z | gzip壓縮格式 | |
-c | 建立歸檔 | |
-f | 指定歸檔文件 | |
-r | 給歸檔文件中添加文件 | |
-t | 列出歸檔文件的內容 | |
-x | 從歸檔中提取文件 | |
-v | 顯示執行過程 | |
-C | <目錄> 指定解壓到的目錄 | |
--exclude=文件目錄 | 排除文件 | --exclude=/etc/services --exclude=c --exclude=b |
-h | 須要打包的文件是軟連接用此參數 | |
-P | 從/開始打包 |
rpm [選項...] 參數
選項 | 含義 |
---|---|
-q | 查詢 |
-a | 全部 |
-p | 軟件包 |
-f | 文件屬於哪一個軟件包 |
-l | 軟件包中的文件列表 |
-c | 軟件包中的配置文件 |
-R | 軟件包依賴 |
選項 | 含義 |
---|---|
-i | 安裝 |
-v | 顯示附加信息 |
-h | 安裝時輸出hash記號 |
-e | 卸載 |
-U | 升級 |
--nodeps | 不檢查依賴 |
rpm包管理工具,自動解決依賴關係
yum [選項] command [參數]
clean all 清除所有 clean packages 清除臨時包文件(/var/cache/yum 下文件) clean headers 清除rpm頭文件 clean oldheaders 清除舊的rpm頭文件
list 可安裝和可更新的RPM包 repolist 顯示資源庫的配置 list installed 已安裝的包 list extras 已安裝且不在資源庫的包 deplist 列出包的依賴
install 安裝包 localinstall 安裝本地的RPM包 groupinstall 組安裝 reinstall 從新安裝包 remove 卸載包 update 更新包
search 搜索包 provides 搜索文件屬於哪一個包
history 查看yum歷史操做 info installed 已安裝包的信息
[BaseOS] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra #baseurl=http://mirror.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
./configure
make
make install
wget https://src.fedoraproject.org/repo/pkgs/man-pages-zh-CN/manpages-zh-1.5.1.tar.gz/13275fd039de8788b15151c896150bc4/manpages-zh-1.5.1.tar.gz ./configure --disable-zhtw --prefix=/usr/local/zhman make make install alias cman='man -M /usr/local/zhman/share/man/zh_CN'
Linux是一個多用戶多任務的操做系統
登陸認證
管理計算機資源
UID | 用戶類型 |
---|---|
0 | 超級用戶root |
1-499/1-999 | 虛擬用戶 |
>500/> 1000 | 普通用戶 |
gid | 組類型 |
---|---|
0 | root組 |
1-499/1-999 | 系統用戶組 |
>500/> 1000 | 普通用戶組 |
用戶相關信息
root | x | 0 | 0 | root | /root | /bin/bash |
---|---|---|---|---|---|---|
帳號 | 密碼佔位符 | UID | GID | 用戶說明 | 家目錄 | 登陸shell |
密碼相關信息
帳號 | 用戶帳號名稱 |
---|---|
密碼 | 加密後的口令 |
最近更改密碼的時間 | 從1970年1月1日起,到用戶最後一次更改密碼的天數 |
禁止修改密碼的天數 | 從1970年1月1日起,到用戶能夠更改密碼的天數 |
用戶必須更改口令的天數 | 從1970年1月1日起,到用戶必須更改密碼的天數 |
警告更改密碼的期限 | 用戶密碼過時前多少天提示用戶更改密碼 |
不活動時間 | 在用戶密碼過時以後到禁用帳戶的天數 |
失效時間 | 從1970年1月1日起,到用戶被禁用的天數 |
標誌 | 保留 |
添加用戶時的默認配置
GROUP=100 依賴於/etc/login.defs 的USERGROUPS_ENAB參數,若是爲no,則此處控制 HOME=/home 把用戶家目錄建在/home 下 INACTIVE=-1 是否啓用帳號過時停權,-1表示不啓用 EXPIRE= 帳號終止日期,不設置表示不啓用 SHELL=/bin/bash 新用戶默認所用的shell類型 SKEL=/etc/skel 配置新用戶家目錄的環境配置文件路徑 CREATE_MAIL_SPOOL=yes 建立mail文件
用戶認證的默認屬性
PASS_MAX_DAYS 99999 一個密碼最長可使用的天數 PASS_MIN_DAYS 0 更換密碼的最小天數 PASS_MIN_LEN 5 密碼的最小長度 PASS_WARN_AGE 7 密碼失效前提早多少天開始警告
用來存放新用戶的環境配置文件,爲新建立的用戶添加初始化配置
[root@localhost ~]# ll /etc/skel/ -a 總用量 28 drwxr-xr-x. 2 root root 76 9月 25 15:45 . drwxr-xr-x. 101 root root 8192 10月 28 12:01 .. -rw-r--r--. 1 root root 18 5月 11 08:16 .bash_logout -rw-r--r--. 1 root root 141 5月 11 08:16 .bash_profile -rw-r--r--. 1 root root 312 5月 11 08:16 .bashrc -rw-r--r--. 1 root root 658 5月 12 00:06 .zshrc
useradd
選項 | 說明 |
---|---|
-u uid | 指定用戶id |
-g initial_group | 用戶登陸起始用戶組(主要組) |
-G group,[...] | 附加組(次要組) |
-M | 不建立家目錄。通常建立虛擬用戶是不建立家目錄,部署服務時要建立虛擬用戶 |
-s shell | 指定用戶登陸系統後使用的shell |
-d home_dir | 指定家目錄 |
-r | 建立虛擬用戶 |
-c comment | 註釋說明信息 |
-m | 用戶目錄如不存在則自動建立 |
-e expire_date | 帳號終止日期(帳號過時時間) 日期 -e "+30 day" -e "2016/12/20" |
-f | 帳號過時幾往後永久停權 |
id root
w who users last lastlog
su [選項] 用戶
選項 | 說明 |
---|---|
- | 使切換後的用戶登陸本身對應的shell |
-c | 以另一個用戶身份執行一個命令 |
-m | 切換用戶時,不登陸本身的shell |
-s | 切換用戶時,登陸指定的shell |
usermod
選項 | 註釋說明 |
---|---|
-u uid | 指定用戶id |
-g initial_group | 用戶登陸起始用戶組(主要組) |
-G group,[...] | 附加組(次要組) |
-s shell | 指定用戶登陸系統後使用的shell |
-d home_dir | 指定家目錄 |
-m newhome_dir | 將家目錄內容移至新位置 (僅於 -d 一塊兒使用) |
-L | 凍結用戶的密碼,使之沒法登陸,實際就是修改/etc/shadow 的密碼欄,在前面加上 ! useradd -e chage -E 或 passwd -l 都有相似效果 |
-U | 取消凍結用戶密碼,使之恢復登陸 |
-c comment | 註釋說明信息 |
-e expire_date | 帳號終止日期(帳號過時時間) 日期 -e "+30 day" -e "2016/12/20" |
-f | 帳號過時幾往後永久停權 |
userdel 用戶名
選項
-r 刪除用戶家目錄
passwd
passwd [選項...] <用戶名>
選項 | 說明 |
---|---|
-k | 保留即將過時的用戶在期滿後仍然能使用 |
-d | 刪除用戶密碼,僅能以root權限操做 |
-l | 鎖定用戶,僅能經過root操做 |
-u | 解除鎖定 |
-f | 強制操做,只有root才能操做 |
-x | 兩次密碼修改的最大天數,後面接數字,只有root才能操做 |
-n | 兩次密碼修改的最小天數,後面接數字,只有root才能操做 |
-w | 在距多少天提醒用戶修改密碼,只有root才能操做 |
-i | 在密碼過時後多少天,用戶被禁用,只有root才能操做 |
-S | 查詢用戶的密碼狀態,只有root才能操做 |
--stdin | 從stdin讀入密碼 |
gpasswd
gpasswd [-a user] [-d user] [-A user,...] [-M user,...] [-r] [-R] groupname
選項 | 含義 |
---|---|
-a | 添加用戶到組 |
-d | 從組刪除用戶 |
-A | 指定管理員 |
-M | 指定組成員和-A的用途差很少 |
-r | 刪除密碼 |
-R | 限制用戶登入組,只有組中的成員才能夠用newgrp加入該組 |
以其餘用戶身份執行一條命令
某個用戶可使用不一樣角色,執行不一樣的命令
sudo [選項] [command]
選項 | 含義 |
---|---|
-l | 列出用戶在主機上可使用的命令 |
-u | 用戶名 指定以某個用戶身份執行特定的命令(默認是root) |
-k | 刪除時間戳(時間戳默認5分鐘失效) |
-v | 跟蹤最新的時間戳 |
visudo <====> vim /etc/sudoers
用戶或組 | 主機 | 能夠切換的用戶角色 | 命令 |
---|---|---|---|
root | ALL= | (ALL) | ALL |
User_Alias ADMINS = jsmith,mikem, %groupname | Host_Alias FILESERVERS = fs1,fs2 | Runas_Alias OP = root | Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig |
User_Alias KAIFA_ADMINS = kaifa01, kaifa02 User_Alias OLD_ADMINS = oldboy, oldgirl, %sa User_Alias OLD_NETADMINS = leo,maya
Host_Alias FILESERVERS = fs1, fs2
Runas_Alias OP1 = root, oldboy Runas_Alias OP2 = root, oldgirl
Cmnd_Alias USERCMD = /usr/bin/passwd [a-zA-Z0-9]*, /bin/chown, /bin/chmod, !/usr/bin/passwd root Cmnd_Alias DISKCMD = /sbin/fdisk, /sbin/parted Cmnd_Alias NETMAGCMD = /sbin/ifconfig, /etc/init.d/network Cmnd_Alias CTRLCMD = /usr/sbin/reboot, /usr/sbin/halt Cmnd_Alias KAFACMD = /bin/grep,/usr/bin/tail,/bin/cat
visudo 最後添加
Defaults logfile=/var/log/sudo.log
[root@localhost ~]# ll /etc/passwd -rw-r--r-- 1 root root 1514 10月 18 21:28 /etc/passwd
權限 | 含義 | 八進制數字表示 |
---|---|---|
r | 讀 | 4 |
w | 寫 | 2 |
x | 執行 | 1 |
- | 沒有任何權限 | 0 |
屬主 | 屬組 | 其餘用戶 |
---|---|---|
rw- | r-- | r-- |
6 | 4 | 4 |
權限 | 文件 | 目錄 |
---|---|---|
r:讀 | 查看閱讀 | 列出目錄中文件列表 |
w:寫 | 對文件內容增 刪 改操做 | 在目錄中建立文件 刪除文件 修改文件名 |
x:執行 | 運行 | 可使用cd命令進入目錄 |
chmod [選項]... 模式[,模式]... 文件...
chmod [選項]... 八進制模式 文件...
用戶類型 | 操做字符 | 權限字符 |
---|---|---|
ugoa | +-= | rwx- |
三個八進制數: 屬主 屬組 其餘人
chown [選項]... [全部者][:[組]] 文件
經常使用選線 -R
chown 用戶 文件或目錄 chown :組 文件或目錄 chown 用戶:組 文件或目錄 chown 用戶.組 文件或目錄
權限 | 針對文件 | 針對目錄 |
---|---|---|
--- | 什麼都作不了 | 什麼都作不了 |
r-- | 能夠查看文件內容 | 只能看到文件名 |
-w- | 對文件寫操做會覆蓋文件內容 | 什麼都作不了 |
--x | 什麼都作不了 | 能夠cd |
rw- | 正常讀寫 | 只能查看文件名 |
r-x | 可讀可執行 | 能夠cd 能夠查看 |
-wx | 對文件寫操做會覆蓋文件內容 | 能夠cd 能夠寫 不能查看 |
rwx | 什麼均可以作 | 什麼均可以作 |
umask 數字
對於文件 umask值任意一位是奇數時, 減umask值 後, 對應位爲奇數的 加1
4(SUID) 設置SUID的文件,不管誰執行此文件,他都有文件全部者的權限
2(SGID) 設置SGID的目錄,不管誰來此目錄,他都有目錄所屬組的權限
1(sticky) 存放在該目錄的文件只容許屬主操做
chmod 4755 filename chmod u+s filename chmod g+s filename chmod +t /tmp
suid | sgid | sticky |
---|---|---|
4 | 2 | 1 |
install
install [選項]... 源文件 目標文件
install -m 755 chmod /bin/chmod
chattr
chattr [選項] 參數(文件)
+ - =
i 不可改變
a 只能添加數據,不能刪除 通常用於日誌文件
A atime不可修改 S 磁盤I/O同步
c 數據存取時通過壓縮
d 不備份j 日誌功能 從ext3開始有此功能
s 保密性的刪除文件,硬盤空間所有回收
u 最大限度保存數據
lsattr 文件名
靜態的指令集合
不佔用系統的運行資源
不能申請系統資源、不能被系統調度、也不能做爲獨立運行的單位
進程(Process)是一個程序在其自身的虛擬地址空間中的一次執行活動。
一個程序的動態執行過程,它具備生命期,是動態的產生和消亡的資源申請、調度和獨立運行的單位,所以,它使用系統中的運行資源
最常被用來存放進程的可執行代碼,也用於其餘類型的非串行數據訪問
和進程相關的文件系統概念,例如進程的當前工做目錄、和進程的umask(用來爲新生成文件設置權限)
全部環境變量的集合,稱爲進程的環境
-A,-e,ax 全部進程 -C,commmand 全部command的實例 -U,--user username 屬於user的全部進程 -t,--tty terminal 從terminal啓動的全部進程 -p,p,--pid N Pid爲N的進程
-eo
選項 | 含義 |
---|---|
user | 用戶名 |
uid | UID |
pid | 進程號 |
ppid | 父進程號 |
size | 內存大小 |
vsize | 總虛擬內存大小 |
share | 共享頁面文件數量 |
nice | 進程優先級 |
pmem | 物理內存佔用率 |
trs | 程序執行代碼駐留大小 |
rss | 進程使用的總物理內存數 kbytes |
time | cpu使用時間 |
stat | 進程狀態 |
cmd(args) | 命令內容 |
#### 輸出選擇
選項 | 含義 |
---|---|
-f | 詳盡列表 |
-l,l | 長格式 |
-j,j | 做業格式 |
按鍵 | 含義 |
---|---|
q | 退出 |
h或? | 幫助 |
S | 設置兩次更新之間的時間(以秒爲單位) |
Space | 更新顯示 |
M | 根據內存大小對進程排序 |
P | 根據CPU(處理器)佔用對進程排序 |
U | 顯示特定用戶的進程 |
K | 殺死進程(給進程發送信號) |
R | 更改進程優先級 |
z | 高亮顯示 |
x | 選中列 |
shift + < 或 > | 移動選中列 |
c | 命令詳細 |
選項 | 含義 |
---|---|
-d secs | 在兩次刷新之間延遲secs秒(默認爲5秒) |
-n N | 刷新N次後退出 |
-p | 只監控指定的進程PID |
-i | 只顯示正在使用CPU的進程 |
-H | 顯示線程 |
-u | 只查看指定用戶名的進程 |
-b | 將輸出編排成易處理格式,適合輸出到文件處理 |
列名 | 含義 |
---|---|
PID | 進程ID |
USER | 進程全部者 |
PR | 進程優先級 |
NI | 負值表示高優先級,正值表示低優先級 |
VIRT | 進程啓動後使用虛擬內存總量(KB), VIRT=SWAP+RES |
RES | 實際物理內存使用大小(KB),RES=CODE+DATA |
SHR | 共享內存大小(KB),可能與其它進程共享的內存;計算進程使用物理內存大小: RES-SHR |
S | 進程狀態; R 運行, S 休眠, D 不可中斷, T 中止, Z 殭屍 |
%CPU | 上次更新到如今的CPU時間佔用百分比 |
%MEM | 使用物理內存百分比 |
TIME+ | 使用CPU總時間 |
COMMAND | 命令名稱和參數 |
五種狀態
狀態其它說明
符號 | 含義 |
---|---|
< | 高優先級 |
N | 低優先級 |
L | 將頁面鎖定到內存中 |
s | 是session領導者 |
l | 是多線程的 |
+ | 位於前臺進程組中 |
若是父進程在子進程以前終止,這個子進程就變成了孤兒進程
數字越小,優先級越高
-20(最大優先級)~19(最小優先級)
renice -15 -p 3371 #進程號爲3371的進程優先級設置爲-15
信號名 | 信號數字 | 含義 |
---|---|---|
HUP | 1 | 終端斷線 |
INT | 2 | 中斷(同 Ctrl + C) |
QUIT | 3 | 退出(同 Ctrl + ) |
KILL | 9 | 強制終止 |
TERM | 15 | 終止 |
CONT | 18 | 繼續(與STOP相反, fg/bg命令) |
STOP | 19 | 暫停(同 Ctrl + Z) |
trap "reboot" 2 #獲取2信號,執行reboot命令 trap "" 2 #屏蔽一個信號 trap 2 #恢復信號
Bash容許前臺運行一個做業,後臺運行多個做業
從shell提示符運行命令時,除非特別指定,命令會在前臺運行
經過給命令行附加一個「&」字符,任何指定的命令也能夠在後臺運行
jobs #查看後臺做業 ctrl+z #掛起當前的前臺做業,並將其置於後臺 bg %num # 將後臺做業由stoped變成running fg %num #把後臺的做業搬到前臺 kill %N #終止後臺做業N & #後臺運行程序 nohup #將程序以忽略掛起信號的方式運行起來,被運行的程序的輸出信息將不會顯示到終端
screen -S test #建立一個名稱爲test會話,並進入此會話 Ctrl+a+d #按Ctrl+a,而後再按d 暫時離開當前會話 screen -ls #查看全部screen會話 screen -r test #進入test會話
/proc
進程號目錄
cpuinfo
diskstats
filesystems
fs
loadavg
meminfo
swaps
uptime
vmstat
服務:啓動後在後臺執行,等待用戶或其餘軟件調用
/etc/init.d/* ----> /etc/rc.d/init.d/*
service servername start/stop/restart/reload/status
/usr/lib/systemd/system/*.service
systemctl start/status/stop/restart/reload servername
chkconfig servername on/off
開機啓動的本質
ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc3.d/S99oracle
備註
S表示服務開啓
K表示服務關閉
systemctl enable/disable servername
開機啓動本質
Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service → /usr/lib/systemd/system/firewalld.service.
Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /usr/lib/systemd/system/firewalld.service.
/etc/rc.local -----> /etc/rc.d/rc.local
xinetd
只執行一次的任務
atd
/etc/at.allow #容許使用at的用戶 /etc/at.deny #禁止使用at的用戶 /var/spool/at/ #計劃任務存放位置
選項 | 含義 |
---|---|
-m | 完成工做後,使用郵件通知用戶 |
-l | 查看計劃任務 |
-d | 刪除 |
-v | 詳細信息 |
-c | 查看工做的詳細內容 |
HH:MM [YY-MM-DD]
at 04:00 at> command ctrl+d 退出
週期性執行任務
crond
/etc/cron.allow /etc/cron.deny /etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly /var/spool/cron/ /etc/crontab
-u 用戶名 指定用戶名稱 -e 定製計劃任務 -l 查看計劃任務
分 | 時 | 日 | 月 | 周 | 任務 |
---|---|---|---|---|---|
0-59 | 0-23 | 1-31 | 1-12 | 0-7 | 命令或腳本 |
符號 | 含義 |
---|---|
* | 任什麼時候間 |
, | 分隔時間 |
- | 時間範圍 |
/n | 每隔n個單位 |
執行的任務的輸出必定要重定向
linux下的文本編輯器
命令 | 含義 |
---|---|
i | 在當前光標插入 |
a | 在當前光標後面插入 |
o | 在當前行下一行插入一個新的空行並進入編輯模式 |
O | 在當前行上一行插入一個新的空行並進入編輯模式 |
C | 把光標所在位置到行尾的內容刪除並進入編輯模式 |
含義 | 命令 |
---|---|
移動到文件的最後一行 | G |
移動到文件的第一行 | gg |
把光標移動到行尾 | $ |
把光標移動到行首 | ^ |
移動到第100行 | 100gg 100G |
移動光標到括號的另外一半 | % |
含義 | 命令 |
---|---|
複製當前行 | yy |
粘貼 | p |
剪切當前的內容 | dd |
剪切光標到行首內容 | d^ |
剪切光標到行尾內容 | d$ |
剪切一個單詞 | dw |
剪切當前行到最後一行內容 | dG |
剪切當前行到第一行內容 | dgg |
撤銷 | u |
恢復 | ctrl + r |
剪切光標位置一個字符 | x |
替換光標位置一個字符 | r |
含義 | 命令 |
---|---|
顯示行號 | :set nu |
取消顯示行號 | :set nonu |
取消高亮顯示 | :noh |
保存文件內容 | :w |
退出 | :q |
保存文件內容並退出 | :wq |
強制退出 | :q! |
強制保存退出 | :wq! |
n1到n2行查找word1並替換爲word2 | :n1,n2s#word1#word2#g |
全文查找word1並替換爲word2 | :%s#word1#word2#g |
將n1到n2行的內容移動到n3行後面 | :n1,n2 m n3 |
將n1到n2行的內容拷貝到n3行後面 | :n1,n2 co n3 |
刪除n1到n2行的內容 | :n1,n2d |
刪除空行及所有是空白字符的行 | :g/^\s*$/d |
刪除全部行尾的空白字符 | :%s#\s*$## |
保存當前文件到filename文件 | :w filename |
將n1到n2行的內容保存成filename文件 | :n1,n2 w filename |
讀入filename文件內容並加載到當前文件 | :r filename |
暫時離開vi到命令行模式下執行command的顯示結果 | :!command |
幫助 | :h :wq |
切換到下一個文件 | :bn |
切換到上一個文件 | :bp |
一、 ctrl + v / shift + v
二、 光標(任意移動光標的命令)選中
三、 命令
批量插入模式 I
批量刪除內容 x
四、 esc 退出視圖模式(插入模式須要退出)
命令補全和文件路徑補全tab
shell符號
ctrl+c 終止當前命令或程序 ctrl+d 退出當前shell ctrl+l 清屏 ctrl+a 命令行光標移到行首 ctrl+e 命令行光標移到行尾 ctrl+u 命令行刪除光標到行首的內容 ctrl+k 命令行刪除光標到行尾的內容 ctrl+y 粘貼 ctrl+r 命令行搜索 ctrl+ < 光標左移一個單詞 ctrl+ > 光標右移一個單詞 ctrl+s 鎖屏 ctrl+q 解鎖
本身設置一個命令,執行時實際上是執行另外一個命令
[root@repo ~]# alias alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i'
別名--->函數--->內置命令--->外部命令(可執行文件)
/etc/profile 通用的有效環境變量 /etc/profile.d/*.sh 軟件包特有的環境變量 ~/.bash_profile 用戶特有的環境變量 ~/.bashrc 用戶特有的別名、shell功能和shell選項 /etc/bashrc 通用別名、shell功能和shell選項 ~/.bash_logout 用戶退出shell執行 ~/.bash_history 命令歷史記憶功能history
登陸式shell加載配置文件順序
/etc/profile -> /etc/profile.d/*.sh -> ~/.bash_profile -> ~/.bashrc -> /etc/bashrc
~/.bashrc -> /etc/bashrc
~/.bash_logout
source(或.) 文件
< (或 0<) 覆蓋 << (或 0<<) 追加
> (1>) 覆蓋 >> (1>>) 追加
2> 覆蓋 2>> 追加
2>&1 &>
shell子進程是從一個父shell進程調用shell程序而產生的一個全新的shell
source(或 .)
export
Variables變量 are used to store保存、儲存
information信息 to be referenced被之後調用
and manipulated操做或更改 in a computer program程序.
They also而且還 provide提供 a way方式 of labeling標記 data數據 with a descriptive描述性 name,
so our programs can be understood理解 more clearly更清晰 by the reader閱讀者 and ourselves咱們本身.
It is helpful to think of variables as containers容器 that hold保持、保存 information(若是咱們把變量看做成是一個保存信息的容器是更容易理解的).
Their sole主要 purpose目的 is to label標記 and store存儲 data in memory內存裏. This data數據 can then而後 be used使用它 throughout整個 your program
變量名=變量值
$變量名
shell經過環境變量來肯定登陸用戶名、命令路徑、終端類型、登陸目錄等,可用於全部子進程中
定義它的shell及其子shell可使用,使用export申明
? 獲取執行上一個命令的返回值 $ 獲取當前執行腳本的進程號 ! 獲取上一個後臺進程號信息 _ 獲取上一個命令的最後一個參數
/ 根目錄或者路徑分隔符 ~ 用戶家目錄 # 註釋 . 當前目錄 隱藏文件名開頭 .. 上級目錄 $ 取變量值 \ 轉義符號(或 續行符) ! 執行歷史記錄中的命令(或取反) & 後臺執行命令 () 子shell中執行命令 {} {a,g,l} {1..100} {1..10..2}
符號 | 含義 |
---|---|
'' | 單引號 強引用 全部字符都不解析 |
"" | 雙引號 弱引用 能夠解析 $ \ ! | | \ ` |
符號 | 含義 |
---|---|
; | 順序執行每一個命令 |
&& | 前面執行成功, 則執行後者 |
|| | 前面執行失敗, 則執行後者 |
匹配命令參數
符號 | 含義 |
---|---|
* | 匹配任意多個字符 |
? | 匹配任意一個字符 |
[] | 匹配括號中任意一個字符a-z,0-9,A-Z,a-Z |
[^] | 排除括號中任意一個字符a-z,0-9,A-Z,a-Z |
shopt 內置命令啓用shell選項 (extglob) 則會識別幾個擴展模式匹配運算符
shopt |grep extglob
shopt -s extglob
shopt -u extglob
符號 | 含義 |
---|---|
?(pattern-list) | 匹配給定模式零或一次 |
*(pattern-list) | 匹配給定模式零次或屢次 |
+(pattern-list) | 匹配給定模式一次或屢次 |
@(pattern-list) | 匹配給定模式之一 |
!(pattern-list) | 匹配除了給定的模式 |
find [path...] [expression]
優先級遞減;未作任何指定時默認使用 -and
( EXPR ) ! EXPR -not EXPR EXPR1 -a EXPR2 EXPR1 -and EXPR2 EXPR1 -o EXPR2 EXPR1 -or EXPR2 EXPR1 , EXPR2
N 能夠是 +N 或 -N 或 N
-type [bcdpflsD] -name 匹配模式 -iname 匹配模式 -size N[bcwkMG] -atime N -ctime N -mtime N -amin N -cmin N -mmin N -uid N -gid N -used N -user NAME -group 名稱 -inum N -perm [-/]MODE -regex PATTERN -iregex 匹配模式 -path PATTERN -ipath 匹配模式 -anewer FILE -empty -false -fstype 類型 -ilname 匹配模式 -links N -lname 匹配模式 -cnewer 文件 -newer 文件 -nouser -nogroup -readable -writable -executable -wholename PATTERN -true -xtype [bcdpfls] -context 文本
-delete -print -print0 -printf 格式 -fprintf 文件 格式 -fprint0 文件 -fprint 文件 -ls -fls 文件 -prune -exec 命令 ; -exec 命令 {} + -quit -ok 命令 ;
選項
-n 不自動換行 -e 支持轉義字符
字體顏色
echo -e "\033[30m 黑色字oldboy trainning \033[0m" echo -e "\033[31m 紅色字oldboy trainning \033[0m" echo -e "\033[32m 綠色字oldboy trainning \033[0m" echo -e "\033[33m 黃色字oldboy trainning \033[0m" echo -e "\033[34m 藍色字oldboy trainning \033[0m" echo -e "\033[35m 紫色字oldboy trainning \033[0m" echo -e "\033[36m 天藍字oldboy trainning \033[0m" echo -e "\033[37m 白色字oldboy trainning \033[0m"
背景顏色
echo -e "\033[40;37m 黑底白字 welcome to old1boy\033[0m" echo -e "\033[41;37m 紅底白字 welcome to old2boy\033[0m" echo -e "\033[42;37m 綠底白字 welcome to old3boy\033[0m" echo -e "\033[43;37m 黃底白字 welcome to old4boy\033[0m" echo -e "\033[44;37m 藍底白字 welcome to old5boy\033[0m" echo -e "\033[45;37m 紫底白字 welcome to old6boy\033[0m" echo -e "\033[46;37m 天藍白字 welcome to old7boy\033[0m" echo -e "\033[47;30m 白底黑字 welcome to old8boy\033[0m"
選項
-n 顯示全部行行號 -A 顯示全部
輸出
cat<<-EOF 1.[install lamp] 2.[install lnmp] 3.[exit] EOF
輸入輸出
cat >> /etc/profile <<'EOF' $PATH EOF
語法
date [OPTION]... [+FORMAT]
選項
選項 | 說明 |
---|---|
-s | 設置日期與時間 |
-d | 顯示字符串所指的日期與時間 -2day +48Hour +1440Min |
格式
符號 | 含義 |
---|---|
%F | 年月日 |
%T | 時分秒 |
%w | 星期 週日顯示0 |
%u | 星期 週日顯示7 |
%Y | 年 |
%m | 月 |
%d | 日 |
%H | 時 |
%M | 分 |
%S | 秒 |
語法
seq [OPTION]... FIRST INCREMENT LAST
選項 | 說明 |
---|---|
-s | 指定分隔符(默認\n) |
-w | 使輸出字符串寬度相等 |
-f FORMAT | 指定格式 |
seq -s " " -f "stu%g" 10 15
選項 | 說明 |
---|---|
-r | 降序 |
-o | 把排序後的結果輸出到文件 |
-n | 以數字排序 |
-k | 指定列 -k 1.2 第一列第二個字符開始到本列最後一個字符 |
-t | 指定分隔符 |
-h | 以人類可讀排序 |
-R | 隨機排序 |
-u | 去除重複行 |
-f | 忽略大小寫 |
選項 | 說明 |
---|---|
-c | 打印出現的次數 |
-d | 只打印重複行 |
-D | 只打印重複行,而且把全部重複行打印出來 |
-u | 只打印不重複行 |
-i | 忽略大小寫 |
-f N | 比較時跳過前N列 |
-s N | 比較時跳過前N個字符 |
-w N | 對每行第N個字符之後內容不作比較 |
選項 | 說明 |
---|---|
-b | 選中第幾個字符 |
-c | 選中多少個字符 |
-d | 指定分隔符,默認是空格 |
-f | 指定字段 |
語法
tr [OPTION]... SET1 [SET2]
默認是將set1中的字符替換爲set2中的字符
選項
選項 | 說明 |
---|---|
-c | set1的補集 |
-d | 刪除set1中字符 |
-s | 把set1中連續重複的字符以單獨一個字符表示 |
-c 打印文件字節數,一個英文字母1字節,一個漢字佔2-4字節 -m 打印文件字符數,一個漢字佔2個字符 -l 打印文件行數 -L 打印最長行的長度,也能夠統計字符串的長度
選項 | 說明 |
---|---|
-c | bash從字符串中讀入命令,若是字符串後還有變量就被設定爲從$0開始的位置參數 |
-n | 檢測腳本是否正確,並不執行腳本 |
-x | 執行腳本,輸出執行過程 |
符號 | 含義 |
---|---|
^ | 匹配開頭 |
$ | 匹配結尾 |
^$ | 匹配開頭結尾 (即空行) |
\<...\> | 錨定邊界 |
. 任意一個字符
() 分組 (把多個內容當作一個總體)
擴展正則表達式
語法
grep [OPTION]... PATTERN [FILE]...
選項 | 說明 |
---|---|
-o | 僅顯示匹配的內容 |
-i | 忽略大小寫 |
-n | 顯示行號 |
-v | 反向選擇 |
-E | 擴展的grep |
-A | 顯示匹配字符串及其後n行 |
-B | 顯示匹配字符串及其前n行 |
-C | 顯示匹配字符串及其先後各n行 |
-w | 匹配單詞 |
-c | 包含關鍵字的有多少行 |
-m | 匹配地幾個 |
-a | 在二進制文件中,以文本文件方式搜索 |
-l | 匹配多個文件時,顯示匹配的文件名 |
-r | 遞歸 |
-P | 調用perl正則 |
perl正則
名字 | 表達式 | 含義 |
---|---|---|
(零寬度正預測先行斷言 ) | (?=subexp) | 若是匹配到右邊則成功 |
(零寬度負預測先行斷言) | (?!subexp) | 若是沒有匹配到右邊則成功 |
(零寬度正回顧後發斷言) | (?<=subexp) | 若是匹配到左邊則成功 |
(零寬度負回顧後發斷言) | (?<!subexp) | 若是沒有匹配到左邊則成功 |
[root@bogon ~]# ip a s eth0 |grep -Po '(?<=inet )([0-9]{1,3}\.?){4}' 10.0.0.130 [root@bogon ~]# ip a s eth0 |grep -Po '([0-9]{1,3}\.?){4}(?=/[0-9]{1,2})' 10.0.0.130
sed [option] '條件{sed-commands...}' [input-file]
-n 取消默認輸出,常與sed軟件的p命令連用 -r 支持擴展正則表達式,默認只支持基本正則表達式 -i 修改文件內容(修改磁盤上的數據),sed軟件默認只修改內存中的數據 -e 每一個 -e 選項後可接一個命令 -s 把後面的多個文件當作一個一個的單獨文件 ,sed默認會把多個文件當作一個文件 -f 選項後面能夠接sed腳本的文件名
p 打印模式空間的內容,一般p與選項 -n 一塊兒使用 = 打印行號
a 追加,在指定行後添加一行或多行文本 i 插入,在指定行前添加一行或多行文本
d 刪除指定的行
N 只處理第N處 ( N的取值範圍: 1<N<512 )
根據對應位置轉換字符
另存,把模式空間的內容保存到文件中
退出sed
不執行命令,放在命令前面
鏈接兩個命令
不清空模式空間,並讀取下一行數據並追加到模式空間
定義一個標籤(這裏的label是標籤名,可自定義)
跳轉到該標籤執行它後面的命令
若是前面的命令執行成功,那麼就跳轉到t指定的標籤處,繼續往下執行後續命令,不然,仍然繼續正常的執行流程
若是前面的命令執行失敗,那麼就跳轉到t指定的標籤處,繼續往下執行後續命令,不然,仍然繼續正常的執行流程
1~2{sed-commands} 第1,3,5,7...行
行號能夠換成模式(條件) /pattern/
awk [option] 'BEGIN{ commands } pattern{ commands } [pattern{ commands }]...END{ commands }'
-F 指定列分隔符 -v var=val 自定義變量賦值 -P(或--posix) 支持{} -f 指定awk腳本文件
每條記錄都是由多個字段組成的,默認狀況下字段之間的分隔符是由空格(或tab)
變量名 | 含義 |
---|---|
$1 | 第一個字段 |
$2 | 第二個字段 |
$3 | 第三個字段 |
$NF | 最後一個字段 |
$0 | 整行 |
NF | 每行字段數 |
FS | 輸入字段分隔符 |
OFS | 輸出字段分隔符 |
默認記錄(行)分隔符爲換行
變量名 | 含義 |
---|---|
NR | ( number of record) 行號,記錄的數 awk當前處理着的,記錄的數 |
RS | (record separator) 輸入記錄(行)分隔符 |
ORS | (output record separator) 輸出時候的分隔符 |
FNR | 當前文件的讀入記錄號 |
/pattern/ 整行正則匹配 $3~/pattern/ $3正則匹配 $4!~/pattern/ $4正則不匹配
/pattern1/,/pattern2/{command} /pattern/,NR==xxx{command} NR==xxx,NR==xxx{command}
/pattern/ && /pattern/ 邏輯and,同時知足兩個模式 /pattern/ || /pattern/ 邏輯or,知足其中一個模式 !/pattern/ 邏輯not,不知足模式 pattern ? pattern : pattern
awk讀取文件以前執行
awk讀取完全部文件以後,再執行END模塊
tcp
udp
鏈接多個計算機組成一個網絡,讓計算機之間通訊
在一個交換機的端口上鍊接的全部終端設備,均在一個網段上(稱爲一個廣播域)
同一網絡
鏈接多個網絡,讓不一樣的網絡通訊
數據轉發,維護路由表
路由器會做爲網關
鏈接廣域網(WAN)
網關: 不一樣網絡通訊的邏輯地址
路由: 網絡間數據通訊的規則
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 <- 第一塊網卡邏輯設備名;第二塊爲eth1 TYPE=Ethernet <- 上網類型,目前基本都是以太網 UUID=sasd-sdasd-wqe-12 <- 通用惟一識別碼(Universally Unique Identifier);克隆虛擬主機時,要進行刪除(centos6) HWADDR=00:0c:29:10:2e:28 <- 以太網硬件地址即MAC地址,若是是vmware克隆的虛擬機 克隆虛擬主機時,要進行刪除(centos6) ONBOOT=yes <- 這個地方要設置爲yes,才能保證下次開機啓動激活網卡設備 NM_CONTROLLED=no <- 是否經過NetworkManager管理網卡設備(centos6關閉) BOOTPROTO=none <- 啓動協議,獲取IP地址配置方式,有none|bootp|dhcp三個選項 IPADDR=10.0.0.51 <- 表示本臺局域網中服務器的固定IP地址 NETMASK=255.255.255.0 <- 子網掩碼,用來規劃網絡爲和主機位的,通常爲255.255.255.0 GATEWAY=10.0.0.254 網關地址 DNS1=223.5.5.5 <- 主DNS,這裏默認會覆蓋以及優先於/etc/resolv.conf的配置生效 DNS2=223.6.6.6 <- 第二個DNS,這裏默認會覆蓋以及優選於/etc/resolv.conf的配置文件 PEERDNS=yes <- 是否確認網卡配置文件中的DNS配置優先於/etc/resolv.conf配置文件
ip addr add 10.0.0.33/24 dev eth0 label eth0:0
ip link set dev eth0 up/down
ip route add 10.15.150.0/24 via 192.168.150.253 dev eth0
永久添加
/etc/sysconfig/network-scripts/route-eth0
10.0.0.0/8 via 10.172.7.247 dev eth0 100.64.0.0/10 via 10.172.7.247 dev eth0 172.16.0.0/12 via 10.172.7.247 dev eth0 192.168.0.0/16 via 10.172.7.247 dev eth0
ifcfg-bond0
NAME=bond0 DEVICE=bond0 BONDING_MASTER=yes BONDING_OPTS="mode=1 miimon=100"
ifcfg-eth0
MASTER=bond0 SLAVE=yes
橋接網卡 ifcfg-br0
TYPE=Bridge
其它網卡
BRIDGE=br0
選項 | 含義 |
---|---|
-a | 全部 |
-n | 數字(不解析名字) |
-l | 監聽 |
-t | tcp |
-u | udp |
-p | pid/program |
-s | 鏈接統計 |
接口類型
IDE
FC
接口類型
英文 | 中文 |
---|---|
disk | 磁盤 |
head | 磁頭 |
sector | 扇區 |
track | 磁道 |
Cylinder | 柱面 |
Units | 單元塊(一個柱面的大小) |
block | 數據塊 |
inode | 索引節點 |
一個扇區大小 512B
MBR自己僅是單個物理扇區(512字節)
[root@oldboy ~]# fdisk /dev/sdc WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition #刪除一個分區 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)
partprobe /dev/sdc
傳統的fdisk分區不支持2T以上的磁盤分區,而parted分區能夠支持,而ext4格式不支持16T以上的磁盤空間分區,必須使用xfs分區
parted /dev/sdb mklabel gpt Yes parted /dev/sdb mkpart primary 0 10 Ignore parted /dev/sdb mkpart primary linux-swap 11 21 Ignore parted /dev/sdb mkpart logical ext4 22 32 Ignore parted /dev/sdb p
[root@localhost ~]# parted /dev/sdb # 使用parted來對GPT磁盤操做,進入交互式模式 (parted) mklabel gpt # 將MBR磁盤格式化爲GPT (parted) print #打印當前分區 (parted) mkpart primary 0 4.5TB # 分一個4.5T的主分區 (parted) mkpart primary 4.5TB 12TB # 分一個7.5T的主分區 (parted) print #打印當前分區 (parted) quit #退出 Information: Don’t forget to update /etc/fstab, if necessary.
mkfs
mount
RAID級別 | 最少磁盤數量 | 優勢 | 缺點 | 應用場景 |
---|---|---|---|---|
RAID 0 | 1 | 讀寫熟讀快 | 沒有任何冗餘 | mysql slave,集羣的節點RS |
RAID 1 | 2 | 100%冗餘 | 讀寫性能通常,成本高 | 數據重要,且不能宕機的業務, 監控、系統盤 |
RAID 5 | 3 | 具有必定性能和冗餘,能夠壞一塊 | 讀性能不錯 寫入性能不高 | 通常的業務均可以用 |
RAID 10 | 4 | 讀寫速度快,100%冗餘 | 成本高 | 性能和冗餘要求都很好的業務。數據庫主庫和存儲的主節點 |
文件系統是操做系統用於明確存儲設備或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。操做系統中負責管理和存儲文件信息的軟件機構稱爲文件管理系統,簡稱文件系統
/proc/filesystems
/lib/modules/3.10.0-957.el7.x86_64/kernel/fs/
Linux正統的文件系統(如ext二、ext3)一個文件由目錄項(文件名)、inode(元數據) 和 數據組成
建立文件系統,磁盤被分紅塊組( 塊組0 塊組1 ... 塊組n )
記錄本塊組從何處開始
使用位示圖記錄哪些塊已用 ,哪些塊未用
記錄inode的使用狀況
各inode組成的區域,每一個inode都有一個惟一編號
各block組成的區域,用於存放文件數據
xfs支持16TB以上的文件系統
xfs提供了xfsdump備份, xfsrestore恢復
xfs默認inode大小爲512B
交換分區文件系統,當內存使用
dd if=/dev/zero of=/tmp/swap bs=1M count=128 mkswap /tmp/swap
swapon /tmp/swap swapon -a
swapoff /tmp/swap swapoff -a
swapon -s
cat /proc/sys/vm/swappiness 30
臨時文件系統,是一種基於內存的文件系統
製做tmpfs文件系統
mount -t tmpfs -o size=100m tmpfs /mnt/tmpfs
添加導/etc/fstab
tmpfs /mnt/tmpfs tmpfs size=100m 0 0
用於複製文件並對原文件的內容進行轉換和格式化處理
dd if=/dev/zero of=/tmp/swap bs=1M count=128
dd if=/dev/sda of=mbr.bin bs=512 count=1