1. 程式人生 > >Linux 學習基礎---第一部分

Linux 學習基礎---第一部分

分頁 edi 多線程 password 系統結構 目錄名 dia 程序 含義

1.什麽是Linux?

Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶,多任務,支持多線程和多CPU的操作系統。它能運行主要的UNIX工作軟件,應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。

2.什麽是Shell?

在計算機科學中,Shell俗稱殼(用來區別於核),是指“提供使用者使用界面”的軟件(命令解析器)。它類似於DOS下的commang.com和後來的cmd.exe。它接收用戶命令,然後調用相應的應用程序。
中文名: 殼
外文名: Shell
性質 : 命令解析器

用途 : 接受用戶命令

術語
它同時又是一種程序設計語言。作為命令語言,它交互式解釋和執行用戶輸入的命令或者自動地解釋和執行預先設計好的一連串的命令;作為程序設計語言,它定義了各種變量和參數,並提供了許多在高級語言中才具有的控制結構,包括循環和分支。

3.Linux的運行在行提示符後運行
[kiosk@foundation0 Desktop]$ (行提示符)
含義:
kiosk : 用戶
@ : 分隔符
foundaton0 : 主機短名稱
Desktop : 所在系統位置
$ : 用戶身份,$為普通用戶(草民),#為超級用戶(天子)。

4.虛擬機管理命令:

rht-vmctl start desktop /server 開啟
rht-vmctl poweroff desktop / server 關閉
rht-vmctl view desktop / server 顯示
rht-vmctl reset desktop / server 重置

開啟後,進行顯示

技術分享圖片

虛擬機登陸:

1.普通用戶登陸

技術分享圖片

點擊 Student User即可,然後進行password密碼輸入;

2.為方便操作,則將其改為超級用戶

(1)點擊 Not listed?

(2)在Username中輸入root(超級用戶)

![](http://i2.51cto.com/images/blog/201808/02/7090ec5038e1d2ab764d004a92e5251d.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

(3)登陸password,輸入內容分為頁面正下方圖標後Redhat

技術分享圖片

即可進入虛擬機

技術分享圖片

5.Linux系統結構

(1)Linux系統是個倒樹型系統;

(2)二級目錄的作用:

 /bin                   #二進制文件,系統的常規命令(如data...)
 /boot                 #系統啟動分區,系統啟動時讀取的文件
 /dev                  #設備文件
 /etc                   #大多數配置文件
 /home              #普通用戶的家目錄
 /lib                    #32位函數庫
 /lib64               #64位函數庫
 /media             #手動臨時掛載點  (linux為用戶準備了兩個手動臨時掛載點)
 /mnt                 #手動臨時掛載點
 /opt                      #第三方軟件安裝位置

/proc #進程信息及硬件信息
/root #超級用戶家目錄
/run #臨時設備的默認掛載點(例如u盤如果沒有手動安排掛載點,就在這個目錄下 run/media/sdb1)
/sbin #系統管理命令
/srv #數據
/var #數據
/sys #內核相關信息
/tmp #臨時文件
/usr #用戶相關設定

6.Linux下的文件管理

(1)建立文件

  touch file                        #建立空文件,或修改文件的時間戳

    ![](http://i2.51cto.com/images/blog/201808/02/9ec03df29cfa06de4c69a61d3e5695ca.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

  touch file1 file2

    ![](http://i2.51cto.com/images/blog/201808/02/0344a36fd07e2302086ffb369466eb1f.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

(2)建立目錄

  mkdir                          #建立單目錄

![](http://i2.51cto.com/images/blog/201808/02/cfdfeb6e9753a5d0b15e83f49f9151e2.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

        mkdir -p                     #建立多層目錄

![](http://i2.51cto.com/images/blog/201808/02/14617492428a1db14e84be2820111bd9.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

(3)文件的刪除

  rm -f file(file為刪除的文件名)強行刪除文件file        (如果不加-f會提示是否刪除)

        註釋:

-f -r -r -f -rf -fr 作用相同都為刪除本目錄下以及內部內容且不提示
-f:提示 -r:遞歸

    ![](http://i2.51cto.com/images/blog/201808/02/a1c3caa2e95420022c7e55a8efadc9af.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

        rm -fr dir (dir為刪除的目錄名)強行刪除目錄本身及裏面內容

    ![](http://i2.51cto.com/images/blog/201808/02/0d5a0cee1bcd8ad67704f7252b651559.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

(4)文件的編輯

  vim file
  進入文件後是瀏覽模式,不能編輯

        ![](http://i2.51cto.com/images/blog/201808/02/e8d2995a409e5799b658f36247f71040.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

  輸入<i> 進入插入模式寫字符(此時左下方顯示INSERT,<i>是指鍵i小寫,下面<esc>相同)

![](http://i2.51cto.com/images/blog/201808/02/7b9e923fca109d73fd2d7073016fbc51.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

  編寫完成後按<ESC>退出插入模式

    ![](http://i2.51cto.com/images/blog/201808/02/12b1af6266115ccde32f851300d12027.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

  輸入:wq 完成文件編輯。w表示寫入,q退出

    ![](http://i2.51cto.com/images/blog/201808/02/2c7b59d7255a447692bbfd71a6e1ef54.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

 點擊文件查看

    ![](http://i2.51cto.com/images/blog/201808/02/99ee596287aecd04e0dc67e1e381074b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

7.Vim的使用技巧

在瀏覽模式

(1)字符大管理
yy #復制一整行
yl #復制一個字母
yw #復制一個單詞
p #粘貼

dd #刪除一整行
dl #刪除一個字母
dw #刪除一個單詞

cc #剪掉整行
cl #剪掉一個字母
cw #剪掉一個單詞
註意:
當剪切後vim會進入插入模式,
如果要粘貼需要按<esc>退出插入模式然後粘貼

 ![](http://i2.51cto.com/images/blog/201808/02/01a9f94944d6f17cab20a432f9c366b2.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

 ![](http://i2.51cto.com/images/blog/201808/02/e79cfa693b0dd052ddb23005355e051e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

 ![](http://i2.51cto.com/images/blog/201808/02/0f0f359c6036aebcc6b6adee84129d06.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

u ##撤銷
ctrl+r ##恢復

(2)字符的批量處理
ctrl + v ##進入可視化模式,在可視化模式中可以批量選擇字符並操作

如何批量添加字符
1)把光標移動到要加入字符所在列

技術分享圖片

2)ctrl + v 進入可視化模式

技術分享圖片

3)選中要加字符所在列(用方向鍵上下選中即灰色)

技術分享圖片

4)按<I>進入插入模式並寫入要加入的字符,<I>此處的i為大寫I

技術分享圖片

技術分享圖片

5)按<ESC>批量添加結束

技術分享圖片

6)如何批量修改
:%s/原有字符/修改後字符/g

技術分享圖片

技術分享圖片

:1,5s/原有字符/修改後字符/g (1,5)代表一到五行改變

技術分享圖片

技術分享圖片

這裏s代表行,g代表列,如果不加g,則改變的信息只有每行第一次出現的列改變;

技術分享圖片

技術分享圖片

(3) 如何同時編輯多個文件
vim file
:sp file1

技術分享圖片

技術分享圖片

註意:
光標默認在那個文件中操作的就是那個文件
ctrl+w 按完放開在按上|下可以移動光標所在窗口

![](http://i2.51cto.com/images/blog/201808/02/44b20c478186a2fd521f5b507d8511e2.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

(4)正常退出方法

     正常退出方法
  :q    ##當文件沒有做任何修改是可用
  :q!   ##當文件修改但不行保存修改時可用

        ![](http://i2.51cto.com/images/blog/201808/02/63ca3e9e8fa0058d7fd1c29d4e009520.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

        打開修改的文件

        ![](http://i2.51cto.com/images/blog/201808/02/e800358ecb7244bd4fe681377b0a32a2.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

  :wq   ##退出保存

        ![](http://i2.51cto.com/images/blog/201808/02/2c65bbb80acc890247084a0d8adb7112.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

        打開修改的文件

        ![](http://i2.51cto.com/images/blog/201808/02/af32d39049eb8099735c26be8219f75d.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

  :wq!  ##當文件屬於自己或用戶為root時可用

(6)異常退出 

    當沒有正常退出,而是直接點擊有上角叉號時,會出現異常退出的情況
    當vim非正常退出會產生.filename.swap文件

    當此文件出現,vim工作異常

Found a swap file by the name ".file.swp" <<<異常退出未保存的數據
owned by: root dated: Wed Aug 1 02:59:25 2018
me: ~root/Desktop/file
modified: YES
user name: root host name: localhost
process ID: 2046
h swap file by the name ".file.swp"
owned by: root dated: Wed Aug 1 02:59:25 2018
ile opening file "file"

Swap file ".file.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

解決辦法:選擇選項即可
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

[O]pen Read-Only 只讀打開
(E)dit anyway 放棄未保存數據 進入文件
(R)ecover 恢復
(D)elete it 刪除.swp文件
(Q)uit (A)bort 退出

8.文件查看
cat file ##輸出文件的所有內容

技術分享圖片

技術分享圖片

cat -b file ##輸出文件所有內容並加入行號,只是在顯示頁面會添加序號,不會修改原文件

技術分享圖片

cat -b file > file1 ##把file文件中的數據添加行號並復制給file1新文件

技術分享圖片

less file ##分頁瀏覽file文件

技術分享圖片

技術分享圖片

<上>|<下> ##向上|向下移動一行
<pgup>|<pgdn> ##向上|向下移動一頁

輸入/關鍵字 ##高亮顯示關鍵字,n向下匹配N向上匹配

q ##退出

tail file ##顯示文件file的後十行(默認)
tail -n file ##顯示文件file的後n行

技術分享圖片

head file ##顯示文件file的前十行(默認)
head -n file ##顯示文件file的前n行

技術分享圖片

9.文件復制
cp sourcefile destfile ##把原文件復制一份命名為目標文件

技術分享圖片

此時的桌面

技術分享圖片

cp sourcefile1 sourcefile2 destdir/ ##復制多個文件到目錄中
首先mkdir創建目錄!!!!

技術分享圖片

技術分享圖片

cp -r sourcedir destdir/ ##復制原目錄及內部的文件到目標目錄(此處使用了-r,若不加,只能進行空目錄的復制)

技術分享圖片

技術分享圖片

10.文件的移動
註釋:
若將file文件移動到當前目錄下file1的話,則為重命名
mv sourcefile destfile ##重名命

file的內容!
技術分享圖片

file1的內容!

技術分享圖片

移動後輸出y表示yes

技術分享圖片

技術分享圖片

最後file1的內容

技術分享圖片

mv sourcefile destdir ##移動原文件到destdir目錄
!!先用mkdir創建目錄

技術分享圖片

mv sourcedir destdir ##移動原目錄到destdir目錄

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

mv test/ . ##將當前test目錄下的所有文件移動到當面目錄下(當前目錄為desktop)"."代表當前目錄,代表所有;

技術分享圖片

技術分享圖片

技術分享圖片

11.文件路徑
(1)相對路徑
文件相對當前系統位置的一個名稱簡寫
文件名稱省略了當前路徑的值 #例:desktop/hello/file
只有當前在此目錄中時可以使用
文件名稱不以/開頭
文件名稱會自動在字符前加入‘pwd‘顯示的路徑 #在shell中輸入pwd會顯示當前所在目錄的絕對 路徑

技術分享圖片

(2)絕對路徑
是文件在系統中真實的位置
任何時間都可以精確表示一個文件的名稱 #例:/root/Desktop
文件名稱以/開頭

12.關於路徑的命令
pwd ##顯示當前工作目錄

技術分享圖片

cd ##切換當前工作家目錄

技術分享圖片

cd /mnt ##切換到/mnt目錄中

技術分享圖片

cd - ##進入當前目錄之前所在目錄中

技術分享圖片

cd ~student ##進入到student用戶家目錄

技術分享圖片

Linux 學習基礎---第一部分