第二周博客

一、登錄時忘記root密碼怎么辦?(進入單用戶模式)

?????? 世界上最遙遠的距離不是我站在你的面前你卻不知道我愛你,而是當你打開了電腦,卻忘記了密碼。沒錯,我就遇到了這種情況,明明上一秒設置的密碼,下一秒就忘記了。于是我就只好求助于萬能的度娘,下面是centos7忘記密碼的方法,反正我是成功了,以下:????

??? 首先重啟我們的虛擬機,進入這個頁面時,快速的按下e鍵

???然后進入到這個界面,在linux16行中,將ro這一行改為rw init=/sysroot/bin/sh,然后按ctrl+x進入單用戶模式,

????? ?接下來使用命令系統:"choot /sysroot",重置密碼:"passwd root",更新selinux信息:"touch /.autorelabel",最后重啟即可,密碼修改完成。

二、關于軟鏈接和硬鏈接的區別

????? 硬鏈接就是同一個文件使用了多個別名(它們有共同的inode),硬鏈接可由命令link或ln創建,由于硬鏈接是有著相同inodo號僅文件名不同的文件,因此刪除一個硬鏈接文件并不影響其他有相同inodo號的文件。硬鏈接不能對目錄進行創建,只可對文件創建。

軟鏈接也叫符號鏈接,與硬鏈接不同,文件用戶數據塊中存放的內容是另一文件的路徑名指向。軟鏈接就是一個普通文件,只是數據塊內容有點特殊。ln -s表示創建的是軟鏈接。刪除軟鏈接并不影響被指向的文件,但若被指向的原文件被刪除,則相關軟鏈接就變成的死鏈接。

?三 IO重定向及管理

??? ?1. 什么是IO重定向?

????? ?linux啟動后,會默認打開3個文件描述符,分別是:標準輸入standard input 0,正確輸出standard output 1,錯誤輸出:error output 2;一條shell命令執行,都會繼承父進程的文件描述符。因此,所有運行的shell命令,都會有默認3個文件描述符。對于任何一條linux 命令執行,它會是這樣一個過程:

?

一個命令執行前,先會準備好所有輸入輸出,如果這個時候出現錯誤,命令將終止,不會執行。這些默認的輸出,輸入都是linux系統內定的,我們在使用過程中,有時候并不希望執行結果輸出到屏幕。我想輸出到文件或其它設備。這個時候我們就需要進行輸出重定向了。

???2. 可用于輸入的設備:文件

??????????? 鍵盤設備、文件系統上的常規文件、網卡等;

?????? 可用于輸出的設備:文件

??????????? 顯示器、文件系統上的常規文件、網卡等;

?????? 程序的數據流有三種:

??????????? 輸入的數據流:<-- 標準輸入(stdin),鍵盤;

?????????? ?輸出的數據流:--> 標準輸出(stdout),顯示器;

??????????? 錯誤輸出流: ?-->錯誤輸出(stdeer),顯示器;

????? ?fd: ?file descriptor ,文件描述符

????????? 標準輸入:0

????????? 標準輸出:1

????????? 錯誤輸出:2

???3. ?linux shell下常用輸入輸出操作符是:

??????? 1.1. 輸出重定向:>

???????????????? 特性:覆蓋輸出

????????????? 輸出重定向:>>

???????????????? 特性:追加輸出

????????????# set -C

?????????????? 禁止覆蓋輸出重定向至已存在的文件;

?????????????? 此時可使用強制覆蓋輸出:>|

???????????# set -C

?????????????? 關閉上述特性

???????????錯誤輸出流重定向:2>,2>>

???????????將正確輸出和錯誤輸出放入到不同的文件中:

???????????將正確輸出轉換為錯誤:1>&2

???????????將錯誤輸出轉換為正確:2>&1

???????????合并正常和錯誤輸出流:

??????????????&> , &>>

??或 ????COMMAND > /path/to/somefile 2>&1

?????????COMMAND >> /path/to/somefile 2>&1????

?????????特殊設備:/dev/null (黑洞,將不在顯示)

?????????():合并多個程序的STDOUT??

??????????注意:()的優先級大于>,而>的優先級大于;

???????2.2. 輸入重定向:<

???????????tr命令:轉換和刪除字符

????????????? tr[OPTION]...SET1 [SET2]

???????????????把輸入的數據當中的字符,凡是在SET1定義范圍內出現的通通對位轉換為SET2出現的字符。

????????????-c ?取字符集的補集

????????????-d ?刪除所有屬于第一字符集的字符

????????????-s ?把連續重復的字符以單獨一個字符表示

????????????-t ?將第一個字符集對應字符轉化為第二字符集對應的字符

???????????用法1:

??????????????tr SET1 SET2 < /PATH/FROM/SOMEFILE

??????????????tr -d SET1 < /PATH/FROM/SOMEFILE

????????????(注意:不改原文件)

???????????????????[:alnum:]:字母和數字

???????????????????[:alpha:]:字母

???????????????????[:cntrl:]:控制(非打印 )字符

???????????????????[:digit:]:數字

???????????????????[:graph:]:圖形字符

???????????????????[:lower:]:小寫字母

???????????????????[:print:]:可打印字符

???????????????????[:punct:]:標點符號

???????????????????[:space:]:空白字符

???????????????????[:upper:]:大寫字母

???????????????????[:xdigit:]:十六進制字符

?????????讓我們來詳細的看一下tr命令:

??????????那么看一下\t和\v ??

?????????????\t

??????????????\v??

?3.3 ?多行重定向:使用“<<終止詞”命令從鍵盤把多行重導向給STDIN

???????注意:標準輸入的重定向后跟的是一個文件。

????4.4 管道 ??

??????????| 將正確結果重定向給下一條命令

???????? ?2>&1 | 或 |& ?全部結果重定向 ??????

????? ?Linux系統中的命令可以將標準輸入讀取數據,還能將這些數據送到標準輸?出中去,這種功能被系統進一步的利用,從而產生出一種新的特性,稱之為管道符“|”,這個符號可以將一個命令的標準輸出管道為另外一個命令的標準輸入。

?需要注意的是管道符的使用有兩個條件:

???1、管道命令只能處理前一個命令的標準輸出,而不能處理標準錯誤;

???2、管道命令右邊命令必須能夠接收標準輸入。

?tee 命令:

???? tee命令的作用像字母T一樣,很形象的表示了它的功能:它把輸出的一個副本輸送到標準輸出,另一個副本拷貝到相應的文件中,在輸出到文件的同時,也把信息顯示到屏幕上輸出。

?COMMAND | tee/PATH/TO/SOMEFILE (保存且顯示)

????? -a 存在,不覆蓋

四、用戶組和權限管理

?? 1. linux用戶和組管理

安裝上下文:進程以發起者的身份運行,進程對文件的訪問權限,取決于發起此進程的用戶的權限。

為了能夠讓那些后臺進程或服務類進程以非管理員的身份運行,通常需要為此創建多個普通用戶,這類用戶從不用登錄系統,因此稱為系統用戶。

??2. ?groupadd :添加組

????????-g GID:手動自定GID,默認是上一個組的GID+1

?????????-r :創建系統組

??????groupmod :修改組屬性

?????????-g :修改GID

?????????-n :修改組名

??????groupdel :刪除組

??????useradd :創建用戶 ?

?????????-u :指定UID

?????????-g :指定基本組ID,但此組要事先存在

?????????-G :指明用戶的附加組,多個組之間用逗號隔開

?????????-c :指明注釋信息

?????????-d :以指定的路徑為用戶的家目錄,通過復制/etc/skel此目錄并重命名實現,指定的家目錄路徑如果事先存在,則不會為用戶復制環境配置文件。


?????????-s :指定用戶的默認shell,可用的所有shell列表存儲在/etc/shells文件中

?????????-r :創建系統用戶

????(注意:創建用戶時的諸多默認設定設置文件為/etc/login.defs)

??????useradd -D :顯示創建用戶的默認設置

??????useradd -D 選項:修改默認選項的值

???????????修改的結果保存于/etc/default/useradd文件中

??????usermod命令:修改用戶屬性

?????????usermod [選項] 登錄

???????????-u :修改用戶的ID為此處指定的新ID

???????????-g :修改用戶所屬的基本租

???????????-G :修改用戶所屬的附加組,原來的附加組會被覆蓋

???????????-a :與-G一同使用,用于為用戶追加新的附加組

???????????-c :修改注釋信息

???????????-d :修改用戶的家目錄,用戶原有的文件不會被轉移至新的位置

???????????-m :只能與-d選項一同使用,用于將原來的家目錄移動為新的家目錄

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容