前言
從2020年11月定下了以后所打算從事的方向開始,就開始學習LINUX基礎和LINUX環境編程,故謹以此文來記錄LINUX的基礎操作
宣告:因個人能力有限,本文僅是個人的學習記錄筆記,有錯誤之處還望指出
目錄
??1.LINUX的基礎介紹及目錄結構
??2.運行指令及基本操作指令
??3.VIM的操作
??4.開關機操作
??5.用戶管理
??6.檔案管理
??7.組管理和權限管
??8.任務調度
??9.磁盤磁區和掛載
??10.網路配置
??11.行程管理
1.linux的基礎介紹及目錄結構
LINUX的由來
1.LINUX的前身是UNIX作業系統,這個作業系統是由大名鼎鼎貝爾實驗室的肯·湯姆森所開發,之后因為覺得用B語言寫的UNIX太垃圾,他又和 丹尼斯·里奇(C語言之父)用C語言來撰寫了UNIX作業系統,這大大的提高了性能和可移植性,
2.LINUX是由芬蘭的一名大學生Linus Torvalds (林納斯)基于類UNIX作業系統所開發出來的作業系統,因為LINUX是開放原始碼、沒有著作權、技術社區用戶多的特點,故LINUX在全世界大牛的修補,更新下使得LINUX變得更加安全,穩定,
向大佬們致敬,正因為他們有開源精神才有了如今不斷發展的技術,有朝一日我也希望自己能貢獻一份綿薄之力
LINUX的目錄結構
- 在LINUX中一切皆檔案
- 在LINUX中有且只有一個根目錄(/)
- 在LINUX各個目錄存放的內容事先規劃好了
目錄結構

LINUX的7種檔案型別
- d(目錄)
- b(塊設備)
- c(字符設備)
- -(普通檔案)
- p(管道)
- l(鏈接)
- s(套接字)
LINUX的指令運行級別圖

2.運行指令及基本操作指令
基本操作指令
-
查看當前位置(pwd)
-
進入目錄(cd)
-
當前位置(./)
-
上一層目錄(…/)
-
查看幫助檔案(man [命令/組態檔/函式])
-
查看幫助檔案(help [命令])
-
顯示當前內容(ls)
-
查看檔案內容(cat 只讀方式)
-
查看檔案內容(more 全屏方式按頁顯示內容)
空格鍵(向下翻一頁)Enter(向下翻一行) -
添加快捷指令(alias 快捷指令 =“實際指令” 例如:alias cl=“clear”)
-
輸出內容到控制臺(echo [option ] [內容] 例如:echo $PATH 輸出當前環境的路徑)
-
創建軟鏈接(ln -s [源檔案/目錄] [軟鏈接名稱] 例如:ln -s /root /home/LinkToRoot 但是pwd還在/home下)
-
查看歷史指令( history )
顯示最近10條歷史指令( history 10 )
執行歷史編號為5的指令( !5 ) -
查看當前日期(date)
顯示年份(date +%Y )
顯示月(date +%m )
顯示日(date +%d )
顯示年月日時分秒(date +"%Y -%m-%d %H:%M:%S")
設定系統時間(date -s “2020-11-11 11:11:11”) -
查看日歷( cal )
查看指定年份日歷(cal year)
3.vim的操作
VIM介紹Vim是從 vi 發展出來的一個文本編輯器,代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程式員中被廣泛使用,
VIM的三種模式-
插入/編輯模式:輸入i(insert)或者a(append)
-
普通模式:打開檔案時候的模式
-
命令列模式:按下 ESC 和 :
快捷鍵的使用
- 拷貝當前行(命令列模式下:輸入yy)
- 洗掉當前行(命令列模式下: 輸入dd)
- 粘貼(命令列模式下: 輸入p)
- 設定檔案行號(命令列模式下: 輸入set nu/取消 set nonu)
- 到達檔案的首頁(命令列模式下: 輸入gg)
- 到達檔案的結尾(命令列模式下: 輸入G)
- 跳轉到指定行數(命令列模式下: 輸入行號+shift+g)
- 撤銷(命令列模式下: 輸入u)
- 查找指定內容(命令列模式下: 輸入/hello從上至下 或者 ?hello從下至上 找到要查找的內容按下n到下一個目標)
- 替換當前行的內容(命令列模式下: 輸入s/one/two 將所在行第一個one替換為two )
- 替換當前行的所有目標內容(命令列模式下: 輸入s/one/two/g 將所在行所有one替換為two )
- 替換所有符合的內容(命令列模式下: 輸入%s/one/two/g 將所有one替換為two )
- 垂直分屏 (命令列模式下: 輸入vsp+檔案名稱 )
- 水平分屏 (命令列模式下: 輸入sp+檔案名稱 切換的時候在命令列模式下按下 ctrl + w w )
- 退出檔案 (命令列模式下: 輸入wq(寫入退出)q!(強制退出) qall(退出所有) )
VIM的配置
- 用戶組態檔目錄(~/.vim/vimrc)
- 系統組態檔目錄(~/.vim/vimrc)
4.開關機操作
關機/重啟命令
- poweroff [選項] (可關閉 重啟 停止計算機)
不建議使用(強制直接關閉計算機電源可能導致行程資料丟失, 使系統處于不穩定狀態 (甚至損壞硬體設備)) - shutdown -h now(立即關機)
- shutdown -h 時間(指定時間后關機)
- halt(關機)
- shutdown -r(立即重啟)
- reboot(現在重啟)
reboot、shutdown 、-rhalt的區別
- reboot的作業程序差不多跟halt一樣﹐不過它是引發主機重啟﹐而halt是關機,它的引數與halt相差不多
- shutdown執行它的作業是送信號〔signal〕給init程式﹐要求它改變runlevel,(后文會詳細說明)
- halt就是呼叫shutdown -h,halt執行時﹐殺死應用行程﹐執行sync系統呼叫﹐檔案系統寫操作完成后就會停止內核,
5.用戶管理
用戶管理圖

用戶說明
- LINUX作業系統是一個多用戶多任務的作業系統,任何一個要使用系統資源的用戶都必須向管理員申請一個帳號,然后憑借此身份進入系統
- LINUX的用戶需要至少屬于一個組
用戶管理操作
-
添加用戶
useradd [option] username
例如: useradd -d /home/JJ kobe (利用-d選項指定在/home/JJ目錄下創建用戶kobe)
例如: useradd -g LAKER kobe (將用戶kobe加入LAKER) -
給用戶指定密碼
passwd username (如果無法成功在之前加上sudo,切換為root權限) -
洗掉用戶
userdel username (這種洗掉保留此用戶的家目錄,要是想一并洗掉可以在username之前加-r) -
查詢用戶資訊
id username -
切換用戶
在LINUX作業系統中,如果當前權限不夠,可用su - username,切換到高權限的用戶(如root)
su - 切換的用戶名(低權限到高權限要密碼,反之則必須要,退出原用戶exit) -
創建一個組
groupadd 組名 -
修改檔案所在組
chgrp 組名 檔案名 -
修改用戶所在組
usermod -g 組名 用戶名(
6.檔案管理
檔案的打包與解包
-
gzip/gunzip 檔案名(只能將檔案壓縮為*.gz檔案,壓縮后原檔案消失)
-
zip/unzip (這在實際開發中用的比較多)
zip -r 檔案/目錄(遞回壓縮)
unzip -d 檔案/目錄(將檔案解壓到指定地址)
例子:zip -r mypackage.zip /home/* (把家目錄下所有內容打包成mypackage.zip ) -
tar指令
tar -zcvf 目標檔案 源檔案(將指定檔案打包壓縮)
例子:tar -zcvf a.tar.gz 1.txt 2.txt(把當前目錄下的1.txt 2.txt 壓縮成 a.tar.gz )
tar -zxvf 源檔案 -C 地址(將指定檔案解壓到指定目錄)
例子:tar -zxvf a.tar.gz -C /opt/tmp(把當前目錄下的 a.tar.gz打包到 /opt/tmp)
檔案的權限

檔案的常用操作指令
- 創建目錄(mkdir 目錄名稱 不提示遞回洗掉檔案)
例子:mkdir -p /home/a/b/c( 遞回創建多級目錄) - 創建檔案(vim/touch 檔案名 不提示遞回洗掉檔案)
- 洗掉檔案(rm [-rf] 目錄/檔案名 不提示遞回洗掉檔案)
- 復制檔案(cp [-r] 源檔案 目標地址 )
- 移動/重命名檔案( mv oldfile newfile 復制到同一個目錄的話可以更改檔案名稱)
- 檔案所有者修改( chown [-R]newowner:newgroup file )
(例:chown -R kobe:LAKER hello )hello下的所有檔案屬于kobe,所在組是LAKER)
(例:chown kobe:LAKER hello )hello的檔案屬于kobe,所在組是LAKER)
注意:-R是遞回所有檔案的選項
搜索類查找指令
-
find [范圍 ] [選項]
按檔案名稱查找(find -name )
(例:find /home/ -name *.c )
按所有者稱查找(find -user )
(例:find /opt/ -user root)
按檔案大小稱查找(find -size + 大于 - 小于 )
(例:find /opt/ -size +20M 查找檔案大小大于20M的檔案) -
grep [選項] [查找內容 ]
常常搭配管道 | 使用
(例:ps -aux | grep -n root ?查找系統運行的所有者為root的內容,且區分大小寫)
7.組管理和權限管理
權限管理/strong>
- 用+ - = 變更權限(u :所有者 g :所在組 o:其他人 )
(例:chmod u=rwx,g = rx,o = x 1.c )所有者有全部權限,所在組有讀執行權限,其他只有執行權限
(例:chmod g -w,o + x 1.c )所在組沒有寫權限,其他添加只有執行權限 - 用數字變更權限(r:4 w :2 x:1 )
(例:chmod 777 1.c )1.c檔案所有人都滿權限
8.任務調度
下文基于CENTOS實作
任務調度
- 含義:在某個時間執行特定的命令或者程式
- 語法 : crontab [option]
-e 撰寫定時任務
-l 查詢crontab任務
-r 洗掉用戶所有的crontab任務
任務調度的符號說明

案例:每隔一個小時把當前日期列印到/home/date檔案中
- 撰寫一個腳本date.sh
- 輸入 data >> /home/date
- 給date.sh可執行權限(chmod 777 date.sh)
- 撰寫任務調度(crontab -e)
* */1 * * * /home/date.sh
9.磁盤磁區和掛載
磁區的基本知識
- mbr磁區
最多支持四個主磁區
系統只能安裝在主磁區
拓展磁區要占一個主磁區
MBR最大支持2TB,但是擁有最好的兼容性 - gtb磁區
支持無線多個主磁區(但是作業系統會限制,Windows下最多128個磁區)
最大支持18EB的大容量(1EB = 1024PB 1PB = 1024TB)
Win7 64位后支持gtp
LINUX磁區原理圖

主要操作指令
- 查看磁區情況(lsblk -f)
幫助記憶:老師不離開(lsblk) - 查看磁區大小(lsblk)
- 查詢系統整體的磁盤使用情況(df -l )-h可以查看具體大小
- 查詢指定的目錄磁盤使用情況(du -h 目錄 )-h可以查看具體大小
例:du -ach --max-depth=1 /home ?查看home目錄的磁盤使用情況(深度為1)
案例:給LINUX添加一個新的硬碟(掛載到/home/newdisk下)
- 虛擬機添加硬碟
- 磁區
fdisk /dev/sdbsdb要視掛載硬碟資訊情況而定
先輸入n(新增磁區)然后選擇p,磁區型別為主磁區,兩次回車默認剩余全部空間,最后輸入w寫入磁區并退出 - 格式化磁盤
mkfs -t ext4 /dev/sdb1ext4為磁區型別 - 掛載
mount /dev/sdb1 /newdisk
取消掛載
umount /dev/sdb1 或者 umount /newdisk - 永久掛載
在/etc/fstab中加入如下指令
/dev/sdb1 ? ? ? /home/newdisk ? ext4 ?defaults ?00
mount -a 立即生效
如果未生效,建議重啟
10.網路配置
此處為永久配置:是通過修改組態檔來配置(基于centos)
案例:配置網路
- 打開組態檔
vim /etc/sysconfig/network-scripts/ifcfg-eth0權限不足的話使用切換到root - 將BOOTPROTO改為static
- IPADDR改為"192.168.184.130"
- 修改ONBOOT = yes
static為靜態獲取ip?
dhcp態獲取ip - 修改過后重啟服務 service network restart
UBUNTU下的組態檔在/etc/network/interfaces下修改方法類似
11.行程管理
行程概念
- 在LINUX中每執行一個程式(代碼)為行程,每一個行程有唯一的行程號
- 每一個行程都會對應一個父行程,而父行程下可以有多個子行程
- 每一個行程可能以兩種方式存在(前臺/后臺)
前臺是可見的行程,有輸入輸出的
后臺是不可見的(也叫守護行程或者精靈行程) - 一般系統的服務都是以后臺運行,直到關機才結束
行程相關操作指令
-
顯示系統執行的行程(靜態)ps -aux
查看父行程 ps -ef
例:查看sshd的父行程 ps -ef | grep sshd -
顯示系統執行的行程(動態)top [option]
查看特定用戶 top -u root
中止特定行程 top k 行程id
指定10s后更新行程資訊 top -d 10 -
中止行程kill killall
強制中止 kill -9 行程號
此處-9是因為kill的信號是9號
殺死父行程 killall 行程名稱 -
監控網路情況 netstat [option]
查看系統所有網路服務 netstat -anp
總結
??從之前對LINUX的不了解,到后面驚嘆他的神奇,簡簡單單幾個運算子就可以完成WINDOWS下的復雜操作這也太帥了吧,漸漸的開始依賴LINUX的便捷,并且沒有那么多彈窗廣告 (我想可能垃圾廣告還沒發現這未開發的領地),現在已經習慣在LINUX下完成日常的使用(除了打游戲,虛擬機下開虛擬機套娃就算了)初學LINUX的時候覺得每一個運算子都很有趣,而且自以為英語還不錯,不上機實操,結果好家伙一個星期差不多全忘記,所以多操作,總結還是很不錯的,接下來還有很長的路,而賽過要努力呀!
建議
- 一定要多上機實操
- 多總結規律,很多知識都是相通的
- 學會使用man手冊
- 最后歡迎你來到LINUX的學習,準備接受互聯網的無情毒打吧
而塞過 2021-1-6
關于我:一個就要進入互聯網,經歷社會毒打的99小伙
下一站(javascript)
下一站(html)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/245774.html
標籤:其他
