Linux基礎和命令

来源:https://www.cnblogs.com/fengxia6/archive/2022/09/15/16697151.html
-Advertisement-
Play Games

Linux的哲學思想 優勢 一切都是一個文件。(包括硬體,文本,二進位,源代 碼) 系統中擁有小型,單一用途的程式。(一個程式只負責 做好自己的本職工作) 當遇到複雜任務,通過不同功能用途的程式組合起來 完成。 輕量級,一臺服務 dhcp ip 資料庫服務 網 頁 避免令人困惑的用戶界面就是沒有複雜 ...


Linux的哲學思想

優勢

  1. 一切都是一個文件。(包括硬體,文本,二進位,源代 碼)
  2. 系統中擁有小型,單一用途的程式。(一個程式只負責 做好自己的本職工作)
  3. 當遇到複雜任務,通過不同功能用途的程式組合起來 完成。 輕量級,一臺服務 dhcp ip 資料庫服務 網 頁
  4. 避免令人困惑的用戶界面就是沒有複雜的圖形界面。 ()我想怎麼使用程式,win程式
  5. 連配置文件都存儲在文本中,方便增刪改查。
  6. 不在乎尾碼名,有沒有都無所謂,不是通過尾碼名來 定義文件的類型。

基礎知識


root             #表示用戶
localhost                  #主機名
~                     #家目錄
#                #管理員用戶
$                 #普通用戶
root                #root的家目錄
opt             #opt目錄

關機命令:
1、halt            #立刻關機
2、poweroff                   #立刻關機
3、shutdown -h now      #立刻關機(root用戶 使用)
4、shutdown -h 10       #10分鐘後自動關機

重啟命令:
reboot
init 6
shutdown -r now

Linux命令

shell

shell的定義

 

 

 用戶使用應用程式發佈指令比如 (使用瀏覽器訪問網頁) 

shell去通知操作系統需要進行什麼樣的操作(相當於解釋層)
內核相當於操作系統去指揮硬體 硬體才能工作,否則無法交互

不同的shell環境

bash是linux裡面預設的shell程式位於/bin/bash csh ksh 語言不同比如中文英文都是交流的語言

[root@localhost ~]  # echo $SHELL //顯示當前shell
/bin/bash
[root@localhost ~]  # cat /etc/shells //顯示當前系統所有使用的shell
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
[root@localhost mnt]# sh 切換shell環境 sh-4.2# [root@localhost mnt]# pstree 查看使用過的shell環境 ├─sshd───sshd───bash───csh───bash───tcsh ───bash───pstree
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tuned───4*[{tuned}]
├─upowerd───2*[{upowerd}]
├─vmtoolsd───{vmtoolsd}
├─wpa_supplicant
└─xdg-permission-───2*[{xdg-permission-}]

 

shell與內、外部命令

(1) shell 分為內部命令和外部命令,一般先執行內部命令,hash 再執行外部命令

內部命令 外部命令
集成於Shell解釋器程式內部 的一些特殊指令,也稱為內 建(Built-in)指令 Linux系統中能夠完成 特定功能的腳本文件 或二進位程式
屬於Shell的一部分 屬於Shell解釋器程式 之外的命令
沒有單獨對應的系統文件 每個外部命令對應了 系統中的一個文件
自動載入記憶體,可以直接使 用 必須知道其對應的文 件位置,由Shell載入 後才能執行

 

 

 

 

 

 

 

(2)help命令可以查看內部命令

[root@localhost ~]# help cd
cd: cd [-L|[-P [-e]]] [dir]
Change the shell working directory.

Change the current directory to DIR. The default DIR is the value of the
HOME shell variable.

The variable CDPATH defines the search path for the directory containing
DIR. Alternative directory names in CDPATH are separated by a colon (:).
A null directory name is the same as the current directory. If DIR begins
with a slash (/), then CDPATH is not used.

If the directory is not found, and the shell option 'cdable_vars'is set,
the word is assumed to be a variable name. If that variable has a value,
its value is used for DIR.

Options:
-L        force symbolic links to be followed
-P       use the physical directory structure without following symbolic
links
-e            if the -P option is supplied, and the current working directory


cannot be determined successfully, exit with a non-zero status

The default is to follow symbolic links, as if '-L' were specified.

Exit Status:
Returns 0 if the directory is changed, and if $PWD is set successfully when
-P  is used; non-zero otherwise.

 

(3)可以使用type 命令來區分內外部命令

[root@localhost /]             # type cd // 內嵌代表內部命令
cd 是 shell 內嵌
[root@test1 /]               # type -a ls
ls 是 'ls --color=auto' 的別名               //別 名代表外部命令
ls 是 /usr/bin/ls                   //外部命令會有程式路徑
[root@localhost /]# whereis ls //whereis 可以查找命令具體的位置所在
ls: /usr/bin/ls
/usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
[root@localhost ~]# type -a
echo echo 是 shell 內嵌
echo 是 /usr/bin/echo

外部命令存放於 echo $PATH 一個一個找,找到為 止,找不到就報無命令

[root@localhost ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin :/usr/bin:/root/bin

外部命令使用過後會被記錄在記憶體(緩存,但是會占用 記憶體,臨時性的)加快讀取速度

[root@localhost ~]# type useradd useradd 是 /usr/sbin/useradd [root@localhost ~]# useradd wu [root@localhost ~]# type useradd
useradd 已被hash (/usr/sbin/useradd)
[root@localhost ~]# hash //或者使用hash
hash 緩存

(4)開啟或關閉內部命令

關閉:enable -n 內部命令

開啟:enable 內部命令

[root@localhost opt]# enable -n cd
[root@localhost opt]# cd /mnt/
[root@localhost opt]#

(5)hash 緩存空間

                      選項                                       說明                                 
-d<指令> 在哈希表中清除某個命令記錄
-r 清除哈希表中的所有記錄
-L 顯示哈希表中的命令
-p<指令> 將具有完整路徑的命令加入到哈希表中
-t<指令> 顯示哈希表中命令的完整路徑
# 命令行格式            

 

 

 

 

 

 

 

 

  • 在Linux 操作系統中,凡是在字元操作界面中輸入能夠完成特定操作和任務的字元串都可以稱為命令。
  • 嚴格來說,命令通常只代表實現某一類功能的程式的名稱。

    格式

    命令字 空格 [選項] 空格 [參數]

    解釋命令字 選項 參數各自的意思及具體使用方法

    • 命令字

      是整條命令中最關鍵的一部分,唯一確定。

    • 選項

      短格式選項:使用“-”符號引導,通常是一個字母;

      長格式選項:使用“--”符號引導,通常是完整的單詞。

    • 參數

      命令字的處理對象,可以是文件名、目錄(路徑)名或用戶名等內容,個數可以是零到多個。

    ;可以隔開命令

    ,執行多個命令

    編輯Linux命令行的輔助操作

 

                              快捷鍵                                                     功能                                 
Tab 鍵 自動補齊(兩次可以顯示所有選項)
反斜杠“\” 強制換行或轉義
Ctrl+a 游標移到最前
Ctrl+e 游標移到最後
Ctrl+U 清空至行首不包括當前游標處的 字元
Ctrl+K 清空至行尾包括當前游標處的字元
Ctrl+w 從當前游標刪除到開頭
ALT+d 從當前游標刪除末尾
Ctrl+l 清屏
Ctrl+c 取消本次命令編輯
Ctrl+s/Ctrl+q 鎖屏/解鎖
向上下箭頭 回看執行過的命令
# 獲得命令幫助  
## help  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • [ ]表示可選項
  • CAPS或<>表示可變化的數據
  • ...表示一個列表可加多個
  • x|y|z 表示或的意思
  • -abc 是-a -b -c (有些命令選項有先後順序)

只能查看內部命令的使用方法

[root@localhost ~]# help echo
#內部命令查看幫助
echo: echo [-neE] [參數 ...]
將參數寫到標準輸出。
在標準輸出上顯示 ARG 參數後跟一個換行。

選項:
-n 不要追加換行
-e 啟用下列反斜杠轉義的解釋
-E 顯式地抑制對於反斜杠轉義的解釋

'echo' 對下列反斜杠字元進行轉義:
\a 警告(響鈴)
\b 退格
\c 抑制更多的輸出
\e 轉義字元
\f 格式提供
\n 換行
\r 回車
\t 橫向製表符
\v 縱向製表符
\\ 反斜杠
\0nnn 以 NNN (八進位)為 ASCII 碼的字 符。
NNN 可以是 0到3個八進位數字
\xHH 以 HH (十六進位)為值的八比特字 符。
HH可以是 一個或兩個十六進位數字

退出狀態:
返回成功除非有寫錯誤發生。

--help

查看外部命令幫助

[root@localhost ~]# ls --help
[root@localhost dev]# useradd --help

man

man分九個章節預設打開第一章節

[root@localhost ~]# whatis ls
ls (1)               - 列目錄內容
   1代表第一章手冊
ls (1p)              - list directory contents
1p 代表開發程式使用

[root@localhost ~]# whatis passwd   //可以查看命令的章節
passwd (5)           - (未知的主題)
sslpasswd (1ssl)     - compute password hashes
passwd (1)           - update user's authentication tokens
[root@localhost ~]# man 5 passwd   //查看第五章內容,第5章一般是配置文件格式詳細解釋
[root@localhost ~]# man 7 ascii
[root@localhost ~]# man 7 UTF-8
[root@localhost ~]# mandb           //生成man資料庫,man命令無效時
正在刪除 /usr/share/man 里的舊資料庫條目...
mandb: 警告:/usr/share/man/man8/fsck.fat.8.manpage-fix.gz:忽略錯誤的文件名
正在處理 /usr/share/man 下的手冊頁...
正在刪除 /usr/share/man/hu 里的舊資料庫條目...
正在刪除 /usr/share/man/pl 里的舊資料庫條目...


[root@localhost ~]# man man

該清單是一組用冒號分隔的欲查找的手冊清單。此選項將覆蓋               MANSECT               環境變數。
            有些指令或程式可能有一個以上的主題,它們位於不同的區段中。因此,要查看較後的區 段,你可以在此指定 man
            查找區段的順序。具體區段劃分如下所示:
            區段1:用戶指令
            區段2:系統調用
            區段3:程式庫調用
            區段4:設備
            區段5:文件格式     shadow passwd fstab
            區段6:游戲
            區段7:雜項
            區段8:系統指令
            區段9:內核內部指令
            區段n:Tcl或Tk指令

info

[root@localhost dev]# info ls

                                                                   百度是最快解決方式不拘泥形式                                                                   

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

-Advertisement-
Play Games
更多相關文章
  • 前言 最近想做一個Web版的即時聊天為後面開發的各項功能做輔助,就需要瀏覽器與伺服器能夠實時通訊。而WebSocket這種雙向通信協議,就很合適用來實現這種需求。 本篇文章主要解決C#如何實現WebSocket服務端和Javascript客戶端基於wss協議的安全通信問題。 本文代碼已開源至Gith ...
  • 日常工作中有時候會遇到需要將程式直接在伺服器上運行,而不依賴於 IIS 托管的情況,直接運行有兩種方式,一種是部署為 服務模式,另一種則是 直接啟動 .NET 發佈之後的 exe 文件以 控制台模式運行,控制台模式運行主要問題是伺服器在重新啟動之後不會自動啟動,當然也可以選擇配置 Windows 計 ...
  • 今天我們來介紹一下 Bootstrap Blazor 中 Table 組件的虛擬滾動行,什麼是虛擬滾動呢,我查到的解釋是:只渲染可視區域的列表項,非可見區域的 完全不渲染,在滾動條滾動時動態更新列表項。 然後很明顯,在實際應用中不可能實現“非可見區域的 完全不渲染”,這樣的體驗效果太差了,下拉直接空 ...
  • 在VMware虛擬機下centOS7下配置橋接網路 首先,在以下的配置都操作好之後,要確認宿主機的網路連接方式, 若為需要認證的網路,則可能會出現宿主機與虛擬機能互相ping,但虛擬機不能ping外網的情況 一、虛擬機配置 確保虛擬機為關機的狀態,在VMware中編輯一欄打開虛擬網路編輯器,點擊更改 ...
  • 數據結構概述: 程式 = 數據結構 + 演算法 演算法:一些計算方法,解決問題的流程/步驟(順序、分支、迴圈......),通俗的說,演算法相當於邏輯,小部分已經被人們發掘出來了(這裡的小部分指的是書本上講的一些經典的解決一類問題的方法),解決問題的一種模式。 數據結構:將數據按照某一種特定的結構(方法) ...
  • Set A Light 3D Studio for Mac是一款可以幫助攝影工作者對3D室內攝影進行燈光位置調整的軟體,你可以清楚的瞭解到不同位置的燈光怎麼佈局。Set A Light 3D Studio Mac模擬影樓的效果,使用它可以預先在PC或Mac上搭建的照明設置,逼真地模擬預期的畫面效果和 ...
  • sed用法 基礎sed命令 sed命令的基本語法 sed OPTIONS… [SCRIPT] [INPUTFILE…] 常用的選項: -n,–quiet: 不輸出模式空間中的內容 -i: 直接編輯原文件,預設不對原文件進行操作 -e: 可以使用多個命令(腳本)進行操作 -f /path/from/s ...
  • 超級熱鍵可通過簡單編程 —— 自動化完成複雜操作,提升效率。 ▶ 快速上手 本教程需要一個很小的開源軟體 ImTip ( 體積 639 KB ), 請右鍵點開 ImTip 托盤菜單,然後點擊「管理超級熱鍵」: 然後將熱鍵配置改為如下代碼,並且勾選「啟用超級熱鍵」,再點擊「保存」按鈕使熱鍵生效。 // ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...