Linux
1.1 Linux的簡介
開源,穩定,漏洞少,一般的靠譜一點的公司都用它.
Linux是一套免費的使用和自由傳播的類Unix操作系統
- Linux的文件結構
1.2 項目結構
- /bin ★(/usr/bin 、 /usr/local/bin)
- 是Binary的縮寫, 這個目錄存放着最經常使用的命令
- /sbin (/usr/sbin 、 /usr/local/sbin)
- s就是Super User的意思,這里存放的是系統管理員使用的系統管理程序。
- /home★
- 存放普通用戶的主目錄,在Linux中每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的。
- /root★
- 該目錄為系統管理員,也稱作超級者的用戶主目錄。
- /lib
- 系統開機所需要最基本的動態連接共享庫,其作用類似於Windows里的DLL文件。幾乎所有的應用程序都需要用到這些共享庫。
- /lost+found
- 這個目錄一般情況下是空的,當系統非法關機后,這里就存放了一些文件。
- /etc★
- 所有的系統管理所需要的配置文件和子目錄
- /usr ★
- 這是一個非常重要的目錄,用戶的很多應用程序和文件都放在這個目錄下,類似與windows下的program files目錄。
- /boot ★
- 這里存放的是啟動Linux時使用的一些核心文件,包括一些連接文件以及鏡像文件,自己的安裝別放這里
- /proc
- 這個目錄是一個虛擬的目錄,它是系統內存的映射,我們可以通過直接訪問這個目錄來獲取系統信息。
- /srv
- service縮寫,該目錄存放一些服務啟動之后需要提取的數據。
- /sys
- 這是linux2.6內核的一個很大的變化。該目錄下安裝了2.6內核中新出現的一個文件系統 sysfs 。
- /tmp
- 這個目錄是用來存放一些臨時文件的。
- /dev★
- 類似於windows的設備管理器,把所有的硬件用文件的形式存儲。
- /media★
- linux系統會自動識別一些設備,例如U盤、光驅等等,當識別后,linux會把識別的設備掛載到這個目錄下。
- /mnt
- 系統提供該目錄是為了讓用戶臨時掛載別的文件系統的,我們可以將外部的存儲掛載在/mnt/上,然后進入該目錄就可以查看里的內容了。
- /opt ★
- 這是給主機額外安裝軟件所擺放的目錄。比如你安裝一個ORACLE數據庫則就可以放到這個目錄下。默認是空的。
- /usr/local ★
- 這是另一個給主機額外安裝軟件所擺放的目錄。一般是通過編譯源碼方式安裝的程序。
- /var ★
- 這個目錄中存放着在不斷擴充着的東西,我們習慣將那些經常被修改的目錄放在這個目錄下。包括各種日志文件。
- /selinux
- SELinux是一種安全子系統,它能控制程序只能訪問特定文件。
1.3三種模式:
- 一般模式
- 編輯模式
- 命令模式
1.1.1三種模式之間的切換
- 幫助手冊
a) Man
b) –help
- 日期類
a) Date , cal
date +%Y-%m-%d' '%H:%M:%S
- 現實當前目錄 : pwd
- cd切換目錄
a) cd.. 返回上一層目錄
b) cd / 返回至/
c) cd~ 返回家目錄
d) cd /etc/sysconfig 通過結對路徑訪問(利用tab鍵)
e) cd ./sysconfig 通過相對路徑訪問
- ls
a) -a全部文件,連同隱藏文件
b) -l 列出詳細的列表 別名ll
c) 列表信息
d)
e) D開頭就是目錄
f) -是文件
- Grep
a) 配合顯示內容得名,根據跟隨的內容現實,該行內容
b) 例如:ls-l | grep xxx
10. mkdir (建立一個新的子目錄(DOS命令))
-p 可以一下建好多級目錄
例: mkdir 目錄名
- Touch(接觸)
a) 新建一個文件
b) touch aa.conf
- rmdir(刪除目錄)
a) 刪除一個空目錄
b) 例: rmdir dirname
- Rm
a) 移除文件或目錄
b) -rf 遞歸刪除所有目錄內容,不提示
- Cp(復制)
a) cp 【要復制的文件】 【到哪里】
b) -r 遞歸復制整個文件夾
c) -v 顯示復制過程中文件的列表
d) 強制覆蓋不提示的方法
i. 臨時方法:用\cp
- mv
a) mv oldFileName newFileName 重命名
b) mv /temp/movefile /targetFolder 移動文件
- cat
a) cat 文件名 查看輕量級的文本文件
b) cat 文件1 文件2 連接顯示多個文件
c) cat 文件1 文件2 > 文件3 合並為新文件
- more(更多)
a) 查看較長的文件
b) 空白鍵 (space):代表向下翻一頁
c) Enter:代表向下翻一行
d) q:代表立刻離開 more ,不再顯示該文件內容。
e) Ctrl+F 向下滾動一屏
f) b 返回上一屏
- Less(較少)
a) 同more類似,比more功能更多。
b) [pagedown]:向下翻動一頁;
c) [pageup] :向上翻動一頁;
d) /字串 :向下搜尋『字串』的功能;
e) ?字串 :向上搜尋『字串』的功能;
f) n :重復前一個搜尋 (與 / 或 ? 有關!)
g) N :反向的重復前一個搜尋 (與 / 或 ? 有關!)
- Tail(尾部) head(頭部 )
a) 從尾部開始查看,比較適合查看日志
b) -f 跟隨查看,實時查看數據
c) -n200 顯示的行數,n可以省略。
- History(歷史)
a) 查看歷史命令
- echo
a) 輸出環境變量
b) 在shell腳本中當system.out.print用
- Find(發現)
a) 查找文件,提供了豐富的模糊搜索及條件搜索
b) find+搜索路徑+參數+搜索關鍵字
c) 按文件名:find /home/esop -name '*.txt' 根據名稱查找/目錄下的filename.txt文件。
- Locate(定位)
a) 查找文件,查詢速度更快,使用更方便。
b) 運行前需要 執行updatedb來更新文件索引。
- 軟鏈接
a) 也成為符號鏈接,類似於windows里的快捷方式,有自己的數據塊,主要存放了鏈接其他文件的路徑。
b) 命令 ln –s 原文件或目錄名 軟鏈接名
c) 查詢:通過 ls -l 就可以查看,列表屬性第1位是l,尾部會有位置指向。
25. yum install para yum安裝軟件
1.4 vi和vim的區別:
Vi是白色
Vim是彩色
軟連接
也成為符號
1.5 分區 (磁盤分區類)
一. Mbr
- 只支持4個主分區
- 系統只安裝主分區
- 擴展分區占一個主分區
二. Gpt
- Win7 64位以后支持
- 無線主分區
- 支持4t以上的硬盤
- 查看所有設備掛載情況
- 命令 :lsblk 或者 lsblk -f
1.1.1 向虛擬機增加一塊硬盤
- 1. 虛擬機插硬盤
a) 虛擬機增加硬盤
b) 在【虛擬機】菜單中,選擇【設置】,然后設備列表里添加硬盤,然后一路【下一步】,中間只有選擇磁盤大小的地方需要修改,至到完成。然后重啟系統!
c)
- 2. 分區
a) 分區命令 fdisk /dev/sdb
i. 開始對/sda分區
- 1. m :顯示命令列表
- 2. p :顯示磁盤分區
- 3. n :新增分區
- 4. d :刪除分區
- 5. w :寫入並退出
b) 開始分區后輸入n:(新增分區),然后選擇p分區類型為主分區.兩次回車默認剩余全部空間,最后w:(寫入分區並退出),如果不保存就按p退出
c)
d)
- 3. 格式化
a) 格式化磁盤
i. 分區命令: mkfs -t ext4 /dev/sdb1
ii. 其中ext4是分區的類型
- 4. 掛載
a) 掛載
i. 將一個分區與一個目錄聯系起來
ii. Mount 設備名稱 掛載目錄
- 1. 例如: mount /dev/sdb1 /newdisk
- 2. Umount 設備名稱 或者 掛載目錄
a) 例如: umount /dev/sdb1 或者 umount /newdisk
- 3. 命令行掛載重啟后會失效
b) 永久掛載
i. 通過修改/ect/fstab實現掛載
ii. 添加完成后 執行mount -a 立即成效
- 5. 磁盤情況查看
a) hf -h
i. 查詢系統整體使用情況
b) du -h /目錄
- i. 查詢指定目錄的磁盤占用情況,默認為當前目錄
- ii. -s 指定目錄占用大小匯總
- iii. -h 帶計量單位
- iv. -a 含文件
- v. --max-depth=1 子目錄深度
- vi. -c 列出明細的同時,增加匯總值
例: du -ach --max-depth=1 /opt
1.6 Ifconfig (網絡配置)
1.1.1 查看網絡配置ip addr
c) 查看網絡配置
d) 如何修改IP
e) 圖形化操作
f) 命令行方式 vi /etc/sysconfig/network-scripts/ifcfg-en0s3
DEVICE=eth0 #接口名(設備,網卡) |
BOOTPROTO=static |
# IP的配置方法[none|static|bootp|dhcp](引導時不使用協議|靜態分配IP|BOOTP協議|DHCP協議) |
BROADCAST=192.168.1.255 #廣播地址 |
HWADDR=00:0C:2x:6x:0x:xx #MAC地址 |
IPADDR=192.168.1.23 #IP地址 |
NETMASK=255.255.255.0 # 網絡掩碼 |
NETWORK=192.168.1.0 #網絡地址 |
ONBOOT=yes #系統啟動的時候網絡接口是否有效(yes/no) |
TYPE=Ethernet #網絡類型(通常是Ethemet) |
g) vim /etc/sysconfig/network-scripts/ifcfg-eth0
h) 刷新網絡設置
i) service network restart
1.7 ps (進程類)
- ps
- ps –aux|grep xxx
- System V展示風格
- USER:用戶名稱
- PID:進程號
- %CPU:進程占用CPU的百分比
- %MEM:進程占用物理內存的百分比
- VSZ:進程占用的虛擬內存大小(單位:KB)
- RSS:進程占用的物理內存大小(單位:KB)
- TT:終端名稱,縮寫 .
- STAT:進程狀態,其中S-睡眠,s-表示該進程是會話的先導進程,N-表示進程擁有比普通優先級更低的優先級,R-正在運行,D-短期等待,Z-僵死進程,T-被跟蹤或者被停止等等
- STARTED:進程的啟動時間
- TIME:CPU時間,即進程使用CPU的總時間
- COMMAND:啟動進程所用的命令和參數,如果過長會被截斷顯示
- ps
- ps -ef|grep xxx
- 是BSD風格
- UID:用戶ID
- PID:進程ID
- PPID:父進程ID
- C:CPU用於計算執行優先級的因子。數值越大,表明進程是CPU密集型運算,執行優先級會降低;數值越小,表明進程是I/O密集型運算,執行優先級會提高
- STIME:進程啟動的時間
- TTY:完整的終端名稱
- TIME:CPU時間
- CMD:啟動進程所用的命令和參數
- ps -ef|grep xxx
- ps –aux|grep xxx
綜上:
- 如果想查看進程的CPU占用率和內存占用率,可以使用aux
- 如果想查看進程的父進程ID可以使用ef
- pid
- 每個進程都有一個pid作為唯一標識。
- Kill
- Kill pid 通過唯一標識pid殺死進程的工程
- Killall
- Killall name 通過進程名殺死進程
- 運行級別(runlevel)
- 查看運行級別 : vi /ect /inittab
-
1.5 Linux用戶與權限管理
- 用戶
Linux系統是一個多用戶多任務的操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然后以這個賬號的身份進入系統。
- 新增用戶:useradd 新用戶名
- 設置密碼: passwd 用戶名
- 用戶是否存在:id 用戶名
- 切換用戶:su – 切換用戶名
- 查看當前用戶/登錄用戶:whoami/ who am I
- 刪除用戶:userdel
- 用戶組
- 類似於角色,系統可以對有共性的多個用戶進行統一的管理。
- 新增組:groupadd 組名
- 刪除組:groupdel 組名
- 修改用戶的組:usermod –g 用戶組 用戶名
- 增加用戶時直接加上組:useradd –g 用戶組 用戶名
- 系統中用戶和組的相關文件
- 用戶(user)的配置文件: /etc/passwd
- 每行的含義:用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄Shell
- 口令的配置文件: /etc/shadow
- 每行的含義:登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志
- 組(group)的配置文件: /etc/group
- 每行含義:組名:口令:組標識號:組內用戶列表
- 文件的全限管理
- 再說ls -l
- 0-9位說明
- 第0位確定文件類型(d, - , l , c , b)
- 第1-3位確定所有者(該文件的所有者)擁有該文件的權限。---User
- 第4-6位確定所屬組(同用戶組的)擁有該文件的權限,---Group
- 第7-9位確定其他用戶擁有該文件的權限 ---Other
- 作用到文件
- 作用到文件
- [ r ]代表可讀(read): 可以讀取,查看
- [ w ]代表可寫(write): 可以修改,但是不代表可以刪除該文件,刪除一個文件的前提條件是對該文件所在的目錄有寫權限,才能刪除該文件.
- [ x ]代表可執行(execute):可以被系統執行
- 作用到目錄
- 作用到目錄
- [ r ]代表可讀(read): 可以讀取,ls查看目錄內容
- [ w ]代表可寫(write): 可以修改,目錄內創建+刪除+重命名目錄
- [ x ]代表可執行(execute):可以進入該目錄
- chmod
- 第一種方式:+ 、-、= 變更權限
- u:所有者 g:所有組 o:其他人 a:所有人(u、g、o的總和)
- chmod u=rwx,g=rx,o=x 文件目錄名
- chmod o+w 文件目錄名
- chmod a-x 文件目錄名
- 第二種方式:通過數字變更權限
- r=4 w=2 x=1 rwx=4+2+1=7
- chmod u=rwx,g=rx,o=x 文件目錄名
- 相當於 chmod 751 文件目錄名
- chown
- chown newowner file 改變文件的所有者
- chown newowner:newgroup file 改變用戶的所有者和所有組
- -R 如果是目錄 則使其下所有子文件或目錄遞歸生效
- chgrp
- chgrp newgroup file 改變文件的所有組