紅帽子linux(1分鐘了解紅帽企業 Linux 9 RHEL 9 的新特性)
紅帽子linux文章列表:
- 1、1分鐘了解紅帽企業 Linux 9 RHEL 9 的新特性
- 2、所有的國產PC操作系統,都是linux套殼,能自主可控么?
- 3、Linux入門的基礎知識點匯總,有這篇就夠了
- 4、Rocky Linux 9.0 正式發布
- 5、Linux番外篇VM12虛擬機安裝Redhat7.3視頻
1分鐘了解紅帽企業 Linux 9 RHEL 9 的新特性
本頭條號每天堅持更新原創干貨技術文章,歡迎關注本頭條號"Linux學習教程",公眾號名稱“Linux入門學習教程"。
如需學習視頻,請復制以下信息到手機瀏覽器或電腦瀏覽器上:
h5.zcwyou.com
1. 前言
本文主要講解紅帽企業 Linux 9 (RHEL 9 ) 的新特性。
紅帽企業 Linux 9 (RHEL 9 ) 的新特性
紅帽宣布Red Hat Enterprise Linux 9 (RHEL 9)已可用,這是世界領先的企業Linux平臺的最新版本。RHEL 9提供了更靈活和穩定的基礎,以支持混合云創新,并為跨物理、虛擬、私有和公共云和邊緣部署部署應用程序和關鍵工作負載提供更快、更一致的體驗。
2. Kernel 5.14: 升級了操作系統的內核
Kernel 5.14
2.1 Wireguard已啟用
輕量級服務提供了VPN功能,具有新的加密技術和更快的響應時間
2.2 Core Scheduling
支持跨CPU核心的同時多線程處理,以提高性能。同時幫助緩解幽靈和熔毀等漏洞。
3. RHEL for ARM
在任何時間以任何足跡交付任何應用程序
RHEL for ARM
同樣偉大的操作系統,現在支持更多的平臺
RHEL Server for ARM
RHEL Server for HPC for ARM
支持所有ARM System Ready平臺
可在全球范圍內獲得
提供標準,高級、智能管理
4. Red Hat Enterprise Linux for Edge
Edge Computing
確保了穩定性和部署靈活性
4.1 Edge Management
零接觸資源調配、運行狀況可見性和安全補救
4.2 自動容器更新和回滾
使用內置的自動回滾功能下載、部署和更新映像
4.3 大版本升級支持
在后臺透明地進行操作系統升級
4.4 Simplified install and on-boarding
通過網絡或物理安裝介質部署映像
5. Red Hat Enterprise Linux image builder
大規模部署RHEL系統時節省時間并確保一致性
5.1 支持裸機部署
通過創建帶有內置kickstart文件的安裝介質,將定制的RHEL OS映像直接安裝到物理硬件上,以自動化該過程。
5.2 支持自定義文件系統
組裝具有多個不同的非LVM文件系統裝入點的RHEL OS映像,而不是單個大型根文件系統。
6. Red Hat Enterprise Linux image builder As Service服務
快速創建一致的定制Gold Image
適用于大多數混合云環境
無需構建基礎設施
簡單地集成到部署工作流中
用于構建混合云的云鏡像并部署到選擇云服務提供商
7. 簡化的開發人員體驗
工具、訪問和應用程序開發方面的改進
Red Hat Enterprise Linux簡化的開發人員體驗
7.1 支持更新的開發工具
LLVM,Rust,和Go編譯器
gcc 11
glibc 2.34
7.2 已完成到Python3的遷移(3.9)
7.3 重新定義Application Streams
8. Podman和UBI
容器功能的更新
Podman和UBI
8.1 Podman 4.0
Podman包括DNS名稱解析、改進的IPv6支持和雙棧支持。
8.2 RHEL 9通用基礎鏡像
RHEL 9的UBI鏡像,其大小從標準鏡像到Micro、Minimal和Init鏡像。
8.3 Cgroup2 enabled by default
容器現在原生集成到cqroup2中,通過進程定義提高資源利用率。
9. RHEL System Roles
一組受支持的ansible角色,可確保一致的工作流并簡化大規模手動任務的執行。
ansible
Firewall
HA Cluster
Microsoft SQL Server
SAP (updated with Fencing agent for IBM PowerVS)
Postfix
Web Console
Also available:
IPMI Hardware Management Automation
10. Red Hat Enterprise Linux web console
一個基于web的管理界面,用于簡化部署、日常管理和復雜任務
增強的web控制臺性能指標
內核實時補丁管理
通過Sudo和ssh支持智能卡身份驗證
將主機設備傳遞到虛擬機
(技術預覽)Stratis存儲支持
11. Performance co-pilot
用于深入性能分析的工具包
改進了PCP的可擴展性
增強的web控制臺性能指標
鏈路時間優化(LTO)現在可用
aarch64的高效內存分配
12. RHEL9在默認情況下更加堅固
更好地保護現有系統
增強的SSSD日志記錄
改進的SELinux性能
集成OpenSSL 3
默認情況下已禁用ssh的Root登錄
默認情況下禁用SHA-1
Cgroup2
對容器的subuid支持
13. Red Hat開發者團隊訂閱
Access to Red Hat Enterprise Linux
授權整個組織的團隊在同一平臺上構建、測試和運行
在新應用程序開發和向生產環境過渡之間實現更緊密的耦合。
免費訪問RedHat Enterprise Linux@進行開發工作
單個組織訂閱最多25000個物理或虛擬開發人員節點
用于開發環境,自服務,提供付費支持選項
持續不斷的安全更新和補丁
遵守主要的政府、商業和安全標準
通過Red Hat Insiahts持續監控產品的漏洞
通過Red Hat CloudAccess實現遷移到紅帽認證的公共云
14. RHEL 9和RHEL 8的主要差異
默認不再支持SHA1算法
NetworkManager現在使用秘鑰文件來存儲配置信息。
刪除了通過/etc/selinux/config禁用SELinux的支持
不再支持TPM12安全加密處理器
XFS文件系統現在支持bigtime和inobtcount功能
使用默認參數創建的XFS文件系統將無法在RHEL8中掛載
VDO管理軟件已被刪除
KVM不支持基于RHEL75及更早版本的虛擬機類型
硬件支持變化
對于30多款老舊硬件不再維護驅動
除了兩款老舊RoCE設備的驅動
15. 總結
RHEL 9包括一些特性和增強,通過使用一個通用的、靈活的基礎來支持創新和加速上市時間,從而幫助企業實現長期的IT價值。
如果喜歡本文,歡迎轉發。本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下鏈接:
https://www.linuxrumen.com/rmxx/2117.html
所有的國產PC操作系統,都是linux套殼,能自主可控么?
雖然和windows相比,一個能打的都沒有,但說真的,國產電腦操作系統的數量還是相當多的,早期有紅旗linux、中標linux、銀河麒麟、普華等等,現在還有UOS、新支點、歐拉、龍蜥等等。
而這些國產PC操作系統,有一個共同點,大家都是基于linux而來,說得不客氣一點,更多的都是linux套殼,然后加上一些本地化的美化和修改,就變成了國產操作系統。
那么問題就來了,基于linux套殼的國產操作系統,究竟能不能做到自主可控?這也是網友們經常質疑的問題。
其實所謂的自主可控,其實就包括兩個方面,一個是自主,另外一個是可控。
所謂自主,就是依靠自身研發設計,全面掌握產品核心技術、能夠自己實現產品的研發、生產、維護、升級,不需要依賴別人。
從這一點來看,國產的基于linux的系統是做到了的,因為linux是開源的,不存在不允許使用的情況,linux的代碼中,有眾多的屬于中國企業、或中國開發者貢獻的代碼,誰也取代不了。
可謂可控,就是自己可以控制整個系統,不會被別人卡脖子,一切全掌握在自己手中,自己完全擁有所屬權,控制權,想怎么去動它都是自己的事情。
從這一點來看,國產操作系統也是做到了,因為基于linux開發系統之后,這一套系統完全屬于開發者,不需要別人的授權許可,自己完全是掌控的。
很多網友吐槽,為何不自己搞一個內核,為何一定要基于linux內核,事實上之前已經有很多業內人士說過了,搞一個操作系統的內核,其實就是重復造輪子的事情,沒有必要,有成熟的開源的,安全穩定的linux可用,為何還要自己去搞?
另外除了windows之外,其它所有的操作系統,可以說最開始都是基于unix而來,下圖是一個相對并不那么完整的操作系統的一些來源圖。
大家可以看到unix是linux、iOS、MacOS、安卓AOSP、鴻蒙等系統的起源,大家最終都是基于unix,也沒有誰否認蘋果的iOS、蘋果的MacOS不是自主可控的。
而基于linux,也有各種各樣的linux發行版,比如redhat、debian、centOS、SUSE等,大家也沒有說這些發行版基于linux,就不能自主可控了。
所以糾結國產系統是linux套殼,從而擔憂其不是自主可控的,是完全沒有必要的。我們應該擔心的是linux系統下的生態問題,還不能與windows媲美,從而無法對windows進行替代。
Linux入門的基礎知識點匯總,有這篇就夠了
很多粉絲給一口君留言,想要學習Linux資料,其實關注一口君,后臺回復 1024 ,就有很多非常不錯的電子書,但是有一個問題,很多粉絲是初學者,而這一大堆電子書,估計隨便一本,還沒看完就基本上開始勸退了。
到底要如何linux入門呢?
因為Linux的知識體系非常的龐大,IT行業很多領域都需要使用到Linux,有運維的、有應用程序開發的、有驅動開發的、有系統優化的、有搞單片機的、有做系統移植的、有做網絡產品的等等。
總結一句話,IT的很大部分從業者都需要掌握Linux的部分知識,但是由于每個人的從事領域不一樣,對Linux的要求也不一樣,這就直接導致,網上搜索學習路線有很多種,還有就是推薦的書籍很多都不利于初學者。
比如Linux命令的學習,很多人都力推《鳥哥的私房菜》這本書,一口君在直播間多次強調,初學者不要看這本書,不是說這本書不好,而是,這本書其實你要當做一本工具書來看,如果你的目標是想快速的基于Linux做一些開發工作,最迫切的就是快速掌握一些基本的命令,一些和開發相關的最基礎的知識,而不是去學習那些可能這輩子都用不到的命令。
為了讓初學者更好的學習Linux,入門Linux,一口君特地整理了Linux入門必須掌握的一些基礎知識點,掌握這些知識點之后,就可以學習C編程的知識了,后續遇到一些不熟悉的命令和配置,只需要網上搜索下就可以很快上手了。
一、Linux操作系統概述
1、發展
1991 Linus Linux 0.0.1版,代碼為8K行。現在最新版本為5.12.4。Linux加入了GNU,整體基于GPL協議,允許開源、分享傳播、修改。
內核下載的地址: https://www.kernel.org/
2、組成
kernel內核:
核心程序,用于管理硬件設備、系統的線程進程、內存、交換空間、文件系統、精靈進程(守護進程)等。主要實現系統程序與硬件之間的控制管理功能。
Shell:
包裹在內核之外的人機交互界面,用于用戶和內核之間打交道的功能,類似于windows的cmd。 通過Shell將輸入的命令與內核通訊,好讓內核可以控制硬件并正確無誤的操作工作。
Shell有著不同的分類,比如Bourne shell(sh),Korn shell(ksh)、C shell (csh)、Bourne-again shell(bash)、tcsh。其中最常用的有csh和bash。
ubuntu 16.04的terminal如下:
user application Linux根據程序的運行,分為用戶空間和內核空間,簡單的理解就是,普通的應用程序運行在用戶空間,一些涉及到系統核心資源的操作的程序運行在內核空間,比如TCP/IP協議棧、驅動、進程調度、內存管理、文件系統等都運行于Linux內核空間,
其實一些應用程序當需要訪問系統資源的時候,必須通過系統調用,通過一些內核函數將系統資源由內核空間拷貝到用戶空間。
Files System: 文件系統,管理文件和目錄。
3、Linux的特性:
多用戶、多任務(進程、線程處理),多平臺,圖形化界面(x-windows)、硬件低配置、通信與聯網、應用程序的支持(編輯器、編輯工具、數據庫、辦公軟件、圖形處理、Internet應用、游戲)。
二、Linux操作系統安裝
1、Linux的選擇
red hat: 企業級的,已經開始收費(商用)。
CentOS 是RHEL的克隆版本。RedHat一直都提供源代碼的發行方式,CentOS就是將RedHat發行的源代碼重新編譯一次,形成一個可使用的二進制版本。由于Linux的源代碼是GNU,所以從獲得RedHat的源代碼到編譯成新的二進制,都是合法。只是RedHat是商標,所以必須在新的發行版里將RedHat的商標去掉。 通常搭建服務器選用CentOS。
ubuntu: 桌面開源的,比較純正的Linux,android官方指定的編譯操作系統,發展快、已支持ARM架構。 ubuntu在開發者中,非常受歡迎,一口君所有的文章和視頻都以ubuntu為主。
2、安裝Ubuntu Desktop
Linux環境安裝篇幅較長,安裝詳細步驟參考這篇文章: 《linux環境搭建-ubuntu16.04安裝》
3、基本操作
ctrl alt F2 可以進入終端界面ctrl alt F7 進入桌面界面ctrl alt t 文本編輯
我們通常用快捷鍵ctrl alt t打開一個終端,這個一定要記住。
其中:
peng 當前用戶ubuntu 主機名~ 當前用戶主目錄,/home/peng,每一個用戶都會在/home下創建一個與用戶名同名的目錄$ 普通用戶
如果切換到管理員用戶
root 管理員/home/peng 當前工作目錄# 當前是管理員
三、Linux文件系統及文件基礎
1、文件系統概述
Linux 中一切皆為文件,文件系統用來組織計算機的文件和資料的系統,是操作系統封裝的一個系統服務程序,實際是一個軟件程序,用來存儲和管理計算機文件和資料。 文件系統分類如下:
磁盤文件系統:NTFS,EXT3閃存文件系統:JFFS2,YAFFS數據庫文件系統:BFFS,WINFS網絡文件系統:NFS虛擬文件系統:VFS(Proc)
文件系統的功能:能定義文件的組織方式,文件的結構;提供建立和存取文件的環境(目錄和文件)
2、Linux文件系統及文件
EXT3:是一個日志方式的文件系統,系統中的每個文件都有索引,用戶對文件的每個操作都會記錄在日志中,形成一個任務隊列。
SWAP:是交換分區的文件系統,類似于windows的虛擬內存,其實現的方式有以下兩種: 第一種是進行內存排列像內存池一樣,進行優化; 第二種是把硬盤上的空間模擬成內存。 Swap是Linux 的虛擬內存,在安裝時要設置好大小,一般設置為物理內存的兩倍。
目錄結構 linux 的結構是由很多文件塊區組成,與Windows分區不同。
3. Linux文件屬性:
Linux文件屬性一共7種:
1、普通文件
使用 ls -l 命令后,
第一列第一個字符為 "-" 的文件為普通文件.
2、目錄文件
Linux 中的目錄也是文件,目錄文件中保存著該目錄下其他文件的 inode 號 和文件名等信息,目錄文件中的每個數據項都是指向某個文件 inode 號的鏈接,刪除文件名就等于刪除與之對應的鏈接。目錄文件的字體顏色是藍色,使用 ls -l 命令查看,第一個字符為"d"(directory)。
目錄文件的權限:
1)r 表明該目錄文件具有可讀權限,即可以使用 ls 命令查看該目錄的存儲情況;
2)w 表明該目錄文件具有寫權限,即可以往該目錄下添加、修改、刪除文件;
3)x 表明該目錄文件具有可執行文件,即可以使用 cd 命令進入到該目錄下。
可以使用 chmod 指令來改變文件的權限。
3、鏈接文件
鏈接文件一般指的是一個文件的軟連接(或符號鏈接),使用 ls -l 命令查看,第一個符號為 "l",文件名為淺藍色,如下:
這里,test_softlink 就是一個鏈接文件,從結果上還可以看到它是文件 test.txt 的軟鏈接,刪除原文件 test.txt 的話,對應的軟鏈接文件 test_softlink 也會消失。可以使用 ln 命令來創建一個文件的鏈接文件:
1)軟鏈接 軟鏈接(又稱符號鏈接),使用 ln -s file file_softlink 命令可以創建一個文件的軟鏈接文件:
ln -s test.txt test_softlink
軟鏈接相當于給原文件創建了一個快捷方式,如果刪除原文件,則對應的軟鏈接文件也會消失。
2)硬鏈接 硬鏈接,相當于給原文件取了個別名,其實兩者是同一個文件,刪除二者中任何一個,另一個不會消失;對其中任何一個進行更改,另一個的內容也會隨之改變,因為這兩個本質上是同一個文件,只是名字不同。使用 ls -i 命令查看,可以發現硬鏈接的兩個文件的 inode 號是一樣的:
同樣的,使用 ln 命令可以創建一個文件的硬鏈接:
ln test.txt test_hardlink
4、設備文件
Linux 中的硬件設備如硬盤、鼠標等也都被表示為文件,即為設備文件。
設備文件一般存放在 /dev/ 目錄下,文件名為黃色,如下:
設備文件分兩種:
1)塊設備文件:
塊設備文件支持以塊(block)為單位的訪問方式。在 EXT4 文件系統中,一個 block 通常為 4KB 的大小,也就是說每次可以存取 4096(或其整數倍) 個字節的數據。應用程序可以隨機訪問塊設備文件的數據,程序可以自行確定數據的位置,硬盤、軟盤等都是塊設備。使用 ls -l 命令查看,塊設備文件的第一個字符是 "b"(block)。
2)字符設備文件:
字符設備文件以字節流的方式進行訪問,由字符設備驅動程序來實現這種特性,這通常要用到 open、close、read、write 等系統調用。字符終端、串口和鍵盤等就是字符設備。另外,由于字符設備文件是以文件流的方式進行訪問的,因此可以順序讀取,但通常不支持隨機存取。使用 ls -l 命令查看,字符設備文件的第一個字符是 "c"(char)。
5、管道文件(FIFO文件)
管道文件主要用于進程間通信,使用 ls -l 命令查看,第一個字符為 "p"(pipe)。可以使用 mkfifo 命令來創建一個管道文件:
mkfifo fifo_file
在 FIFO 中可以很好地解決在無關進程間數據交換的要求,FIFO 的通信方式類似于在進程中使用文件來傳輸數據,只不過 FIFO 類型的文件同時具有管道的特性,在讀取數據時,FIFO 管道中同時清除數據。
6、套接字文件
套接字文件,通常指域套接字文件,使用 ls -l 命令查看,第一個字符為 "s"。
域套接字是進程間通信(IPC)的一種方法,是可靠的一種IPC通信,是POSIX標準的一個組件,只能用于同一主機間的通信。
后續學習進程間通信需要學習該知識。
4. 文件顏色
常見的文件顏色如下:
藍色:目錄文件
綠色:可執行文件
淺藍色:鏈接文件
紅色:壓縮文件
黃色:字符設備
灰色:其他文件
四、Linux操作系統命令使用基礎
1、命令格式
$command [option(s)] [argument(s)]命令名 空格 選項 空格 參數
command : 命令名
[option(s)] :選項
[argument(s)] :參數
注意:
在命令行中,每兩個部分之間有空格分隔
每個命令行可使用的最多的命令字符是256個
命令區分大小寫
不同的命令提示符使用分隔符號 “/”
命令中的參數/選項可以是多個,并且參數其實就是要傳入命令程序主函數main的參數。
[ ] 表示這個內容可以不包含,比如 [argument(s)] ,輸入命令時可以不加參數
2、聯機幫助、清屏與歷史記錄命令
1)聯機幫助
遇到一些函數和命令,不知道含義時可以使用命令man來查看幫助信息。
man lsman -k keyword
man手冊根據內容分為9個手冊,可以使用下面命令查看
man man
man文檔的分類編號
1 - commands(普通的命令)2 - system calls(系統調用)3 - library calls(庫函數)4 - special files(特殊文件:/dev下設備文件)5 - file formats and convertions(文件格式)6 - games for linux(游戲和娛樂)7 - macro packages and conventions(雜項)8 - system management commands(管理員命令)9 - 其他(Linux特定, 用來存放內核例行程序的文檔)
使用-k參數,man可以在所有的man文檔和簡介中查找符合條件的命令。
peng@ubuntu:~/test$ man -k bashbash (1) - GNU Bourne-Again SHellbash-builtins (7) - bash built-in commands, see bash(1)bashbug (1) - report a bug in bashbuiltins (7) - bash built-in commands, see bash(1)dh_bash-completion (1) - install bash completions for packagerbash (1) - restricted bash, see bash(1)
有的關鍵詞在系統中對應多個手冊, 使用-f參數,用于查找同名的手冊:
peng@ubuntu:~/test$ man -f timetime (7) - overview of time and timerstime (1) - run programs and summarize system resource usagetime (2) - get time in seconds
2)清屏 clear
清屏使用命令clear或者使用快捷鍵:ctrl l
3)歷史紀錄 history(history -n)
這是一個非常有用的命令,想知道之前輸入過的所有命令,就可以用他。
history :查看最近使用的命令,最多500條history n :曾經使用的最近n條命令!n :執行最近第n條命令!! :執行最近使用的第一條命令方向上鍵:執行上一條命令方向下鍵:執行下一條命令
五、文件管理
1)查看文件目錄
下面這幾個命令是使用最頻繁的命令:
cd
cd //回到當前用戶主目錄cd ~//回到當前用戶主目錄cd ~[用戶名] //進入指定用戶主目錄
file 功能說明:辨識文件類型。
語法:file [-beLvz][-f <名稱文件>][-m <魔法數字文件>…][文件或目錄…]
參數:
-b 列出辨識結果時,不顯示文件名稱。 -c 詳細顯示指令執行過程,便于排錯或分析程序執行的情形。 -f<名稱文件> 指定名稱文件,其內容有一個或多個文件名稱呢感,讓file依序辨識這些文件,格式為每列一個文件名稱。 -L 直接顯示符號連接所指向的文件的類別。 -m<魔法數字文件> 指定魔法數字文件。 -v 顯示版本信息。 -z 嘗試去解讀壓縮文件的內容。
補充說明:通過file指令,我們得以辨識該文件的類型。
peng@ubuntu:~/test$ file wait.c wait.c: ASCII textpeng@ubuntu:~/test$ file fifo_file fifo_file: fifo (named pipe)
2) 文件路徑
什么是文件的路徑? 就是文件存放的地方,可以聯想為 文件的“家”。
在Linux中,存在著絕對路徑和相對路徑:
絕對路徑:
路徑的寫法一定是由根目錄 / 寫起的,例如 /usr/local/mysql
相對路徑:
路徑的寫法不是由根目錄 / 寫起的。
例如 首先用戶進入到 /home,然后再進入到peng,執行的命令為
#cd /home#cd peng
此時用戶所在的路徑為 /home/peng。
第一個cd命令后緊跟/home,前面有斜杠,是絕對路徑; 而第二個cd命令后緊跟peng,前面沒有斜杠,表示從當前目錄下找peng這個目錄,這個peng是相對于/home目錄來講的,所以稱為相對路徑。
3)創建和刪除文件目錄
1、創建文件touch
功能說明:
文件名不存在,則創建一個新的空文件如果文件名存在,更新該文件或者目錄的修改訪問時間,內容不變。
語法:
touch [-acfm][-d <日期時間>][-r <參考文件或目錄>][-t <日期時間>][–help] [–version][文件或目錄…] 或 touch [-acfm][–help][–version][日期時間][文件或目錄…]
補充說明: 使用touch指令可更改文件或目錄的日期時間,包括存取時間和更改時間。
參數:
-a或–time=atime或–time=access或–time=use 只更改存取時間。 -c或–no-create 不建立任何文件。 -d<時間日期> 使用指定的日期時間,而非現在的時間。 -f 此參數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題。 -m或–time=mtime或–time=modify 只更改變動時間。 -r<參考文件或目錄> 把指定文件或目錄的日期時間,統統設成和參考文件或目錄的日期時間相同。 -t<日期時間> 使用指定的日期時間,而非現在的時間。 –help 在線幫助。 –version 顯示版本信息。
2、創建目錄mkdir
功能說明:
建立目錄
語法:
mkdir [-p][–help][–version][-m <目錄屬性>][目錄名稱]
補充說明: mkdir可建立目錄并同時設置目錄的權限。
參數:
-m<目錄屬性>或–mode<目錄屬性> 建立目錄時同時設置目錄的權限。 -p或–parents 若所要建立目錄的上層目錄目前尚未建立,則會一并建立上層目錄。 –help 顯示幫助。 –verbose 執行時顯示詳細的信息。 –version 顯示版本信息。
3、刪除文件rm
功能說明:
刪除文件或目錄。
語法:
rm [-dfirv][–help][–version][文件或目錄…]
補充說明:執行rm指令可刪除文件或目錄,如欲刪除目錄必須加上參數”-r”,否則預設僅會刪除文件。
參數:
-d或–directory 直接把欲刪除的目錄的硬連接數據刪成0,刪除該目錄。 -f或–force 強制刪除文件或目錄。 -i或–interactive 刪除既有文件或目錄之前先詢問用戶。 -r或-R或–recursive 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。 -v或–verbose 顯示指令執行過程。 –help 在線幫助。 –version 顯示版本信息。
4、刪除目錄
rmdir(remove directory)
功能說明:刪除目錄。
語 法:
rmdir [-p][–help][–ignore-fail-on-non-empty][–verbose][–version][目錄…]
補充說明:當有空目錄要刪除時,可使用rmdir指令。
參 數:
-p或–parents 刪除指定目錄后,若該目錄的上層目錄已變成空目錄,則將其一并刪除。 –help 在線幫助。 –ignore-fail-on-non-empty 忽略非空目錄的錯誤信息。 –verbose 顯示指令執行過程。 –version 顯示版本信息。
3)顯示文件內容
1. cat
功能:
把檔案串連接后傳到基本輸出到屏幕或加 > fileName 到另一個檔案
使用權限:
所有使用者
語法:
cat [-AbeEnstTuv] [–help] [–version] fileName
參數:
-n 或 –number 由 1 開始對所有輸出的行數編號-b 或 –number-nonblank 和 -n 相似,只不過對于空白行不編號-s 或 –squeeze-blank 當遇到有連續兩行以上的空白行,就代換為一行的空白行-v 或 –show-nonprinting
范例:
cat -n textfile1 > textfile2 把 textfile1 的檔案內容加上行號后輸入 textfile2 這個檔案里cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之后將內容附加到 textfile3 里。cat < /dev/stdin > 1.txt //利用輸入重定向 CRTL D 結束輸入cat /dev/null > 1.txt //輸出重定向進行清空
2. head
功能:
查找文件的前多少行
語法:
head [-n] filename
3. tail
功能:
查找文件的莫問多少行
語法:
tail [-n] filename
4. more
功能:
分屏顯示
用法
more filename
4)拷貝和移動文件目錄
1. cp
功能說明:
cp 源文件 目標文件將源文件復制為目標文件或目錄。
語法:
cp [-abdfilpPrRsuvx][-S <備份字尾字符串>][-V <備份方式>][–help][–spares=<使用時機>][–version][源文件或目錄][目標文件或目錄] [目的目錄]
補充說明:cp指令用在復制文件或目錄,如同時指定兩個以上的文件或目錄,且最后的目的地是一個已經存在的目錄,則它會把前面指定的所有文件或目錄復制到該目錄中。若同時指定多個文件或目錄,而最后的目的地并非是一個已存在的目錄,則會出現錯誤信息。
2. mv
功能說明:
mv [源文件、目錄] [目的文件、目錄]移動或更名現有的文件或目錄。
語法:
mv [-bfiuv][–help][–version][-S <附加字尾>][-V <方法>][源文件或目錄][目標文件或目錄]
補充說明: mv可移動文件或目錄,或是更改文件或目錄的名稱。
參數:
-b或–backup 若需覆蓋文件,則覆蓋前先行備份。 -f或–force 若目標文件或目錄與現有的文件或目錄重復,則直接覆蓋現有的文 件或目錄。 -i或–interactive 覆蓋前先行詢問用戶。 -S<附加字尾>或 –suffix=<附加字尾> 與-b參數一并使用,可指定備份文件的所要附加的字尾。 -u或–update 在移動或更改文件名時,若目標文件已存在,且其文件日期比源文件新,則不覆蓋目標文件。 -v或–verbose 執行時顯示詳細的信息。 -V=<方法>或 –version-control=<方法> 與-b參數一并使用,可指定備份的方法。 –help 顯示幫助。 –version 顯示版本信息
5)文件目錄權限
1. 權限
文件的權限:
以普通文件為例,使用 ls -l 命令,可以看到結果的第一列是 -rwxrwxrwx 的形式,其中第一個字符 "-" 表示這個文件為普通文件,它也可以是其他的字符,不同的字符代表不同類型的文件。其后的一串字符表明了該文件的權限,其中:
1)r 表明該文件具有可讀權限,若該位置為 "-" ,則表明文件不可讀;
2)w 表明該文件具有寫權限,若該位置為 "-" ,則表明文件不可寫;
3)x 表明該文件具有可執行權限,若該位置為 "-" ,則表明文件不具有可執行權限;
4)第一個 rwx 表示該文件的所有者對該文件的權限;第二個 rwx 表示該文件所屬組對該文件的權限;第三個 rwx 表示其他用戶對該文件的權限。
2. 權限所屬對象
文件所有者:生成文件或目錄的當前人,權限最高,用u表示。 文件所屬用戶組:系統管理員分配的同組一個或幾個人,用g表示。 其他人對此文件的權限:除擁有者、用戶組以外的人,用o 表示。 所有人:包括擁有者,所屬用戶組、其他用戶,用a表示
-rwxr(所有者) -xr(所在組) -x(其他人)
3.修改屬性chmod
chmod命令用來修改文件目錄的訪問權限,修改權限的前提條件是在修改權限時具有可操作權限。
(a)用字母表示權限 Who(u、g、o、a) cp(“=”設置權限“ ”添加權限“-”刪除權限) permission(“r”讀權限“w”寫權限“x”操作權限) 例如:
chmod g=wr 1.c;chmod u w,g-w,o=wr 1.c
(b)用八進制數字表示權限
r w x 0 0 0 無權限 1 1 1 有權限R:4,w;2,x:1
例如 :
Chmod 777 build 將build的權限成所有人rwx
注意:在Ubuntu中建立的文件默認權限是664
4. Chown改變文件的所屬者和所屬組
chown(英文全拼:change owner)命令用于設置文件所有者和文件關聯組的命令。
語法
chown [-cfhvR] [--help] [--version] user[:group] file...
參數 :
user : 新的文件擁有者的使用者 IDgroup : 新的文件擁有者的使用者組(group)-c : 顯示更改的部分的信息-f : 忽略錯誤信息-h :修復符號鏈接-v : 顯示詳細的處理信息-R : 處理指定目錄以及其子目錄下的所有文件--help : 顯示輔助說明--version : 顯示版本
實例: 把 /var/run/httpd.pid 的所有者設置 root:
chown root /var/run/httpd.pid
5. chgrp改變文件或目錄所屬組
Linux chgrp(英文全拼:change group)命令用于變更文件或目錄的所屬群組。
與 chown 命令不同,chgrp 允許普通用戶改變文件所屬的組,只要該用戶是該組的一員。
語法
chgrp [-cfhRv][--help][--version][所屬群組][文件或目錄...] 或 chgrp [-cfhRv][--help][--reference=<參考文件或目錄>][--version][文件或目錄...]
參數說明:
-c或--changes 效果類似"-v"參數,但僅回報更改的部分。 -f或--quiet或--silent 不顯示錯誤信息。 -h或--no-dereference 只對符號連接的文件作修改,而不更動其他任何相關文件。 -R或--recursive 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。 -v或--verbose 顯示指令執行過程。 --help 在線幫助。 --reference=<參考文件或目錄> 把指定文件或目錄的所屬群組全部設成和參考文件或目錄的所屬群組相同。 --version 顯示版本信息。
Chown、chgroup使用頻率較低,了解即可。
6)find查找文件
Linux find 命令用來在指定目錄下查找文件。任何位于參數之前的字符串都將被視為欲查找的目錄名。
如果使用該命令時,不設置任何參數,則 find 命令將在當前目錄下查找子目錄與文件。并且將查找到的子目錄和文件全部進行顯示。
我們有時候還要模糊查找某個文件,比如根據文件的后綴名,文件創建時間,文件大小等等。
語法:
find path -option [ -print ] [ -exec -ok command ] {} ;
find 根據下列規則判斷 path 和 expression,在命令列上第一個 - ( ) , ! 之前的部份為 path,之后的是 expression。
如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預設 expression。
expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。
參數說明:
-name name, -iname name : 文件名稱符合 name 的文件。iname 會忽略大小寫-user 按照用戶(文件的屬主)-size n : 文件大小 是 n 單位,b 代表 512 位元組的區塊,c 表示字元數,k 表示 kilo bytes,w 是二個位元組。-mtime 按照最后一次修改時間-atime 按照最后一次訪問時間-perm :按照文件的權限-type typen : 查找文件類型為typen的文件 c: 字符設備 d: 目錄 c: 字型裝置文件 b: 區塊裝置文件 p: 具名貯列 f: 一般文件 l: 符號連結 s: socket
注意 find 的使用條件所查找的路徑必須具有讀權限。 查找選項通過文件屬性來查找。
例如: 實例
1.將當前目錄及其子目錄下所有文件后綴為 .c 的文件列出來:
# find . -name "*.c"
2.將目前目錄及其下子目錄中所有一般文件列出
# find . -type f
3.將當前目錄及其子目錄下所有最近 20 天內更新過的文件列出:
# find . -ctime -20
4.查找 /var/log 目錄中更改時間在 7 日以前的普通文件,并在刪除之前詢問它們:
# find /var/log -type f -mtime 7 -ok rm {} ;
5.查找當前目錄中文件屬主具有讀、寫權限,并且文件所屬組的用戶和其他用戶具有讀權限的文件:
# find . -type f -perm 644 -exec ls -l {} ;
6.查找系統中所有文件長度為 0 的普通文件,并列出它們的完整路徑:
# find / -type f -size 0 -exec ls -l {} ;
whereis whereis命令用于查找文件。 該指令會在特定目錄中查找符合條件的文件。這些文件應屬于原始代碼、二進制文件,或是幫助文件。 該指令只能用于查找二進制文件、源代碼文件和man手冊頁,一般文件的定位需使用locate命令。
語法
whereis [-bfmsu][-B <目錄>...][-M <目錄>...][-S <目錄>...][文件...]
參數:
-b 只查找二進制文件。-B<目錄> 只在設置的目錄下查找二進制文件。-f 不顯示文件名前的路徑名稱。-m 只查找說明文件。-M<目錄> 只在設置的目錄下查找說明文件。-s 只查找原始代碼文件。-S<目錄> 只在設置的目錄下查找原始代碼文件。-u 查找不包含指定類型的文件。
實例:
1.使用指令"whereis"查看指令"bash"的位置,輸入如下命令:
peng@ubuntu:~/test$ whereis bashbash: /bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz
2.查找標準庫頭文件stdio.h位置
peng@ubuntu:~/test$ whereis stdio.hstdio: /usr/include/stdio.h /usr/share/man/man3/stdio.3.gz
7)grep過濾和統計
功能: 查出包含某些字符串的結果,對文件或輸出結果進行過濾,對于大小寫有一定 要求。
語法:
grep [option] string filename
補充說明: grep指令用于查找內容包含指定的范本樣式的文件,如果發現某文件的內容符合所指定的范本樣式,預設grep指令會把含有范本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名為“-”,則grep指令會從標準輸入設備讀取數據。
-A<顯示行數>:除了顯示匹配 pattern 的那一行外,顯示該行之后的內容-B<顯示行數>:除了顯示匹配 pattern 的那一行外,顯示該行之前的內容-C<顯示行數>:除了顯示匹配 pattern 的那一行外,顯示該行前、后的內容-c:統計匹配的行數-e:同時匹配多個pattern-i:忽略字符的大小寫-n:顯示匹配的行號-o:只顯示匹配的字符串-v:顯示沒有匹配pattern的那一行,相當于反向匹配-w:匹配整個單詞
舉例:
1、在當前目錄中,查找后綴有 file 字樣的文件中包含 test 字符串的文件,并打印出該字符串的行。此時,可以使用如下命令:
grep test *file
2、以遞歸的方式查找符合條件的文件。 例如,查找指定目錄/etc/acpi 及其子目錄(如果存在子目錄的話)下所有文件中包含字符串"update"的文件,并打印出該字符串所在行的內容,使用的命令為:
grep -r update /etc/acpi
3、反向查找。前面各個例子是查找并打印出符合條件的行,通過"-v"參數可以打印出不符合條件行的內容。
查找文件名中包含 test 的文件中不包含test 的行,此時,使用的命令為:
grep -v test *test*
grep應用非常頻繁,經常還會和正則表達式一起使用,常用的正則表達式:
.:任意單個字符*:任意字符多次[]:指定范圍,如[0-9]、[a-z]、[A-Z]、[0-9a-zA-Z]^:行首$:行尾^$:空行
舉例 假定如下文件:
9)wc計數
功能: Linux wc命令用于計算字數。 利用wc指令我們可以計算文件的Byte數、字數、或是列數,若不指定文件名稱、或是所給予的文件名為"-",則wc指令會從標準輸入設備讀取數據。
wc [選項] 文件名
l 統計多少行
w 統計多少單詞
c 統計多少個字符
語法
wc [-clw][--help][--version][文件...]
參數:
-c或--bytes或--chars 只顯示Bytes數。-l或--lines 顯示行數。-w或--words 只顯示字數。--help 在線幫助。--version 顯示版本信息。
實例
在默認的情況下,wc將計算指定文件的行數、字數,以及字節數。使用的命令為:
wc testfile
8) tar文件壓縮解壓
tar命令可以為linux的文件和目錄創建檔案。利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,這對于備份文件或將幾個文件組合成為一個文件以便于網絡傳輸是非常有用的。
語法
tar[必要參數][選擇參數][文件]
常用命令參數:
-A 新增壓縮文件到已存在的壓縮-B 設置區塊大小-c 建立新的壓縮文件-d 記錄文件的差別-r 添加文件到已經壓縮的文件-u 添加改變了和現有的文件到已經存在的壓縮文件-x 從壓縮的文件中提取文件-t 顯示壓縮文件的內容-z 支持gzip解壓文件-j 支持bzip2解壓文件-Z 支持compress解壓文件-v 顯示操作過程-l 文件系統邊界設置-k 保留原有文件不覆蓋-m 保留文件不被覆蓋-W 確認壓縮文件的正確性
常見解壓/壓縮命令 tar
解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是壓縮!)
.gz
解壓1:gunzip FileName.gz解壓2:gzip -d FileName.gz壓縮:gzip FileName
.tar.gz 和 .tgz
解壓:tar zxvf FileName.tar.gz壓縮:tar zcvf FileName.tar.gz DirName
.bz2
解壓1:bzip2 -d FileName.bz2解壓2:bunzip2 FileName.bz2壓縮: bzip2 -z FileName
.tar.bz2
解壓:tar jxvf FileName.tar.bz2壓縮:tar jcvf FileName.tar.bz2 DirName
.bz
解壓1:bzip2 -d FileName.bz解壓2:bunzip2 FileName.bz壓縮:未知
.tar.bz
解壓:tar jxvf FileName.tar.bz壓縮:未知
.Z
解壓:uncompress FileName.Z壓縮:compress FileName
.tar.Z
解壓:tar Zxvf FileName.tar.Z壓縮:tar Zcvf FileName.tar.Z DirName
.zip
解壓:unzip FileName.zip壓縮:zip FileName.zip DirName
.rar
解壓:rar x FileName.rar壓縮:rar a FileName.rar DirName
舉例:
實例1:將文件log2021全部打包成tar包
命令:
tar -cvf log.tar log2021.log 僅打包,不壓縮! tar -zcvf log.tar.gz log2021.log 打包后,以 gzip 壓縮tar -jcvf log.tar.bz2 log2021.log 打包后,以 bzip2 壓縮
實例2:查閱上述 tar包內有哪些文件
說明:
由于我們使用 gzip 壓縮的log.tar.gz,所以要查閱log.tar.gz包內的文件時,就得要加上 z 這個參數了。
實例3:將tar 包解壓縮
命令:
tar -zxvf /opt/soft/test/log.tar.gz
六、shell的特殊字符
1) 通配符* ?
* :通配0個或多個字符 * ? :通配任意單個字符 * [s] :通配某個范圍內的任意一個字符
舉例:
2) 一行執行多條命令
一行執行多條命令:在命令與命令之間用“;”隔開
cd ; ls
3) 輸出重定向:>,>>
> :將一個命令的輸出放入文件中>> :輸出重定向但不會把源文件覆蓋,在原文件末尾追加
舉例: 將ls的輸出結果輸出給test.txt
當前目錄沒有操作權限 cd .. 退回上一級目錄
修改文件夾權限 為方便起見,我們將test的權限全部打開
用“>”的輸出結果如下:
然后再用“>>”做測試其結果如下
4) 輸入重定向:<
下面再實現以下輸入重定向:
5) 管道符:|
管道符“|”:將一個進程的輸出作為另一個進程的輸入
輸入命令 :
ls -l /etc | cat
顯示的結果如上圖所示。
6) 其他:%,$,~
% :作業控制,提示符等$ : 取某一列的值,取變量值等
七、用戶及進程
1、日期時間進程查看
a) date: 顯示日期時間
b) cal :顯示日歷
2、ps進程查詢
功能: ps (英文全拼:process status)命令用于顯示當前進程的狀態,類似于 windows 的任務管理器。
語法
ps [options] [--help]
ps 的參數非常多, 在此僅列出幾個常用的參數并大略介紹含義:
-A 列出所有的進程-w 顯示加寬可以顯示較多的資訊-au 顯示較詳細的資訊-aux 顯示所有包含其他使用者的行程au(x) 輸出格式 :USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND USER: 行程擁有者 PID: pid %CPU: 占用的 CPU 使用率 %MEM: 占用的記憶體使用率 VSZ: 占用的虛擬記憶體大小 RSS: 占用的記憶體大小 TTY: 終端的次要裝置號碼 (minor device number of tty) STAT: 該行程的狀態: D: 無法中斷的休眠狀態 (通常 IO 的進程) R: 正在執行中 S: 靜止狀態 T: 暫停執行 Z: 不存在但暫時無法消除 W: 沒有足夠的記憶體分頁可分配 <: 高優先序的行程 N: 低優先序的行程 L: 有記憶體分頁分配并鎖在記憶體內 (實時系統或捱A I/O)START: 行程開始時間TIME: 執行的時間COMMAND:所執行的指令
實例
顯示所有進程信息,連同命令行
查找指定進程init:
顯示指定用戶信息
3、sudo用戶管理
終端的命令行最右邊的字符
$ 普通用戶# 管理員用戶
有很多命令需要管理員權限才能使用,可以輸入命令前加sudo,也可以直接切換到管理員再執行。
切換到管理員root
切換用戶
su 用戶名 :切換賬戶
4、電源管理
a) shutdown
安全關閉或重啟Linux系統,它在系統關閉之前給系統上的所有登陸用戶提示一條警告信息。該命令還允許用戶指定一個時間參數、可以是一個精確的時間、也可以是從現在開始的一段時間。 精確時間的格式: hh:mm 表示小時和分鐘,時間段由 和分鐘數表示。系統執行該命令后會自動進行數據同步的工作。
功能說明: 系統關機指令。
語 法:shutdown [-efFhknr][-t 秒數][時間][警告信息]
補充說明: shutdown指令可以關閉所有程序,并依用戶的需要,進行重新開機或關機的動作。
參數:
-c 當執行”shutdown -h 11:50”指令時,只要按 鍵就可以中斷關機的指令。 -f 重新啟動時不執行fsck。 -F 重新啟動時執行fsck。 -h 將系統關機。 -k 只是送出信息給所有用戶,但不會實際關機。 -n 不調用init程序進行關機,而由shutdown自己進行。 -r shutdown之后重新啟動。 -t<秒數> 送出警告信息和刪除信息之間要延遲多少秒。 [時間] 設置多久時間后執行shutdown指令。 [警告信息] 要傳送給所有登入用戶的信息。
b) reboot
功能說明: 重新開機。
語 法:
dreboot [-dfinw]
補充說明: 執行reboot指令可讓系統停止運作,并重新開機。
參數:
-d 重新開機時不把數據寫入記錄文件/var/tmp/wtmp。本參數具有”-n”參數的效果。 -f 強制重新開機,不調用shutdown指令的功能。 -i 在重開機之前,先關閉所有網絡界面。 -n 重開機之前不檢查是否有未結束的程序。 -w 僅做測試,并不真的將系統重新開機,只會把重開機的數據寫入/var/log目錄下的wtmp記錄文件。
c) halt
功能說明: 關閉系統。
語法:
halt [-dfinpw]
補充說明: halt會先檢測系統的runlevel。若runlevel為0或6,則關閉系統,否則即調用shutdown來關閉系統。
參數:
-d 不要在wtmp中記錄。 -f 不論目前的runlevel為何,不調用shutdown即強制關閉系統。 -i 在halt之前,關閉全部的網絡界面。 -n halt前,不用先執行sync。 -p halt之后,執行poweroff。 -w 僅在wtmp中記錄,而不實際結束系統。
4、用戶管理補充
(1)用戶密碼要求
用戶的密碼要求有6~8個字符,其中至少要包含2個字母、1個數字或特殊字符,而且不能與用戶名相同,還要不同于以前的密碼,至少要有三個字符不同與以前的密碼。
(2)passwd修改密碼命令
輸入命令 passwd輸入原密碼 ****輸入新密碼確認新密碼
注意:在輸入密碼過程中機器是沒有任何動作的
(3)查找用戶
id
查看用戶ID(用戶名)及其所屬組ID(組名)
user
查看已經登陸到當前系統中的用戶,只顯示出用戶名。
who
查看用戶的詳細信息
who am i
查看當前用戶自己的信息
whoanmi
查看當前用戶自己的用戶名
八、相關信息查詢
產看磁盤信息
1. du
顯示磁盤使用摘要信息
du 以Block為單位方式顯示-k 以k字節方式顯示-m 以m字節方式顯示-s 顯示當前目錄下的內容總的占用磁盤的大小,以Block為單位以Block單位顯示的數字是以k字節方式顯示的數字的2倍,1k字節=2個Block
2. df
顯示整個文件系統的空間使用磁盤情況
-k 以k字節方式顯示
九、網絡配置
1、ping
查看當前機器與另一臺機器的聯通情況 ping 主機名稱或者主機的IP:向ping后面的主機發送數據包,若被ping的主機有回復則表示連通的。
語法:
ping [-dfnqrRv][-c<完成次數>][-i<間隔秒數>][-I<網絡界面>][-l<前置載入>][-p<范本樣式>][-s<數據包大小>][-t<存活數值>][主機名稱或IP地址]
補充說明: 執行ping指令會使用ICMP傳輸協議,發出要求回應的信息,若遠端主機的網絡功能沒有問題,就會回應該信息,因而得知該主機運作正常。
參數:
-d 使用Socket的SO_DEBUG功能。 -c<完成次數> 設置完成要求回應的次數。 -f 極限檢測。 -i<間隔秒數> 指定收發信息的間隔時間。 -I<網絡界面> 使用指定的網絡界面送出數據包。 -l<前置載入> 設置在送出要求信息之前,先行發出的數據包。 -n 只輸出數值。 -p<范本樣式> 設置填滿數據包的范本樣式。 -q 不顯示指令執行過程,開頭和結尾的相關信息除外。 -r 忽略普通的Routing Table,直接將數據包送到遠端主機上。 -R 記錄路由過程。 -s<數據包大小> 設置數據包的大小。 -t<存活數值> 設置存活數值TTL的大小。 -v 詳細顯示指令的執行過程。
2、ifconfig
查看和配置當前機器的網絡參數信息
語 法:
ifconfig [網絡設備][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<網絡設備類型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<網絡媒介類型>][mem_start<內存地址>][metric<數目>][mtu<字節>][netmask<子網掩碼>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
補充說明: ifconfig可設置網絡設備的狀態,或是顯示目前的設置。
參數:
add<地址> 設置網絡設備IPv6的IP地址。 del<地址> 刪除網絡設備IPv6的IP地址。 down 關閉指定的網絡設備。 <hw<網絡設備類型><硬件地址> 設置網絡設備的類型與硬件地址。 io_addr<I/O地址> 設置網絡設備的I/O地址。 irq<IRQ地址> 設置網絡設備的IRQ。 media<網絡媒介類型> 設置網絡設備的媒介類型。 mem_start<內存地址> 設置網絡設備在主內存所占用的起始地址。 metric<數目> 指定在計算數據包的轉送次數時,所要加上的數目。 mtu<字節> 設置網絡設備的MTU。 netmask<子網掩碼> 設置網絡設備的子網掩碼。 tunnel<地址> 建立IPv4與IPv6之間的隧道通信地址。 up 啟動指定的網絡設備。 -broadcast<地址> 將要送往指定地址的數據包當成廣播數據包來處理。 -pointopoint<地址> 與指定地址的網絡設備建立直接連線,此模式具有保密功能。 -promisc 關閉或啟動指定網絡設備的promiscuous模式。 [IP地址] 指定網絡設備的IP地址。 [網絡設備] 指定網絡設備的名稱。
舉例
ifconfig -a // 顯示產看當前機器的IP、Netmask、Gateway等網絡信息ifconfig eth0 up(down) //激活與關閉某個網絡適配器ifconfig eth0 [ip address] netmask [address] //設置IP和子網掩碼
十、Linux應用程序的安裝與卸載基礎
1、Linux安裝包
Linux安裝包的通常是tar的格式,同時也支持自己定義的格式。 在redhat中軟件安裝包的格式通常是rpm 在Ubuntu中軟件安裝包的格式通常是deb
2、 安裝包命名通用規則
在Linux中常用的命名格式是:
軟件名稱版本號-修訂版本號體系架構.擴展名
3、安裝包的離線安裝及卸載
dpkgdpkg -i 安裝dpkg -p 卸載
源文件安裝的過程:
配置configure >> 編譯make >> 安裝 make install
4、在線安裝及卸載
安裝 :
apt-get install
卸載 :
apt-get remove -purge
十一、VIM編譯工具
Vim是從 vi 發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用。
簡單的來說, vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方。 vim 則可以說是程序開發者的一項很好用的工具。
連 vim 的官方網站 (http://www.vim.org) 自己也說 vim 是一個程序開發工具而不是文字處理軟件。
1、vim優勢:
a)所有Unix Like系統都會內置vi文本編輯器,其他的文本編輯器則不一定會存在;
b)很多軟件的編輯接口都會主動調用vi
c)vi具有程序編輯能力,可以主動以字體顏色辨別語法的正確性,方便程序設計;
d)程序簡單編輯速度快。
2、vi的模式:
基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和底線命令模式(Last line mode)。 這三種模式的作用分別是:
1)命令模式:
用戶剛剛啟動 vi/vim,便進入了命令模式。
此狀態下敲擊鍵盤動作會被Vim識別為命令,而非輸入字符。比如我們此時按下i,并不會輸入一個字符,i被當作了一個命令。
以下是常用的幾個命令:
i 切換到輸入模式,以輸入字符。x 刪除當前光標所在處的字符。: 切換到底線命令模式,以在最底一行輸入命令。
若想要編輯文本:啟動Vim,進入了命令模式,按下i,切換到輸入模式。
命令模式只有一些最基本的命令,因此仍要依靠底線命令模式輸入更多命令。
2)輸入模式
在命令模式下按下i就進入了輸入模式。
在輸入模式中,可以使用以下按鍵:
字符按鍵以及Shift組合,輸入字符
ENTER,回車鍵,換行BACK SPACE,退格鍵,刪除光標前一個字符DEL,刪除鍵,刪除光標后一個字符方向鍵,在文本中移動光標HOME/END,移動光標到行首/行尾Page Up/Page Down,上/下翻頁Insert,切換光標為輸入/替換模式,光標將變成豎線/下劃線ESC,退出輸入模式,切換到命令模式
3)底行命令模式
在命令模式下按下:(英文冒號)就進入了底線命令模式。
底線命令模式可以輸入單個或多個字符的命令,可用的命令非常多。
在底線命令模式中,基本的命令有(已經省略了冒號):
q 退出程序w 保存文件按ESC鍵可隨時退出底線命令模式。
簡單的說,我們可以將這三個模式想成底下的圖標來表示:
3. vim cheat sheet
下圖就是赫赫有名的vim cheat sheet,一圖包含了大部分常用的vim命令,建議保存
4. 舉例
如果你想要使用 vim 來建立一個名為 peng.c 的文件時,輸入下面命令:
peng@ubuntu:~$ vim peng.c
按下 i 進入輸入模式(也稱為編輯模式),開始編輯文字
在一般模式之中,只要按下 i, o, a 等字符就可以進入輸入模式了!
在編輯模式當中,你可以發現在左下角狀態欄中會出現 –INSERT- 的字樣,那就是可以輸入任意字符的提示。
這個時候,鍵盤上除了 Esc 這個按鍵之外,其他的按鍵都可以視作為一般的輸入按鈕了,所以你可以進行任何的編輯。
按下 ESC 按鈕回到一般模式
好了,假設我已經按照上面的樣式給他編輯完畢了,那么應該要如何退出呢?是的!沒錯!就是給他按下 Esc 這個按鈕即可!馬上你就會發現畫面左下角的 – INSERT – 不見了! 在一般模式中按下 :wq 儲存后離開 vi
OK,我們要存檔了,存盤并離開的指令很簡單,輸入 :wq 即可保存離開!
OK! 這樣我們就成功創建了一個peng.c 的文件。
5. 快捷鍵說明
移動光標的方法
如果你將右手放在鍵盤上的話,你會發現 hjkl 是排列在一起的,因此可以使用這四個按鈕來移動光標。 如果想要進行多次移動的話,例如向下移動 30 行,可以使用 "30j" 或 "30↓" 的組合按鍵, 亦即加上想要進行的次數(數字)后,按下動作即可!
搜索替換
使用 /word 配合 n 及 N 是非常有幫助的!可以讓你重復的找到一些你搜尋的關鍵詞!
刪除、復制與貼上
這個 u 與 [Ctrl] r 是很常用的指令!一個是復原,另一個則是重做一次~ 利用這兩個功能按鍵,你的編輯,嘿嘿!很快樂的啦!
一般模式切換到編輯模式的可用的按鈕說明
進入輸入或取代的編輯模式
上面這些按鍵中,在 vi 畫面的左下角處會出現『--INSERT--』或『--REPLACE--』的字樣。 由名稱就知道該動作了吧!!特別注意的是,我們上面也提過了,你想要在檔案里面輸入字符時, 一定要在左下角處看到 INSERT 或 REPLACE 才能輸入。
一般模式切換到指令行模式的可用的按鈕說明
指令行的儲存、離開等指令
vim 環境的變更
這些基礎知識學會以后,就可以進入到下一步,學習Linux下的C程序開發了! 想學習Linux,快關注我吧!
Rocky Linux 9.0 正式發布
日前Rocky官方宣布,正式發布Rocky Linux 9.0 。盡管該發布離redhat上游版本久了一些已經過了58天(另一個發行版Almlinux為9天!),但是俗話說得好,好的在后頭嘛。我們今天就來看看Rockey Linux帶來了那些亮點。
下載
官方已經開放Rocky Linux 9.0的下載渠道,目前可在官方下載頁面下載,包括 x86_64、aarch64、ppc64le 和s390x等主流平臺的支持版本。
另外在亞馬遜AWS云的各個區同步提供了OS鏡像,可以選擇。另外據筆者測試國內鏡像站目前還未同步到位,文件還不可下載,需要嘗鮮的同學還需要再等等。
官方支持
Rocky Linux 9 支持期限為10年,到2032年5月31日。
而Rocky Linux 8 支持為,到 2029 年 5 月 31 日。
新功能介紹
桌面
Rocky Linux 9默認的Xwindows桌面為GNOME 40 桌面環境。包括全新設計的核心應用程序、設置和UI,新版本的桌面操作充分考慮操作便捷和人體適應。在工作、啟動應用程序和安排個人工作區時,活動的外觀和感覺提供了更好的體驗。
其顯著的改善包括:
通過右鍵單擊并選擇適當的選項,軟件可以在獨立顯卡上運行;
可以通過選擇請勿打擾來靜音通知,這將在通知中顯示為單獨的按鈕;
每個屏幕可以使用不同的刷新率;
活動程序允許您使用拖放方法將應用程序圖標分組到文件夾中;
分數顯示縮放
文件系統
XFS現在支持直接訪問 (DAX) 操作,允許直接訪問字節可尋址的持久內存,有助于避免使用傳統塊I/O約定的延遲。NFS 引入了“eager write”掛載選項來幫助減少延遲。
語言運行時和工具
Rocky Linux 9 引入了最新的運行時和編譯器,包括 GCC 11.2.1、LLVM (13.0.1)、Rust (1.58.1) 和 Go (1.17.1)。
Rocky Linux 9 更新了開發人員工具棧的版本,包括 GCC (11.2.1)、glibc (2.34) 和 binutils (2.35)。GCC編譯器中的新功能可幫助開發人員通過改進的調試選項更好地代碼調試和跟蹤,并在硬件執行效率方面做了優化。
Rocky Linux 9 擴展了8中可用的模塊打包功能和所有打包方法,例如 Software Collections、Flatpaks和RPM,都已合并到應用程序流中,使開發人員更好的根據喜好選擇對應的包。
其他語言環境包括:
Python 3.9:附帶有許多新功能,包括時區感知時間戳、新的字符串前綴和后綴方法、字典聯合操作、高性能解析器、多處理改進。
Node 16:包括將 V8 引擎升級到版本 9.2、新的 Timer Promises API、新的Web流API以及對npm包管理器版本 7.20.3 的支持。 Node.js 現在與 OpenSSL 3.0 兼容。 Ruby 3.0.3:提供了多項性能改進,以及錯誤和安全修復。包括并發性和并行性、靜態分析、與 case/in 表達式的模式匹配、重新設計的單行模式匹配和查找模式匹配。
Perl 5.32:提供了錯誤修復和增強功能,包括Unicode 13、新的實驗性中綴運算符和更快的功能檢查。
PHP 8.0:提供了錯誤修復和增強功能,包括使用結構化元數據語法、新命名的獨立于順序的參數以及改進的即時編譯性能。
Java開發:
提供了以下 Java 運行時環境和開發工具包:
java-17-openjdk
java-11-openjdk
java-1.8.0-openjdk
Maven 3.6
Ant 1.10
安全性
默認情況下,禁用通過SSH 密碼進行的root身份驗證,從而防止攻擊者通過暴力密碼攻擊獲得訪問權限。只能通過使用SSH證書遠程登錄系統。
OpenSSH版本升級到8.7p1版本,包括許多改進,最主要變化是SCP/RCP協議被替換為SFTP 協議,它提供了更可預測的文件名處理。
OpenSSL 3.0 添加了提供程序概念、新版本控制方案和改進的HTTPS。內置實用程序均已使用OpenSSL 3 重新編譯發布。OpenSSL 3.0 的新FIPS模塊可防止使用非FIPS算法,同時可以在內核中設置FIPS標志,無需手動切換到 FIPS 模式。
SELinux 性能、內存開銷、加載時間等都得到了極大的改善。
Rocky Linux 9 支持直接通過Anaconda安裝程序自動配置PCI-DSS、HIPAA、DISA和許多其他的安全合規設置,從而節省時間和精力來滿足快速發展的安全環境中的復雜要求。
系統監控
Cockpit Web控制臺具有改進的性能指標頁面,可幫助確定 CPU、內存、磁盤和網絡資源使用高峰的原因。
應用服務器
Rocky Linux 9 中也可以直接安裝常見的應用服務器,其中列表和默認版本為:
WEB服務器:
Apache HTTP 服務器 2.4.51
nginx 1.20
緩存:
Varnish Cache 6.6
Squid 5.2
數據庫:
MariaDB 10.5
MySQL 8.0
PostgreSQL 13
Redis 6.2
Linux番外篇VM12虛擬機安裝Redhat7.3視頻
VMware12虛擬機安裝Redhat7.3教學視頻教程
鏡像和虛擬機以及注冊機下載 請往下翻看評論區
基于VMware12安裝配置最新的Redhat7.3,我后續的實驗會基于Redhat7.3版本。
今天就發個視頻湊合過把,明天繼續更新【Linux基礎篇——web服務器的管理與配置】!
往期文章匯總:
「Linux基礎篇」(一)虛擬環境部署安裝redhat7.2
「Linux基礎篇」(二)Linux基本命令練習
「Linux基礎篇」(三)用戶和組的管理
「Linux基礎篇」(四)文件系統管理—redhat7.2
「Linux基礎篇」(五)文件權限管理
「Linux基礎篇」(六)Vi編輯器——redhat7.2
「Linux基礎篇」(七)LVM邏輯卷管理器
「Linux基礎篇」(八)DNS(域名)服務器配置與管理
「Linux基礎篇」(九)動態磁盤管理
「Linux基礎篇」(十)DHCP服務器配置與管理
「Linux基礎篇」(十一)TCP/IP網絡接口配置
「Linux基礎篇」(十二)Samba服務器配置與管理
「Linux基礎篇」(十三)Linux常用文件目錄命令練習
「Linux基礎篇」(十四)FTP服務器配置與管理
「Linux基礎篇」(十五續集)續Samba服務器實驗完善版