關於Linux作業系統學習的筆記
一、環境搭建
安裝CentOs7(在本地安裝)
下載vmware
官網地址:https://www.vmware.com/cn.html
下載CentOS7
二、基本操作
1.開機與關機
關機
命令:shutdown
同步資料:sync
重啟:reboot
2.目錄結構
各目錄功能如下:
目錄 | |
---|---|
/bin(不要動) | 存放二進位制可執行檔案(ls,cat,mkdir等),常用命令一般都在這裡。 |
/etc | 存放系統管理和配置檔案 |
/home | 存放所有使用者檔案的根目錄,是使用者主目錄的基點,比如使用者user的主目錄就是/home/user,可以用~user表示 |
/usr | 用於存放系統應用程式,比較重要的目錄/usr/local 本地系統管理員軟體安裝目錄(安裝系統級的應用)。這是最龐大的目錄,要用到的應用程式和檔案幾乎都在這個目錄。/usr/x11r6 存放x window的目錄/usr/bin 眾多的應用程式 /usr/sbin 超級使用者的一些管理程式 /usr/doc |
/opt | 額外安裝的可選應用程式包所放置的位置。一般情況下,我們可以把tomcat等都安裝到這裡。 |
/proc | 虛擬檔案系統目錄,是系統記憶體的對映。可直接訪問這個目錄來獲取系統資訊。 |
/root | 超級使用者(系統管理員)的主目錄(特權階級o) |
/sbin | 存放二進位制可執行檔案,只有root才能訪問。這裡存放的是系統管理員使用的系統級別的管理命令和程式。如ifconfig等。 |
/dev | 用於存放裝置檔案。 |
/mnt | 系統管理員安裝臨時檔案系統的安裝點,系統提供這個目錄是讓使用者臨時掛載其他的檔案系統。 |
/boot(不要動) | 存放用於系統引導時使用的各種檔案 |
/lib | 存放跟檔案系統中的程式執行所需要的共享庫及核心模組。共享庫又叫動態連結共享庫,作用類似windows裡的.dll檔案,存放了根檔案系統程式執行所需的共享檔案。 |
/tmp | 用於存放各種臨時檔案,是公用的臨時檔案儲存點。 |
/var | 用於存放執行時需要改變資料的檔案,也是某些大檔案的溢位區,比方說各種服務的日誌檔案(系統啟動日誌等。)等。 |
/lost+found | 這個目錄平時是空的,系統非正常關機而留下“無家可歸”的檔案(windows下叫什麼.chk)就在這裡 |
三、常用命令
目錄管理
絕對路徑與相對路徑
絕對路徑:即全稱
相對路徑:相對開啟
cd
切換目錄:cd 目錄名
當前目錄:./
返回上一級:cd ..
ls
列出目錄:ls
清空命令:clear
-a :即all,檢視全部檔案,包含隱藏檔案
-l :列出所有檔案,包含檔案屬性和許可權,無隱藏檔案
具體實現:
mkdir
建立資料夾:mkdir 資料夾
遞迴建立:mkdir -p 資料夾/資料夾/...
rmdir
刪除目錄:rmdir 資料夾
僅能刪除空目錄,如果需要,可以使用遞迴刪除
cp
複製目錄:cp 檔案 位置
rm
注意:此命令比較危險,需謹慎使用
-f 忽略不存在的檔案,即強制刪除
-r 遞迴刪除目錄
-i 互動,即詢問是否刪除
危險命令:
rm -rf / #刪除系統中的所有檔案,刪庫跑路
mv
移動檔案 :mv 檔案 位置
-f 強制移動
-u 只替換已更新的檔案
[root@localhost admin]# cd ..
[root@localhost home]# ls
admin test.sh
[root@localhost home]# mv test.sh admin #移動檔案
[root@localhost home]# ls
admin
[root@localhost home]# cd admin
[root@localhost admin]# ls
test.sh 公共 模板 視訊 圖片 文件 下載 音樂 桌面
額外作用:
基本屬性
ls
檢視檔案屬性:ls
其中:
第一個字母代表檔案型別:
[d] 代表目錄
[-] 代表檔案
[l] 代表連結文件
[b] 為介面裝置
接下來的字元以3個為一組,且均為[rwx]的引數組合
[r]代表可讀(read),[w]代表寫(write),[x]代表可執行(execute)
第一組為主許可權,即root使用者
如:rwx
第二組為組許可權,即遊客使用者
如:-xr
第三組為其他使用者許可權
如:-x
chgrp
更改檔案屬組:chgrp 屬性 檔案
chown
更改屬主:chown
chmod(需掌握)
更改檔案許可權:chmod
數字標識:
r:4 w:2 x:1
例如:
(rwx)(rwx)(rwx):4+2+1=7 => chmod 777 => 賦予最高許可權
(rw-)(rw-)(rw-):4+2=6 => chmod 666
(rwx)(-rw)(--x):7,6,1 =>chmod 761
檔案內容檢視
[root@localhost network-scripts]# ping www.baidu.com #ping
PING www.a.shifen.com (112.80.248.75) 56(84) bytes of data.
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=1 ttl=128 time=30.8 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=2 ttl=128 time=30.5 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=3 ttl=128 time=30.4 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=4 ttl=128 time=32.5 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=5 ttl=128 time=30.6 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=6 ttl=128 time=30.4 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=7 ttl=128 time=30.5 ms
^Z
[1]+ 已停止 ping www.baidu.com
[root@localhost network-scripts]# ifconfig #檢視網路配置
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.132.132 netmask 255.255.255.0 broadcast 192.168.132.255
inet6 fe80::39d0:133e:3579:df42 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:4c:d1:b1 txqueuelen 1000 (Ethernet)
RX packets 884 bytes 72358 (70.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 709 bytes 72580 (70.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 64 bytes 5568 (5.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 64 bytes 5568 (5.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:a0:a3:cc txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
cat
正序讀取檔案內容:cat 檔名
讀取配置檔案
tac
倒序讀取檔案內容:tac 檔名
nl(常用)
讀程式碼時希望顯示行數:nl 檔案
more
翻頁讀取:more 檔案
推薦使用less,它可以向上翻頁(空格翻頁,enter下一行,上下鍵代表翻動頁面,按鍵q退出,向上查詢字串/ 字元
,向下查詢? 字元
,n下一個,N上一個)
只看頭幾行:head -n 行數 檔案
只看尾幾行:tail -n 行數 檔案
vim編輯器
鍵盤圖:
vim三種模式:
命令模式、輸入模式、底線命令模式
vim 檔名
建立檔案 => 鍵入[i]進入編輯模式 => [esc]退出編輯模式 => 鍵入[:]進入底線命令模式=>[w]儲存+[q]退出
set nu
顯示行號
四、管理模組
賬戶管理
新增使用者:useradd -選項 使用者名稱
-m:自動建立使用者主目錄
-G:分配使用者組
[root@localhost home]# useradd -m chunfeng #建立使用者主目錄
[root@localhost home]# ls
admin chunfeng
刪除使用者:userdel -r 使用者名稱
修改使用者:usermod 修改內容 使用者
切換使用者:su 使用者名稱
修改主機名:hostname 名稱
修改使用者密碼:passwd 使用者名稱
凍結使用者:passwd -l 使用者名稱
使用者組管理
新增使用者組:groupadd
新增並指定id:groupadd -g id號 組名
如果未指定,id預設為自增
刪除使用者組:groupdel
修改使用者組:groupmod -g id號 -n 名稱
切換組:newgrp
檢視使用者組:cat /etc/passwd
檢視密碼:cat /etc/shadow
磁碟管理
列出磁碟使用率:df
-h 詳細
檢查當前磁碟使用率:du
-a 檢視隱藏檔案
-sm 簡略資訊
掛載:mount 外部裝置 掛載目錄
解除安裝:umount
-f 強制
程序管理
檢視當前程序:ps
-a 顯示所有程序
-u 顯示當前使用者的程序
-x 顯示後臺執行
常用命令:ps -aux|grep 相關應用
記住一個命令即可:ps -xx|grep 程序名
ps -ef
:可以檢視父程序
pstree
程序樹
-p 顯示父id
-u 顯示使用者組
pstree -pu
也常用
結束程序:kill id
強制結束程序:kill -9 id
五、案例
安裝軟體的三種方式:
rpm、解壓縮安裝、yum線上安裝
jdk安裝
1.下載jdk,建議在官網下載
2.安裝jdk環境
注意:檢測jdk環境java -version
,rpm -qa|grep jdk
如果有的話,需要解除安裝rpm -e --nodeps jdk_1.8
解除安裝完以後即可安裝
安裝:rpm -ivh rpm包
3.配置環境變數
vim /etc/profile
新增此變數:(後面為jdk安裝路徑)
JAVA_HOME=/usr/java/jdk1.7
CLASSPATH=%JAVA_HOME%/lib/;%JAVA_HOME%/jre/lib
PATH=$JAVA_HOME/bin;$JAVA_HOME/jre/bin
export PATH JAVA_HOME CLASSPATH
4.生效環境配置
source /etc/profile