Linux基礎知識介紹

一、Linux知識說明
1)文件位置
1)/etc/inittab
2)模式介紹
0:掛起模式-不推薦
1:單用戶模式-只有管理員能夠進入該模式,能夠修改root密碼,處理有登陸權限而沒有修改文件的權限問題
2:多用戶模式-不支持文件共享明服務(NFS),通常不使用
3:字符模式-在安裝好X11後,可以使用startX命令切換到圖形模式。
4:used模式
5:圖形模式
6:重啓模式linux

3)解決忘記CentOS6.4系統root密碼的方法
CentOS6.4系統中,經過Grub方式進入單用戶模式:
1)啓動系統後,還未進入登陸界面前,輸入字母e,以後經過上下鍵,選擇CentOS(2.6.32-358.e16.i686)。
2)以後,選擇kernel開頭那行,再輸入字母e,進入引導編輯設置界面。
3)在引導設置界面中,在行尾加上single,保存後按回車鍵,再輸入b,進行從新啓動系統。
4)啓動完成系統後,登陸系統中,經過passwd命令去修改root用戶的密碼。git

4)分區介紹
boot:啓動引導文件 100MB
swap:虛擬內存的分配,交換空間 不能大於4GB,且爲2的倍數
linux命令 不區分大小寫 沒有空格 拼寫錯誤 空不空格看命令格式要求。github

4)判斷服務是否啓動
1)客服端是否能鏈接到服務端 ping 服務端IP,看有無返回信息
2)檢查對應的服務進程是否啓動 ps -ef |grep 'ssh'
3)查看對應服務的端口是否啓動 netstat -anp |grep ssh
4)查看防火強是否開啓,是否容許服務對應的端口經過 systemctl status firewalld
5)檢查配置文件中 /etc/ssh/sshd_config 對應服務的權限設置shell

5)光盤掛載
mount -o loop /dev/sr0 /media/
進入光盤的Packages目錄,安裝對應的程序
卸載 umountvim


二、用戶目錄
~ 用戶家目錄,用戶主目錄
root用戶主目錄爲:/root,普通用戶主目錄爲:/home/username
cd ~user 或 cd /home/uername 跳轉到普通用戶主目錄
cd ~ 或 cd ~root 或cd /root 跳轉root用戶目錄centos

[root@centos7 src]#
root:用戶名 centos7:主機名 src:當前工做目錄 #:root用戶 $:普通用戶數組


三、環境變量
1)系統變量
1)每一個用戶都要用到的變量能夠設置爲系統變量
2)全局配置文件:登陸時會讀取/etc/profile文件,執行bash時,會讀取/etc/bashrc文件bash

2)用戶變量
1)特定用戶都要用到的變量能夠設置爲用戶變量
2)局部配置文件:指定了特定用戶讀取/root/.bashrc、/root/.bash_profile文件ssh

3)臨時變量
1)用戶登陸1次都要用到的變量能夠設置爲臨時變量函數

4)變量管理
1)env:可輸出所有系統變量,echo $PATH:輸出指定變量,name=value:
2)設置變量,系統環境變量、用戶變量生效,須要執行 source 環境變量文件,申明變量 export

5)配置文件說明
1).bash_profile:用戶登陸時執行該文件,執行1次,可理解爲:全局變量配置文件。
2).bashrc:用戶專用文件,每次登錄及打開shell,執行該文件,可理解爲:針對用戶的變量配置文件。
3).bash_history:記錄歷史命令的文件
4).bash_logout:退出shell時,執行該文件

6)內置變量
1)env 查看環境變量
2)set 查看系統中全部變量
3)PATH 存放運行程序的目錄
4)HOME 用戶的主目錄
5)HISTSIZE 歷史命令記錄數
6)LOGNAME 用戶的登陸名稱
7)HOSTNAME 主機名稱
8)SHELL 用戶的shell類型
9)LANG 語言配置文件存放目錄
10)MAIL 郵件存放目錄
11)PWD 當前目錄

四、經常使用符號
1)通配符
* 進行前綴字符的匹配,匹配0個或多個字符
+ 進行前綴字符的匹配,匹配1個或多個字符
? 匹配任意1個字符
# 註釋字符

2)參數符
!$ 上個命令中最後1個變量
$? 顯示上個命令執行後的退出狀態 0 成功 1 失敗
$0 顯示執行shell的文件名
$n 傳遞給腳本或函數的參數 $1 第1個參數 $n 第n個參數
$# 傳遞給腳本或函數的參數的個數
$* 傳遞給腳本或函數的全部參數
$@ 傳遞給腳本或函數的全部參數
$$ 顯示shell的ID

3)命令符
>重定向通常信息並覆蓋到文件
>>重定向通常信息並追加到文件
2>重定向錯誤信息並覆蓋到文件
2>>重定向錯誤信息並追加到文件
[] 字符或數字組合,從範圍中選擇一個字符或數字
; 命令1;命令2 命令1和命令2都須要執行
&& 命令1&&命令2 命令2在命令1執行成功後再執行
|| 命令1||命令2 命令2在命令1執行失敗後再執行
& 將命令放到後臺執行

4)轉義字符
\\ 反斜槓 \a 警報 響鈴 \b 退格 刪除鍵 \r 回車 \n 換行 \t 水平製表符 \v 垂直製表符 \f 換頁,將當前頁換到下頁開頭
-e 對轉義字符進行替換
\ 轉義字符,\後面的字符爲普通字符
轉義字符,加-e後,會執行轉義字符,加-E後,不執行轉義字符
echo 'this a file \n'; 結果爲:this a file\n
echo -e 'this a file \n'; 結果爲:this a file

5)顯示命令歷史字符
linux中運行的命令會保存在用戶的家目錄的.bash_history文件中,默認保存1000條命令記錄。
history 顯示命令歷史記錄
!! 執行上一條命令
!n 執行第n條命令
!ls 執行最近1次以ls開頭的命令

五、·sudo權限管理
sudo:讓普通用戶擁有管理員的權限
test是普通用戶,新建test用戶 ,而後改/etc/sudoers 讓test有root權限,先切換爲test,而後再新建/home/test123,最後ls -al /home 查看剛纔新建的目錄 test123

切換到root用戶,輸入命令:su root
root用戶輸入visudo命令進入/etc/sudoers文件進行編輯
輸入i進入編輯模式,爲用戶 test 添加權限,輸入:wq保存退出

切換到 test 用戶
輸入visudo命令
輸入i進入編輯模式,爲用戶 develop 添加權限,輸入:wq保存退出

必定有讀的權限 >=4
必定有寫的權限 2 3 6 7 -w- -wx rw- rwx
必定有執行的權限 奇數 1357

全部者 u 所屬組 g 其餘用戶 o 全部用戶 a
對目錄操做須要帶上參數 -R

刪除用戶,須要執行如下3個命令
userdel -r test
rm -rf /home/test
rm -rf /var/spool/mail/test

su - test 切換到 test 用戶,且環境變量爲 test 用戶的環境變量
su test 切換到 test 用戶,且環境變量爲 切換到test 用戶以前用戶的環境變量

六、經常使用命令
1)vim使用
編輯模式:
進入編輯模式;i
退出編輯模式:esc
保存:w 退出:q 保存退出:wq 強制:!
gg 調到行首 /關鍵字 搜索 n順序的往下搜索下一個 ?逆序的往上搜索下一個
touch創建空白文件 vim 創建一個文件或假如文件存在,則編輯一個文件

2)做業控制
Ctrl+z 暫停執行命令
fg 編號:讓命令暫停恢復執行
bg 編號 &:讓命令放到後臺執行
Ctrl+c 終止執行命令
jobs 顯示暫停執行、後臺執行的命令

3)截取某一個字段:cut
cut -d '分隔符' [-c(第幾個字符) f(第幾個塊)] n(區間)
head 10 /etc/passwd | cut -d':' -c1
head 10 /etc/passwd | cut -d':' -f1 |head -n 5

4)排序:sort
sort [-t 分隔符] [-k n1 (區間1),n2 區間2)] [n (數字) r (反向) u (去除重複)]
head 10 /etc/passwd |sort -t: -k1 -n

5)統計字符數、詞數、行數:wc
wc -l (行數) -w (詞數) -c (字符數)
wc -l /etc/passwd
wc -m /etc/passwd
wc -c /etc/passwd

6)去除重複的行:unique
unique 去除重複的行 unique -c 統計重複的行
sort test4.txt |unique
sort test4.txt |unique -c

7)重定向內容到文件,並顯示在屏幕:tee
tee 文件名
tee test.txt

8)替換字符:tr
tr -d 要刪除的字符 tr -c 去除重複的字符
head -n2 /etc/passwd |tr '[a-z]' '[A-Z]'

9)顯示日期:date
顯示日期:date [+格式]
設置日期:date [MMDDhhmm[[CC]YY][.ss]] 再以root權限的用戶執行命令 clock -w
格式:
%y 最後的2位數年
%m 一年中的月
%d 一年中的某天
%H 時(00~23)
%M 分(00~59)
%S 秒(00~59)
%D mm/dd/yy 的格式日期
%T HH:MM:SS 的格式時間
%h 月份(Jan~Dec)
%r 上午/下午(AM/PM)
%a 一週中某天(星期一到星期六)

10)顯示日曆:cal
cal -m [month[year]]
cal 顯示當前月日曆
cal 5 顯示該年的日曆

11)同步時間:ntpdate
service ntpd stop
ntpdate cn.pool.ntp.org
service ntpd start

12)軟、硬連接
軟連接:ln -s 硬鏈接:ln
一、硬鏈接文件 只能用於文件,軟連接適合文件和目錄

二、修改源文件內容:同步更新到軟連接、硬連接的文件;
三、修改軟連接文件內容:同步更新到源文件、硬連接文件;
四、修改硬連接文件內容:同步更新到源文件、軟連接文件;
五、刪除源文件:不影響硬接文件,軟連接文件無法使用;
六、刪除軟連接文件:不影響硬接文件,源文件;
七、刪除硬連接文件:不影響軟接文件,源文件;
八、刪除原文件、硬連接文件,整個文件會真正失效。

13)xargs
-d 將其標準輸入的內容以空白(空格 Tab 回車換行)分割成多個以後,並當作命令行參數傳遞給其後面的命令
-p 須要確認是否須要執行
-n 將xargs生成的命令行參數 每次傳遞給幾個參數後面的命令執行
-e -E 將-e -E 指定的參數傳遞給後面的命令

七、shell基礎
1)文件判斷
1)文件與目錄檢測: -f 文件是否存在 -d 目錄是否存在 -e 某項東西是否存在 -L 是否爲symbolic link文件
2)文件屬性檢測: -r 文件是否可讀 -w 文件是否可寫 -x 文件是否可執行 -s 文件是否爲非空白文件
3)文件比較檢測: -nt 文件1比文件2新 -ot 文件1比文件2舊 -et 文件1和文件2爲同一文件(link文件)
4)關係判斷:= 等於 != 不等於 < 小於 > 大於 -eq 等於 -ne 不等於 -lt 小於 -gt 大於 -le 下於等於 -ge 大於等於
5)判斷檢測:-a 2邊都成立 -o 單邊成立 -z 空字符串 -n 非空字符串

2)shell基礎
shell變量通常爲大寫
shell文件中,最開始須要加#!/bin/bash,以代表這是1個shell文件
變量定義:變量=變量值,等號兩邊不能有空格,變量名只能包含字母、數字和下劃線,不能以數字開頭
變量之中包含特殊字符,須要加單引號(''),若是值中包含單引號,則須要加雙引號(""),若是值爲一個命令,則須要用反引號(``)包裹起來。

declare 申明變量內容命令
declare -a varr 定義爲數組
declare -f vfunc 定義爲函數
declare -i vdig 定義爲整數
declare -r vread 定義爲只讀
declare -x 定義爲可經過環境變量輸出

var=value 變量不能包含空格、標點符號、bash關鍵字,能夠是數字和字符的組合,首字母爲(a-zA-Z)
使用變量 $var 或 ${var}
變量只讀 readonly var
刪除變量,只讀變量不能被刪除 unset var

var=`命令` 執行該命令並賦值給變量,``爲反引號
${var:=value} 改變var的值,變量爲空或被刪除,則返回value
${var:-value} 不改變var的值,變量爲空或被刪除,則返回value
${var:?message} 不改變var的值,變量爲空或被刪除,將 message 返回到標準錯誤輸出
${var:+value} 不改變var的值,變量被定義,則返回value


八、中文幫助文檔
1)安裝中文幫助
安裝中文MAN包
地址:https://github.com/man-pages-zh/manpages-zh
若是是git方式:則還需執行:autoreconf --install --force
tar -zxvf manpages-zh-1.5.1.tar.gz
cd manpages-zh-1.5.1
./configure --disable-zhtw
make
make install

2)修改語言配置文件
vim /etc/sysconfig/i18n
將LANG="en_US.UTF-8" 改爲 LANG="zh_CN.UTF-8"

3)重啓系統
shutdown -r now
4)yum方式:yum -y install man-pages-zh-CN.noarch

2)info命令
1)例如:info top,輸入m 命令項,進入命令項說明界面
2)經常使用命令
*n:跳轉到該節點的下一個節點
*p:跳轉到該節點的上一個節點
*m:指定菜單名,而選擇另一個節點
*f:進入交叉引用主題
*l:進入該窗口的最後一個節點
*Tab:跳轉到該窗口的下一個超文本連接
*RET:進入光標除的超文本連接
*u:轉到上一級主題
*d:回到info初始節點目錄
*h:調出info教程
*q:退出info

b t Home:文檔開始e end:文檔末尾m g :選擇一個菜單項空格鍵:下一頁PageDown:下一頁,從當前頁的最後兩行開始PageUp:上一頁,從當前頁的開始兩行開始Del:上一頁上一個節點,當前頁在節點文檔開始下一個節點:當前頁在節點文檔末尾

相關文章
相關標籤/搜索