主頁 >  其他 > Linux精簡教程

Linux精簡教程

2021-10-26 07:37:07 其他

Linux精簡教程

ROS 依賴 Linux 提供底層支持,一般基于 Linux 系統開發,玩轉 ROS 機器人作業系統需要具備基本的 Linux 知識,本篇對Linux 進行基本講解,并講解常用 Linux 操作命令,如果您對 Linux 熟練掌握,請自行跳過該篇,

第一章 初識Linux

1 什么是Linux

? Linux 是全球最受歡迎的開源作業系統,它是一個由 C 語言撰寫的,符合 POSIX 標準的類 UNIX 系統,POSIX 是 Portable Operating System Interface 的縮寫,表示可移植作業系統介面,它規定了作業系統應該為應用編程提供的介面標準,UNIX 是一個強大的多用戶、多任務分時作業系統,支持多種處理器架構,于 1969 年在 AT&T 的貝爾實驗室開發,UNIX 是商業作業系統,需要收費,獲取 Linux 內核原始碼的網址為:http://www.kernel.org ,在這里能夠下載各版本的內核原始碼,包括測驗版和最新穩定版,

? 和Windows作業系統軟體一樣,Linux也是一個作業系統軟體,但是和Windows不同的是,Linux是一套開放源代碼程式的、并可以自由傳播的類Unix作業系統軟體(Unix系統是Linux系統的前身,具備很多優秀特性),其在設計之初,就是基于Intel x86系列CPU架構的計算機的,它是一個基于POSIX的多用戶、多任務并且支持多執行緒和多CPU的作業系統,

? Linux是由世界各地成千上萬的程式員設計和開發實作的,當初開發Linux系統的目的就是建立不受任何商業化軟體著作權制約的、全世界都能自由使用的類Unix作業系統兼容產品,在過去的20年里,Linux系統主要應用于服務器端、嵌入式開發和個人PC桌面三大領域,其中服務器端領域是重中之重,

? 大型、超大型互聯網企業(百度、Sina、淘寶等)都在使用Linux系統作為其服務器端的程式運行平臺,全球及國內排名前十的網站使用的主流系統幾乎都是Linux系統,

2 Linux 系統特點

Linux 是一個開放自由的作業系統內核,具有一些鮮明的特點,

(1) 開放性,遵循世界標準規范,凡遵循國際標準所開發的硬體和軟體,都能彼此兼容,可方便地實作互連,

(2) 多用戶,Linux 作業系統是一個真正的多用戶作業系統;系統資源可以被不同用戶各自擁有使用,即每個用戶對自己的資源有特定的權限,互不影響,

(3) 多任務,多任務是現代計算機的最主要的一個特點,它是指計算機同時執行多個程式,而且各個程式的運行互相獨立,Linux 系統調度每一個行程平等地訪問處理器,

(4) 良好的用戶界面,Linux 向用戶提供了兩種界面:用戶界面和系統呼叫,Linux 的傳統用戶界面是基于文本的命令列界面,即 Shell,它既可以聯機使用,又可存在檔案上脫機使用,Shell 有很強的程式設計能力,用戶可方便地用它編制程式,從而為用戶擴充系統功能提供了更高級的手段,

(5) 設備獨立性,Linux 作業系統把所有外部設備統一當作成檔案來看待,只要安裝它們的驅動程式,任何用戶都可以像使用檔案一樣,操縱、使用這些設備,而不必知道它們的具體存在形式,

(6) 完善的網路功能,Linux 內置完整的 POSIX 網路協議堆疊,在通信和網路功能方面優于其它作業系統,Linux 為用戶提供了完善的、強大的網路功能,支持 Internet,網路檔案傳輸,用戶能通過一些 Linux 命令完成內部資訊或檔案的傳輸,遠程訪問功能,

(7) 可靠的系統安全,Linux 采取了許多安全技術措施,為網路多用戶環境中的用戶提供了必要的安全保障,

(8) 模塊化,運行時可以根據系統的需要加載程式而無需重啟系統,Linux 的模塊化極大地提高了 Linux 的可裁剪性和靈活性,

(9) 良好的可移植性,Linux 是一種可移植的作業系統,能夠在從微型計算機到大型計算機的任何環境和任何平臺上運行,目前已經成為支持平臺最廣泛的作業系統,

3 嵌入式Linux

? 嵌入式 Linux 是對運行在嵌入式設備上的 Linux 的統稱,嵌入式 Linux 往往針對于某個特殊領域,專門為實作某些特定的功能而開發,一般說來,嵌入式 Linux 所運行的程式相對來說比較單一,功能定位也比較明確,如嵌入式網關、路由器等,由 Linus 主持開發的 Linux 與其它嵌入式系統產品一樣,嵌入式 Linux 產品在物理形態上與普通Linux 設備有很大差異,不同產品之間物理形態也是各不相同,與桌面 Linux 相比,嵌入式 Linux 產品往往沒有碩大的顯示幕,或者滑鼠鍵盤這樣的外設,
在這里插入圖片描述

4 Linux 發行版

? 從技術上來說,李納斯?托瓦茲開發的 Linux 只是一個內核,內核指的是一個提供設備驅動、檔案系統、行程管理、網路通信等功能的系統軟體,內核并不是一套完整的作業系統,它只是作業系統的核心,一些組織或廠商將 Linux 內核與各種軟體和檔案包裝起來,并提供系統安裝界面和系統配置、設定與管理工具,就構成了 Linux 的發行版本,

? 在 Linux 內核的發展程序中,各種 Linux 發行版本起了巨大的作用,正是它們推動了 Linux 的應用,從而讓更多的人開始關注 Linux,因此,把 Red Hat、Ubuntu、SUSE 等直接說成 Linux 其實是不確切的,它們是 Linux 的發行版本, 更確切地說,應該叫做“以 Linux 為核心的作業系統軟體包”,

? Linux 的各個發行版本使用的是同一個 Linux 內核,因此在內核層不存在什么兼容性問題,每個版本有不一樣的感覺,只是在發行版本的最外層(由發行商整合開發的應用)才有所體現,

Linux 的發行版本可以大體分為兩類:

  • 商業公司維護的發行版本,以著名的 Red Hat 為代表;

  • 社區組織維護的發行版本,以 Debian 為代表,

很難說大量 Linux 版本中哪一款更好,每個版本都有自己的特點,下面為大家介紹幾款常用的 Linux 發行版本,

4.1 Red Hat Linux

Red Hat(紅帽公司)創建于 1993 年,是目前世界上資深的 Linux 廠商,也是最獲認可的 Linux 品牌,
在這里插入圖片描述
Red Hat 公司的產品主要包括 RHEL(Red Hat Enterprise Linux,收費版本)和 CentOS(RHEL 的社區克隆版本,免費版本)、Fedora Core(由 RedHat 桌面版發展而來,免費版本),

Red Hat 是在我國國內使用人群最多的 Linux 版本,資料豐富,如果你有什么不明白的地方,則容易找到人來請教,而且大多數 Linux 教程是以 Red Hat 為例來講解的,

CentOS ,它是基于 Red Hat Enterprise Linux 源代碼重新編譯、去除 RedHat 商標的產物,各種操作使用和付費版本沒有區別,且完全免費,缺點是不向用戶提供技術支持,也不負任何商業責任,有實力的公司可以選擇付費版本,

4.2 Ubuntu Linux

Ubuntu 基于知名的 Debian Linux 發展而來,界面友好,容易上手,對硬體的支持非常全面,是目前最適合做桌面系統的 Linux 發行版本,而且 Ubuntu 的所有發行版本都免費提供,
在這里插入圖片描述
Ubuntu 的創始人 Mark Shuttleworth 是非常具有傳奇色彩的人物,他在大學畢業后創建了一家安全咨詢公司,1999 年以 5.75 億美元被收購,由此一躍成為南非最年輕有為的本土富翁,作為一名狂熱的天文愛好者,Mark Shuttleworth 于2002 年自費乘坐俄羅斯聯盟號飛船,在國際空間站中度過了 8 天的時光,之后,Mark Shuttleworth 創立了 Ubuntu 社區,2005 年 7 月 1 日建立了 Ubuntu 基金會,并為該基金會投資 1000 萬美元,他說,太空的所見正是他創立 Ubuntu 的精神之所在,如今,他最熱衷的事情就是到處為自由開源的 Ubuntu 進行宣傳演講,

4.3 SuSE Linux

SuSE Linux 以 Slackware Linux 為基礎,原來是德國的 SuSE Linux AG 公司發布的 Linux 版本,1994 年發行了第一版,早期只有商業版本,2004 年被Novell 公司收購后,成立了 OpenSUSE 社區,推出了自己的社區版本OpenSUSE,
在這里插入圖片描述
SuSE Linux 在歐洲較為流行,在我國國內也有較多應用,值得一提的是,它吸取了 Red Hat Linux 的很多特質,

SuSE Linux 可以非常方便地實作與 Windows 的互動,硬體檢測非常優秀,擁有界面友好的安裝程序、圖形管理工具,對于終端用戶和管理員來說使用非常方便,

4.4 Gentoo Linux

Gentoo 最初由 Daniel Robbins(FreeBSD 的開發者之一)創建,首個穩定版本發布于 2002 年,Gentoo 是所有 Linux 發行版本里安裝最復雜的,到目前為止仍采用原始碼包編譯安裝作業系統,
在這里插入圖片描述
不過,它是安裝完成后最便于管理的版本,也是在相同硬體環境下運行最快的版本,自從 Gentoo 1.0 面世后,它就像一場風暴,給 Linux 世界帶來了巨大的驚喜,同時也吸引了大量的用戶和開發者投入 Gentoo Linux 的懷抱,

有人這樣評價 Gentoo:快速、設計干凈而有彈性,它的出名是因為其高度的自定制性(基于源代碼的發行版),盡管安裝時可以選擇預先編譯好的軟體包,但是大部分使用 Gentoo 的用戶都選擇自己手動編譯,這也是為什么 Gentoo 適合比較有Linux 使用經驗的老手使用,

4.5 其他 Linux 發行版

除以上 4 種 Linux 發行版外,還有很多其他版本,下表羅列了幾種常見的Linux 發行版以及它們各自的特點:

版本名稱網 址特 點軟體包管理器
Debianwww.debian.org開放的開發模式,且易于進行軟體包升級apt
Fedora Corewww.redhat.com擁有數量龐人的用戶,優秀的社區技術支持. 并且有許多創新up2date(rpm),yum (rpm),dnf
CentOSwww.centos.orgCentOS 是一種對 RHEL(Red Hat EnterpriseLinux)源代碼再編譯的產物,由于 Linux 是開發源代碼的作業系統,并不排斥樣基于源代碼的再分發,CentOS 就是將商業的 Linux 作業系統RHEL 進行源代碼再編譯后分發,并在 RHEL 的基礎上修正了不少已知的漏洞rpm
**SUSEwww.suse.com專業的作業系統,易用的 YaST 軟體包管理系統YaST(rpm),第三 方 apt(rpm)軟體庫(repository)
Mandrivawww.mandriva.com操作界面友好,使用圖形配置工具,有龐大的社區進行技術支持,支持 NTFS 磁區的大小變更rpm
KNOPPIXwww.knoppix.com可以直接在 CD 上運行,具有優秀的硬體檢測和適配能力,可作為系統的急救盤使用apt
Gentoowww.gentoo.org高度的可定制性,使用手冊完整portage
Ubuntuwww.ubuntu.com優秀易用的桌面環境,基于 Debian 構建apt

4.6 Linux 發行版本選擇

如果你需要的是一個服務器系統,而且已經厭煩了各種 Linux 的配置,只是想要一個比較穩定的服務器系統,那么建議你選擇 CentOS 或 RHEL,

如果你只是需要一個桌面系統,而且既不想使用盜版,又不想花大價錢購買商業軟體,不想自己定制,也不想在系統上浪費太多時間,則可以選擇 Ubuntu,

如果你想深入摸索一下 Linux 各個方面的知識,而且還想非常靈活地定制自己的Linux 系統,那就選擇 Gentoo 吧,盡情享受 Gentoo 帶來的自由快感,如果你對系統穩定性要求很高,則可以考慮 FreeBSD,

如果你需要使用資料庫高級服務和電子郵件網路應用,則可以選擇 SuSE,

第二章 Linux 檔案系統

1 檔案系統基礎知識

檔案系統的最頂層是由根目錄開始的,系統使用“/”來表示根目錄,在根目錄之下的既可以是目錄,也可以是檔案,而每一個目錄中又可以包含(子)目錄或檔案,如此反復就可以構成一個龐大的檔案系統,

為了避免諸多Linux發行版使用各部相同的檔案系統結構,Linux基金會發布了FHS標準,多數Linux發行版系統都遵循這一標準,

**說明:**FHS(Filesystem Hierarchy Standard),檔案系統層次化標準,該標準規定了 Linux 系統中所有一級目錄以及部分二級目錄(/usr 和 /var)的用途,發布此標準的主要目的就是為了讓用戶清楚地了解每個目錄應該存放什么型別的檔案,

注意,目錄名或檔案名都是區分大小寫的,比如Abc和abc是不同的目錄或檔案,完整的目錄或檔案路徑是由一連串的目錄名所組成的,其中每一個目錄由“/”來分隔,如bin的完整路徑是 /home/bin,

在檔案系統中,有兩個比較特殊的目錄,一個是用戶所在的作業目錄,即當前目錄,可用一個點“.”表示;另一個是當前目錄的上一層目錄,也叫父目錄,用兩個點“…”表示,

如果一個目錄或檔案名是以一個點開始(比如.local),就表示這個目錄或檔案是一個隱藏目錄或檔案,即以默認方式査找時,不顯示該目錄或檔案,

2 檔案系統樹形圖

不同的Linux發行版可能檔案系統樹形圖稍有不同,但大同小異,如下圖所示,
在這里插入圖片描述

3 一級目錄詳細說明

一級目錄功能(作用)
/bin/存放系統命令,普通用戶和 root 都可以執行,放在 /bin 下的命令在單用戶模式下也可以執行
/boot/系統啟動目錄,保存與系統啟動相關的檔案,如內核檔案和啟動引導程式(grub)檔案等
/dev/設備檔案保存位置
/etc/組態檔保存位置,系統內所有采用默認安裝方式的服務組態檔全部保存在此目錄中,如用戶資訊、服務的啟動腳本、常用服務的組態檔等
/home/普通用戶的主目錄(也稱為家目錄),在創建用戶時,每個用戶要有一個默認登錄和保存自己資料的位置,就是用戶的主目錄,所有普通用戶的主目錄是在 /home/ 下建立一個和用戶名相同的目錄,
/lib/系統呼叫的函式庫保存位置
/media/掛載目錄,系統建議用來掛載媒體設備,如軟盤和光碟
/mnt/掛載目錄,早期 Linux 中只有這一個掛載目錄,并沒有細分,系統建議這個目錄用來掛載額外的設備,如 U 盤、移動硬碟和其他作業系統的磁區
/misc/掛載目錄,系統建議用來掛載 NFS 服務的共享目錄,雖然系統準備了三個默認掛載目錄 /media/、/mnt/、/misc/,但是到底在哪個目錄中掛載什么設備可以由管理員自己決定,
/opt/第三方安裝的軟體保存位置,這個目錄是放置和安裝其他軟體的位置,手工安裝的原始碼包軟體都可以安裝到這個目錄中,
/root/root 的主目錄,普通用戶主目錄在 /home/ 下,root 主目錄直接在“/”下
/sbin/保存與系統環境設定相關的命令,只有 root 可以使用這些命令進行系統環境設定,但也有些命令可以允許普通用戶查看
/srv/服務資料目錄,一些系統服務啟動之后,可以在這個目錄中保存所需要的資料
/tmp/臨時目錄,系統存放臨時檔案的目錄,在該目錄下,所有用戶都可以訪問和寫入,建議此目錄中不能保存重要資料,最好每次開機都把該目錄清空
/lost+found/當系統意外崩潰或意外關機時,產生的一些檔案碎片會存放在這里,在系統啟動的程序中,fsck 工具會檢查這里,并修復已經損壞的檔案系統,這個目錄只在每個磁區中出現,例如,/lost+found 就是根磁區的備份恢復目錄,/boot/lost+found 就是 /boot 磁區的備份恢復目錄
/proc/虛擬檔案系統,該目錄中的資料并不保存在硬碟上,而是保存到記憶體中,主要保存系統的內核、行程、外部設備狀態和網路狀態等,如 /proc/cpuinfo 是保存 CPU 資訊的,/proc/devices 是保存設備驅動的串列的,/proc/net 是保存網路協議資訊的
/sys/虛擬檔案系統,和 /proc/ 目錄相似,該目錄中的資料都保存在記憶體中,主要保存與內核相關的資訊

4 二級目錄詳細說明

還有一些比較重要的二級目錄我們也是需要去了解的,具體的說明如下:

/usr子目錄功能(作用)
/usr/bin/存放系統命令,普通用戶和超級用戶都可以執行,這些命令和系統啟動無關,在單用戶模式下不能執行
/usr/sbin/存放根檔案系統不必要的系統管理命令,如多數服務程式,只有 root 可以使用,
/usr/lib/應用程式呼叫的函式庫保存位置
/usr/XllR6/圖形界面系統保存位置
/usr/local/手工安裝的軟體保存位置,我們一般建議原始碼包軟體安裝在這個位置
/usr/share/應用程式的資源檔案保存位置,如幫助檔案、說明檔案和字體目錄
/usr/src/原始碼包保存位置,我們手工下載的原始碼包和內核原始碼包都可以保存到這里,
/usr/includeC/C++ 等編程語言頭檔案的放置目錄
/var子目錄功能(作用)
/var/lib/程式運行中需要呼叫或改變的資料保存位置,如 MySQL 的資料庫保存在 /var/lib/mysql/ 目錄中
/var/log/登陸檔案放置的目錄,其中所包含比較重要的檔案如 /var/log/messages, /var/log/wtmp 等,
/var/run/一些服務和程式運行后,它們的 PID(行程 ID)保存位置
/var/spool/里面主要都是一些臨時存放,隨時會被用戶所呼叫的資料,例如 /var/spool/mail/ 存放新收到的郵件,/var/spool/cron/ 存放系統定時任務,
/var/www/RPM 包安裝的 Apache 的網頁主目錄
/var/nis和/var/ypNIS 服務機制所使用的目錄,nis 主要記錄所有網路中每一個 client 的連接資訊;yp 是 linux 的 nis 服務的日志檔案存放的目錄
/var/tmp一些應用程式在安裝或執行時,需要在重啟后使用的某些檔案,此目錄能將該類檔案暫時存放起來,完成后再行洗掉

第三章 常用linux命令

1 ls命令

ls 命令是Linux下最常用的指令之一,ls命令為英文單詞 list 的縮寫,正如英文單詞 list 的意思,其功能是列出指定目錄下的內容及其相關屬性資訊,

ls [選項] [檔案]

常用引數:

-a顯示所有檔案及目錄 (包括以“.”開頭的隱藏檔案)
-l使用長格式列出檔案及目錄資訊
-r將檔案以相反次序顯示(默認依英文字母次序)
-t根據最后的修改時間排序
-A同 -a ,但不列出 “.” (當前目錄) 及 “…” (父目錄)
-S根據檔案大小排序
-R遞回列出所有子目錄

參考實體

列出所有檔案(包括隱藏檔案):

[root@jubot ~]# ls -a

列出檔案的詳細資訊:

[root@jubot ~]# ls -l

列出根目錄(/)下的所有目錄:

[root@jubot ~]# ls / 

列出當前作業目錄下所有名稱是 “s” 開頭的檔案 :

[root@jubot ~]# ls -ltr s*

列出 /bin 目錄下的所有目錄及檔案的詳細資訊 :

[root@jubot ~]# ls -lR /bin

列出當前作業目錄下所有檔案及目錄并以檔案的大小進行排序 :

[root@jubot ~]# ls -AS

2 mkdir命令

mkdir命令是“make directories”的縮寫,用來創建目錄,

注意:默認狀態下,如果要創建的目錄已經存在,則提示已存在,而不會繼續創建目錄, 所以在創建目錄時,應保證新建的目錄與它所在目錄下的檔案沒有重名,

語法格式 : mkdir [引數] [目錄]

常用引數:

-p遞回創建多級目錄
-m建立目錄的同時設定目錄的權限
-z設定安全背景關系
-v顯示目錄的創建程序

參考實體

在作業目錄下,建立一個名為 dir 的子目錄:

[root@jubot ~]# mkdir dir

在目錄/usr/jubot下建立子目錄dir,并且設定檔案屬主有讀、寫和執行權限,其他人無權訪問

[root@jubot ~]# mkdir -m 700 /usr/jubot/dir

同時創建子目錄dir1,dir2,dir3:

[root@jubot ~]# mkdir dir1 dir2 dir3

遞回創建目錄:

[root@jubot ~]# mkdir -p jubot/dir

3 cd命令

cd命令是”change directory”中單詞的首字母縮寫,其英文釋義是改變目錄,所以該命令的功能是從當前目錄切換到指定目錄,

其中目錄的路徑可分為絕對路徑和相對路徑,若目錄名稱省略,則切換至使用者的用戶目錄(也就是剛登錄時所在的目錄),

另外,“~”也表示為用戶目錄的意思,“.”則是表示目前所在的目錄,“…”則表示當前目錄位置的上一級目錄,

**語法格式:**cd [引數] [目錄名]

常用引數:

-P如果切換的目標目錄是一個符號鏈接,則直接切換到符號鏈接指向的目標目錄
-L如果切換的目標目錄是一個符號鏈接,則直接切換到符號鏈接名所在的目錄
僅使用”-“選項時,當前目錄將被切換到環境變數”OLDPWD”對應值的目錄
~切換至當前用戶目錄
切換至當前目錄位置的上一級目錄

參考實體

將當前作業目錄切換到dir目錄,并使用pwd命令查看當前目錄:

[root@jubot ~]# cd dir
[root@jubot dir]# pwd
/root/dir

使用“cd ~ ”和“cd … ”命令進行目錄的切換操作,并使用pwd命令查看當前目錄:

注意:使用“cd ~ ”命令可以直接切換到當前用戶目錄,而“cd … ”是切換到上一級目錄,

[root@jubot dir]# pwd
/root/dir
[root@jubot dir]# cd ~
[root@jubot ~]# pwd
/root
[root@jubot dir]# pwd
/root/dir
[root@jubot dir]# cd ..
[root@jubot dir]# pwd
/root

使用“cd …/…”命令回傳上兩級目錄:

[root@jubot dir_2]# pwd
/root/dir/dir_1/dir_2
[root@jubot dir_2]# cd ../..
[root@jubot dir]# pwd
/root/dir

使用“cd”命令回傳當前用戶目錄,“cd – ” 命令回傳上一次所在目錄:

[root@jubot dir_2]# pwd
/root/dir/dir_1/dir_2
[root@jubot dir_2]# cd
[root@jubot ~]# pwd
/root
[root@jubot ~]# cd -
/root/dir/dir_1/dir_2
[root@jubot dir_2]# pwd
/root/dir/dir_1/dir_2

4 touch命令

touch命令有兩個功能:一是創建新的空檔案,二是改變已有檔案的時間戳屬性,

touch命令會根據當前的系統時間更新指定檔案的訪問時間和修改時間,如果檔案不存在,將會創建新的空檔案,除非指定了”-c”或”-h”選項,

注意:在修改檔案的時間屬性的時候,用戶必須是檔案的屬主,或擁有寫檔案的訪問權限,

**語法格式:**touch [引數] [檔案]

常用引數:

-a改變檔案的讀取時間記錄
-m改變檔案的修改時間記錄
-r使用參考檔的時間記錄,與 --file 的效果一樣
-c不創建新檔案
-d設定時間與日期,可以使用各種不同的格式
-t設定檔案的時間記錄,格式與 date 命令相同
–no-create不創建新檔案
–help顯示幫助資訊
–version列出版本訊息

參考實體

創建空檔案:

[root@jubot ~]# touch file.txt  

批量創建檔案:

[root@jubot ~]# touch file{1..5}.txt 
[root@jubot ~]# ls
file1.txt file2.txt file3.txt file4.txt file5.txt 

修改檔案的access(訪問)時間:

[root@jubot ~]# stat file.txt
   File: file.txt
   Size: 0               Blocks: 0          IO Block: 512    regular empty file
 Device: 2h/2d   Inode: 87538717757135273  Links: 1
 Access: (0666/-rw-rw-rw-)  Uid: ( 1000/  root)   Gid: ( 1000/  root)
 Access: 2019-04-07 00:25:34.729216500 +0800
 Modify: 2019-04-07 00:25:34.729216500 +0800
 Change: 2019-04-07 00:25:34.729216500 +0800
  Birth: -

[root@jubot ~]# touch -a file.txt
 
[root@jubot ~]# stat file.txt
   File: file.txt
   Size: 0               Blocks: 0          IO Block: 512    regular empty file
 Device: 2h/2d   Inode: 87538717757135273  Links: 1
 Access: (0666/-rw-rw-rw-)  Uid: ( 1000/  root)   Gid: ( 1000/  root)
 Access: 2019-04-07 00:26:13.004116000 +0800
 Modify: 2019-04-07 00:25:34.729216500 +0800
 Change: 2019-04-07 00:26:13.004116000 +0800
  Birth: -

5 cat命令

Linux系統中有很多個用于查看檔案內容的命令,每個命令又都有自己的特點,比如這個cat命令就是用于查看內容較少的純文本檔案的,cat這個命令也很好記,因為cat在英語中是“貓”的意思,

注意:當檔案內容較大時,文本內容會在螢屏上快速閃動(滾屏),用戶往往看不清所顯示的具體內容,因此對于較長檔案內容可以按Ctrl+S鍵,停止滾屏;以及Ctrl+Q鍵可以恢復滾屏;而按Ctrl+C(中斷)鍵則可以終止該命令的執行,或者對于大檔案,干脆用more命令吧!

**語法格式:**cat [引數] [檔案]

常用引數:

-n顯示行數(空行也編號)
-s顯示行數(多個空行算一個編號)
-b顯示行數(空行不編號)
-E每行結束處顯示$符號
-T將TAB字符顯示為 ^I符號
-v使用 ^ 和 M- 參考,除了 LFD 和 TAB 之外
-e等價于”-vE”組合
-t等價于”-vT”組合
-A等價于 -vET組合
–help顯示幫助資訊
–version顯示版本資訊

參考實體

查看檔案的內容:

[root@jubot ~]# cat filename.txt

查看檔案的內容,并顯示行數編號:

[root@jubot ~]# cat -n filename.txt

查看檔案的內容,并添加行數編號后輸出到另外一個檔案中:

[root@jubot ~]# cat -n jubot.log > linuxprobe.log 

清空檔案的內容:

[root@jubot ~]# cat /dev/null > /root/filename.txt

持續寫入檔案內容,碰到EOF符后結束并保存:

[root@jubot ~]# cat > filename.txt <<EOF
> Hello, World 
> Linux!
> EOF

將軟盤設備制作成鏡像檔案:

[root@jubot ~]# cat /dev/fd0 > fdisk.iso

6 cp命令

cp命令可以理解為英文單詞copy的縮寫,其功能為復制檔案或目錄,

cp命令可以將多個檔案復制到一個具體的檔案名或一個已經存在的目錄下,也可以同時復制多個檔案到一個指定的目錄中,

**語法格式:**cp [引數] [檔案]

常用引數:

-f若目標檔案已存在,則會直接覆寫原檔案
-i若目標檔案已存在,則會詢問是否覆寫
-p保留源檔案或目錄的所有屬性
-r遞回復制檔案和目錄
-d當復制符號連接時,把目標檔案或目錄也建立為符號連接,并指向與源檔案或目錄連接的原始檔案或目錄
-l對源檔案建立硬連接,而非復制檔案
-s對源檔案建立符號連接,而非復制檔案
-b覆寫已存在的檔案目標前將目標檔案備份
-v詳細顯示cp命令執行的操作程序
-a等價于“dpr”選項

參考實體

復制目錄:

[root@jubot ~]# cp -R dir1 dir2/

將檔案test1改名為test2:

[root@jubot ~]# cp -f test1 test2

復制多個檔案:

[root@jubot ~]# cp -r file1 file2 file3 dir

互動式地將目錄 /usr/jubot 中的所有.c檔案復制到目錄 dir 中:

[root@jubot ~]# cp -r /usr/jubot/*.c dir

7 mv命令

mv命令是“move”單詞的縮寫,其功能大致和英文含義一樣,可以移動檔案或對其改名,

這是一個使用頻率超高的檔案管理命令,我們需要特別留意它與復制的區別:mv與cp的結果不同,mv命令好像檔案“搬家”,檔案名稱發生改變,但個數并未增加,而cp命令是對檔案進行復制操作,檔案個數是有增加的,

**語法格式:**mv [引數]

常用引數:

-i若存在同名檔案,則向用戶詢問是否覆寫
-f覆寫已有檔案時,不進行任何提示
-b當檔案存在時,覆寫前為其創建一個備份
-u當源檔案比目標檔案新,或者目標檔案不存在時,才執行移動此操作

參考實體

將檔案file_1重命名為file_2:

[root@jubot ~]# mv file_1 file_2

將檔案file移動到目錄dir中 :

[root@jubot ~]# mv file /dir

將目錄dir1移動目錄dir2中(前提是目錄dir2已存在,若不存在則改名):

[root@jubot ~]# mv /dir1 /dir2

將目錄dir1下的檔案移動到當前目錄下:

[root@jubot ~]# mv /dir1/* .

8 rm命令

rm是常用的命令,該命令的功能為洗掉一個目錄中的一個或多個檔案或目錄,它也可以將某個目錄及其下的所有檔案及子目錄均洗掉,對于鏈接檔案,只是洗掉了鏈接,原有檔案均保持不變, rm也是一個危險的命令,使用的時候要特別當心,尤其對于新手,否則整個系統就會毀在這個命令(比如在/(根目錄)下執行rm * -rf),所以,我們在執行rm之前最好先確認一下在哪個目錄,到底要洗掉什么東西,操作時保持高度清醒的頭腦,

**語法格式:**rm [引數] [檔案]

常用引數:

-f忽略不存在的檔案,不會出現警告資訊
-i洗掉前會詢問用戶是否操作
-r/R遞回洗掉
-v顯示指令的詳細執行程序

參考實體

洗掉前逐一詢問確認:

[root@jubot ~]# rm -i test.txt.bz2 
rm: remove regular file `test.txt.bz2'? 

直接洗掉,不會有任何提示:

[root@jubot ~]# rm -f test.txt.bz2  

遞回洗掉目錄及目錄下所有檔案:

[root@jubot ~]# mkdir /data/log
[root@jubot ~]# rm -rf /data/log

洗掉當前目錄下所有檔案:

[root@jubot ~]# rm -rf *

清空系統中所有的檔案(謹慎):

[root@jubot ~]# rm -rf /*

9 find命令

find命令可以根據給定的路徑和運算式查找的檔案或目錄,find引數選項很多,并且支持正則,功能強大,和管道結合使用可以實作復雜的功能,是系統管理者和普通用戶必須掌握的命令,

find如不加任何引數,表示查找當前路徑下的所有檔案和目錄,如果服務器負載比較高盡量不要在高峰期使用find命令,find命令模糊搜索還是比較消耗系統資源的,

語法格式:find [引數] [路徑] [查找和搜索范圍]

常用引數

-name按名稱查找
-size按大小查找
-user按屬性查找
-type按型別查找
-iname忽略大小寫

參考實體

使用-name引數查看/etc目錄下面所有的.conf結尾的組態檔:

[root@jubot ~]# find /etc -name "*.conf

使用-size引數查看/etc目錄下面大于1M的檔案:

[root@jubot ~]# find /etc -size +1M

查找當前用戶主目錄下的所有檔案:

[root@jubot ~]# find $HOME -print

列出當前目錄及子目錄下所有檔案和檔案夾:

[root@jubot ~]# find .

在/home目錄下查找以.txt結尾的檔案名:

[root@jubot ~]# find /home -name "*.txt"

在/var/log目錄下忽略大小寫查找以.log結尾的檔案名:

[root@jubot ~]# find /var/log -iname "*.log"

搜索超過七天內被訪問過的所有檔案:

[root@jubot ~]# find . -type f -atime +7

搜索訪問時間超過10分鐘的所有檔案:

[root@jubot ~]# find . -type f -amin +10

找出/home下不是以.txt結尾的檔案:

[root@jubot ~]# find /home ! -name "*.txt"

10 grep命令

grep是“global search regular expression and print out the line”的簡稱,意思是全面搜索正則運算式,并將其列印出來,這個命令可以結合正則運算式使用,它也是linux使用最為廣泛的命令,

grep命令的選項用于對搜索程序的補充,而其命令的模式十分靈活,可以是變數、字串、正則運算式,需要注意的是:一當模式中包含了空格,務必要用雙引號將其引起來,

linux系統支持三種形式的grep命令,第一種:grep,標準,模仿的代表,第二種:egrep,簡稱擴展grep命令,其實和grep -E等價,支持基本和擴展的正則運算式,第三種:fgrep,簡稱快速grep命令,其實和grep -F等價,不支持正則運算式,按照字串表面意思進行匹配,

語法格式: grep [引數]

常用引數:

-i搜索時,忽略大小寫
-c只輸出匹配行的數量
-l只列出符合匹配的檔案名,不列出具體的匹配行
-n列出所有的匹配行,顯示行號
-h查詢多檔案時不顯示檔案名
-s不顯示不存在、沒有匹配文本的錯誤資訊
-v顯示不包含匹配文本的所有行
-w匹配整詞
-x匹配整行
-r遞回搜索
-q禁止輸出任何結果,已退出狀態表示搜索是否成功
-b列印匹配行距檔案頭部的偏移量,以位元組為單位
-o與-b結合使用,列印匹配的詞據檔案頭部的偏移量,以位元組為單位

參考實體

支持多檔案查詢并支持使用通配符:

[root@jubot ~]# grep zwx file_* /etc/hosts
file_1:zwx
file_1:zwx
file_1:zwxddkjflkdjfdlkfjlsdkj
file_2:zwx
file_4:dkfjlzwxejfkje
file_4:zwx djfkdjf
file_4:zwxedkfgj

輸出匹配字串行的數量:

[root@jubot ~]$ grep -c zwx file_*
 file_1:2
 file_2:1
 file_3:0

列出所有的匹配行,并顯示行號:

[root@jubot ~]# grep -n zwx file_*
file_1:1:zwx
file_1:4:zwx
file_1:10:zwxddkjflkdjfdlkfjlsdkj
file_2:2:zwx
file_4:3:dkfjlzwxejfkje
file_4:4:zwx djfkdjf
file_4:5:zwxedkfgj

顯示不包含模式的所有行:

[root@jubot ~]# grep -vc zwx file_*
file_1:7                                
file_2:4
file_3:5
file_4:2

不再顯示檔案名:

[root@jubot ~]# grep -h zwx file_*
zwx
zwx
zwxddkjflkdjfdlkfjlsdkj
zwx
dkfjlzwxejfkje

只列出符合匹配的檔案名,不列出具體匹配的行:

[root@jubot ~]# grep -l zwx file_*
file_1
file_2
file_4

不顯示不存在或無匹配的文本資訊:

[root@jubot ~]# grep  -s zwx file1 file_1
file_1:zwx       
file_1:zwx
file_1:zwxddkjflkdjfdlkfjlsdkj
[root@jubot ~]# grep zwx file1 file_1
grep: file1: No such file or directory  
file_1:zwx
file_1:zwx
file_1:zwxddkjflkdjfdlkfjlsdkj

遞回搜索,不僅搜索當前目錄,還搜索子目錄:

[root@jubot ~]# grep -r zwx file_2 *
file_2:zwx
anaconda-ks.cfg:user --name=zwx --gecos="zwx"
file_1:zwx
file_1:zwx
file_1:zwxddkjflkdjfdlkfjlsdkj
file_2:zwx
file_4:dkfjlzwxejfkje
file_4:zwx djfkdjf
file_4:zwxedkfgj
initial-setup-ks.cfg:user --name=zwx --gecos="zwx"

匹配整詞,以字面意思去解釋他,相當于精確匹配:

[root@jubot ~]# grep zw* file_1
zwx                       
zwx
zdkfjeld
zw
ze
zwxddkjflkdjfdlkfjlsdkj
[root@jubot ~]# grep -w zw* file_1
zw                         

匹配整行,檔案中的整行與模式匹配時,才列印出來:

[root@jubot ~]# grep -x zwx file_*
file_1:zwx
file_1:zwx
file_2:zwx

不輸出任何結果,已退出狀態表示結果:

 [root@jubot ~]# grep -q zwx file_1
 [root@jubot ~]# echo $?
 0               
 [root@jubot ~]# grep -q zwx file_5
 [root@jubot ~]# echo $?
 1               
 [root@jubot ~]# grep -q zwx file5
 grep: file5: No such file or directory
 [root@jubot ~]# echo $?
 2              

查找一個檔案中的空行和非空行:

[root@jubot ~]# grep -c ^$ file_1
 4              
 [root@jubot ~]# grep -c ^[^$] file_1
 15               

匹配任意或重復字符用“.”或“*”符號來實作:

[root@jubot ~]# grep ^z.x file_1
zwx
zwx
zwxddkjflkdjfdlkfjlsdkj
[root@jubot ~]# grep ^z* file_6
zwx
dfkjd

11 pwd命令

pwd命令是“print working directory”中每個單詞的首字母縮寫,其功能正如所示單詞一樣,為列印作業目錄,即顯示當前作業目錄的絕對路徑,

在實際作業中,我們經常會在不同目錄之間進行切換,為了防止“迷路”,我們可以使用pwd命令快速查看當前我們所在的目錄路徑,

語法格式: pwd [引數]

常用引數:

-L顯示邏輯路徑

參考實體

查看當前作業目錄路徑:

[root@jubot ~]# pwd
/home/jubot

12 ln命令

ln命令是linux系統中一個非常重要命令,英文全稱是“link”,即鏈接的意思,它的功能是為某一個檔案在另外一個位置建立一個同步的鏈接, 一種是hard link,又稱為硬鏈接;另一種是symbolic link,又稱為符號鏈接,

通俗一點理解,可以把硬鏈接當成源檔案的副本,他和源檔案一樣的大小,但是事實上卻不占任何空間,符號鏈接可以理解為類似windows一樣的快捷方式,

符號鏈接 :

  • \1. 符號鏈接以路徑的形式存在,類似于Windows作業系統中的快捷方式,
  • \2. 符號鏈接可以跨檔案系統 ,硬鏈接不可以,
  • \3. 符號鏈接可以對一個不存在的檔案名進行鏈接,硬鏈接不可以,
  • \4. 符號鏈接可以對目錄進行鏈接,硬鏈接不可以,

硬鏈接:

  • 1.硬鏈接以檔案副本的形式存在,但不占用實際空間,
  • \2. 硬鏈接不允許給目錄創建硬鏈接,
  • 3.硬鏈接只有在同一個檔案系統中才能創建,

語法格式: ln [引數] [源檔案或目錄] [目標檔案或目錄]

常用引數:

-b為每個已存在的目標檔案創建備份檔案
-d此選項允許“root”用戶建立目錄的硬鏈接
-f強制創建鏈接,即使目標檔案已經存在
-n把指向目錄的符號鏈接視為一個普通檔案
-i互動模式,若目標檔案已經存在,則提示用戶確認進行覆寫
-s對源檔案建立符號鏈接,而非硬鏈接
-v詳細資訊模式,輸出指令的詳細執行程序

參考實體

為源檔案file.txt創建硬鏈接file_1:

[root@jubot ~ ]# ln /root/dir/file.txt ./file_1

使用ln命令的“-s”引數來創建目錄的符號鏈接,并使用ls命令來查看鏈接檔案的詳細資訊:

[root@jubot ~]# ln -s dir file
[root@jubot ~]# ls -l
總用量 4
-rw-------. 1 root root 1138 311 14:48 anaconda-ks.cfg
drwxr-xr-x. 2 root root   36 43 08:47 test
lrwxrwxrwx. 1 root root    4 43 08:54 file -> dir

使用ln命令的“-v”引數來輸出命令的詳細執行程序:

[root@jubot ~]# ln -v /root/dir/file.txt ./file_1
 './file_1' => '/root/dir/file.txt'

使用ln命令的“-b”命令來創建目標檔案的備份檔案,并使用ls命令來查看:

[root@jubot ~]# ln -b /root/dir/file.txt ./file_1
[root@jubot ~]# ls
 anaconda-ks.cfg  file_1  file_1~  dir 

13 tar命令

tar命令可以為linux的檔案和目錄創建檔案,利用tar,可以為某一特定檔案創建檔案(備份檔案),也可以在檔案中改變檔案,或者向檔案中加入新的檔案,

tar最初被用來在磁帶上創建檔案,現在,用戶可以在任何設備上創建檔案,利用tar命令,可以把一大堆的檔案和目錄全部打包成一個檔案,這對于備份檔案或將幾個檔案組合成為一個檔案以便于網路傳輸是非常有用的,

**語法格式:**tar [引數] [檔案或目錄]

常用引數:

-A新增檔案到以存在的備份檔案
-B設定區塊大小
-c建立新的備份檔案
-C <目錄>切換作業目錄,先進入指定目錄再執行壓縮/解壓縮操作,可用于僅壓縮特定目錄里的內容或解壓縮到特定目錄
-d記錄檔案的差別
-x從歸檔檔案中提取檔案
-t列出備份檔案的內容
-z通過gzip指令壓縮/解壓縮檔案,檔案名最好為*.tar.gz
-Z通過compress指令處理備份檔案
-f<備份檔案>指定備份檔案
-v顯示指令執行程序
-r添加檔案到已經壓縮的檔案
-u添加改變了和現有的檔案到已經存在的壓縮檔案
-j通過bzip2指令壓縮/解壓縮檔案,檔案名最好為*.tar.bz2
-v顯示操作程序
-l檔案系統邊界設定
-k保留原有檔案不覆寫
-m保留檔案不被覆寫
-w確認壓縮檔案的正確性
-p保留原來的檔案權限與屬性
-P使用檔案名的絕對路徑,不移除檔案名稱前的“/”號
-N <日期格式>只將較指定日期更新的檔案保存到備份檔案里
– -exclude=<范本樣式>排除符合范本樣式的檔案
– -remove-files歸檔/壓縮之后洗掉源檔案

參考實體

將所有.jpg的檔案打成一個名為all.tar的包:

[root@jubot ~]# tar -cf all.tar *.jpg

打包檔案之后洗掉源檔案:

[root@jubot ~]# tar -cvf jubot.tar jubot --remove-files

打包檔案以后,以 gzip 壓縮:

[root@jubot ~]# tar -zcvf log.tar.gz jubot.log

14 apt-get命令

apt-get命令是Debian Linux發行版中的APT軟體包管理工具,所有基于Debian的發行都使用這個包管理系統,deb包可以把一個應用的檔案包在一起,大體就如同Windows上的安裝檔案,

**語法格式:**apt-get [引數]

常用引數:

-c指定組態檔

參考實體

更新軟體:

[root@jubot ~]# apt-get update

安裝vim:

[root@jubot ~]# apt-get install vim

安裝nginx:

[root@jubot ~]# apt-get install nginx

卸載vim:

[root@jubot ~]# apt-get remove vim

卸載軟體(洗掉組態檔):

[root@jubot ~]# apt-get –purge remove packagename 

15 df命令

df命令的英文全稱即“Disk Free”,顧名思義功能是用于顯示系統上可使用的磁盤空間,默認顯示單位為KB,建議使用“df -h”的引陣列合,根據磁盤容量自動變換合適的單位,更利于閱讀,

日常普遍用該命令可以查看磁盤被占用了多少空間、還剩多少空間等資訊,

語法格式: df [引數] [指定檔案]

常用引數:

-a顯示所有系統檔案
-B <塊大小>指定顯示時的塊大小
-h以容易閱讀的方式顯示
-H以1000位元組為換算單位來顯示
-i顯示索引位元組資訊
-k指定塊大小為1KB
-l只顯示本地檔案系統
-t <檔案系統型別>只顯示指定型別的檔案系統
-T輸出時顯示檔案系統型別
– -sync在取得磁盤使用資訊前,先執行sync命令

參考實體

顯示磁盤磁區使用情況:

[root@jubot ~]# df
檔案系統                             1K-塊    已用     可用   已用% 掛載點
devtmpfs                           1980612       0  1980612    0% /dev
tmpfs                              1994756       0  1994756    0% /dev/shm
tmpfs                              1994756    1040  1993716    1% /run
tmpfs                              1994756       0  1994756    0% /sys/fs/cgroup
/dev/mapper/fedora_linuxhell-root 15718400 2040836 13677564   13% /
tmpfs                              1994756       4  1994752    1% /tmp
/dev/sda1                           999320  128264   802244   14% /boot
tmpfs                               398948       0   398948   0% /run/user/0

以容易閱讀的方式顯示磁盤磁區使用情況:

[root@jubot ~]# df -h
 檔案系統                           容量   已用   可用  已用% 掛載點
 devtmpfs                           1.9G     0  1.9G    0% /dev
 tmpfs                              2.0G     0  2.0G    0% /dev/shm
 tmpfs                              2.0G  1.1M  2.0G    1% /run
 tmpfs                              2.0G     0  2.0G    0% /sys/fs/cgroup
 /dev/mapper/fedora_linuxhell-root   15G  2.0G   14G   13% /
 tmpfs                              2.0G  4.0K  2.0G    1% /tmp
 /dev/sda1                          976M  126M  784M   14% /boot
 tmpfs                              390M     0  390M    0% /run/user/0

顯示指定檔案所在磁區的磁盤使用情況:

[root@jubot ~]# df /etc/dhcp
檔案系統                             1K-塊    已用     可用   已用% 掛載點
/dev/mapper/fedora_jubot-root 15718400 2040836 13677564   13% /

顯示檔案型別為ext4的磁盤使用情況:

[root@jubot ~]# df -t ext4
檔案系統        1K-塊   已用   可用    已用% 掛載點
/dev/sda1      999320 128264 802244   14% /boot

16 zip命令

zip程式將一個或多個壓縮檔案與有關檔案的資訊(名稱、路徑、日期、上次修改的時間、保護和檢查資訊以驗證檔案完整性)一起放入一個壓縮存檔中,可以使用一個命令將整個目錄結構打包到zip存檔中,

對于文本檔案來說,壓縮比為2:1和3:1是常見的,zip只有一種壓縮方法(通縮),并且可以在不壓縮的情況下存盤檔案,(如果添加了bzip 2支持,zip也可以使用bzip 2壓縮,但這些條目需要一個合理的現代解壓縮來解壓縮,當選擇bzip 2壓縮時,它將通貨緊縮替換為默認方法,)zip會自動為每個要壓縮的檔案選擇更好的兩個檔案(通碩訓存盤,如果選擇bzip2,則選擇bzip2或Store),

**語法格式:**zip [引數] [檔案]

常用引數:

-q不顯示指令執行程序
-r遞回處理,將指定目錄下的所有檔案和子目錄一并處理
-z替壓縮檔案加上注釋
-v顯示指令執行程序或顯示版本資訊
-n<字尾字串>不壓縮具有特定字尾字串的檔案

參考實體

將 /home/html/ 這個目錄下所有檔案和檔案夾打包為當前目錄下的 html.zip:

[root@jubot ~]# zip -q -r html.zip /home/html

壓縮檔案 cp.zip 中洗掉檔案 a.c:

[root@jubot ~]# zip -dv cp.zip a.c 

把/home目錄下面的mydata目錄壓縮為mydata.zip:

[root@jubot ~]# zip -r mydata.zip mydata 

把/home目錄下面的abc檔案夾和123.txt壓縮成為abc123.zip:

[root@jubot ~]# zip -r abc123.zip abc 123.txt 

將 logs目錄打包成 log.zip:

[root@jubot ~]# zip -r log.zip ./logs 

17 ping命令

ping命令主要用來測驗主機之間網路的連通性,也可以用于,執行ping指令會使用ICMP傳輸協議,發出要求回應的資訊,若遠端主機的網路功能沒有問題,就會回應該資訊,因而得知該主機運作正常,

不過值得我們注意的是:Linux系統下的ping命令與Windows系統下的ping命令稍有不同,Windows下運行ping命令一般會發出4個請求就結束運行該命令;而Linux下不會自動終止,此時需要我們按CTR+C終止或者使用-c引數為ping命令指定發送的請求數目,

**語法格式:**ping [引數] [目標主機]

常用引數:

-d使用Socket的SO_DEBUG功能
-c指定發送報文的次數
-i指定收發資訊的間隔時間
-I使用指定的網路介面送出資料包
-l設定在送出要求資訊之前,先行發出的資料包
-n只輸出數值
-p設定填滿資料包的范本樣式
-q不顯示指令執行程序
-R記錄路由程序
-s設定資料包的大小
-t設定存活數值TTL的大小
-v詳細顯示指令的執行程序

參考實體

檢測與jujon網站的連通性:

[root@jubot ~]# ping www.jujon.com

連續ping4次:

[root@jubot ~]# ping -c 4 www.jujon.com 

設定次數為4,時間間隔為3秒:

[root@jubot ~]# ping -c 4 -i 3 www.jujon.com

利用ping命令獲取指定網站的IP地址:

[root@jubot ~]# ping -c 1 jujon.com | grep from | cut -d " " -f 4
220.181.57.216

18 curl命令

curl命令是一個利用URL規則在shell終端命令列下作業的檔案傳輸工具;它支持檔案的上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱curl為下載工具,

作為一款強力工具,curl支持包括HTTP、HTTPS、ftp等眾多協議,還支持POST、cookies、認證、從指定偏移處下載部分檔案、用戶代理字串、限速、檔案大小、進度條等特征;做網頁處理流程和資料檢索自動化,

**語法格式:**curl [引數] [網址]

常用引數:

-O把輸出寫到該檔案中,保留遠程檔案的檔案名
-u通過服務端配置的用戶名和密碼授權訪問

參考實體

將下載的資料寫入到檔案,必須使用檔案的絕對地址:

[root@jubot ~]# curl https://www.jujon.com/abc.txt --silent -O

訪問需要授權的頁面時,可通過-u選項提供用戶名和密碼進行授權:

[root@jubot ~]# curl -u root https://www.jujon.com/ Enter host password for user 'root':

19 ifconfig命令

ifconfig命令的英文全稱是“network interfaces configuring”,即用于配置和顯示Linux內核中網路介面的網路引數,用ifconfig命令配置的網卡資訊,在網卡重啟后機器重啟后,配置就不存在,要想將上述的配置資訊永遠的存的電腦里,那就要修改網卡的組態檔了,

**語法格式:**ifconfig [引數]

常用引數:

add<地址>設定網路設備IPv6的IP地址
del<地址>洗掉網路設備IPv6的IP地址
down關閉指定的網路設備
up啟動指定的網路設備
IP地址指定網路設備的IP地址

參考實體

顯示網路設備資訊:

[root@jujon ~]# ifconfig
eth0   Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C       
       inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
       inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:Link     
       UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1      
       RX packets:172220 errors:0 dropped:0 overruns:0 frame:0      
       TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0 
       collisions:0 txqueuelen:1000       
       RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB) 
       Interrupt:185 Base address:0x2024  
lo    Link encap:Local Loopback       
      inet addr:127.0.0.1 Mask:255.0.0.0      
      inet6 addr: ::1/128 Scope:Host      
      UP LOOPBACK RUNNING MTU:16436 Metric:1      
      RX packets:2022 errors:0 dropped:0 overruns:0 frame:0      
      TX packets:2022 errors:0 dropped:0 overruns:0 carrier:0   
      collisions:0 txqueuelen:0       
      RX bytes:2459063 (2.3 MiB) 
      TX bytes:2459063 (2.3 MiB)

啟動關閉指定網卡:

[root@jujon ~]# ifconfig eth0 down
[root@jujon ~]# ifconfig eth0 up 

為網卡配置和洗掉IPv6地址:

[root@jujon ~]# ifconfig eth0 add 33ffe:3240:800:1005::2/64
[root@jujon ~]# ifconfig eth0 del 33ffe:3240:800:1005::2/64

用ifconfig修改MAC地址:

[root@jujon ~]# ifconfig eth0 down
[root@jujon ~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
[root@jujon ~]# ifconfig eth0 up
[root@jujon ~]# ifconfig eth1 hw ether 00:1D:1C:1D:1E 
[root@jujon ~]# ifconfig eth1 up

配置IP地址:

[root@jujon ~]# ifconfig eth0 192.168.1.56 
[root@jujon ~]# ifconfig eth0 192.168.1.56 netmask 255.255.255.0
[root@jujon ~]# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255

20 dd命令

dd命令用指定大小的塊拷貝一個檔案,并在拷貝的同時進行指定的轉換,

注意:指定數字的地方若以下列字符結尾則乘以相應的數字:b=512;c=1;k=1024;w=2

**語法格式:**dd [引數]

常用引數:

-v顯示版本資訊
-h顯示幫助資訊

參考實體

將本地的/dev/hdb整盤備份到/dev/hdd:

[root@jubot ~]# dd if=/dev/hdb of=/dev/hdd  

將壓縮的備份檔案恢復到指定盤:

[root@jubot ~]# gzip -dc /root/image.gz | dd of=/dev/hdb 

由標準輸入設備讀入字串,并將字串轉換成大寫后,再輸出到標準輸出設備:

[root@jubot ~]# dd conv=ucase 

將testfile檔案中的所有英文字母轉換為大寫,然后轉成為testfile_1檔案:

[root@jubot ~]# dd if=testfile_2 of=testfile_1 conv=ucase 

修復硬碟:

[root@jubot ~]# dd if=/dev/sda of=/dev/sda  

第四章 Vim使用指南

Vim是從 vi 發展出來的一個文本編輯器,代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程式員中被廣泛使用,

簡單的來說, vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方, vim 則可以說是程式開發者的一項很好用的工具,

基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode)輸入模式(Insert mode)底線命令模式(Last line mode), 這三種模式的作用分別是:

1 命令模式

用戶剛剛啟動 vi/vim,便進入了命令模式,

此狀態下敲擊鍵盤動作會被Vim識別為命令,而非輸入字符,比如我們此時按下i,并不會輸入一個字符,i被當作了一個命令,

以下是常用的幾個命令:

  • i 切換到輸入模式,以輸入字符,
  • x 洗掉當前游標所在處的字符,
  • : 切換到底線命令模式,以在最底一行輸入命令,

若想要編輯文本:啟動Vim,進入了命令模式,按下i,切換到輸入模式,

命令模式只有一些最基本的命令,因此仍要依靠底線命令模式輸入更多命令,

2 輸入模式

在命令模式下按下i就進入了輸入模式,

在輸入模式中,可以使用以下按鍵:

  • 字符按鍵以及Shift組合,輸入字符
  • ENTER,回車鍵,換行
  • BACK SPACE,退格鍵,洗掉游標前一個字符
  • DEL,洗掉鍵,洗掉游標后一個字符
  • 方向鍵,在文本中移動游標
  • HOME/END,移動游標到行首/行尾
  • Page Up/Page Down,上/下翻頁
  • Insert,切換游標為輸入/替換模式,游標將變成豎線/下劃線
  • ESC,退出輸入模式,切換到命令模式

3 底線命令模式

在命令模式下按下:(英文冒號)就進入了底線命令模式,

底線命令模式可以輸入單個或多個字符的命令,可用的命令非常多,

在底線命令模式中,基本的命令有(已經省略了冒號):

  • q 退出程式
  • w 保存檔案

按ESC鍵可隨時退出底線命令模式,

4 vi/vim鍵盤圖

在這里插入圖片描述

5 vi/vim 按鍵說明

除了上面簡易范例的 i, Esc, :wq 之外,其實 vim 還有非常多的按鍵可以使用,

第一部分:一般模式可用的游標移動、復制粘貼、搜索替換等

移動游標的方法
h 或 向左箭頭鍵(←)游標向左移動一個字符
j 或 向下箭頭鍵(↓)游標向下移動一個字符
k 或 向上箭頭鍵(↑)游標向上移動一個字符
l 或 向右箭頭鍵(→)游標向右移動一個字符
如果你將右手放在鍵盤上的話,你會發現 hjkl 是排列在一起的,因此可以使用這四個按鈕來移動游標, 如果想要進行多次移動的話,例如向下移動 30 行,可以使用 “30j” 或 “30↓” 的組合按鍵, 亦即加上想要進行的次數(數字)后,按下動作即可!
[Ctrl] + [f]螢屏『向下』移動一頁,相當于 [Page Down]按鍵 (常用)
[Ctrl] + [b]螢屏『向上』移動一頁,相當于 [Page Up] 按鍵 (常用)
[Ctrl] + [d]螢屏『向下』移動半頁
[Ctrl] + [u]螢屏『向上』移動半頁
+游標移動到非空格符的下一行
-游標移動到非空格符的上一行
n那個 n 表示『數字』,例如 20 ,按下數字后再按空格鍵,游標會向右移動這一行的 n 個字符,例如 20 則游標會向后面移動 20 個字符距離,
0 或功能鍵[Home]這是數字『 0 』:移動到這一行的最前面字符處 (常用)
$ 或功能鍵[End]移動到這一行的最后面字符處(常用)
H游標移動到這個螢屏的最上方那一行的第一個字符
M游標移動到這個螢屏的中央那一行的第一個字符
L游標移動到這個螢屏的最下方那一行的第一個字符
G移動到這個檔案的最后一行(常用)
nGn 為數字,移動到這個檔案的第 n 行,例如 20G 則會移動到這個檔案的第 20 行(可配合 :set nu)
gg移動到這個檔案的第一行,相當于 1G 啊! (常用)
nn 為數字,游標向下移動 n 行(常用)
搜索替換
/word向游標之下尋找一個名稱為 word 的字串,例如要在檔案內搜尋 vbird 這個字串,就輸入 /vbird 即可! (常用)
?word向游標之上尋找一個字串名稱為 word 的字串,
n這個 n 是英文按鍵,代表重復前一個搜尋的動作,舉例來說, 如果剛剛我們執行 /vbird 去向下搜尋 vbird 這個字串,則按下 n 后,會向下繼續搜尋下一個名稱為 vbird 的字串,如果是執行 ?vbird 的話,那么按下 n 則會向上繼續搜尋名稱為 vbird 的字串!
N這個 N 是英文按鍵,與 n 剛好相反,為『反向』進行前一個搜尋動作, 例如 /vbird 后,按下 N 則表示『向上』搜尋 vbird ,
使用 /word 配合 n 及 N 是非常有幫助的!可以讓你重復的找到一些你搜尋的關鍵詞!
:n1,n2s/word1/word2/gn1 與 n2 為數字,在第 n1 與 n2 行之間尋找 word1 這個字串,并將該字串取代為 word2 !舉例來說,在 100 到 200 行之間搜尋 vbird 并取代為 VBIRD 則: 『:100,200s/vbird/VBIRD/g』,(常用)
:1,$s/word1/word2/g 或 :%s/word1/word2/g從第一行到最后一行尋找 word1 字串,并將該字串取代為 word2 !(常用)
:1,$s/word1/word2/gc 或 :%s/word1/word2/gc從第一行到最后一行尋找 word1 字串,并將該字串取代為 word2 !且在取代前顯示提示字符給用戶確認 (confirm) 是否需要取代!(常用)
洗掉、復制與貼上
x, X在一行字當中,x 為向后洗掉一個字符 (相當于 [del] 按鍵), X 為向前洗掉一個字符(相當于 [backspace] 亦即是退格鍵) (常用)
nxn 為數字,連續向后洗掉 n 個字符,舉例來說,我要連續洗掉 10 個字符, 『10x』,
dd洗掉游標所在的那一整行(常用)
nddn 為數字,洗掉游標所在的向下 n 行,例如 20dd 則是洗掉 20 行 (常用)
d1G洗掉游標所在到第一行的所有資料
dG洗掉游標所在到最后一行的所有資料
d$洗掉游標所在處,到該行的最后一個字符
d0那個是數字的 0 ,洗掉游標所在處,到該行的最前面一個字符
yy復制游標所在的那一行(常用)
nyyn 為數字,復制游標所在的向下 n 行,例如 20yy 則是復制 20 行(常用)
y1G復制游標所在行到第一行的所有資料
yG復制游標所在行到最后一行的所有資料
y0復制游標所在的那個字符到該行行首的所有資料
y$復制游標所在的那個字符到該行行尾的所有資料
p, Pp 為將已復制的資料在游標下一行貼上,P 則為貼在游標上一行! 舉例來說,我目前游標在第 20 行,且已經復制了 10 行資料,則按下 p 后, 那 10 行資料會貼在原本的 20 行之后,亦即由 21 行開始貼,但如果是按下 P 呢? 那么原本的第 20 行會被推到變成 30 行, (常用)
J將游標所在行與下一行的資料結合成同一行
c重復洗掉多個資料,例如向下洗掉 10 行,[ 10cj ]
u復原前一個動作,(常用)
[Ctrl]+r重做上一個動作,(常用)
這個 u 與 [Ctrl]+r 是很常用的指令!一個是復原,另一個則是重做一次~ 利用這兩個功能按鍵,你的編輯,嘿嘿!很快樂的啦!
.不要懷疑!這就是小數點!意思是重復前一個動作的意思, 如果你想要重復洗掉、重復貼上等等動作,按下小數點『.』就好了! (常用)

第二部分:一般模式切換到編輯模式的可用的按鈕說明

進入輸入或取代的編輯模式
i, I進入輸入模式(Insert mode): i 為『從目前游標所在處輸入』, I 為『在目前所在行的第一個非空格符處開始輸入』, (常用)
a, A進入輸入模式(Insert mode): a 為『從目前游標所在的下一個字符處開始輸入』, A 為『從游標所在行的最后一個字符處開始輸入』,(常用)
o, O進入輸入模式(Insert mode): 這是英文字母 o 的大小寫,o 為『在目前游標所在的下一行處輸入新的一行』; O 為在目前游標所在處的上一行輸入新的一行!(常用)
r, R進入取代模式(Replace mode): r 只會取代游標所在的那一個字符一次;R會一直取代游標所在的文字,直到按下 ESC 為止;(常用)
上面這些按鍵中,在 vi 畫面的左下角處會出現『–INSERT–』或『–REPLACE–』的字樣, 由名稱就知道該動作了吧!!特別注意的是,我們上面也提過了,你想要在檔案里面輸入字符時, 一定要在左下角處看到 INSERT 或 REPLACE 才能輸入喔!
[Esc]退出編輯模式,回到一般模式中(常用)

第三部分:一般模式切換到指令行模式的可用的按鈕說明

指令行的儲存、離開等指令
:w將編輯的資料寫入硬碟檔案中(常用)
:w!若檔案屬性為『只讀』時,強制寫入該檔案,不過,到底能不能寫入, 還是跟你對該檔案的檔案權限有關啊!
:q離開 vi (常用)
:q!若曾修改過檔案,又不想儲存,使用 ! 為強制離開不儲存檔案,
注意一下啊,那個驚嘆號 (!) 在 vi 當中,常常具有『強制』的意思~
:wq儲存后離開,若為 :wq! 則為強制儲存后離開 (常用)
ZZ這是大寫的 Z 喔!若檔案沒有更動,則不儲存離開,若檔案已經被更動過,則儲存后離開!
:w [filename]將編輯的資料儲存成另一個檔案(類似另存新檔)
:r [filename]在編輯的資料中,讀入另一個檔案的資料,亦即將 『filename』 這個檔案內容加到游標所在行后面
:n1,n2 w [filename]將 n1 到 n2 的內容儲存成 filename 這個檔案,
:! command暫時離開 vi 到指令行模式下執行 command 的顯示結果!例如 『:! ls /home』即可在 vi 當中察看 /home 底下以 ls 輸出的檔案資訊!
vim 環境的變更
:set nu顯示行號,設定之后,會在每一行的前綴顯示該行的行號
:set nonu與 set nu 相反,為取消行號!

特別注意,在 vi/vim 中,數字是很有意義的!數字通常代表重復做幾次的意思! 也有可能是代表去到第幾個什么什么的意思,

舉例來說,要洗掉 50 行,則是用 『50dd』 對吧! 數字加在動作之前,如我要向下移動 20 行呢?那就是『20j』或者是『20↓』即可,

第五章 Linux常用快捷鍵

1 常用快捷鍵和命令結構圖

在這里插入圖片描述
如下為基本命令列提示符的樣子,其中root為用戶名,代表超級用戶,oldbodyedu代表主機名,~代表當前目錄,即家目錄,#是超級用戶提示符,如果是普通用戶使用$,
在這里插入圖片描述

2 基本快捷鍵的使用

(1)Tab,補充命令

  • 不用輸入完整的命令,輸入命令前幾個字母后Tab鍵,會自動補全命令提示,

(2)移動游標命令

  • Ctrl+A:移動游標到開頭

  • Ctrl+E:移動游標到結尾

  • Ctrl+F:往游標后面移動一個字符

  • Ctrl+B:往游標前面移動一個字符

(3)剪切字符

  • Ctrl+K:剪切游標處到行尾的字符

  • Ctrl+U:剪切游標處到行首的字符

  • Ctrl+Y:將剪切的字符進行粘貼

(4)復制粘貼

  • Ctrl+Ins:復制

  • Shift+Ins:粘貼

(5)中斷正在運行的命令列

  • Ctrl+C

(6)退出當前Xshell

  • Ctrl+D

(7)搜索命令列使用過的歷史命令記錄

  • Ctrl+R
    在這里插入圖片描述

(8)獲取上一條命令的最后部分,用空格分隔開來的部分

  • ESC+.

在這里插入圖片描述
(9)清屏命令

  • Ctrl+L
    在這里插入圖片描述
    (10)暫停命令

  • Ctrl+Z
    在這里插入圖片描述
    如上面sleep 40命令執行后一直動不了,游標一直在閃,按Ctrl+Z后就可以重新回到命令列

(11)鎖屏

  • Ctrl+S

(12)解除鎖屏

  • Ctrl+Q

(13) !+命令 執行上一條命令,!! 執行上兩條命令

3 快捷鍵集合

1、tab //命令或路徑等的補全鍵,linux用的最多的一個快捷鍵 ??

2、ctrl+a //游標迅速回到行首 ??

3、ctrl+e //游標迅速回到行尾 ??

4、ctrl+f //游標向右移動一個字符

5、ctrl+b //游標向左移動一個字符

6、ctrl+insert //復制命令列內容(mac系統不能使用)

7、shift+insert //粘貼命令列內容(mac系統不能使用)

8、ctrl+k //剪切(洗掉)游標處到行尾的所有字符 ??

9、ctrl+u //剪切(洗掉)游標處到行首的所有字符 ??

10、ctrl+w //剪切(洗掉)游標前的一個字符

11、ctrl+y //粘貼 ctrl+k、ctrl+u、ctrl+w洗掉的字符 ??

12、ctrl+c //中斷終端正在執行的任務并開啟一個新的一行 ??

13、ctrl+h //洗掉游標前的一個字符(相當于退格鍵)

14、ctrl+d //退出當前shell命令列,如果是切換過來的用戶,則執行這個命令回退到原用戶 ??

15、ctrl+r //搜索命令列使用過的歷史命令記錄 ??

16、ctrl+g //從ctrl+r的搜索歷史命令模式中退出

17、ctrl+l //清楚螢屏所有的內容,并開啟一個新的一行 ??

18、ctrl+s //鎖定終端,使之任何人無法輸入

19、ctrl+q //解鎖ctrl+s的鎖定狀態

20、ctrl+z //暫停在終端運行的任務,使用"fg"命令可以使暫停恢復 ??

21!! //執行上一條命令 ??

22!pw //這是一個例子,是執行以pw開頭的命令,這里的pw可以換成任何已經執行過的字符 ??

23!pw:p //這是一個例子,是僅列印以pw開頭的命令,但不執行,最后的那個“p”是命令固定字符 ??

24!num //執行歷史命令串列的第num條命令,num代指任何數字(前提是歷史命令里必須存在)??

25!$ //代指上一條命令的最后一個引數,該命令常用于shell腳本中 ??

26、esc+. //注意那個".“ 意思是獲取上一條命令的(以空格為分隔符)最后的部分 ??

27、esc+b //移動到當前單詞的開頭

28、esc+f //移動到當前單詞的結尾

附錄

linux的命令是眾多的,想要更多的學習linux的命令需要長時間的積累以及參考一些命令手冊,這里給出一個常用的linux手冊:Linux命令大全(手冊),

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/336181.html

標籤:其他

上一篇:C語言基礎總結篇(究極避坑)

下一篇:一文學會JDBC(兩萬字,適用于新手)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more