Linux中常用操作命令

来源:https://www.cnblogs.com/banjinbaijiu/archive/2018/06/05/9140460.html
-Advertisement-
Play Games

ref:ttps://mp.weixin.qq.com/s_biz=MzI4Njg5MDA5NA==&mid=2247484231&idx=1&sn=4cf217a4d692a7aba804e5d96186b15b&chksm=ebd74246dca0cb5024de2f1d9f9e2ecb631e ...


ref:ttps://mp.weixin.qq.com/s_biz=MzI4Njg5MDA5NA==&mid=2247484231&idx=1&sn=4cf217a4d692a7aba804e5d96186b15b&chksm=ebd74246dca0cb5024de2f1d9f9e2ecb631e49752713c25bbe4 4f44856e919df5a973049c189#rd

     http://www.jb51.net/article/98513.htm

     https://blog.csdn.net/qq_34620589/article/details/70268148

一、常用的文件、目錄操作命令

這是我們使用得最多的命令了,Linux最基礎的命令

  • 可用  pwd命令查看用戶的當前目錄

  • 可用 cd 命令來切換目錄

  • .表示當前目錄

  • .. 表示當前目錄的上一級目錄(父目錄)

  • -表示用 cd 命令切換目錄所在的目錄

  • ~ 表示用戶主目錄的絕對路徑名

絕對路徑:

  • 以斜線(/)開頭 ,描述到文件位置的完整說明 ,任何時候你想指定文件名的時候都可以使用

相對路徑 :

  • 不以斜線(/)開頭 ,指定相對於你的當前工作目錄而言的位置 ,可以被用作指定文件名的簡捷方式

tips:輸入命令的時候要常用tab鍵來補全

  • ls:顯示文件或目錄信息

  • mkdir:當前目錄下創建一個空目錄

  • rmdir:要求目錄為空

  • touch:生成一個空文件或更改文件的時間

  • cp:複製文件或目錄

  • mv:移動文件或目錄、文件或目錄改名

  • rm:刪除文件或目錄

  • ln:建立鏈接文件

  • find:查找文件

  • file/stat:查看文件類型或文件屬性信息

  • cat查看文本文件內容

  • more可以分頁看

  • less不僅可以分頁,還可以方便地搜索,回翻等操作

  • tail -10: 查看文件的尾部的10行

  • head -20:查看文件的頭部20行

  • echo:把內容重定向到指定的文件中 ,有則打開,無則創建

  • 管道命令 | :將前面的結果給後面的命令,例如:ls -la | wc,將ls的結果加油wc命令來統計字數

  • 重定向 > 是覆蓋模式,>> 是追加模式,例如:echo "Java3y,zhen de hen xihuan ni" > qingshu.txt把左邊的輸出放到右邊的文件里去

二、文件打包和壓縮命令

  

  

壓縮的方式也是有好幾種,我們常用的有下麵這三種:

  • gzip

  • bzip2

  • tar

常用的壓縮的命令就有:

  • gzip filename

  • bzip2 filename

  • tar -czvf filename

常用的解壓命令有:

  • gzip -d filename.gz

  • bzip2 -d filename.bz2

  • tar -xzvf filename.tar.gz

 三、正則表達式+grep

1、正則表達式

        

  

2、grep命令

  grep(global search regular expression)是一個強大的文本搜索工具。grep 使用正則表達式搜索文本,並把匹配的行列印出來。

  格式:grep [options] PATTERN [FILE...]

  • PATTERN 是查找條件:可以是普通字元串、可以是正則表達式,通常用單引號將RE括起來。

  • FILE 是要查找的文件,可以是用空格間隔的多個文件,也可是使用Shell的通配符在多個文件中查找PATTERN,省略時表示在標準輸入中查找。

  • grep命令不會對輸入文件進行任何修改或影響,可以使用輸出重定向將結果存為文件

例子:

  • 在文件 myfile 中查找包含字元串 mystr的行 

    grep -n mystr myfile 

  • 顯示 myfile 中第一個字元為字母的所有行 

    grep  '^[a-zA-Z]'  myfile 

  • 在文件 myfile 中查找首字元不是 # 的行(即過濾掉註釋行) 

    grep -v '^#' myfile 

  • 列出/etc目錄(包括子目錄)下所有文件內容中包含字元串“root”的文件名

    grep -lr root /etc/* 

四、系統管理命令

  stat              顯示指定文件的詳細信息,比ls更詳細

  who               顯示線上登陸用戶

  whoami          顯示當前操作用戶

  hostname      顯示主機名

  uname           顯示系統信息

  top                動態顯示當前耗費資源最多進程信息

  ps                  顯示瞬間進程狀態 ps -aux

  du                  查看目錄大小 du -h /home帶有單位顯示目錄信息

  df                  查看磁碟大小 df -h 帶有單位顯示磁碟信息

  ifconfig          查看網路情況

  ping                測試網路連通

  netstat          顯示網路狀態信息

  man                命令不會用了,找男人  如:man ls

  clear              清屏

  alias               對命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit

  kill                 殺死進程,可以先用ps 或 top命令查看進程的id,然後再用kill命令殺死進程。

五、遠程登錄與NFS

  Telnet是Internet提供的一項基本服務,用來將本地電腦作為遠程電腦的終端機使用。 

  telnet 主機名或IP地址 

  exit或logout命令退出 

  telnet以明文傳輸不安全,因此禁止root身份登錄 

  SSH 主機名或IP地址 //作為telnet的替代,以公開密鑰演算法加密數據,允許root登錄

  scp 本地文件路徑 遠程用戶名@主機:文件路徑 //用於本地與遠程電腦之間安全拷貝文件 如: 

    scp [email protected]:a.txt

  sftp 遠程用戶名@主機 //以安全模式進入ftp狀態,此時可執行該狀態下的命令: 

  get 遠程路徑 本地路徑 //下載 

  put 本地路徑 遠程路徑 //上傳 

  quit 退出 

  ? //列出該狀態可使用的命令清單,其中不少同Linux Bash命令如mkdir、cd、ls等,都是針對被登錄機操作,若對本地機操作,則在命令前加字母l,如lmkdir、lls等

  NFS(Network File System):通過網路將遠程主機的文件系統掛載到本地主機目錄下,以便於使用,它基於客戶機/伺服器模式,建立在TCP/IP協議的表示層協議與會話層協議機制之上。

六、vim程式編輯器

  vim是vi文本編輯器的進階版,在所有linux系統上均可使用,被稱為“編輯器之神”。

  vi分為三種模式:一般模式,編輯模式和指令列命令模式 

  vi hello.c //進入hello.c文件,此時為一般模式,若hello.c不存在則自動新建 

  一般模式下執行vi定義的鍵盤上轉義字元操作,del為刪除游標上字元,dd為刪除一整列,退格鍵及上下左右鍵移動游標,i進入插入游標前編輯模式,a進入插入游標後編輯模式,r進入改寫編輯模式; 

  編輯模式下鍵盤上所有按鍵除ESC外都可輸入字元,如上下左右鍵分別代表ABCD大寫字母,按ESC退出編輯;

  在一般模式下按:進入指令列模式,最下麵一行為指令列,wq保存並退出。

七、gcc編程

  gcc中庫的鏈接順序是從右往左進行,所以要把最基礎實現的庫放在最後,這樣左邊的lib就可以調用右邊的lib中的代碼。同時,當一個函數的實現代碼在多個lib都存在時,最左邊的lib代碼最後

link,所以也將最終保存下來。

  objdump -T libmysqlclient.so //打開當前目錄下的動態鏈接庫libmysqlclient.so查看其中的API。objdump命令用來查看各種目標文件(elf文件)內部的結構 

  obidump -h hello.o //參數-h把hello.o各個段的基本信息列印出來,elf文件是分段的,通常分為Header、.data(數據段包括局部靜態變數和全局變數)、.text(代碼

)、.rodata、.bss、.comment等 

  readelf -s hello.o //查看詳盡段信息 

  gcc錯誤:undefined reference to function 該函數具體實現沒有找到 

  info gcc //顯示gcc的所有信息

八、mysql操作

  SQL:Structured Query Language 

  netstat -tap|grep mysql //檢查系統有沒有已安裝mysql,若socket顯示listen則表示就緒。 

  mysql中unique key(唯一鍵)指除主鍵外確保某一列唯一性的約束,該列可包含NULL(空值);primary key為主鍵

  apt-get install mysql-server //安裝mysql 

  mysql -u root -p //以root用戶登錄mysql server,之後需輸入密碼 

  show databases; show tables; //查看資料庫和數據表單,註意在mysql server中輸入指令以;結尾。 

  use mysql; //使用資料庫mysql也可以在登錄時輸入指令: 

  mysql -D mysql -u root -p 

  quit; //退出 

  insert into students(id,name,sex) value(1,zhengfeng,man); //向students表中插入zhengfeng的信息 

  select * from students //輸出students的所有信息,*是通配符,可指定為列名稱

  1.   create table students(
  2.   id int(8) not null auto_increment,
  3.   name varchar(255) not null,
  4.   sex char(4) not null,
  5.   tel char(13) not null default “-”,
  6.   primary key(id),
  7.   unique key unique_name(name)
  8.   );  

  describe students //輸出表結構信息 

  mysql_config --libs //使用mysql_config工具確定MySql程式的鏈接參數,同理,若需確定編譯參數,使用mysql_config –include

九、redis操作

  註:redis是一個高性能的key-value資料庫,由ANSI C編寫,支持網路,它支持的value類型包括string、list(字元串鏈表)、set(字元串集合)、zset(字元串有序集合)、hash(字元串哈希類型)。 
  競態條件和原子操作的概念:

  原子操作指該命令在執行過程中不會被其他插入命令打斷,是“一氣呵成”的; 

  競態條件:指一個系統或進程的輸出,依賴於不受控制事件出現的順序或時機,若多個客戶端連接到redis,同時執行多項命令時有可能出現競態條件,關於此問題的深入討論在《鏈接、裝載和庫》中詳細提及。

  apt-get install redis-server //安裝redis 

  netstat -nlt grep|6379 //查看系統中redis運行狀態,listen為就緒

  redis-cli //進入redis命令行客戶端,cli:command line interface 此為進入交互模式,可自由輸入命令。 

  select 1 //選擇1號資料庫,redis實例預設自帶16個資料庫,以數字編號,可通過配置文件更改。

 


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

-Advertisement-
Play Games
更多相關文章
  • 預設情況下,在VisualStudio中開髮網站,會運行在IISExpress中,如果想把網站部署到本地的IIS伺服器上該怎麼辦呢? 一、首先,以管理員身份運行VisualStudio,否則在修改項目屬性時將彈出如下對話框,阻止我們修改伺服器為本地IIS。 然後,雙擊Properties圖標,打開W ...
  • Util是一個.net core平臺下的應用框架,旨在提升小型團隊的開發輸出能力。Util 自 NCC 創設之日起便已加入,作者低調朴素、持續更新,項目日趨成熟、追求完美,於 2018 年 5 月成為 NCC 第二個星數破千的項目,值得祝賀,特發此文。 ...
  • 關於Windows 的安裝光碟版本很多種,很多人不知道選擇哪些。 ...
  • 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 原文地址: https://www.cnblogs.com/poterliu/p/9142637.html 1 nginx安裝環境 nginx是C語言開發,建議在linux上運行,本教程使用Centos6.5作為安裝環境。 n gcc 安裝ngi ...
  • 一,獨立按鍵註意一下幾點 >按下的時候,電壓被拉低,所以IO口要傳低電平( 0x0 ) >按下的時候要消除抖動 ( 延時10ms ),在判斷,是否還是低電平,再做業務處理 下麵這段程式,就是通過一個獨立按鍵連接到p1口,控制靜態數位管的 一段 進行亮和滅的切換。 二, 當按鍵比較多的時候,用矩陣按鈕 ...
  • 本應該之前整理好的,又拖到現在,不管怎麼樣繼續堅持看下去,從二章開始就越來越不好理解了 整數運算 再次來看之前的一個例子: 還是通過這裡例子來看這個部分的知識點 無符號加法 無符號加法原理: 其實每次看到這種原理推導過程自己基本都不怎麼願意去看,不過我們可以通過實際的例子來好好理解,來幫助自己更好的 ...
  • vimtutor 返回normal模式: esc 移動游標 [h,j,k,l]: h 向左移動 j 向下移動 k 向上移動 l 向右移動 不保存便退出編輯器: :q! 刪除游標所在的字元: x 插入字元: i 結尾處插入字元: a 保存文件並退出: :wq 刪除操作: dw(until the st ...
  • 在redis.conf中,在大概65行左右有個loglevel # 指定日誌記錄級別# Redis總共支持四個級別:debug、verbose、notice、warning,預設為verbose# debug 記錄很多信息,用於開發和測試# varbose 有用的信息,不像debug會記錄那麼多# ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...