1. 程式人生 > 其它 >關於Linux作業系統學習的筆記

關於Linux作業系統學習的筆記

目錄

一、環境搭建

安裝CentOs7(在本地安裝)

下載vmware

官網地址:https://www.vmware.com/cn.html

下載CentOS7

官網地址:https://www.centos.org/

二、基本操作

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
Linux
文件 /usr/include linux下開發和編譯應用程式所需要的標頭檔案 /usr/lib 常用的動態連結庫和軟體包的配置檔案 /usr/man 幫助文件 /usr/src 原始碼,linux核心的原始碼就放在/usr/src/linux裡 /usr/local/bin 本地增加的命令 /usr/local/lib 本地增加的庫
/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