Linux詳細介紹以及常用命令

来源:https://www.cnblogs.com/sansheng93/archive/2019/07/21/learningLinux.html
-Advertisement-
Play Games

Linux系統說明 Linux( 誕生於1991.10.5) 繼承了Unix以網路為核心的設計思想, 是一個性能穩定的多用戶網路操作系統. Linux這個詞嚴格意義上只表示Linux內核, 但日常中, 習慣用Linux來形容整個基於Linux內核, 並使用GNU( 一個自由的操作系統) 工程各種工具 ...


                            

Linux系統說明

  Linux( 誕生於1991.10.5) 繼承了Unix以網路為核心的設計思想, 是一個性能穩定的多用戶網路操作系統.

  Linux這個詞嚴格意義上只表示Linux內核, 但日常中, 習慣用Linux來形容整個基於Linux內核, 並使用GNU( 一個自由的操作系統) 工程各種工具和資料庫的操作系統. 常見的有主流產品如 ubuntu, CentOS, Debian, Redhat, "中標麒麟" 等.

  註意, Linux系統全部都是基於文件的, Linux操作系統是以根目錄的形式來存儲數據的.

Linux優缺點

一.優點

  1.Linux基於網路, 遠程連接便利: 只要擁有許可權, 用戶可以輕鬆操控遠在海角的linux伺服器, 需要的帶寬很小.

  2.開放源碼和高度可定製: 源碼的開放利於開發者根據需求去修改從而定製自己的系統, 所以linux能夠輕鬆適應不同用戶的不同環境.

  3. Linux命令行功能強大, 具有可編輯可重用的特性

  4.去中心化: 分散的軟體開發, 造就系統的介面和形式不統一, linux個性十足.

  5.linux支持多人同時上線工作, 資源分配合理且平均

二.缺點

  1.沒有特定的軟體支持, 專業功能軟體單一

  2.游戲支持度不足

Linux常用命令

預備知識

  首先進入Linux系統, 可以看到 xxx' home( 相當於windows下的賬戶), Computer( 相當於windows下的"我的電腦") 以及Trash( 回收站). 上面所說, linux系統是基於文件的, 所有目錄/文件基於一個根目錄存放, 那就是 (Filesystem) "/", 用Xshell等終端連接工具連接linux伺服器( 或虛擬機上的linux)後, 首先看到的便是:

  

  這裡的 "~"( 代位符) 代表個人目錄的地址, 不同用戶登錄會是各自的地址, 以root為例, "~"代表 /root/

根目錄下各目錄的作用 

  cd / 進入根目錄

  ls 查看當前目錄下的子目錄及文件

  

  ( 代碼區塊字體較小, 瀏覽器訪問可以通過 alt+'上滾輪' 來放大查看)

  /bin 存放著普通用戶的命令( 二進位可執行命令)
  /dev 系統設備( 驅動程式)
  /home 用戶主目錄的基點
  /lost-found  當系統非正常關機時, 留下的臨時文件會存儲在該目錄下( 平時是空目錄)
  /proc 存放用戶與內核的交互信息
  /sbin 存放系統管理員使用的程式
  /srv 系統啟動服務時可以訪問的資料庫目錄
  /tmp 臨時文件, 重啟系統後自動清空
  /var 大文件的溢出區( 如各種服務的日誌文件)
  /boot 啟動系統的核心文件
  /etc 系統的所有配置文件
  /lib 存放和系統運行相關的庫文件
  /mnt 掛載目錄( 系統管理員臨時安裝文件的安裝點)
  /media 存放可移除的設備( 如U盤等)
  /opt 源碼安裝目錄位置
  /root 超級管理員目錄
  /selinux 系統安全相關, 加固系統
  /sys 管理設備文件
  /usr 最常用. 最大的目錄, 存放著應用程式和文件

常用指令之系統信息

  date 顯示系統時間
    date 072018002019.00 設置日期時間 格式 - 月日時分年.秒 ,當前表示: 2019//7/20 18:00:00
    clock -w 將時間修改保存到BIOS
  cal 2019 顯示2019年的日曆表
  arch 顯示機器的處理器架構
  uname -m 顯示機器的處理器架構
  uname -r 顯示正在使用的內核版本
  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 顯示已載入的文件系統 

常用指令之系統操作 

  shutdown  -h now 立即關閉系統
        -h hours:minutes & 按預定分鐘關閉系統
        -c 取消按預定時間關閉系統
        -r now 重啟
  init 0 關閉系統
  telinit 0 關閉系統
  reboot 重啟
  logout 註銷

常用指令之文件/目錄操作( 查看, 新建, 刪除, 移動, 複製, 解壓, 壓縮等)

  聲明: 

  部分參考: https://www.cnblogs.com/yjd_hycf_space/p/7730690.html

  原作者博客園: https://www.cnblogs.com/yjd_hycf_space/ 

  

---------------------------------------------------
  cd /usr/local/src 進入 '/usr/local/src' 目錄
  cd .. 返回上一級目錄   cd 進入個人的主目錄   cd ~user1 進入個人的主目錄   cd - 返回上次所在的目錄   pwd 顯示工作路徑   ls 查看目錄中的文件   ls -F 查看目錄中的文件   ls -l 顯示文件和目錄的詳細資料   ls -a 顯示隱藏文件   ls *[0-9]* 顯示包含數字的文件名和目錄名   tree 顯示文件和目錄由根目錄開始的樹形結構   lstree 顯示文件和目錄由根目錄開始的樹形結構   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 創建一個指向文件或目錄的物理鏈接
---------------------------------------------------
  find / -name file1 從' /' 開始進入根文件系統搜索文件和目錄
 
  find / -user user1 搜索屬於用戶' user1' 的文件和目錄 
  find /home/user1 -name \*.cfg 在目錄' /home/user1' 中搜索帶有' .cfg' 結尾的文件
---------------------------------------------------
  useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 創建一個屬於 "admin" 用戶組的用戶 
  useradd user1 創建一個新用戶 
  userdel -r user1 刪除一個用戶 ( '-r' 排除主目錄) 
  usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用戶屬性 
  passwd 修改口令 
  passwd user1 修改一個用戶的口令 (只允許root執行) 
  ls -lh 顯示許可權
---------------------------------------------------
  打包和壓縮文件
  
  bunzip2 file1.bz2 解壓一個叫做 'file1.bz2'的文件 
  bzip2 file1 壓縮一個叫做 'file1' 的文件 
  gunzip file1.gz 解壓一個叫做 'file1.gz'的文件 
  gzip file1 壓縮一個叫做 'file1'的文件 
  gzip -9 file1 最大程度壓縮 
  rar a file1.rar test_file 創建一個叫做 'file1.rar' 的包 
  rar a file1.rar file1 file2 dir1 同時壓縮 'file1', 'file2' 以及目錄 'dir1' 
  rar x file1.rar 解壓rar包 
  unrar x file1.rar 解壓rar包 
  tar -cvf archive.tar file1 創建一個非壓縮的 tarball 
  tar -cvf archive.tar file1 file2 dir1 創建一個包含了 'file1', 'file2' 以及 'dir1'的檔案文件 
  tar -tf archive.tar 顯示一個包中的內容 
  tar -xvf archive.tar 釋放一個包 
  tar -xvf archive.tar -C /tmp 將壓縮包釋放到 /tmp目錄下 
  tar -cvfj archive.tar.bz2 dir1 創建一個bzip2格式的壓縮包 
  tar -jxvf archive.tar.bz2 解壓一個bzip2格式的壓縮包 
  tar -cvfz archive.tar.gz dir1 創建一個gzip格式的壓縮包 
  tar -zxvf archive.tar.gz 解壓一個gzip格式的壓縮包 
  zip file1.zip file1 創建一個zip格式的壓縮包 
  zip -r file1.zip file1 file2 dir1 將幾個文件和目錄同時壓縮成一個zip格式的壓縮包 
  unzip file1.zip 解壓一個zip格式壓縮包
---------------------------------------------------
  查看文件內容
  cat file1 從第一個位元組開始正向查看文件的內容 
  tac file1 從最後一行開始反向查看一個文件的內容 
  more file1 查看一個長文件的內容 
  less file1 類似於 'more' 命令,但是它允許在文件中和正向操作一樣的反向操作 
  head -2 file1 查看一個文件的前兩行 
  tail -2 file1 查看一個文件的最後兩行 
  tail -f /var/log/messages 實時查看被添加到一個文件中的內容 
---------------------------------------------------
  文本處理 
  cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT 
  cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合併一個文件的詳細說明文本,並將簡介寫入一個新文件中 
  cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合併一個文件的詳細說明文本,並將簡介寫入一個已有的文件中 
  grep Aug /var/log/messages 在文件 '/var/log/messages'中查找關鍵詞"Aug" 
  grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"開始的辭彙 
  grep [0-9] /var/log/messages 選擇 '/var/log/messages' 文件中所有包含數字的行 
  grep Aug -R /var/log/* 在目錄 '/var/log' 及隨後的目錄中搜索字元串"Aug" 
  sed 's/stringa1/stringa2/g' example.txt 將example.txt文件中的 "string1" 替換成 "string2" 
  sed '/^$/d' example.txt 從example.txt文件中刪除所有空白行 
  sed '/ *#/d; /^$/d' example.txt 從example.txt文件中刪除所有註釋和空白行 
  echo 'esempio' | tr '[:lower:]' '[:upper:]' 合併上下單元格內容 
  sed -e '1d' result.txt 從文件example.txt 中排除第一行 
  sed -n '/stringa1/p' 查看只包含辭彙 "string1"的行 
  sed -e 's/ *$//' example.txt 刪除每一行最後的空白字元 
  sed -e 's/stringa1//g' example.txt 從文檔中只刪除辭彙 "string1" 並保留剩餘全部 
  sed -n '1,5p;5q' example.txt 查看從第一行到第5行內容 
  sed -n '5p;5q' example.txt 查看第5行 
  sed -e 's/00*/0/g' example.txt 用單個零替換多個零 
  cat -n file1 標示文件的行數 
  cat example.txt | awk 'NR%2==1' 刪除example.txt文件中的所有偶數行 
  echo a b c | awk '{print $1}' 查看一行第一欄 
  echo a b c | awk '{print $1,$3}' 查看一行的第一和第三欄 
  paste file1 file2 合併兩個文件或兩欄的內容 
  paste -d '+' file1 file2 合併兩個文件或兩欄的內容,中間用"+"區分 
  sort file1 file2 排序兩個文件的內容 
  sort file1 file2 | uniq 取出兩個文件的並集(重覆的行只保留一份) 
  sort file1 file2 | uniq -u 刪除交集,留下其他的行 
  sort file1 file2 | uniq -d 取出兩個文件的交集(只留下同時存在於兩個文件中的文件) 
  comm -1 file1 file2 比較兩個文件的內容只刪除 'file1' 所包含的內容 
  comm -2 file1 file2 比較兩個文件的內容只刪除 'file2' 所包含的內容 
  comm -3 file1 file2 比較兩個文件的內容只刪除兩個文件共有的部分

 

 

  


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • .NET Core CSharp 初級篇 1 4 本節內容為this、索引器、靜態、常量以及只讀 簡介 在之前的課程中,我們談論過了靜態函數和欄位的一小部分知識,本節內容中,我們將詳細的講解關於對象操作的例子,以及更加深入的解釋面向對象。 常量 常量,顧名思義,就是一直為同一個值的變數,並且值不可以 ...
  • 1、將啟動圖片保存到Drawable文件夾下 2、在Drawable文件夾下創建splashscreen.xml 3、在android項目的 Resources 文件夾下添加“Values”文件夾,創建 Styles.xml,設置其創建內容如下: 4、在Android項目下創建一個SplashScr ...
  • 剛纔對數據進行批量更新時,收到一條錯誤信息:The JSON request was too large to be deserialized。 查找資料,原來json對象數量有限制,得需要在web.config時行配置參數: <appSettings> <add key="aspnet:MaxJs ...
  • 一、簡要介紹 ABP vNext 框架本身就是圍繞著 DDD 理念進行設計的,所以在 DDD 裡面我們能夠見到的實體、倉儲、值對象、領域服務,ABP vNext 框架都為我們進行了實現,這些基礎設施都存放在 Volo.Abp.Ddd.Domain 項目當中。 本篇文章將會側重於理論講解,但也只是一個 ...
  • Windows無法上網,提示[Windows無法連接到 System Event Notification Service服務] ...
  • 解決Deepin無法在root用戶啟動Google Chrome瀏覽器的問題,步驟如下。 前提:如何用root用戶登錄系統?編輯 vim /etc/lightdm/lightdm.conf , 找到並賦值 autologin-user=root,保存退出即可。 1.找到Chrome的路徑 2.編輯g ...
  • iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允許本地迴環介面(即運行本機訪問本機) iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允許已建立的或相關 ...
  • 如何高效獲取命令幫助信息 一、 內核版本號:主.次.修訂 系統中:用戶名UID(只認識,不認識名字) root:密碼 student: 3A認證: 認證機制authentication 密碼認證:符合複雜性 字元長度(至少7位) 不要使用易記 定期更改 重覆密碼的時間要長 授權機制authoriza ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...