linux第一階段總結

来源:https://www.cnblogs.com/zeq912/archive/2018/08/06/9433472.html
-Advertisement-
Play Games

第1章 階段總結 1.1 一、請詳細描述linux系統從打開主機電源到進入登錄界面整個過程的流程。 1.2 二、我想在/data/oldboyedu目錄下麵創建 一個oldboy.txt文件 [root@oldboyedu ~]# cd /data/oldboyedu -bash: cd: /dat ...


第1章 階段總結

1.1 一、請詳細描述linux系統從打開主機電源到進入登錄界面整個過程的流程。

BIOS開機自檢

mbr引導

grub菜單

載入內核

init進程

/etc/inittab

/etc/rc.d/rc.sysinit

/etc/re.d/rc

啟動mingetty進程

登錄界面

1.2 二、我想在/data/oldboyedu目錄下麵創建 一個oldboy.txt文件

[root@oldboyedu ~]# cd /data/oldboyedu

-bash: cd: /data/oldboyedu: No such file or directory

1.為何出現這樣的錯誤

這個目錄不存在

2.如何解決這個錯誤呢?

創建目錄

給出命令:mkdir -p /data/oldboyedu

1.3 三、接上題,向oldboy.txt加入內容 "I love studying Linux." (不少於2種方法)

方法1

vi或vim修改

方法2

echo ' I love studying Linux.' >/data/oldboyedu/oldboy.txt

 1.3.1 說說這些特殊符號含義: \  >  >>  2> 2>>   #(井號)  .(點)  ..(兩個點)  ~  *  $  |

\   轉義字元 撬棍 脫掉馬甲打回原形(或類似含義)

>   重定向符號 先清空文件內容,然後追加內容(或類似含義)

>>  追加重定向 追加到文件結尾(或類似含義)

2>  錯誤輸出重定向

2>> 錯誤輸出追加重定向

#   井號 註釋或root用戶命令提示符或sed分隔符(sed 's###g')

.   當前目錄 或 正則任何一個字元 或 用於生效

.   /etc/profile === source /etc/profile #這個可以不講解

..  當前目錄的上級目錄

~   當前用戶家目錄或awk中表示匹配(awk '$1~/oldboy/' xxx)#這個可以不講解

*   所有字元或任意字元或正則表達式表示前一個字元連續出現0次或0次以上

$   取變數內容 或 正則以...結尾

|   管道 或 正則表示或者

1.4 test.txt內容為:

trainning

fanbingbing

lidao     

1.4.1 四、請給出輸出test.txt文件內容時,不包含trainning字元串的命令。

方法1

grep -v 'trainning' test.txt #不加引號也行

方法2

tail -2 test.txt

方法3

sed '/trainning/d' test.txt

方法4

awk '!/trainning/' test.txt

方法5

grep '^[^t]' test.txt 

1.5 五、入職新公司,老大讓你在伺服器上限制rm命令,當用戶輸入rm 命令時候提示”rm command is not allowed to use.” 請問實現的步驟是?。

1)命令行測試

alias rm='echo command is not allowd to use'

2)永久生效

寫入/etc/profile

3)生效

source /etc/profile

1.6 六、取出文件ett.txt 的第30到40行的內容。

註:ett.txt由seq 20 120>ett.txt創建

方法1

sed -n '30,40p' ett.txt

方法2

awk 'NR==30,NR==40' ett.txt

方法3

head -40 ett.txt|tail -11

方法4

awk 'NR>=30&&NR<=40' ett.txt

1.7 七、通過修改文件( /etc/fstab或fstab ),可以設定開機時自動掛載文件系統。

1.8 八、在linux系統中,當LAN(區域網)內沒有條件記案例DNS伺服器,但又想讓區域網內的用戶可以使用電腦名互相訪問時,應配置( /etc/hosts)文件(請寫全路徑)

1.9 九、linux系統啟動載入完成後,內核將啟動名為(init)的程式,這也是引導過程完成後,內核運行的第一個程式。我們可以修改預設的啟動級別為( 3),使得系統重啟後自動採用命令行模式登錄。

1.10 十、說出下麵幾個文件的作用

/var/log/messages            系統預設日誌(系統日誌也行)

/var/log/secure              系統安全日誌或用戶的登錄情況

/etc/hosts                   ip地址與主機名(功能變數名稱)對應關係  或 用於解析主機名

/etc/fstab                   開機自動掛載

/var/spool/cron/root         定時任務配置文件

/etc/rc.local                開機自啟動配置

1.11 十一、統計/var/log下文件個數

ls /var/log|wc -l


find /var/log|wc -l

1.12 十二、描述buffer和cache的區別

寫buffer讀cache

1.13 十三、如何把/data目錄下所有包含oldboy的目錄(可能目錄的目錄的目錄里還有oldboy目錄) 目錄都打包出來。要求:解壓打包後的目錄結構不能改變 。

方法1

find /data -type d -name "oldboy" |xargs tar zcf  /tmp/oldboy.tar.gz

方法2

find /data -type d -name "oldboy" -exec tar zcf  /tmp/oldboy.tar.gz {} \;

方法3

tar zcf  /tmp/oldboy.tar.gz  `find /data -type d -name "oldboy"`

tar zcf  /tmp/oldboy.tar.gz  $(find /data -type d -name "oldboy")

1.14 十四、請列出linux下麵常用的打包工具並寫出相應的壓縮解壓參數。

tar zcf                      創建壓縮包 或zcvf

xf                           解壓  或 zxvf

tf                           查看  或 ztf

-C                           解壓到指定目錄

--exclude                    排除

--exclude-from或-X           根據文件內容排除文件

zip -r                       壓縮目錄

1.15 十五、如何查看是否開啟22埠,及查看sshd進程是否存在?

查看埠22是否開啟

ss -lntup |grep 22

netstat -lntup|grep 22

telnet ip地址 22

nc  ip地址 22

nmap -p22  ip地址

lsof -i:22

查看進程是否存在

ps -ef |grep sshd

1.16 十六、將/data目錄下的修改時間是7天以前,並且大於100k的文件複製到/tmp目錄下。

方法1

find /data -type f  -mtime +7 -size +100k  -exec cp {} /tmp  \;

方法2

cp ` find /data -type f  -mtime +7 -size +100k ` /tmp

cp $( find /data -type f  -mtime +7 -size +100k ) /tmp

方法3

find /data -type f  -mtime +7 -size +100k |xargs cp -t /tmp

方法4

find /data -type f  -mtime +7 -size +100k |xargs -i cp {} /tmp

1.17 十七、現將文件b.txt中的所有123替換成def,請問如何實現?

sed 's#123#def#g' b.txt

1.18 十八、寫出redhat中,配置網卡及dns的配置文件是什麼?

網卡: /etc/sysconfig/network-scripts/ifcfg-eth0

DNS:  /etc/resolv.conf  

1.19 十九、什麼是linux的運行級別,請描述linux的運行級別不同數字的含義?

Linux的運行級別就是linux運行狀態

0 關機

1 單用戶模式

2 多用戶模式沒有NFS

3 命令行模式 文本模式 多用戶模式

4 沒有使用

5 圖形化界面模式  桌面模式

6 重啟

1.20 二十、簡述linux無法上網的排查流程 ;

1.ping baidu.com 檢查是否能上網

2.ping 223.5.5.5  檢查是否DNS問題

3.ping 網關     檢查是否配置或其他問題

 

故障原因:

1.檢查配置文件

2.虛擬網路編輯器

3.vmware服務

4.vmware虛擬網卡問題

1.21 二十一、軟連接與硬鏈接區別

【硬連接】
硬連接指通過索引節點來進行連接。在Linux的文件系統中,保存在磁碟分區中的文件不管是什麼類型都給它分配一個編號,稱為索引節點號(Inode Index)。在Linux中,多個文件名指向同一索引節點是存在的。一般這種連接就是硬連接。硬連接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬連接到重要文件,以防止“誤刪”的功能。其原因如上所述,因為對應該目錄的索引節點有一個以上的連接。只刪除一個連接並不影響索引節點本身和其它的連接,只有當最後一個連接被刪除後,文件的數據塊及目錄的連接才會被釋放。也就是說,文件真正刪除的條件是與之相關的所有硬連接文件均被刪除。

【軟連接】
另外一種連接稱之為符號連接(Symbolic Link),也叫軟連接。軟鏈接文件有類似於Windows的快捷方式。它實際上是一個特殊的文件。在符號連接中,文件實際上是一個文本文件,其中包含的有另一文件的位置信息。

1.22 二十二、刪除/etc/inittab中的空行或以#開頭的行;

方法1

egrep -v '^$|^#'  /etc/inittab 

方法2

sed -r '/^$|^#/d' /etc/inittab

方法3

awk '!/^$|^#/' /etc/inittab

1.23 二十三、顯示/etc/passwd中第1,3,5列

awk -F ":" '{print $1,$3,$5}' /etc/passwd

1.24 二十四、寫出你熟悉的8個VIM的快捷鍵

移動游標

        ↑k

←h    →l

    ↓j

 

把游標移動到文件的第1行

gg

1G

:1

 

把游標移動到文件的最後一行

G

:$

 

把游標移動到文件的第100行

100gg

100G

:100

 

0(數字0)

^

把游標移動到這一行的結尾

$

測試文件

cat /etc/services  /etc/sysconfig/network-scripts/ifcfg-eth0 >>/tmp/vim.log

編輯(移動並編輯)

在當行下麵插入一個空行併進入編輯模式

o(小寫字母o)

 

在當行上面插入一個空行併進入編輯模式

O(大寫字母O)

 

刪除游標所在位置到行尾的內容併進入編輯模式

C(大寫字母C)

 

刪除游標所在位置到行尾的內容

D  d$

 

快速到達行尾併進入編輯模式

A

複製 刪除 粘貼

複製游標所在行

yy

 

粘貼

p

 

多次粘貼

3p

 

刪除/剪切

dd

 

刪除當前行到文件結尾的內容

dG

 

其他

顯示行號

:set nu

 

取消顯示行號

:set nonu

查找

/你要找的內容

預設向下搜索

繼續向下查找

n

 

繼續向上查找

N

 

你要找的內容

預設向上搜索

撤銷當前操作

u

undo

 

恢復剛纔的操作

ctrl + r

 

vim查詢幫助

:help  G

:help  :wq

:h G

nu===number
 

1.25 二十五、創建文件提示no space left on device 但是df -h還有空間這是什麼原因?如何排查和解決。

inode滿了

找出系統中大於1M的目錄,確認後再刪除

 

1.26 二十六、通過df -h發現磁碟空間不足但是du -sh發現沒有滿,說出原因和排查解決過程。

原因:

文件沒有徹底刪除導致的(硬鏈接數為0,進程調用數不為零)

排查:

lsof |grep delete

解決:

重啟對應的服務

1.27 二十七、顯示當前系統日期為年月日~周幾~小時

data +%F_%w_%H_%M_%S

1.28 二十八、當前目錄/etc/rc.d目錄 cd ../../../tmp 請問當前所在目錄是哪裡

/tmp

1.29 二十九、查找出系統中大於50k且小於100k的文件,把文件中的oldboy替換為oldgirl。

find -type -size +50k -size -100k |xargssed -i ‘s#oldboy#oldgirl#g‘

1.30 三十、把/etc/hosts 文件備份為hosts.bak

cp /etc/hosts /etc/hosts.bak

1.31 三十一、把/oldboy 改名為/lidao

mv /oldboy lidao

1.32 三十二、顯示/etc/services 文件中包含3306或1521的行(三種方法)

1.32.1 方法一:grep -n

grep -n "3306\|1521" /etc/services

1.32.2 方法二:egrep -n

egrep -n "3306\|1521" /etc/services

grep -E "3306|1521" /etc/services

1.33 三十三、如何設置grep別名,讓grep預設過濾時永久顯示顏色

alias grep=’grep --color’

把這句同時寫進/root/.bashrc裡面,並且執行一下source /root/.bashrc

1.34 三十四、查找/oldboy 目錄下的所有文件結尾為*.txt的文件,並將文件內容輸出。

方法1:

cat /oldboy/*.txt

方法2:

find /oldboy -type f -name “*.txt” | xargs cat

方法3:

find /oldboy/ -type f -name "*.txt" -exec cat {} \;

1.35 三十六、描述通配符與正則表達式的區別

基本上解釋就是通配符是系統命令使用,一般用來匹配文件名或者什麼的用在系統命令中。而正則表達式是操作字元串,以行尾單位來匹配字元串使用的。
還有一點需要註意的是:*在通配符和正則表達式中有其不一樣的地方,在通配符中*可以匹配任意的0個或多個字元,而在正則表達式中他是重覆之前的一個或者多個字元,不能獨立使用的。比如通配符可以用*來匹配任意字元,而正則表達式不行,他只匹配任意長度的前面的字元。

1.36 三十七、使用ifconfig  eth0 命令查看IP地址,請寫出取出IP地址的方法,至少使用兩種方法

方法1:

ifconfig eth0 | grep “10.0.0” | awk -F “:” ‘{print $2}’ | awk -F “ ” ‘{print $1}’

方法2:

ifconfig eth0 |awk 'NR==2' |awk -F"addr:|Bcast:"  '{print $2}'

1.37 三十八、使用grep過濾不包含oldboy字元串的行

grep -v “oldboy”

1.38 四十、已知/oldboy/test.txt 文件內容為:

 oldboy

 

 xizi

 xiaochao

請問如何把文件中的空格過濾掉(要求命令行實現)。

egrep -v “^$” /oldboy/test.txt

第2章 錯誤總結

2.1 No such file or directory

沒有此文件或目錄

2.2 command not found

找不到此命令

2.3 rm: cannot remove `/oldboy/data/': Is a directory

要刪除的是個非空目錄

2.4 find: Arguments to -type should contain only one letter

查找:-type的參數應該只包含一個字母

2.5 Firewall is not running.

防火牆沒啟動

2.6 ping: unknown host baidu.com

網不通

未知主機baidu.com

2.7 Package tree-1.5.3-3.el6.x86_64 already installed and latest version

安裝了這個軟體最新版本的包

2.8 Couldn't resolve host www.oldboyedu.com

DNS不可達

無法解析主機www.oldboyedu.com

2.9 This account is currently not available

該帳戶目前不可用

2.10 Sorry, passwords do not match

對不起,密碼不匹配

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

-Advertisement-
Play Games
更多相關文章
  • Console.WriteLine() 輸出 Console.ReadLine() 輸入 Console.ReadKey() 等待輸入 類型前加ref 表引用數據類型 數組 int[] #region #endregion 表示可摺疊 數組長度 Length Dictionary<> KeyValu ...
  • 一.背景 在看了一本書叫《Visual Studio 2010(C#)Windows資料庫項目開發》後,覺得很多編程技術需要積累,因為一個簡單的項目里包含的技術太多了,容易忘記。每次需要用到某個技術時,就免不了查閱資料,然後整理一堆操作後,發現浪費很多時間。 現在呢,由於這個書沒有對資料庫操作做一個 ...
  • layout: post title: SylixOS 系統初探 categories: [blog] description: 記錄的是隨心所欲 keywords: work 國產嵌入式硬實時操作系統 SylixOS 初體驗 關於 SylixOS 詳細瞭解請見:http://wiki.sylixo ...
  • 一、操作系統基本常識 1、操作系統的定義:操作系統是用來協調、管理和控制電腦硬體與軟體資源的系統程式,介於硬體與應用程式之間。 2、操作系統內核的定義:操作系統內核是一個管理和控製程序,負責管理電腦中所有物理資源,比如:文件系統管理、記憶體管理、設備管理、進程管理…… 二、LINUX主要發行版本 ...
  • 1.刪除舊版本的MySQL rpm -qa|grep -i mysql 用命令yum -y remove mysql 2.下載新版安裝源 下載mysql的repo源 這個安裝的mysql5.7.20 # cd /usr/local/src/ wget http://repo.mysql.com/my ...
  • 掛載命令     在Windows系統中如果插入了U盤、移動硬碟、光碟機等,只要能被Windows系統識別出來,則系統會進行自動掛載並添加盤符,然後我們就可以訪問,而這一切均由系統完成,用戶並不需要做任何操作即可使用。那麼在Linux系統中,雖然一些Linux系統已經做了一部分自動 ...
  • 一、環境 VirtualBox + CentOS6.5 二、問題 有時候在克隆伺服器之後配置網路時,或者在維護別人建好的伺服器時,會遇到這樣一種情況。如下圖所示: 即:在介面配置文件ifcfg-eth0中,配置的是網卡eth1的信息。 這種不一致有可能對強迫症造成一定的困擾,有時候我們更想要的是:在 ...
  • Win10系統自帶的“USB選擇性暫停設置”功能開啟後會幫助我們節省電源,這一項功能對於筆記本來說用處很大。那麼怎樣才能打開這一功能呢?下麵小編就來告訴大家打開“USB選擇性暫停設置”功能的方法。 1、快捷鍵:win+i,找到“系統”選項,打開; 2、左側找到“電源和睡眠”並點擊,然後找到“其他電源 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...