Linux學習看這一篇就夠了,超超超牛的Linux基礎入門

引言

??小伙伴們,不管是學習c++還是學習其他語言在我們學的路上都繞不過操作系統,而且,老生常談的Linux更是每個計算機人的必修,那么我們對Linux的了解可能只是從別人那聽到的簡單的這個系統很牛,巴拉巴拉的,但是我們還是不太懂,那么今天我們就來學習有關Linux的基礎。

Linux

了解Linux

??我們先從一個故事來簡單了解一下Linux的由來吧。

?? 從前有一個叫林納斯的小伙子,他很喜歡電腦,但是對當時那些要花大價錢才能用的操作系統不滿意。于是,他決定自己動手,豐衣足食,就自己寫了一個操作系統的核心部分。這個核心部分,就是我們今天說的Linux內核。
??林納斯把這個內核放在網上,說:“嘿,大家一起來玩吧,你們可以隨便用,隨便改。” 結果,一大群人被吸引過來,他們覺得這個主意太酷了,就開始幫忙一起寫代碼,一起改進這個系統。
??這些人來自世界各地,他們通過網絡聚集在一起,形成了一個強大的社區。他們不僅把Linux做得越來越好,還做了很多基于Linux的操作系統,比如Ubuntu、Fedora等等,讓普通人也能輕松使用。
??因為Linux是大家共同創造的,所以它的代碼是開放的,這意味著任何人都可以看到它,修改它,甚至拿去賣。這種開放的態度讓Linux變得非常強大和靈活,現在幾乎所有的互聯網巨頭,比如谷歌、Facebook,都在用Linux來搭建他們的服務器。
??所以,Linux不僅僅是一個操作系統,它還是一群人共同協作、不斷創新的故事。

??有關Linux的故事幫助大家知道它是怎么來的,如果小伙伴們對Linux由來想了解的更清楚一點,大家可以百度或者谷歌搜索一下,那么現在都有哪些Linux的發行版呢

Linux發行版

  • 1、CentOS 7
    紅帽(Redhat)組織于2014年收購了CentOS,現在的CentOS是紅帽在維護。
    主要用在服務器上
    • 優點:穩定性好,有專業團隊維護,適用面廣
    • 缺點:已經停止更新了,不太適用于普通用戶
  • 2、Ubuntu
    • 應用面最廣的LINUX發行版,適合普通用戶使用。
    • 每年會在10月和4月發布兩個版本,其中偶數年的四月會發布LTS(長期維護版本),一般的LTS版本會
      維護5年。今年發行的24.04 LTS有了Ubuntu pro的名字,宣布維護12年。
  • 3、其他的類Unix系統
    • ArchLinux、Debian、FreeBSD

Linux文件系統
??文件系統會使用樹狀結構對所有硬盤上的文件進行管理,這個管理系統就叫文件系統。在windows下,每個盤符下都是一個樹狀結構,以盤符根,各盤符獨立;
而在LINUX下,只有一個樹狀結構,所有的文件和目錄全部掛在根目錄下。

  • 重要目錄:
1. /homehome路徑下,放著所有用戶的主目錄,即每個用戶的私人文件夾
2. /rootroot用戶的主目錄
3. /etc系統和各種應用程序的配置文件
4. /usr/usr/local : 用于存放用戶自己安裝的一些應用程序的文件/usr/bin : 用于用戶自己安裝的一些指令
  • 路徑:
/ :根目錄,所有的文件和文件夾都掛載在根目錄下~ :主目錄,用戶的自定義空間,通常主目錄在/home下. :當前路徑.. :上一級路徑,通常用于相對路徑絕對路徑:指的是從根到自己的路徑,可以用 pwd 指令抓取。
相對路徑:指的是從自己到待跳轉目標的路徑

軟件下載與環境配置

  • 虛擬機VMware
    ??VMware作為虛擬化技術的代表軟件,可以虛擬整個操作系統供我們學習和使用,會單獨搭建環境而不會因為操作失誤而影響我們的主機,同時在虛擬機上安裝Linux系統會比在主機上安裝更方便。

    ??虛擬機安裝鏈接:點擊附件網盤鏈接 提取碼:h094

  • CentOS7系統
    ??在學習一門新東西的時候我們往往會從最老的開始學起,因為越是老軟件,老系統,用戶使用的時間越長,大家才會對其研究越深,研究資料也會越多,方便我們學習。

    ??下載鏈接:點擊附件網盤鏈接 提取碼:18c4

    裝載步驟:
    1.打開虛擬機并點擊創建新的虛擬機,然后下一步。
    在這里插入圖片描述

2.找到剛下好的CentOS7并選擇安裝,點擊下一步。
在這里插入圖片描述
3.填寫用戶名和密碼,為了方便我們學習,我們的密碼建議和小楊一樣設置為123然后點擊下一步。
在這里插入圖片描述
4.修改虛擬機名稱(不改也行)并設置存放位置,點擊下一步。
在這里插入圖片描述
5.設置虛擬磁盤大小,建議20G,點擊下一步。
在這里插入圖片描述
6.點擊完成,完成創建虛擬機并開機
在這里插入圖片描述
7.當界面顯示如圖所示時,表示已成功進入虛擬機

8.打開虛擬機后右鍵桌面并點擊Open Terminal,這下我們就可以開始我們對指令的學習了。
在這里插入圖片描述

  • 安裝編譯器
    在命令框輸入如下命令:
sudo yum install -y gcc
sudo yum install -y gcc-c++*

輸入后如圖所示等待即可,第一條是刪除指令,由于做示范,小楊特意把之前的下載好的刪掉的。
在這里插入圖片描述
在這里插入圖片描述

下載完成后命令框的提示行會回閃

  • 建立root權限用戶
    用vim編譯器打開sudoers文本可以看到所有用戶
    輸入如下命令
sudo vim /etc/sudoers

su root 切換超級用戶,并用vim打開上述文件,復制第100行到101行,將剛剛復制出的那一行的,這個操作可以看下邊對vim操作的注解。
root 改成自己的用戶名,即可直接用sudo獲取管理員權限
如圖所示
在這里插入圖片描述

  • 切換阿里云鏡像
    輸入以下指令,這是我在學習過程中使用的鏡像,小伙伴們可以試試,這個鏡像可以加速我們稍后下載文件或者軟件的速度。
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo
http://mirrors.aliyun.com/repo/Centos-7.repo

在這里插入圖片描述

yum工具和vim工具

  • CentOS下的yum工具
    yum是一個CentOS下的應用程序,可以用來自動安裝軟件,以gcc為例指令如下:
    sudo yum install -y gcc

  • vim工具
    vim工具是Linux自帶的文本編輯器,vim下一共有三種模式,進來以后是普通模式。
    普通模式:在這個模式下可以對文件進行翻閱、復制粘貼、跳轉等操作。
    末行模式:也叫命令模式,可以執行一些復雜的指令,如查找替換、設置行號、保存退出等。
    編輯模式:在這個模式下可以自由編輯文本

    • 如何切換三種模式:
      普通模式->末行模式:直接輸入指令即可
      末行模式->普通模式:刪除指令即可
      普通模式->編輯模式:按i,其他方法無需記憶(O/S)
      編輯模式->普通模式:按Esc
    • 普通模式下的常用指令
yy:復制一行%yy:復制n行dd:剪切一行%dd:剪切n行p:粘貼gg:跳轉到開頭%gg:跳轉到第n行開頭u:撤銷
  • 末行模式下的常用指令
:w:保存文件:q:退出:wq:保存并退出:q!:強制退出:wq!:強制保存退出:set nu:顯示行號:set nonu:關閉行號顯示/字段:查找該字段,按n下一個
:s/字段1/字段2/g 查找字段1替換成字段2
:%s/字段1/字段2/g 查找所有的字段1替換成字段2

基礎命令與必備參數

命令的參數

  • 命令后面可以跟上一個 - 來表示后面要加一個短參數,具體每個命令可以加什么參數可以參考 man 指令里的結果
  • 多個參數可以寫在一起

man
man指令是Linux下的一個幫助菜單,后面可以跟上一個詞條,這個詞條可以是一個命令,也可是一些C語言的函數

ls
列表顯示命令,用于列表顯示當前文件夾下的內容
※文件夾是用藍色顯示的
ls 指令的后面可以跟一個路徑,表示顯示指定路徑的文件信息。

  • 重要參數
-a :顯示隱藏文件
※在linux下,以 . 開頭的文件叫隱藏文件-l :列表顯示詳細信息

cd
cd指令用于跳轉路徑。
cd后面可以跟絕對路徑或者相對路徑去跳轉到目標路徑下。
cd如果后面什么都不跟,則回到主目錄
cd后面如果跟了一個 - ,表示后退,但只能后退一步

mkdir
創建一個空文件夾
mkdir后面可以跟多個文件夾名,可以一并創建

  • 重要參數
-p :可以遞歸創建空文件夾,例如 mkdir -p a/b/c/d 的意思就是,
創建空文件夾d,但如果其父目錄不存在,則遞歸創建a、b、c后,再創建d

rmdir
刪除一個空文件夾
rmdir后面可以跟多個文件夾名,可以一并刪除
rmdir只能刪除空文件夾

touch
touch命令可以創建新文件,空文件,也可以用來改變文件最后更改時間

cat
抓取文件內容
重要參數:
-n :可以顯示行號

cp
復制文件,基本格式是 cp A B
功能1:將文件創建備份
如果A、B均不是目錄且A文件存在,則含義為將A復制成B。
功能2:將文件復制到指定目錄
如果A不是目錄且A文件存在,B是一個存在的目錄,則含義為將A復制到B里
cp 無法復制目錄,當A是目錄時會報錯

  • 重要參數
    -r :允許cp復制目錄
    -f :復制時不經過詢問直接復制
    復制目錄,基本格式是 cp -r A B
    功能1:將目錄創建備份
    如果A時目錄、B不是一個存在的目錄,則含義為將A復制成B。
    功能2:將目錄復制到指定目錄
    如果A是目錄且A目錄存在,B也是一個存在的目錄,則含義為將A復制到B里
    cp的核心是判斷B是否是已經存在的路徑。

mv
移動文件或目錄,基本格式是 mv A B
功能1:給目錄或文件重命名
如果A和B都是文件或都是路徑,且B不存在,則意味著將A改名成B
功能2:移動目錄或者文件
如果B是已經存在的路徑,則意味著是將A(無論是文件還是目錄)移動到B里

rm
刪除文件,rm后可以跟一個文件列表,表示刪除多個文件

  • 重要參數
    -r :允許rm刪除目錄
    -f :刪除時不經過詢問直接刪

Linux的C/C++代碼

基本方法:
1、使用vim編輯代碼
2、使用gcc/g++編譯代碼
3、用 ./a.out 運行
補充:
gcc的部分參數
-o :后面跟一個文件名,表示編譯出來的文件命名為這個文件名
-g :表示編譯為debug模式,可以用來調試
※加了-g參數后,用gdb調試時可以看到代碼

重定向

??把原本要輸出到屏幕上的東西輸出到文件去
重定向符號 > ,例如ls > 1.txt就是將ls的輸出結果直接放到文件1.txt中,不再顯示在屏幕上
※ 重定向時,如果文件已經存在,則會覆蓋,不存在則創建
如果想要追加,那么用 >>即可
向屏幕輸出的耗時遠高于向文件輸出

管道符

??管道符的作用就是把上一條信息的內容經過管道處理后丟出來然后做接下來的操作
管道符號 |

管道常用功能:
less :用less軟件打開文件,可以翻頁預覽
tail/head :只要尾10行或者頭10行,可以加-n參數并指定行數()
grep :篩選出包含某個指定對象的行,可以加-v參數反向選取,即不包含某個關鍵字的行
例如: grep "guanjianzi" 1.txt | cat 1.txt >2.txt

作業練習:使用Linux指令完成下列任務:

    1. 創建和編輯文件:
    • 在你的主目錄下創建一個名為 project 的文件夾。
    • 在 project 文件夾中,使用 touch 命令創建三個空文件: file1.txt 、 file2.txt 、file3.txt
    • 使用 echo 命令,向 file1.txt 中寫入“Hello, World!”。
    • 使用 echo 命令,向 file1.txt 中追加“Goodbye, World!”。
    • 使用 echo 命令,向 file1.txt 中追加“Good night!”。
    1. 復制和修改文件:
    • 將 project 文件夾復制為 project_backup 。
    • 使用 cat 命令和管道 | ,結合 grep 命令(假設你想篩選出包含“World”的行),將file1.txt中包含“World”的行合并到一個新文件 filtered.txt 中,將該文件放置在project_backup 文件夾下。
    1. 目錄和文件操作:
    • 在 project_backup 文件夾中,創建一個名為 logs 的文件夾。
    • 在 logs 文件夾中,使用 touch 命令創建三個日志文件: log1.log 、 log2.log 、log3.log 和三個任意 txt 文件。
    • 將 project_backup/logs/log1.log 移動到 project 文件夾中
    • 刪除 project_backup/logs 文件夾中剩余的日志文件。

結語

??有關Linux的基礎就簡單說到這里吧,其實還有一些進階的知識,我們留在下一章,也有的小伙伴對Linux的學習并不用很深,有所了解到這就差不多了,這章的內容已經對一些基礎指令都寫進去了,大家可以點贊收藏加關注哦,小楊會持續給大家分享更好的文章的。
??都學到這里啦!給棒棒噠自己點個贊吧,好牛的!!!
??明天也要繼續努力喲!!!沖沖沖!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/43115.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43115.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/43115.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大模型日報 2024-07-08

大模型日報 2024-07-08 大模型資訊 Anthropic CEO:大模型訓練成本暴漲,2027年將達1000億美元! Anthropic首席執行官表示,當前AI模型訓練成本是10億美元,未來三年,這個數字可能會上升到100億美元甚至1000億美…

GitLab管理員常用配置及設置匯總

? 之前在 虛擬機Ubuntu 22.04上搭建GitLab操作步驟 上介紹了在Ubuntu 22.04上如何搭建社區版的GitLab,這里整理下作為GitLab管理員時在搭建完GitLab CE后,如何對其進行配置或設置 更改倉庫存儲位置:切換到root用戶下操作 默認存放位置&…

SSL 證書

自動獲取 Lets Encrypt 免費證書 (適用于 Linux 系統) 安裝 Certbot sudo apt-get update sudo apt-get install certbot python3-certbot-nginx # Nginx 服務器 sudo apt-get install certbot python3-certbot-apache # Apache 服務器 獲取和安裝證…

小米rdemi紅米ax3000t刷機 20240707最新配套完整程序整理合集

小米rdemi紅米ax3000t刷機程序地址: https://www.123pan.com/s/LA1bVv-EOzVv.html 小米路由器SSH密碼計算器 https://www.1234f.com/fuwu/ax3000t/ 最新更新地址:https://www.1234f.com/fuwu/openwrt/ 依次輸入如下命令: curl -X POST h…

Leetcode 295.數據流的中位數

295.數據流的中位數 問題描述 中位數是有序整數列表中的中間值。如果列表的大小是偶數,則沒有中間值,中位數是兩個中間值的平均值。 例如 arr [2,3,4] 的中位數是 3 。例如 arr [2,3] 的中位數是 (2 3) / 2 2.5 。 實現 MedianFinder 類: Media…

算法013:水果成籃

水果成籃. - 備戰技術面試?力扣提供海量技術面試資源,幫助你高效提升編程技能,輕松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/fruit-into-baskets/ 這道題題目很長,仔細閱讀過后,我們其實可以簡化成&#xff…

MySQL 9.0新特性:向量存儲

MySQL 9.0 正式版已經發布,其中一個亮點就是向量(VECTOR)數據類型的支持,本文給大家詳細介紹一下這個新功能。 向量類型 MySQL 9.0 增加了一個新的向量數據類型:VECTOR。它是一種可以存儲 N 個數據項的數據結構&…

Redis Stream:實時數據流的處理與存儲

Redis Stream:實時數據流的處理與存儲 引言 在當今數據驅動的世界中,實時數據處理和存儲成為了許多應用的核心需求。Redis Stream作為一種新興的數據結構,為Redis帶來了強大的流處理能力。本文將深入探討Redis Stream的特點、使用場景以及如何高效地利用它來處理實時數據流…

聚焦數字創新,定義影像未來

國際數字影像產業園在明確產業定位與發展方向時,應聚焦于數字影像、文創、媒體等新興產業領域,以技術創新為核心動力、產業升級為保障、市場拓展為途徑、國際化發展為方向,推動園區的持續健康發展。 作為園區的核心產業,數字影像產…

python socks5代理的使用

需要安裝依賴 1、解決方法1 In order to make requests use socks proxy, you need to install it with it’s dependency. pip install requests[socks]2、解決方法2 pip install PySocks

第二證券股市知識:股票填權是怎么回事?利好還是利空?

1、股票填權的含義 股票填權是指在除權除息之后的一段時刻內,假設多數投資者看好該個股,股票的價格超過除權除息的基準價就叫做填權。上市公司假設能持續分紅,就會向市場傳遞積極信號,招引更多投資者買入,越來越多的投…

使用Livox-Mid360激光雷達,復現FAST_LIO(保姆級教程)

前面我已經完成了mid360激光雷達的驅動安裝,octomap的復現,昨天我去把這倆在正式環境中實測了一下,效果不好,走廊轉角沒建出來,我查了一下,應該是TF的原因,但這部分我還不太懂,看到有…

云計算【第一階段(28)】DNS域名解析服務

一、DNS解析的定義與作用 1.1、DNS解析的定義 DNS解析(Domain Name System Resolution)是互聯網服務中的一個核心環節,它負責將用戶容易記住的域名轉換成網絡設備能夠識別和使用的IP地址。一般來講域名比 IP 地址更加的有含義、也更容易記住…

2024世界人工智能大會:deepin引領AI與操作系統融合新時代

內容來源:deepin(深度)社區 7月4日,WAIC 2024在上海拉開帷幕。大會圍繞核心技術、智能終端、應用賦能三大板塊,聚焦大模型、算力、機器人、自動駕駛等重點領域,集中展示一批“人工智能”創新應用最新成果。…

【web前端HTML+CSS+JS】--- JS學習筆記03

一、JS介紹 可以在前端頁面上進行邏輯處理,來解決表單的驗證等問題,提升效率,直接在前端提示問題,減少服務器壓力 應用1:可以做靜態驗證和動態驗證(進行異步請求) 應用2:可以解析后…

monad理解

每個學習monad的人都要寫一份自己理解的monad。然后還是包括自己沒人能看到自己在寫啥,而且大部分寫的還是錯誤的。 距離學習monad有接近2周了,已經挺模糊了。 monad我理解有兩個基本作用: 1. 能夠對全部的返回值做鏈式調用。只能封裝成mona…

學習數據庫2

在數據庫中創建一個表student,用于存儲學生信息 查看建表結果 向student表中添加一條新記錄 記錄中id字段的值為1,name字段的值為"monkey",grade字段的值為98.5 并查看結果 向student表中添加多條新記錄 2,"bob"…

鴻蒙開發小案例(名片管理))

鴻蒙開發小案例(名片管理) 1、頁面效果1.1 初始頁面1.2 點擊名片展開1.3 點擊收藏1.4 點擊編輯按鈕 2、實現代碼2.1 DataModel.ets2.2 RandomUtil.ets2.3 ContactList.ets 1、頁面效果 1.1 初始頁面 1.2 點擊名片展開 1.3 點擊收藏 1.4 點擊編輯按鈕 2、…

百度、谷歌、必應收錄個人博客網站

主要是給各個搜索引擎提交你的sitemap文件,讓別人能搜到你博客的內容。 主題使用的Butterfly。 生成sitemap 安裝自動生成sitemap插件。 npm install hexo-generator-sitemap --save npm install hexo-generator-baidu-sitemap --save在站點配置文件_config.yml…

【手撕數據結構】卸甲時/空間復雜度

目錄 前言時間復雜度概念?O的漸進表?法小試牛刀 空間復雜度 前言 要想知道什么是空/時間復雜度,就得知道什么是數據結構。 這得分兩層來理解。我們生活中處處存在數據,什么抖音熱點上的國際大事,什么懂的都懂的雍正卸甲等等一系列我們用戶看得到的&a…