【Linux】萌新看過來!一篇文章帶你走進Linux世界

前言

可能很多剛開始接觸linux的童鞋們和我一樣,在這之前對linux并不熟悉,只知道linux是一個操作系統,之外一概不知。沒關系,問題不大,本篇文章將會帶你初步的認識linux,了解linux的相關背景和一些簡單的指令,讓你從一個小萌新成為一個大萌新。 本文使用xshell遠程登錄linux服務器,centos系統。


?1、初識Linux?1.1 什么是操作系統?

【Linux】萌新看過來!一篇文章帶你走進Linux世界

操作系統(Operating System,簡稱OS)是計算機系統中最為關鍵和基礎的軟件之一。它是計算機硬件與用戶或應用程序之間的橋梁,負責管理計算機的硬件資源,為上層應用程序提供一個穩定、高效且安全的運行環境。 簡而言之,操作系統是計算機正常運作的基石,讓用戶能夠方便、高效地使用計算機。


?1.2 各種操作系統對比

簡單來說Linux就是一種自由和開放源代碼的類unix操作系統。我們大部分同學最熟悉的操作系統是windows,也有少部分同學對macos情有獨鐘,相比而言我們和Linux之間好像十分陌生。既然我們要學習Linux,那Linux與Windows、macos等操作系統相比,有哪些優勢呢?

開源性:Linux的源代碼是公開的,這使得它成為了一個全球性的開源項目,吸引了大量開發者的參與和貢獻。相比之下,Windows和macOS等商業操作系統則通常保持源代碼的封閉性。 多用戶、多任務:Linux支持多用戶操作,每個用戶都可以有自己的登錄賬號和權限,同時系統可以執行多個任務,如運行多個程序、處理多個網絡請求等。這種特性使得Linux非常適合作為服務器操作系統。 穩定性和安全性:Linux內核設計精良,能夠長時間穩定運行,同時提供了豐富的安全機制和工具,保護系統免受惡意攻擊。這使得Linux在需要高穩定性和安全性的應用場景中備受青睞。 可定制性:由于Linux的開源特性,用戶可以根據自己的需求對系統進行定制和裁剪,以適應不同的應用場景。這種靈活性是商業操作系統所難以比擬的。


?1.3 現代Linux應用

在現代計算機領域,Linux的應用范圍非常廣泛,涵蓋了服務器、數據中心、嵌入式系統、移動設備、桌面計算等多個領域。

服務器和數據中心:由于其穩定性、安全性和可擴展性,Linux成為許多大型互聯網公司和企業的首選服務器操作系統。Linux提供了強大的網絡功能、高級的服務器軟件和工具,可以構建高性能、可靠的服務器架構。嵌入式系統:Linux在嵌入式系統領域也有廣泛應用。嵌入式Linux可以運行在各種設備上,如智能手機、平板電腦、網絡路由器、物聯網設備等。Linux提供了豐富的硬件支持、設備驅動程序和開發工具,使得開發者能夠構建高度定制化和功能豐富的嵌入式系統。桌面計算:盡管在個人電腦領域Windows和macOS占據主導地位,但Linux也提供了多個桌面環境(如GNOME、KDE等)和發行版(如ubuntu、Fedora等),可以滿足不同用戶的需求。許多技術專業人員、開發者和研究人員選擇在Linux桌面上工作。云計算和容器化:Linux在云計算和容器化領域發揮著重要作用。許多云服務提供商使用Linux作為其基礎設施的操作系統,同時Linux也推動了容器化技術的發展,如dockerkubernetes等。這些技術為應用程序的部署和管理提供了輕量級、可移植和可擴展的解決方案。


?1.4 Linux常用版本 Ubuntu 特點:Ubuntu是最常見和廣泛使用的Linux發行版之一,以易用性和友好的用戶界面而聞名。它適用于個人用戶和企業用戶,提供長期支持(LTS)版本和定期發布的版本。 應用場景:桌面和服務器環境。 centos 特點:CentOS是一種基于red Hat Enterprise Linux(RHEL)源代碼的免費版本,注重穩定性和安全性。它被廣泛用于服務器環境,并提供長期支持。 應用場景:企業級應用和服務器。 Fedora 特點:Fedora是由社區驅動的Linux發行版,也是Red Hat公司的測試平臺。它提供了最新的軟件包和技術,適用于開發者和技術愛好者。Fedora采用了快速的發布周期,每六個月發布一個新版本。 應用場景:開發者和技術愛好者。 debian 特點:Debian是一個穩定、安全且廣泛使用的Linux發行版,以其包管理系統(APT)而聞名,提供了大量的軟件包選擇。Debian有三個主要版本:穩定版、測試版和不穩定版,用戶可以根據自己的需求選擇合適的版本。 應用場景:服務器和桌面環境。 Kali Linux 特點:Kali Linux是專為網絡安全滲透測試而設計的發行版,內置了大量的安全工具和資源。 應用場景:安全專業人員和滲透測試愛好者。

【Linux】萌新看過來!一篇文章帶你走進Linux世界

?2、Linux 和 Windows 目錄結構對比?2.1 文件系統組織方式

1、 Windows

Windows采用層次化的目錄結構,類似于一棵樹根目錄通常是某個驅動器(如C:),但系統也可以安裝在其他驅動器上文件和文件夾按照樹狀結構組織,用戶可以通過路徑訪問特定的文件或文件夾

2、Linux

Linux采用單一的虛擬文件系統(VFS),這是一個樹狀結構,以根目錄(/)開始啟動系統后,VFS會識別出各個硬盤,并將硬盤的分區掛載到VFS的某個子目錄上用戶通過訪問這些掛載點來訪問硬盤上的數據和文件


?2.2 目錄命名和功能劃分

1、Windows

Windows目錄:通常位于C:Windows,包含操作系統的核心文件,如系統文件、驅動程序和系統配置Program Files:存放安裝的應用程序的目錄,可能是C:Program Files或C:Program Files (x86)(用于32位應用程序在64位系統上運行)Users目錄:包含用戶文件和配置文件,每個用戶都有一個獨立的子文件夾,以其用戶名命名Documents、Desktop等:用戶文檔和桌面上的圖標、快捷方式分別存放在Users目錄下的相應子文件夾中

2、Linux

根目錄(/): 所有目錄和文件的起點,包含了許多重要的子目錄/bin: 存放所有用戶都可以使用的Linux基本操作命令/dev: 設備文件目錄,主要存放系統中所有設備的相關信息/etc: 系統配置文件目錄,包含各種系統配置文件/home:默認存放用戶的宿主目錄(除了root用戶)/proc:虛擬文件系統,提供系統實時的信息,如CPU、內存、網絡等/sbin:系統管理相關的二進制文件存放目錄,普通用戶權限較小/usr:安裝除操作系統本身外的一些應用程序或組件/var:存放經常變化的文件,如日志文件、數據庫文件等


?2.3 目錄訪問方式

1、Windows

使用驅動器字母(如C:)和路徑來訪問文件和文件夾路徑分隔符是反斜杠()

2、Linux

使用根目錄(/)和路徑來訪問文件和文件夾路徑分隔符是正斜杠(/)用戶可以通過掛載點訪問硬盤上的數據和文件


?2.4 優缺點

1、Windows

優點: 用戶存放東西的位置比較自由,系統結構簡單便于新用戶上手缺點: 數據組織方式可能顯得凌亂,系統文件和用戶文件之間容易相互干擾

2、Linux

優點: 目錄結構清晰,反映了系統運行機理,有助于高效組織數據和分類缺點: 對于初學者來說,可能需要一定時間適應其復雜的目錄結構


?3、Linux簡單指令

關于Linux的指令,我們在前期學習的時候并不需要大量的去記,只需要學習一些簡單的基本指令,先把Linux用起來,在這個過程中邊學邊用就可。本篇文章也只介紹大概20個簡單的指令。 學習Linux,我們可以對比較為熟悉的Windows學習,同樣是操作系統,它們有什么相同的地方,有什么不同的地方,在學習的過程中我們通過對比,可以更快的熟悉Linux。

?3.1 mkdir指令

語法:mkdir [選項] dirname… 功能:在當前目錄下創建一個名為“dirname”的目錄(文件夾)

代碼語言:JavaScript代碼運行次數:0運行復制

[root@hcss-ecs-8f13 ~]# mkdir dirname[root@hcss-ecs-8f13 ~]# lsdirname [root@hcss-ecs-8f13 ~]# 

空文件也占據磁盤空間。文件 == 內容 + 屬性(文件名、大小、日期…)。

-p, –parents 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄代碼語言:javascript代碼運行次數:0運行復制

[root@hcss-ecs-8f13 dirname]# mkdir -p a/b/c[root@hcss-ecs-8f13 dirname]# pwd/root/dirname[root@hcss-ecs-8f13 dirname]# lltotal 4drwxr-xr-x 3 root root 4096 Sep  7 16:58 a-rw-r--r-- 1 root root    0 Sep  7 16:50 hello.txt[root@hcss-ecs-8f13 dirname]# lsa  hello.txt[root@hcss-ecs-8f13 dirname]# cd a[root@hcss-ecs-8f13 a]# lsb[root@hcss-ecs-8f13 a]# cd b[root@hcss-ecs-8f13 b]# lsc[root@hcss-ecs-8f13 b]# 

代碼語言:javascript代碼運行次數:0運行復制

[root@hcss-ecs-8f13 ~]# pwd/root[root@hcss-ecs-8f13 ~]# tree dirnamedirname├── a│   └── b│       └── c└── hello.txt3 directories, 1 file[root@hcss-ecs-8f13 ~]# 

?3.2 ls指令

語法:ls [選項][目錄或文件] 功能:對于目錄,該命令列出該目錄下的所有子目錄和文件;對于文件,列出文件名和其屬性

常用選項:

-l: 列出文件的詳細信息-a:列出目錄下的所有文件,包括以 . 開頭的隱藏文件-d:將目錄象文件一樣顯示,而不是顯示其下的文件ls -l -a、ls -a -l、ls -al、ls -la都是可以的目錄和文件都是可以隱藏的,可以主動創建隱藏目錄和隱藏文件在Linux中,任何一個目錄(包括空目錄),系統默認都會自帶.和..(隱藏)目錄.表示當前目錄,..表示上級目錄

【Linux】萌新看過來!一篇文章帶你走進Linux世界

Windows文件夾:

【Linux】萌新看過來!一篇文章帶你走進Linux世界

上面的ls [選項]是默認當前自己的目錄,也可以指定目錄:

代碼語言:javascript代碼運行次數:0運行復制

[root@hcss-ecs-8f13 /]# pwd/[root@hcss-ecs-8f13 /]# lsbin  boot  CloudrResetPwdAgent  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var[root@hcss-ecs-8f13 /]# ls -ltotal 64lrwxrwxrwx.   1 root root     7 Jul  7 14:23 bin -> usr/bindr-xr-xr-x.   5 root root  4096 Sep  1 18:43 bootdrwxr-xr-x    7 root root  4096 Jul  7 14:56 CloudrResetPwdAgentdrwxr-xr-x   19 root root  3020 Sep  1 18:46 devdrwxr-xr-x.  77 root root  4096 Sep  2 11:47 etcdrwxr-xr-x.   3 root root  4096 Sep  1 21:33 homelrwxrwxrwx.   1 root root     7 Jul  7 14:23 lib -> usr/liblrwxrwxrwx.   1 root root     9 Jul  7 14:23 lib64 -> usr/lib64drwx------.   2 root root 16384 Jul  7 14:23 lost+founddrwxr-xr-x.   2 root root  4096 Apr 11  2018 mediadrwxr-xr-x.   2 root root  4096 Apr 11  2018 mntdrwxr-xr-x.   2 root root  4096 Apr 11  2018 optdr-xr-xr-x  110 root root     0 Sep  1 18:46 procdr-xr-x---.   7 root root  4096 Sep  7 15:04 rootdrwxr-xr-x   24 root root   640 Sep  1 18:46 runlrwxrwxrwx.   1 root root     8 Jul  7 14:23 sbin -> usr/sbindrwxr-xr-x.   2 root root  4096 Apr 11  2018 srvdr-xr-xr-x   13 root root     0 Sep  5 23:15 sysdrwxrwxrwt.   9 root root  4096 Sep  7 03:31 tmpdrwxr-xr-x.  13 root root  4096 Jul  7 14:23 usrdrwxr-xr-x.  19 root root  4096 Jul  7 14:39 var[root@hcss-ecs-8f13 /]# ls -l /hometotal 4drwx------ 2 yjz yjz 4096 Sep  1 21:42 yjz[root@hcss-ecs-8f13 /]# ls /home -ltotal 4drwx------ 2 yjz yjz 4096 Sep  1 21:42 yjz[root@hcss-ecs-8f13 /]# 

?3.3 pwd指令

語法: pwd 功能: 顯示用戶當前所在目錄

代碼語言:javascript代碼運行次數:0運行復制

[root@hcss-ecs-8f13 ~]# pwd/root[root@hcss-ecs-8f13 ~]# 

在Windows中,我們同樣也可以得到當前所在目錄:

【Linux】萌新看過來!一篇文章帶你走進Linux世界

Windows下路徑分隔符是:,Linux下路徑分隔符是:/


?3.4 touch指令

語法:touch [選項]…文件… 功能: touch命令參數可更改文檔或目錄的日期時間,包括存取時間和更改時間,或者新建一個不存在的文件


?3.5 cd指令

語法: cd 目錄名 功能: 改變工作目錄,將當前工作目錄改變到指定的目錄下 舉例:

cd … : 返回上級目錄cd /home/litao/linux/ : 絕對路徑cd …/day02/ : 相對路徑cd ~:進入用戶家目cd -:返回最近訪問目錄代碼語言:javascript代碼運行次數:0運行復制

[root@hcss-ecs-8f13 ~]# pwd/root[root@hcss-ecs-8f13 ~]# cd dirname[root@hcss-ecs-8f13 dirname]# pwd/root/dirname[root@hcss-ecs-8f13 mydir]# cd /root/dirname //絕對路徑[root@hcss-ecs-8f13 dirname]# pwd/root/dirname[root@hcss-ecs-8f13 dirname]# cd[root@hcss-ecs-8f13 ~]# pwd/root[root@hcss-ecs-8f13 ~]# cd dirname //相對路徑[root@hcss-ecs-8f13 dirname]# pwd/root/dirname[root@hcss-ecs-8f13 dirname]# cd .. //返回上級路徑[root@hcss-ecs-8f13 ~]# pwd/root[root@hcss-ecs-8f13 ~]# cd mydir[root@hcss-ecs-8f13 mydir]# pwd/root/mydir[root@hcss-ecs-8f13 mydir]# cd .[root@hcss-ecs-8f13 mydir]# pwd/root/mydir[root@hcss-ecs-8f13 mydir]# cd ..[root@hcss-ecs-8f13 ~]# cd ..[root@hcss-ecs-8f13 /]# cd ..[root@hcss-ecs-8f13 /]# pwd[root@hcss-ecs-8f13 /]# ls -lad /dr-xr-xr-x. 19 root root 4096 Sep  1 18:46 / //可以看到‘/’也是一個目錄[root@hcss-ecs-8f13 /]# 

Linux系統中,磁盤上的文件和目錄被組成一棵目錄樹,每個節點都是目錄或文件。

【Linux】萌新看過來!一篇文章帶你走進Linux世界

cd、cd ~:返回當前用戶自己的家目錄:

代碼語言:javascript代碼運行次數:0運行復制

[root@hcss-ecs-8f13 /]# cd[root@hcss-ecs-8f13 ~]# pwd/root[root@hcss-ecs-8f13 ~]# cd ~[root@hcss-ecs-8f13 ~]# pwd/root[root@hcss-ecs-8f13 ~]# 

什么是家目錄? 任何一個Linux用戶,用特定的用戶名登錄系統,默認都在家目錄下。

命令本質上就是系統中的一個普通文件,是一個可執行程序。

代碼語言:javascript代碼運行次數:0運行復制

[root@hcss-ecs-8f13 ~]# which lsalias ls='ls --color=auto'/usr/bin/ls[root@hcss-ecs-8f13 ~]# which pwd/usr/bin/pwd[root@hcss-ecs-8f13 ~]# which mkdir/usr/bin/mkdir[root@hcss-ecs-8f13 ~]# ls /usr/bin/pwd/usr/bin/pwd[root@hcss-ecs-8f13 ~]# ls /usr/bin/pwd -l-rwxr-xr-x 1 root root 33232 Nov 17  2020 /usr/bin/pwd[root@hcss-ecs-8f13 ~]# ls /usr/bin/ls -l-rwxr-xr-x 1 root root 117608 Nov 17  2020 /usr/bin/ls[root@hcss-ecs-8f13 ~]# pwd/root[root@hcss-ecs-8f13 ~]# /usr/bin/pwd/root[root@hcss-ecs-8f13 ~]# /usr/bin/lsdirname  mydirtext.txt[root@hcss-ecs-8f13 ~]# 
【Linux】萌新看過來!一篇文章帶你走進Linux世界

代碼語言:javascript代碼運行次數:0運行復制

[root@hcss-ecs-8f13 ~]# alias abc=pwd[root@hcss-ecs-8f13 ~]# pwd/root[root@hcss-ecs-8f13 ~]# abc/root[root@hcss-ecs-8f13 ~]# alias def=ls[root@hcss-ecs-8f13 ~]# lsdirname  mydir  text.txt[root@hcss-ecs-8f13 ~]# defdirname  mydir  text.txt[root@hcss-ecs-8f13 ~]# 

起別名是臨時的,退出登錄后起的別名就不能用了代碼語言:javascript代碼運行次數:0運行復制

[root@hcss-ecs-8f13 ~]# which llalias ll='ls -l --color=auto'/usr/bin/ls[root@hcss-ecs-8f13 ~]# which lsalias ls='ls --color=auto'/usr/bin/ls[root@hcss-ecs-8f13 ~]# lsdirname  mydir  text.txt[root@hcss-ecs-8f13 ~]# lltotal 8drwxr-xr-x 3 root root 4096 Sep  7 16:58 dirnamedrwxr-xr-x 2 root root 4096 Sep  6 18:16 mydir-rw-r--r-- 1 root root    0 Sep  7 15:04 text.txt[root@hcss-ecs-8f13 ~]# ls -ltotal 8drwxr-xr-x 3 root root 4096 Sep  7 16:58 dirnamedrwxr-xr-x 2 root root 4096 Sep  6 18:16 mydir-rw-r--r-- 1 root root    0 Sep  7 15:04 text.txt[root@hcss-ecs-8f13 ~]# 

ls -l和ll的效果是一樣的,因為ll就是ls -l的別名


?3.6 rmdir 指令和 rm 指令

rmdir是一個與mkdir相對應的命令。mkdir是建立目錄,而rmdir是刪除命令。 語法:rmdir [-p][dirName] 適用對象:具有當前目錄操作權限的所有使用者 功能:刪除空目錄 常用選項:

-p 當子目錄被刪除后如果父目錄也變成空目錄的話,就連帶父目錄一起刪除

rm命令可以同時刪除文件或目錄 語法:rm [-f-i-r-v][dirName/dir] 適用對象:所有使用者 功能:刪除文件或目錄 常用選項:

-f 即使文件屬性為只讀(即寫保護),亦直接刪除-i 刪除前逐一詢問確認-r 刪除目錄及其下所有文件


?3.7 man指令

Linux的命令有很多參數,我們不可能全記住,我們可以通過查看聯機手冊獲取幫助。 語法: man [選項] 命令 常用選項:

-k 根據關鍵字搜索聯機幫助num 只在第num章節找-a 將所有章節的都顯示出來,比如 man printf 它缺省從第一章開始搜索,找到就停止,用a選項,當按下q退出,他會繼續往后面搜索,直到所有章節都搜索完畢

【Linux】萌新看過來!一篇文章帶你走進Linux世界

按q退出。


?3.8 cp指令

語法: cp [選項] 源文件或目錄 目標文件或目錄 功能: 復制文件或目錄 說明: cp指令用于復制文件或目錄,如同時指定兩個以上的文件或目錄,且最后的目的地是一個已經存在的目錄,則它會把前面指定的所有文件或目錄復制到此目錄中;若同時指定多個文件或目錄,而最后的目的地并非一個已存在的目錄,則會出現錯誤信息

普通文件拷貝:

代碼語言:javascript代碼運行次數:0運行復制

[root@hcss-ecs-8f13 ~]# pwd/root[root@hcss-ecs-8f13 ~]# lsdirname  text.txt[root@hcss-ecs-8f13 ~]# cp text.txt dirname/[root@hcss-ecs-8f13 ~]# cd dirname[root@hcss-ecs-8f13 dirname]# lstext.txt[root@hcss-ecs-8f13 dirname]# cp text.txt copy.txt[root@hcss-ecs-8f13 dirname]# lscopy.txt  text.txt[root@hcss-ecs-8f13 dirname]# 

目錄拷貝:

代碼語言:javascript代碼運行次數:0運行復制

[root@hcss-ecs-8f13 dirname]# cp dirname dirname.0cp: cannot stat ‘dirname’: No such file or directory[root@hcss-ecs-8f13 dirname]# pwd/root/dirname[root@hcss-ecs-8f13 dirname]# cd[root@hcss-ecs-8f13 ~]# pwd/root[root@hcss-ecs-8f13 ~]# cp -r dirname dirname.0[root@hcss-ecs-8f13 ~]# lsdirname  dirname.0  text.txt[root@hcss-ecs-8f13 ~]# tree.├── dirname│   ├── copy.txt│   └── text.txt├── dirname.0│   ├── copy.txt│   └── text.txt└── text.txt2 directories, 5 files[root@hcss-ecs-8f13 ~]# cp -r dirname dirname.0[root@hcss-ecs-8f13 ~]# tree.├── dirname│   ├── copy.txt│   └── text.txt├── dirname.0│   ├── copy.txt│   ├── dirname│   │   ├── copy.txt│   │   └── text.txt│   └── text.txt└── text.txt3 directories, 7 files[root@hcss-ecs-8f13 ~]# 

拷貝目錄需要加-r

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享