Linux啟動過程 顯示目錄 壓縮及顯示行號的命令

来源:https://www.cnblogs.com/wenrulaogou/archive/2018/07/23/9355137.html
-Advertisement-
Play Games

第1章 Linux啟動過程 開機自檢(BIOS)##硬體檢查 MBR引導 GRUB菜單(選擇不同的內核) 載入內核 運行init進程(Linux系統裡面第一個進程) 讀取/etc/inittab配置文件(讀取運行級別) 執行/etc/rc.d/sysinit腳本(系統的初始化腳本 設置IP地址) 執 ...


第1章 Linux啟動過程

開機自檢(BIOS)##硬體檢查

MBR引導

GRUB菜單(選擇不同的內核)

載入內核

運行init進程(Linux系統裡面第一個進程)

讀取/etc/inittab配置文件(讀取運行級別)

執行/etc/rc.d/sysinit腳本(系統的初始化腳本 設置IP地址)

執行/etc/rc.d/rc腳本(根據系統的運行級別 在開機的時候啟動不同的軟體)

啟動mingetty進程

顯示界面

第2章 PATH 變數

PATH 存放的是Linux下命令的位置

[root@oldboyedu-50 ~]# echo $PATH 
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

規律
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
/usr/local/sbin

Linux執行命令的過程

是否是別名

在PATH中找命令是否存在

      沒有的話提示command not fonund

      有就執行

 

第3章 顯示一級目錄

問題:

如何過濾出已知當前目錄下oldboy中的所有一級目錄

(提示:不包含oldboy目錄下麵目錄的子目錄及隱藏目錄,即只能是一級目錄)?

創建環境
mkdir /oldboy -p
cd /oldboy
mkdir ext/oldboy test xiaodong xiaofan xingfujie -p
touch jeacen oldboy wodi.gz yingsui.gz

3.1 方法一 tree

-d  只顯示目錄

-L level 最多顯示多少層 -L 1 最多顯示一層

[root@oldboyedu-50 oldboy]# tree -dL 1
.
├── ext
├── test
├── xiaodong
├── xiaofan
└── xingfujie

5 directories

3.2 方法二 find

-maxdepth  最大的深度

-maxdepth  最大的深度
[root@oldboyedu-50 oldboy]# find -maxdepth 1 -type d
.                                                    顯示出了目錄 但是多了一個.
./xingfujie
./test
./xiaofan
./xiaodong
./ext

!排除取反 非

排除. 只顯示目錄
[root@oldboyedu-50 oldboy]# find -maxdepth 1 -type d ! -name "."
./xingfujie
./test
./xiaofan
./xiaodong
./ext

3.3 方法三grep

^以xxx/開頭的行  三劍客使用 正則表達式

[root@oldboyedu-50 oldboy]# ls -l |grep "^d"
drwxr-xr-x. 3 root root 4096 Jul 10 19:45 ext
drwxr-xr-x. 2 root root 4096 Jul 10 19:45 test
drwxr-xr-x. 2 root root 4096 Jul 10 19:45 xiaodong
drwxr-xr-x. 2 root root 4096 Jul 10 19:45 xiaofan
drwxr-xr-x. 2 root root 4096 Jul 10 19:45 xingfujie
^以xxx/開頭的行  三劍客使用 正則表達式

3.4 方法四awk

$2表示第二列

[root@oldboyedu-50 oldboy]# ls -l |awk '$2>1'                第二列大於一的
total 20
drwxr-xr-x. 3 root root 4096 Jul 10 19:45 ext
drwxr-xr-x. 2 root root 4096 Jul 10 19:45 test
drwxr-xr-x. 2 root root 4096 Jul 10 19:45 xiaodong
drwxr-xr-x. 2 root root 4096 Jul 10 19:45 xiaofan
drwxr-xr-x. 2 root root 4096 Jul 10 19:45 xingfujie

3.5 拓展方法兩種

[root@oldboyedu-50 oldboy]# ls -F |grep "/"
-F 不同的類型文件 加上不同的標記  目錄加上/
[root@oldboyedu-50 oldboy]# ls -ld */  ##看以/結尾的

第4章 壓縮

問題:

/etc/目錄為linux系統的預設的配置文件及服務啟動命令的目錄

       a.請用tar打包/etc整個目錄(打包及壓縮)

       b.請用tar打包/etc整個目錄(打包及壓縮,但需要排除/etc/services文件)

       c.請把a點命令的壓縮包,解壓到/tmp指定目錄下(最好只用tar命令實現)

4.1 tar下的參數

tar zcvf /tmp/etc.tar.gz  /etc/
         壓縮之後放在哪   要壓縮的
    z  gzip    通過gzip軟體壓縮
    c  create  創建包
    v  verbose 顯示過程
    f  file    指定文件 (在tar中  f 必須要在最後邊)
    t  list    顯示壓縮包內容
    x  extaact 解壓
壓縮  zcvf  zcf
查看  ztf   tf
解壓  zxf   xf

4.2 創建壓縮包

一般壓縮不用參數v  不用顯示壓縮過程 所以直接用zcf即可

[root@oldboyedu-50 tmp]# tar ztf /tmp/etc.tar.gz   打包及壓縮

4.3 解壓

解壓前先進入要解壓到的目錄

[root@oldboyedu-50 tmp]# tar zxf etc.tar.gz   ##先進入tmp目錄

4.4 解壓到指定目錄

解壓使用參數zxf  z可以省略 xf即可

[root@oldboyedu-50 tmp]# tar xf /tmp/etc.tar.gz -C /opt/  解壓到opt目錄
[root@oldboyedu-50 tmp]# ll /opt/                         解壓後檢查
total 8
drwxr-xr-x. 78 root root 4096 Jul 10 19:41 etc
drwxr-xr-x.  2 root root 4096 Mar 26  2015 rh

4.5 排除某個文件或目錄

要求:排除services

排除多個

--exclude-from 加個名單  .txt

.txt里寫上路徑內容

[root@oldboyedu-50 ~]# tar zcf /tmp/etc.tar.gz /etc/ --exclude /etc/services 
[root@oldboyedu-50 ~]# tar tf /tmp/etc.tar.gz |grep "services"  檢查是否排除
etc/init/readahead-disable-services.conf

4.6 tar經典故障

tar: Removing leading `/' from member names
安全警告  刪除 開始   /   
     把壓縮包的 開頭的/ 刪除掉
由絕對路徑 變為了相對路徑
防止解壓的時候覆蓋源文件

第5章 顯示行號

列印配置文件nginx.conf內容的行號及內容 如何做?

創建環境

[root@oldboyedu-50 ~]# mkdir /oldboy && echo stu{01..10} |xargs -n1 > /oldboy/ngingx.conf

5.1 方法一 cat

-n 顯示行號

[root@oldboyedu-50 oldboy]# cat -n ngingx.conf 
     1    stu01
     2    stu02
     3    stu03
     4    stu04
     5    stu05
     6    stu06
     7    stu07
     8    stu08
     9    stu09
    10    stu10

5.2 方法二 vim

vim /oldboy/nginx.conf
進入後  
:set nu    顯示行號
:set nonu  取消顯示行號

5.3 方法三 awk

NR   行號

$1   表示第一列

$0   表示一整行的內容

[root@oldboyedu-50 ~]# awk '{print NR,$1}' /oldboy/ngingx.conf 
1 stu01
2 stu02
3 stu03
4 stu04
5 stu05
6 stu06
7 stu07
8 stu08
9 stu09
10 stu10
View Code

5.4 方法四 nl

nl  number of lines  專門用於顯示行號的

[root@oldboyedu-50 oldboy]# nl ngingx.conf 
     1    stu01
     2    stu02
     3    stu03
     4    stu04
     5    stu05
     6    stu06
     7    stu07
     8    stu08
     9    stu09
    10    stu10
View Code

5.5 第五種方法 grep

-n /顯示行號

. 正則表達式  表示任意一個字元

[root@oldboyedu-50 oldboy]# grep -n "." ngingx.conf 
1:stu01
2:stu02
3:stu03
4:stu04
5:stu05
6:stu06
7:stu07
8:stu08
9:stu09
10:stu10
View Code

5.6 第六種方法 sed

=  表示顯示行號

[root@oldboyedu-50 oldboy]# sed '=' ngingx.conf |xargs -n2
1 stu01
2 stu02
3 stu03
4 stu04
5 stu05
6 stu06
7 stu07
8 stu08
9 stu09
10 stu10
View Code

5.7 第七種方法 less (瞭解)

[root@oldboyedu-50 logs]# less -N /oldboy/ngingx.conf

第6章 運行級別及iptables補充

6.1 運行級別補充

查看運行級別  runlevel

切換 init

6.2 關閉iptable

裝完Centos系統後,希望iptables,僅關閉3運行級別 怎麼做

[root@oldboyedu-50 logs]# chkconfig |grep "ipt"   ##查看
iptables           0:off    1:off    2:on    3:on    4:on    5:on    6:off
[root@oldboyedu-50 logs]# chkconfig --level 3 iptables off   ##關閉3
[root@oldboyedu-50 logs]# chkconfig |grep "ipt"              ##關閉後檢查
iptables           0:off    1:off    2:on    3:off    4:on    5:on    6:off

第7章 單獨取一列命令補充

已知如下命令及結果:

[oldboy@test ~]$ echo "I am oldboy,myqq is 31333741">>oldboy.txt

[oldboy@test ~]$ cat oldboy.txt

I am oldboy,myqq is 31333741 

創建環境

mkdir /oldboy
echo "I am oldboy,myqq is 31333741">/oldboy/oldboy.txt

7.1 方法一 sed |awk

[root@oldboyedu-50 oldboy]# sed 's#,# #g' oldboy.txt |awk '{print $3,$6}'
oldboy 31333741

7.2 方法二 tr | awk

tr   sed命令的閹割版

tr   一對一的替換

[root@oldboyedu-50 oldboy]# tr "," " " <oldboy.txt |awk '{print $3,$6}'
oldboy 31333741

7.3 方法三 tr | cut

-d  指定分隔符

-f  某一列

[root@oldboyedu-50 oldboy]# tr "," " " < oldboy.txt |cut -d " " -f3,6
oldboy 31333741

7.4 方法四 sed | cut

[root@oldboyedu-50 oldboy]# sed 's#,# #g' oldboy.txt |cut -d " " -f3,6
oldboy 31333741

7.5 方法五 awk

-F  指定新的分隔符

$NF  表示最後一列

[root@oldboyedu-50 oldboy]# awk -F "[, ]" '{print $3,$6}' oldboy.txt 
oldboy 31333741

7.6 方法六 sed

[root@oldboyedu-50 oldboy]# sed 's#I am ##g' oldboy.txt |sed 's#,myqq is # #g' 
oldboy 31333741

第8章 認識wc命令

8.1 統計信息

wc 統計文件的信息

[root@oldboyedu-50 oldboy]# wc /etc/services      統計文件的信息
 10774  58108 641020 /etc/services
[root@oldboyedu-50 oldboy]# wc -l /etc/services   只看有多少行
10774 /etc/services

8.2 統計總數

統計出/etc目錄下  以.conf 結尾的文件的數量

[root@oldboyedu-50 oldboy]# find /etc/ -type f -name "*.conf" |wc -l
195

第9章 egrep

過濾出/etc/services 文件包含3306或1521兩資料庫埠的行的內容。

|  擴展正則表達式 egrep ==grep -E

[root@oldboyedu-50 oldboy]# grep -E "3306|1521" /etc/services 
mysql           3306/tcp                        # MySQL
mysql           3306/udp                        # MySQL
ncube-lm        1521/tcp                # nCube License Manager
ncube-lm        1521/udp                # nCube License Manager
[root@oldboyedu-50 oldboy]# egrep "3306|1521" /etc/services 
mysql           3306/tcp                        # MySQL
mysql           3306/udp                        # MySQL
ncube-lm        1521/tcp                # nCube License Manager
ncube-lm        1521/udp                # nCube License Manager

 


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

-Advertisement-
Play Games
更多相關文章
  • CPUFreq子系統位於 drivers/cpufreq目錄下,負責進行運行過程中CPU頻率和電壓的動態調整,即DvFS( Dynamic Voltage Frequency Scaling,動態電壓頻率調整)。運行時進行CPU電壓和頻率調整的原因是:CMOS電路中的功耗與電壓的平方成正比、與頻率成 ...
  • 1. Linux下jdk的安裝包: a).bin包(jdk-6u45-linux-i586-rpm.bin) b).tar.gz包(jdk-8u144-linux-i586.tar.gz) c).rpm包(jdk-7u80-linux-i586.rpm) 2.Linux下jdk的安裝: a).bin ...
  • if (key) {}//key.if tab if (!key) {}//key.else tab if (key != null) {}//key.notnull tab if (typeof key !== "undefined") {}//key.undef tab if (key inst ...
  • cmd="sudo date -s \"$1\""; ssh mrdTomcat@*.*.*.* "$cmd" 是不是遇到過很多問題 ssh遠程設置時間時,2018-07-12 11:12:13 參數中的空格會搗亂,導致識別不了後面的參數,只能設置到時間,此參數的雙引號也是必須的 解決辦法也有很多 ...
  • 上篇說了主DNS正向解析 當中是有個小問題的,什麼問題呢? 試問當我們輸入wwww或ww或更多w的時候它還能解析出來嗎? 或者不輸入w的時候還能解析嗎? 上篇沒有定義是解析不了的,怎麼定義呢?很簡單,加入圖中命令就可 小技巧 下麵來說反向解析 反向解析就是IP → 名稱 環境 最少兩台主機一個DNS ...
  • 環境準備最少兩台主機一臺當DNS伺服器,一臺當客戶機如:192.168.43.7這台主機當DNS伺服器,192.168.43.6這台主機當客戶機安裝DNS服務yum install -y bind##備註:實現先關閉防火牆開啟服務systemctl start named##更改主配置文件vim /... ...
  • 一、運行容器 1、基於鏡像新建一個容器並啟動 指明瞭 -d 運行鏡像,會返回容器的 id;如果不指明 -d 運行鏡像,會列印出 catalina.out 的 日誌,在 [crtl +c] 後,容器即停止運行。 當利用 docker run 來創建容器時,Docker 在後臺運行的標準操作包括: -- ...
  • top命令命令用於實時監測系統資源使用狀況,包含,進程、cpu,記憶體等 1、用法 top [選項] 2、命令選項 -b 以批處理模式操作-c 顯示完整的治命令-d 屏幕刷新間隔時間-I 忽略失效過程-s 保密模式-S 累積模式-i<時間> 設置刷新間隔時間-u<用戶名> 指定用戶名-p<進程號> 指 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...