歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux基礎知識記錄

Linux基礎知識記錄

日期:2017/3/1 11:47:52   编辑:關於Linux

2.1Linux的運行方式

圖形運行方式

-本地使用KDE/Gnome集成環境

-運行X Server遠程使用圖形環境

命令行(字符運行)方式

-本地虛擬終端

-使用Telnet遠程登錄

-使用SSH遠程登錄

【2.2】字符界面的使用

為什麼要使用字符工作方式

-可以高效率的完成任務

-遠程登錄操作均使用字符界面

-節省系統資源

進入字符模式的方法

-圖形環境下,右鍵桌面 —> 終端

-系統啟動後直接進入字符模式

-遠程telnet(明文)或SSH(加密)登陸字符模式

【2.3】本地登錄和遠程登陸

本地登錄

一、虛擬控制台

在系統啟動時直接進入字符工作方式後,系統提供了多個(默認為6個)虛擬控制台。每個虛擬控制台可以互相獨立使用,互不影響。

可以使用Alt+F1~Alt+F6進行多個虛擬控制台之間的切換。

二、字符界面下登陸Linux

Linxu系統是嚴格區分大小寫的,無論用戶名,還是文件名、設備名都是如此。

基於安全的考慮,一般應該使用普通用戶登錄系統,不要使用root用戶登錄,當需要進行超級用戶的工作時可以使用 su – 命令切換為超級用戶身份。

logout登出 exit退出都是注銷操作

命令提示符後 #為root用戶 $為普通用戶

遠程登陸

三、 Linux下遠程登錄另一台Linux服務器

Linux下的ssh命令是OpenSSH的客戶端程序。要登陸遠程Linux系統,必須保證遠程Linux系統上啟動了OpenSSH服務器。使用ssh命令登陸遠程OpenSSH服務器的命令格式是:

$ssh 遠程主機上的用戶名@遠程主機的ip地址或主機名

$sshIP地址

四、 Windows下利用SSH工具登錄一台linux服務器

1.SecureCRT.exe

http://baike.baidu.com/view/489722.htm 百度百科介紹

2.xshell

3.putty(鼠標右鍵復制)

【2.4】Linux的系統運行級別

0- 系統關機狀態

1- 單用戶工作狀態,用於維護。

2- 多用戶模式(NFS未啟動)

3- 多用戶模式,字符界面。

4- 系統未使用,留給用戶自定義

5– 多用戶模式,並且在系統啟動後運行X Window,給出一個圖形化的登錄窗口。

6– 所有進程被終止,重新啟動

查看當前系統的運行級別

#runlevel

切換運行級別

#init[0123456]

【2.5】linux的目錄結構

Linux文件系統是呈樹形結構,了解Linux文件系統的目錄結構,對於我們駕馭Linux還是有必要的。

目錄

說明

/

Linux文件系統的入口,也是處於最高一級的目錄

/bin

基本系統所需要的命令。功能和/usr/bin類似,這個目錄中的文件都是可執行的,普通用戶都可以使用的命令

/boot

內核和加載內核所需要的文件。一般情況下,GRUB系統引導管理器也位於這個目錄

/dev

設備文件存儲目錄,比如終端、磁盤等

/etc

所有的系統配置文件

/home

普通用戶家目錄的默認存放目錄

/lib

庫文件和內核模塊所存放的目錄

/media

即插即用型存儲設備的掛載點自動在這個目錄下創建,比如u盤、CDROM/DVD自動掛載後,也會在這個目錄中創建一個目錄。

/mnt

臨時文件系統的掛載點目錄

/opt

第三方軟件的存放目錄

/root

Linux超級權限用戶root的家目錄

/sbin

基本的系統維護命令,只能由超級用戶使用

/srv

該目錄存放一些服務啟動之後需要提取的數據

/tmp

臨時文件目錄

/usr

存放用戶使用系統命令和應用程序等信息,比如命令、幫助文件等。

/var

存放經常變動的數據,比如日志、郵件等。

幾個特殊的文件系統

文件系統

掛載點

說明

root

/

Linux系統運行的基點,根文件系統不能被卸載

proc

/proc

以文件系統的方式為訪問系統內核數據的操作提供接口,適用於2.4和2.6內核

sysfs

/sys

以文件系統的方式為訪問系統內核數據的操作提供接口,2.6內核使用

tmpfs

/dev /var/run

/var/lock

程序訪問共享內存資源時使用的文件系統

usbfs

/proc/bus/usb

訪問usb設備時使用的文件系統

devpts

/dev/pts

內核用來與偽終端(以遠程方式登陸)進行交互的文件系統

swap

內核使用的特殊文件系統,無掛載點

用來創建虛擬內存

【2.6】linux命令

Linux命令的習慣

- 命令及參數區分大小寫

-程序可否執行與擴展名無關

-使用tab鍵來補全命令

$command [-options]parameter1 parameter2 …

指令 選項 參數1 參數2

說明:
0. 一行指令中第一個輸入的絕對是‘指令(command)’或‘可執行文件’
1. command 為指令的名稱,例如變換路徑的指令為 cd 等等;
2. 中刮號[]並不存在於實際的指令中,而加入參數設定時,通常為 - 號,例如-h;有時候完整參數名稱會輸入 -- 符號,例如--help;
3. parameter1 parameter2.. 為依附在option 後面的參數,或者是 command 的參數;
4. command, -options, parameter1.. 這幾個中間以空格來區分,不論空幾格 shell 都視為一格;
5. 按下 [Enter] 按鍵後,該指令就立即執行。

6. 指令太長的時候,可以使用 \ 符號來跳脫 [Enter] 符號,使指令連續到下一行。注意! \ 後就立刻接特殊字符。
7. 在 Linux 系統中,英文大小寫字母是不一樣的。舉例來說, cd 與 CD 並不同。

常用命令介紹

pwd

查看當前工作目錄

cd

更換目錄

用法:

cd [目錄]

符號

意義

.

當前工作目錄

..

父目錄

~

用戶家目錄

-

上個工作目錄

ls

顯示目錄

用法:ls [參數][目錄名]

ls 參數:

-a:顯示所有文件,包括隱藏文件(以.開頭的文件)

-l:以長格式顯示

-t:按修改時間先後顯示

-R:顯示目錄及下級子目錄結構(遞歸)

-m:橫向輸出文件名,並以“,”作分格符。

-S:以文件大小排序。

用顏色代表不同文件

白色:普通文件

紅色:壓縮文件

藍色:目錄文件

淺藍色:鏈接文件

黃色:設備文件(/dev)

綠色:可執行文件(/bin、/sbin)

粉紅色:圖片文件

mkdir

建立目錄

用法: mkdir [參數]{目錄名}

參數: -p 可以一次性創建整個目錄樹

rmdir

刪除目錄

用法: rmdir[參數] {目錄名}

? 如果目錄是空的,此命令會刪除他們,如果目錄中有內容,則會產生錯誤信息且不能刪除目錄,但是他會繼續刪除其余的空目錄。注意,只包括一個子目錄的目錄不是空的。

rm

刪除文件和文件夾

用法: rm [參數] {文件}

參數:

-r刪除整個目錄樹

-f強制執行

tree

顯示文件和目錄樹

用法:tree [參數]{文件}

參數:-a 不隱藏任何以.字符開始的條目

-d只顯示目錄不顯示文件

-f 每個文件都顯示路徑

-t根據最後修改時間排序

-L n 只顯示n層目錄(n為數字)

touch

創建空文件和更改時間戳

用法:touch[參數] {文件}

參數:-d 更改時間戳為定義值 (後面加年月日,格式:20101212)

cp

復制目錄

用法: cp[參數] {原文件…} {目標文件}

參數:-r 遞歸執行 (可復制目錄樹)

mv

移動或重命名文件

用法: mv[參數] {原文件} {目標文件} 把原文件更名為目標文件

mv [參數] {原文件…} {目標文件} 把一個或多個文件同時移動到目標文件中

查看文檔:

cat 由第一行開始顯示文件的內容

cat命令顯示文件時會同時顯示所有內容。大型文件在屏幕上一晃而過,難以閱讀。所以他比較適合小於一屏的文件。

用法:

cat [option] filename

tac 從最後一行開始顯示

file顯示文件類型

file [option] filename

more 一頁一頁的顯示檔案內容:

l空格鍵 (space):代表向下翻一頁;

lEnter:代表向下翻『一行』;

l/字符串:代表在這個顯示的內容當中,向下搜索『字符串』這個關鍵詞;

l:f :立刻顯示出文件名以及目前顯示的行數;

lh 幫助

lb 或 [ctrl]-b :代表往回翻頁

lq:退出

 less 與 more 類似,less可以往前翻頁!:

l空格鍵:向下翻一頁;

l[pagedown]:向下翻一頁;

l[pageup]:向上翻一頁;

l/字符串:向下搜索『字符串』;

l?字符串:向上搜索『字符串』;

ln:重復前一個搜索

lN:反向的重復前一個搜索

lh:幫助

lq:退出

head顯示文件開始幾行

用法:

head[options] {file…}

參數: –n number查看前幾行的值

tail顯示文件最後幾行

用法:

tail [options]{file…}

參數: –n number 查看後幾行的值

–f 一直監視

【7】man 幫助文檔

路徑:/usr/share/man

用法: man[參數] [查詢名]

/ 來查找

q退出

其他獲得幫助的方法

--help

-h

info 命令

help 內置命令

readme

【8】關機

將數據同步寫入硬盤:sync

shutdown命令

shutdown命令的格式為:

#shutdown[參數] 時間 [警告信息]

-t sec :送出警告信息和刪除信息之間要延遲多少秒

- k:並不真正關機而只是發出警告信息給所有用戶
- r:關機後立即重新啟動
- h:關機後停止系統

init0

重啟:reboot init6

【9】別名

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

alias ls='ls--color=auto'

alias ll='ls -lh--color=auto'

alias l='ls--color=auto'

alias grep='grep--color=auto'

debian系統的時候要在/etc/profile裡面進行設置

【10】find

[root@www ~]# find[PATH] [option] [action]

選項與參數:

1. 不時間有關的選項:共有 -atime, -ctime 與 -mtime ,以 -mtime 說明

-mtimen :n 為數字,意義為在 n 天之前的『一天之內』被更改過內容的文件

-mtime +n :列出在 n 天之前(不含 n 天本身)被改動過內容的文件;

-mtime -n :列出在 n 天之內(含n 天本身)被更改過內容的文件。

-newer file :file 為一個存在參照物,列出比 file 還要新的文件

[root@www ~]# find/ -mtime 0

# 那個 0 是重點!0 代表目前的時間,所以,從現在開始到 24 小時前,有改動過內容的文件都會被列出來

find / -mtime3 #3天內改動過的文件

find / -name file –execls –l {} \;

文件的 Access time,atime 是在讀取文件或者執行文件時更改的。

文件的 Modified time,mtime 是在寫入文件時隨文件內容的更改而更改的。

文件的 Create time,ctime 是在寫入文件、更改所有者、權限或鏈接設置時隨 Inode 的內容更改而更改的。

ls -lc filename 列出文件的 ctime

ls -lu filename 列出文件的 atime

ls -l filename 列出文件的 mtime

【11】查看命令歷史

history

【12】環境變量

PATH命令搜索的路徑

exportPATH=/usr/bin:/usr/local/zabbix/bin:/usr/local/php5/bin

【2.7】管道

grep

-c只輸出匹配行的計數。

-i不區分大小寫(只適用於單字符)。

-h查詢多文件時不顯示文件名。

-l查詢多文件時只輸出包含匹配字符的文件名。

-n顯示匹配行及行號。

-s不顯示不存在或無匹配文本的錯誤信息。

-v顯示不包含匹配文本的所有行。

sort -r 反向排序

cut –d ‘分割符’ –f 取第幾段

uniq –c 計數

wc –l 統計多少行

【2.8】linux中的正則

&&且

||或

幾個概念:
1.基本正則表達式 擴展的正則表達式 (由普通字符+元字符組成)
2.通配 (由普通字符+元字符組成)
3.元字符

注意:正則表達式中元字符的意義和通配中元字符的意義有區別的


bash shell本身不支持正則表達式,使用正則表達式的是shell的一些命令和工具,如grep,sed,awk等等
但是bash可以使用正則表達式中的一些元字符實現通配的功能,此時的這些元字符叫通配符。
此時通配中元字符的意義跟正則表達式中元字符的意義就不一樣了。


通配是指:將一個包含通配符的非具體的文件名擴展為計算機,服務器,網絡上的一批具體的文件名的過程。


基本正則表達式中元字符的意義如下:
1. * 匹配*前面的那一個字符的0次或多次
如hel*o heo helo hello helllo ......


2. . 匹配任意一個字符(只匹配一個,可以是空格)
如ab. abc abd ab3 ab ......


3. ^ 匹配行首,行首的字符序列必須是^後的字符序列
如^suda sudahuhuhuuuuuhuuh sudaokokokokokoko ......


4. & 匹配行尾,行尾的字符序列必須是$前的字符序列
如suda$ jijijijijiiijijsuda lkokokokokjijhuhsuda ......
特殊的 ^$ 匹配一個空行
^.$ 匹配只有一個字符的空行


5. [] 匹配字符集合中的任意一個字符(只匹配一個)
如[1234] [1-4] 匹配1,2,3,4的任意一個字符
注意:^放在[]裡面時,不再表示匹配行首,而是取反的意思
[^1234] [^1-4] 匹配不是1,2,3,4的任意一個字符
[a-z][A-Z]* 匹配任意一個英文單詞


6. \ 用於轉義元字符,使之成為普通字符
如\* 此時*表示一個普通字符


7. \<\> 用於精確匹配
如\\ 表示精確匹配the這個單詞,而不是them then等等


8.\{\}系列符號
\{n\} 匹配前面字符的n次
\{n,\} 匹配前面字符的至少n次
\{n,m\} 匹配前面字符的n-m次,至少n次,至多m次


如JO\{3\}B 匹配JOOOB
如JO\{3,\}B 匹配JOOOB JOOOOB ......
如JO\{3,6\}B 匹配JOOOB JOOOOB JOOOOOB JOOOOOOB


擴展的正則表達式中元字符的意義如下:
1. ? 匹配前面的那一個字符的0次或1次
如JO?B 匹配 JB JOB JOOB


2. + 匹配前面的那一個字符的1次或多次
如JO+B 匹配 JOOB JOOOB ......


3. |與()通常結合使用,表示一組可選的字符集合
如re(a|o|e)d 匹配read reod reed
等同於re[aoe]d


通配中的元字符的意義如下:
1. * 表示任意多的任意字符
2. ? 表示一個任意字符
3. ^ 表示取反
4. [] 同正則表達式的用法
5. {} 表示一組表達式的集合 {}中表達式是或的關系
如ls -l {*.cpp ,[1234]*.c} 列出滿足表達式*.cpp或者[1234]*.c的文件。

Copyright © Linux教程網 All Rights Reserved