Linux學習

      網友投稿 705 2025-04-01

      linux系統


      1、內核引導

      當計算機打開電源后,首先是BIOS開機自檢,按照BIOS中設置的啟動設備(通常是硬盤)來啟動。

      操作系統接管硬件以后,首先讀入 /boot 目錄下的內核文件。

      2、運行init

      init 進程是系統所有進程的起點,你可以把它比擬成系統所有進程的老祖宗,沒有這個進程,系統中任何進程都不會啟動。

      init 程序首先是需要讀取配置文件 /etc/inittab。

      3、運行級別

      許多程序需要開機啟動。它們在Windows叫做"服務"(service),在linux就叫做"守護進程"(daemon)。

      init進程的一大任務,就是去運行這些開機啟動的程序。

      但是,不同的場合需要啟動不同的程序,比如用作服務器時,需要啟動Apache,用作桌面就不需要。

      Linux允許為不同的場合,分配不同的開機啟動程序,這就叫做"運行級別"(runlevel)。也就是說,啟動時根據"運行級別",確定要運行哪些程序。

      Linux系統有7個運行級別(runlevel):

      運行級別0:系統停機狀態,系統默認運行級別不能設為0,否則不能正常啟動

      運行級別1:單用戶工作狀態,root權限,用于系統維護,禁止遠程登陸

      運行級別2:多用戶狀態(沒有NFS)

      運行級別3:完全的多用戶狀態(有NFS),登陸后進入控制臺命令行模式

      運行級別4:系統未使用,保留

      運行級別5:X11控制臺,登陸后進入圖形GUI模式

      運行級別6:系統正常關閉并重啟,默認運行級別不能設為6,否則不能正常啟動

      4、系統初始化

      在init的配置文件中有這么一行:

      si::sysinit:/etc/rc.d/rc.sysinit它調用執行了/etc/rc.d/rc.sysinit,而rc.sysinit是一個bash shell的腳本,它主要是完成一些系統初始化的工作,rc.sysinit是每一個運行級別都要首先運行的重要腳本。

      它主要完成的工作有:激活交換分區,檢查磁盤,加載硬件模塊以及其它一些需要優先執行任務。

      l5:5:wait:/etc/rc.d/rc 5

      Linux學習

      這一行表示以5為參數運行/etc/rc.d/rc,/etc/rc.d/rc是一個Shell腳本,它接受5作為參數,去執行/etc/rc.d/rc5.d/目錄下的所有的rc啟動腳本,/etc/rc.d/rc5.d/目錄中的這些啟動腳本實際上都是一些連接文件,而不是真正的rc啟動腳本,真正的rc啟動腳本實際上都是放在/etc/rc.d/init.d/目錄下。

      而這些rc啟動腳本有著類似的用法,它們一般能接受start、stop、restart、status等參數。

      /etc/rc.d/rc5.d/中的rc啟動腳本通常是K或S開頭的連接文件,對于以 S 開頭的啟動腳本,將以start參數來運行。

      而如果發現存在相應的腳本也存在K打頭的連接,而且已經處于運行態了(以/var/lock/subsys/下的文件作為標志),則將首先以stop為參數停止這些已經啟動了的守護進程,然后再重新運行。

      這樣做是為了保證是當init改變運行級別時,所有相關的守護進程都將重啟。

      至于在每個運行級中將運行哪些守護進程,用戶可以通過chkconfig或setup中的"System Services"來自行設定。

      建立終端

      rc執行完畢后,返回init。這時基本系統環境已經設置好了,各種守護進程也已經啟動了。

      init接下來會打開6個終端,以便用戶登錄系統。在inittab中的以下6行就是定義了6個終端:

      1:2345:respawn:/sbin/mingetty tty1

      2:2345:respawn:/sbin/mingetty tty2

      3:2345:respawn:/sbin/mingetty tty3

      4:2345:respawn:/sbin/mingetty tty4

      5:2345:respawn:/sbin/mingetty tty5

      6:2345:respawn:/sbin/mingetty tty6

      從上面可以看出在2、3、4、5的運行級別中都將以respawn方式運行mingetty程序,mingetty程序能打開終端、設置模式。

      同時它會顯示一個文本登錄界面,這個界面就是我們經常看到的登錄界面,在這個登錄界面中會提示用戶輸入用戶名,而用戶輸入的用戶將作為參數傳給login程序來驗證用戶的身份。

      用戶登錄系統

      一般來說,用戶的登錄方式有三種:

      (1)命令行登錄

      (2)ssh登錄

      (3)圖形界面登錄

      對于運行級別為5的圖形方式用戶來說,他們的登錄是通過一個圖形化的登錄界面。登錄成功后可以直接進入 KDE、Gnome 等窗口管理器。

      而本文主要講的還是文本方式登錄的情況:當我們看到mingetty的登錄界面時,我們就可以輸入用戶名和密碼來登錄系統了。

      Linux 的賬號驗證程序是 login,login 會接收 mingetty 傳來的用戶名作為用戶名參數。

      然后 login 會對用戶名進行分析:如果用戶名不是 root,且存在 /etc/nologin 文件,login 將輸出 nologin 文件的內容,然后退出。

      這通常用來系統維護時防止非root用戶登錄。只有/etc/securetty中登記了的終端才允許 root 用戶登錄,如果不存在這個文件,則 root 用戶可以在任何終端上登錄。

      /etc/usertty文件用于對用戶作出附加訪問限制,如果不存在這個文件,則沒有其他限制。

      圖形模式與文字模式的切換方式

      Linux預設提供了六個命令窗口終端機讓我們來登錄。

      默認我們登錄的就是第一個窗口,也就是tty1,這個六個窗口分別為tty1,tty2 … tty6,你可以按下Ctrl + Alt + F1 ~ F6 來切換它們。

      如果你安裝了圖形界面,默認情況下是進入圖形界面的,此時你就可以按Ctrl + Alt + F1 ~ F6來進入其中一個命令窗口界面。

      當你進入命令窗口界面后再返回圖形界面只要按下Ctrl + Alt + F7 就回來了。

      如果你用的vmware 虛擬機,命令窗口切換的快捷鍵為 Alt + Space + F1~F6. 如果你在圖形界面下請按Alt + Shift + Ctrl + F1~F6 切換至命令窗口。

      Linux 關機

      在linux領域內大多用在服務器上,很少遇到關機的操作。畢竟服務器上跑一個服務是永無止境的,除非特殊情況下,不得已才會關機。

      正確的關機流程為:sync > shutdown > reboot > halt

      關機指令為:shutdown ,你可以man shutdown 來看一下幫助文檔。

      例如你可以運行如下命令關機:

      sync 將數據由內存同步到硬盤中。

      shutdown 關機指令,你可以man shutdown 來看一下幫助文檔。例如你可以運行如下命令關機:

      shutdown –h 10 ‘This server will shutdown after 10 mins’ 這個命令告訴大家,計算機將在10分鐘后關機,并且會顯示在登陸用戶的當前屏幕中。

      shutdown –h now 立馬關機

      shutdown –h 20:25 系統會在今天20:25關機

      shutdown –h +10 十分鐘后關機

      shutdown –r now 系統立馬重啟

      shutdown –r +10 系統十分鐘后重啟

      reboot 就是重啟,等同于 shutdown –r now

      halt 關閉系統,等同于shutdown –h now 和 poweroff

      最后總結一下,不管是重啟系統還是關閉系統,首先要運行 sync 命令,把內存中的數據寫到磁盤中。

      Linux基礎命令

      系統信息命令

      arch 顯示機器的處理器架構

      uname -m 顯示機器的處理器架構

      uname -r 顯示正在使用的內核版本

      dmidecode -q 顯示硬件系統部件 - (SMBIOS / DMI)

      hdparm -i /dev/hda 羅列一個磁盤的架構特性

      hdparm -tT /dev/sda 在磁盤上執行測試性讀取操作

      cat /proc/cpuinfo 顯示CPU info的信息

      cat /proc/interrupts 顯示中斷

      cat /proc/meminfo 校驗內存使用

      cat /proc/swaps 顯示哪些swap被使用

      cat /proc/version 顯示內核的版本

      cat /proc/net/dev 顯示網絡適配器及統計

      cat /proc/mounts 顯示已加載的文件系統

      lspci -tv 羅列 PCI 設備

      lsusb -tv 顯示 USB 設備

      #顯示系統日期

      cal 2013 顯示2013年的日歷表

      date xxxxxxxxxxxx.xx 設置日期和時間 - 月日時分年.秒

      clock -w 將時間修改保存到 BIOS

      Linux關機重啟

      shutdown -h now 關閉系統

      init 0 關閉系統

      telinit 0 關閉系統

      shutdown -h hours:minutes & 按預定時間關閉系統

      shutdown -c 取消按預定時間關閉系統

      shutdown -r now 重啟

      reboot 重啟

      logout 注銷

      Linux文件和目錄操作

      cd /home 進入 ‘/ home’ 目錄’

      cd … 返回上一級目錄

      cd …/… 返回上兩級目錄

      cd 進入個人的主目錄

      cd ~user1 進入個人的主目錄

      cd - 返回上次所在的目錄

      #pwd顯示工作路徑

      ls 查看目錄中的文件

      ls -F 查看目錄中的文件

      ls -l 顯示文件和目錄的詳細資料

      ls -a 顯示隱藏文件

      ls [0-9] 顯示包含數字的文件名和目錄名

      tree 顯示文件和目錄由根目錄開始的樹形結構(1)

      lstree 顯示文件和目錄由根目錄開始的樹形結構(2)

      mkdir dir1 創建一個叫做 ‘dir1’ 的目錄’

      mkdir dir1 dir2 同時創建兩個目錄

      mkdir -p /tmp/dir1/dir2 創建一個目錄樹

      rm -f file1 刪除一個叫做 ‘file1’ 的文件’

      rmdir dir1 刪除一個叫做 ‘dir1’ 的目錄’

      rm -rf dir1 刪除一個叫做 ‘dir1’ 的目錄并同時刪除其內容

      rm -rf dir1 dir2 同時刪除兩個目錄及它們的內容

      mv dir1 new_dir 重命名/移動 一個目錄

      cp file1 file2 復制一個文件

      cp dir/* . 復制一個目錄下的所有文件到當前工作目錄

      cp -a /tmp/dir1 . 復制一個目錄到當前工作目錄

      cp -a dir1 dir2 復制一個目錄

      ln -s file1 lnk1 創建一個指向文件或目錄的軟鏈接

      ln file1 lnk1 創建一個指向文件或目錄的物理鏈接

      touch -t 0712250000 file1 修改一個文件或目錄的時間戳 - (YYMMDDhhmm)

      file file1 outputs the mime type of the file as text

      iconv -l 列出已知的編碼

      Linux文件搜索

      find / -name file1 從 ‘/’ 開始進入根文件系統搜索文件和目錄

      find / -user user1 搜索屬于用戶 ‘user1’ 的文件和目錄

      find /home/user1 -name *.bin 在目錄 ‘/ home/user1’ 中搜索帶有’.bin’ 結尾的文件

      find /usr/bin -type f -atime +100 搜索在過去100天內未被使用過的執行文件

      find /usr/bin -type f -mtime -10 搜索在10天內被創建或者修改過的文件

      find / -name *.rpm -exec chmod 755 ‘{}’ ; 搜索以 ‘.rpm’ 結尾的文件并定義其權限

      find / -xdev -name *.rpm 搜索以 ‘.rpm’ 結尾的文件,忽略光驅、捷盤等可移動設備

      locate *.ps 尋找以 ‘.ps’ 結尾的文件 - 先運行 ‘updatedb’ 命令

      whereis halt 顯示一個二進制文件、源碼或man的位置

      which halt 顯示一個二進制文件或可執行文件的完整路徑

      Linux網絡

      ifconfig eth0 顯示一個以太網卡的配置

      ifup eth0 啟用一個 ‘eth0’ 網絡設備

      ifdown eth0 禁用一個 ‘eth0’ 網絡設備

      ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址

      ifconfig eth0 promisc 設置 ‘eth0’ 成混雜模式以嗅探數據包 (sniffing)

      dhclient eth0 以dhcp模式啟用 ‘eth0’

      route -n show routing table

      route add -net 0/0 gw IP_Gateway configura default gateway

      route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16

      Linux

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:為什么制造業中的可追溯性很重要
      下一篇:WPS表格技巧如何快速求去掉最高低分的平均分(wps去掉最高分和最低分的平均成績)
      相關文章
      456亚洲人成在线播放网站| 亚洲国产精品一区第二页| 国产精品亚洲一区二区三区| 亚洲人成激情在线播放| 亚洲人成电影在在线观看网色| 亚洲精品午夜无码专区| 亚洲日本成本人观看| 最新亚洲精品国偷自产在线| 亚洲av无码专区在线| 亚洲人成在久久综合网站| 91亚洲精品自在在线观看| 亚洲制服丝袜一区二区三区| 亚洲av永久无码嘿嘿嘿| 亚洲制服丝袜在线播放| 国产亚洲精品VA片在线播放| 亚洲熟女精品中文字幕| 亚洲av无码专区首页| 精品久久亚洲一级α| 亚洲AV无码一区二三区 | 精品久久久久亚洲| 爱情岛论坛亚洲品质自拍视频网站| 精品国产亚洲第一区二区三区| 亚洲Av无码国产一区二区 | 麻豆亚洲AV成人无码久久精品 | 国产精品成人亚洲| 亚洲免费日韩无码系列 | 亚洲视频一区在线观看| 亚洲国产精品久久人人爱| 亚洲娇小性xxxx| 亚洲成a∨人片在无码2023 | 亚洲Av无码专区国产乱码DVD| 久久久亚洲精品视频| 久久久久亚洲精品无码蜜桃| 亚洲成人午夜电影| 亚洲色丰满少妇高潮18p| 综合偷自拍亚洲乱中文字幕| av在线亚洲欧洲日产一区二区| 亚洲精品夜夜夜妓女网| 中文字幕亚洲精品资源网| 亚洲一级片在线播放| 亚洲第一第二第三第四第五第六|