1. 程式人生 > >Linux命令列大全總結(下)

Linux命令列大全總結(下)

本文是Linux命令列大全這本書第12章之後的閱讀筆記部分。

VI簡介

數字0 跳轉至本行開頭
Shift + 4 跳轉至本行末尾
Shift + G 跳轉至檔案最後一行
dd 刪除當前行
5dd 刪除當前行和之後的4行
dG 刪除當前行到檔案末尾
d20G 刪除從當前行至20行

複製命令

yy 複製當前行
5yy 複製當前行和之後4行
yG 複製當前行到檔案末尾
y20G 複製當前行到檔案第20行

合併行

將游標置於要合併的前一行,然後輸入J,將完成合並,中間用空格分割。
搜尋:
/字串

全域性搜尋和替換:

:%s/查詢字串/替換新字串/g
:%s/Line/line/g
將檔案中的Line替換為line
如果在命令後加c,則每次替換都需要使用者確認
:%s/Line/line/gc

編輯多個檔案

vi file1 file2
預設顯示file1,通過:n切換到下一個檔案,:N切換到上一個檔案。切換檔案時,vi要求使用者必須先儲存對當前檔案嘔出的修改才能切換到其它檔案。
使用:buffers命令可以檢視正在編輯的檔案列表
buffer 加檔案編號可以切換到另一個檔案,注意這個命令沒有s.

載入更多的檔案

在現有的編輯會話中載入更多檔案,使用:e命令。
vi foo.txt 然後:e ls-output.txt 此時螢幕將切換為檔案ls-output.txt的內容,第一個檔案仍然處在編輯狀態,可以通過命令buffers檢視。
定製提示符 提示符由名為PS1的環境變數定義,echo PS1,PS1[\u@\h\W] shell提示符中使用的轉義字元

檔案搜尋

locate命令通過快速搜尋資料庫,以尋找路徑名與給定子字串相匹配的檔案,同時輸出所有匹配結果。
find ~列出當前使用者主目錄~下檔案清單。此列表輸出以標準輸出,所以可以直接將此輸出結果作為其他程式的輸入。
find ~ | wc -l 使用該命令來計算find命令搜尋到的該目錄下檔案的總量。
通過-type可以指定我們搜尋檔案的型別:

b   塊裝置檔案
c   字元裝置檔案
d   目錄
f    普通檔案
l    符號連結

例如我們要搜尋當前使用者主目錄下所有目錄檔案的個數:
find ~ -type d | wc -l
查詢所有符合*.JPG萬用字元格式以及大小超過1MB的普通檔案:
find -type f -name “*.JPG” -size +1M | wc -l
find命令支援多種test引數,我們以-perm mode為例進行講解。
-perm mode尋找訪問許可權與給定模式匹配的檔案或目錄。既定模式可以八進位制或符號形式表示。
例如我們要查詢檔案的訪問許可權為755的檔案,可以使用如下命令:
find -type f -perm 755
下面的例子比較複雜,是查詢對應的檔案的訪問許可權不是600,或者目錄的訪問許可權不是700
find ~(-type f -not -perm 0600) -or (-type d -not -perm 0700)
由於在shell環境中括號有特殊含義,所以我們必須對他們進行轉義以防shell試圖編譯他們。
find ~產生了一個包含當前使用者目錄下所有檔案和子目錄的列表,-print是預設的。
find命令可以刪除滿足特定條件的檔案,如下命令將刪除當前使用者下所有的.BAK檔案
find ~ -type f -name ‘*.BAK’ -delete
刪除之前可以先列印要刪除的內容,防止檔案誤刪。
find ~ -type f -name ‘*.BAK’ -print
每個test與action選項之間預設的邏輯關係是與(and),下面的命令等同於find ~ -type f -name ‘*.BAK’ -delete
find ~ -type f -and -name ‘*.BAK’ -and -delete

壓縮演算法

壓縮演算法一般分為兩大類:無失真壓縮和有失真壓縮。
無失真壓縮保留檔案中的所有資料,這種壓縮方式還原時,還原後的檔案與原始檔一致。
有失真壓縮為了實現更大程度的壓縮而刪除了某些資料資訊,因而這種壓縮方式還原時,還原後的檔案與原始檔不一致。
JPEG(影象壓縮技術)和MP3(音訊壓縮技術)是典型的有失真壓縮例項。
下面介紹無失真壓縮,因為計算機上的大多數資料無法容忍任何資料損失。
gzip命令用於壓縮一個或更多檔案。執行命令後,原始檔會被其壓縮檔案取代。
gunzip命令將壓縮檔案還原為原始檔。還原檔案後,將刪除壓縮檔案。

下面的命令建立了一個目錄列表的壓縮版本:
ls -l /etc | gzip >foo.txt.gz
如果想要檢視某個壓縮檔案的內容,可以使用如下命令:
gunzip -c foo.txt | less
-c的意思是將輸出內容寫道標準輸出埠並且保持原有檔案。
zcat foo.txt.gz | less與上面實現的功能一樣.
在上面的例子中我們可以看出,gunzip命令用於解壓gzip的壓縮檔案,並且預設解壓縮字尾為.gz的檔案,所以沒有必要明確指定,只要指定名與已存在的非壓縮檔名不衝突就可以了。

相關推薦

Linux命令大全總結()

本文是Linux命令列大全這本書第12章之後的閱讀筆記部分。 VI簡介 數字0 跳轉至本行開頭 Shift + 4 跳轉至本行末尾 Shift + G 跳轉至檔案最後一行 dd 刪除當前行 5

Linux命令大全》學習筆記

第一部分  學習shell 第1章  shell是什麼 date:顯示當前系統的時間和日期 cal:顯示當月的日曆 df:顯示磁碟驅動器當前的可用空間 free:顯示可用記憶體 exit:結束終端會話 第2章  導航 pwd:檢視當前工作目錄 cd:改變目錄 ls:列出目錄

Linux命令與shell指令碼程式設計大全(二)

十一、處理使用者輸入 命令列引數 讀取引數: $0是程式名,$1是第一個引數,$2是第二個引數,以此類推,直到第9個引數$9。當引數個數超過10以後,需要在變數數字周圍加上花括號,如${10},如果輸入到命令列的引數是字串且含有空格,需要使用引號。 #! /bin/bash echo

Linux命令與shell指令碼程式設計大全(一)

一、基本 bash shell命令 建立檔案 : touch 連結檔案:符號連結:是一個實實在在的檔案,兩個通過符號連結在一起的檔案,彼此的內容並不相同。使用ln -s命令。 硬連結:會建立獨立的虛擬檔案,其中包含了原始檔案的資訊及位置。但他們從根本上而言是同一個檔案。原始檔案必須事

Linux命令與shell指令碼程式設計大全(三)

十二、呈現資料 輸入和輸出     標準檔案描述符                  0 STDIN 標準輸入   &n

在Windows環境學習Linux命令的幾種方法

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Linux命令與shell指令碼程式設計大全》讀書筆記————第三章 基本的bash shell命令

本章內容 1、使用shell 2、bash手冊 3、瀏覽檔案系統 4、檔案和目錄列表 5、管理檔案和目錄 6、檢視檔案內容   3.3 bash手冊 命令: man  xterm  作用:檢視檢視xterm使用者手冊 man命

Linux命令與shell指令碼程式設計大全》讀書筆記————第一章 初識Linux shell

本章內容 1、什麼是Linux 2、Linux核心的組成   1、1 什麼是Linux Linux課劃分為以下四部分 a)Linux核心 b)GNU工具 c)圖形化桌面環境 d)應用軟體   1.1.1 深入探究Linux核心

linux命令,怎麼執行一個qt工程檔案

1、在Linux下的命令列編輯程式: [[email protected] root]# mkdir hello //mkdir命令建立一個hello目錄 [[email protected] root]# cd hello //cd命令切換到剛才建立的hello目錄 [[ema

吻逗死(windows)系統自動部署指令碼(for java spring*)及linux命令工具

轉載請註明出處:https://www.cnblogs.com/funnyzpc/p/10051647.html (^^)(^^)自動部署指令碼原本在上個公司就在使用,由於近期同事需要手動部署一個SpringCloud應用,一邊是sftp軟體上傳,一邊是SourceCRT命令列工具,看這著實很累,就順手把我

linux命令pkcs1與pkcs8格式RSA私鑰互相轉換

1、PKCS1私鑰生成(golang\python等非java) openssl genrsa -out private.key 1024 -----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQDREk3uy4x9i4a16OYOYEp5Ir2

Linux命令與Shell指令碼程式設計大全(四)

一、建立函式 1.基本的指令碼函式 1.1 建立函式 function name { commands} 1.2 使用函式 在行中指定函式名就行了 ## 建立函式,注意函式名和大括號中間有空格,不然會報錯 function func1 { echo "

Linux命令中與彩虹貓Nyan Cat一起休息

今天我們再來看看好玩的Linux命令列,在這裡我們將探索Linux終端上可用的一些有趣的、非常有趣的、在某些情況下完全無用的小玩意。所有這些都可以在開源許可下獲得。 它們都是獨一無二的嗎?是的。它們對你來說都是獨一無二的嗎?那我就不知道,但是,這應該會吸引人。 因此,讓我們用命令列玩具呼叫nyancat來

如何防止Linux命令MySQL登入密碼洩露?

命令列登入防止MySQL密碼洩露的幾個小妙招。 明知山有虎偏向虎山行的方案: 1、可以通過如下環境變數強制Linux不記錄敏感歷史命令 在命令列執行HISTCONTROL=ignorespace後,再輸入帶密碼的命令的前面加一個空格登入,登入命令不會被記錄到歷史記錄裡。 [[email 

linux命令與shell指令碼程式設計大全》第三版

《linux命令列與shell指令碼程式設計大全》 全書4部分:☆ 【1】linux命令列(1-10章)☆ 【2】shell指令碼程式設計基礎(11-16章)☆ 【3】高階shell指令碼程式設計(17-23章):正則表示式☆ 【4】建立實用的指令碼(24-26章)>

linux命令查詢當前目錄所有檔案是否包含特定string

grep // -n 帶行號 (自測可用) #grep -n -r "blog_name," * wp-admin/admin-header.php:118:unset($title_cla

linux命令鍵盤佈局錯誤

由於一下大意,當初安裝Ubuntu的時候選了鍵盤佈局為英國的鍵盤佈局,打程式碼的時候‘#’打成了一個類似‘f’的符號,‘|’打成了'~',非常煩人,想直接用圖形介面改,發現改了以後有時會莫名其妙地自動變回英國鍵盤。最後決定還是修改預設設定。上網找了一下,有的人說用'sudo

Linux命令ftp下載檔案get與上傳檔案put的命令

檢視遠端ftp伺服器上使用者peo相應目錄下的檔案所使用的命令為:ls,登入到ftp後在ftp命令提示符下檢視本地機器使用者anok相應目錄下檔案的命令是:!ls。查詢ftp命令可在提示符下輸入:?,然後回車。   1、從遠端ftp伺服器下載檔案的命令格式: get  遠端

Linux命令總結

系統資訊 arch 顯示機器的處理器架構(1) uname -m 顯示機器的處理器架構(2) uname -r 顯示正在使用的核心版本 dmidecode -q 顯示硬體系統部件 - (SMBIOS / DMI) hdparm -i /dev/hda 羅列一個磁碟的架構特性 hdparm -

linux命令模式配置wifi熱點

本文主要目的是學習筆記,參考N多網上資料,在此謝過前輩先賢們。 First注意: 本文是在centos6下用hostapd+dnsmasq實現Wifi熱點配置,以下操作請首先排除wpa_supplicant、NetworkManager這類網路管理工具的影響。 三種方式檢