天天看點

Linux常用指令

文章目錄

   Linux常用指令

       1.修改基本配置

           1.1修改主機名

           1.2修改ip位址

           1.3修改ip和主機名的映射

           1.4關閉防火牆

       2.常用快捷鍵

       3.日常操作指令

       4.檔案操作指令

           4.1基本指令

           4.2檔案夾指令

           4.3建立檔案

           4.4vi指令

           4.5vim介紹

       5.檔案權限指令

           5.1格式解析

           5.2修改檔案權限

       6.使用者管理

           6.1建立新使用者

           sudo設定

       7.查找指令

           7.1grep指令

           7.2find指令

       8.打包和壓縮

           8.1壓縮和解壓縮

           8.2tar打包解壓

           8.3一次性打包&&壓縮

       9.檔案傳輸

           9.1上傳

           9.2下載下傳

       10.程序指令

 本文介紹的是Linux中的常用指令用以滿足日常的操作,但并非所有指令。更詳細的指令煩請參考手冊

http://man.linuxde.net/

Linux常用指令

1.修改基本配置

1.1修改主機名

vi /etc/sysconfig/network      
Linux常用指令

1.2修改ip位址

vi /etc/sysconfig/network-scripts/ifcfg-eth0      
Linux常用指令

1.3修改ip和主機名的映射

vi /etc/hosts      
Linux常用指令

1.4關閉防火牆

臨時關閉

service iptables stop

service iptables start

永久關閉

chkconfig iptables on

chkconfig iptables off

檢視防火牆狀态

service iptables status

重新開機:reboot

[root@hadoop-node01 ~]# service iptables status
iptables:未運作防火牆。
[root@hadoop-node01 ~]#       

2.常用快捷鍵

快捷鍵 說明

ctrl + c 停止程序

ctrl + l 清屏

ctrl + r 搜尋曆史指令

ctrl + q 退出

tab鍵 提示

3.日常操作指令

指令 說明

pwd 檢視目前目錄

date 顯示目前系統時間

who 檢視目前線上

last 檢視最近的登陸曆史記錄

reboot 重新開機

halt 關機

4.檔案操作指令

4.1基本指令

cd:切換目錄

cd指令 說明

cd 進入使用者主目錄;

cd ~ 進入使用者主目錄;

cd - 傳回進入此目錄之前所在的目錄;

cd .. 傳回上級目錄(若目前目錄為“/“,則執行完後還在“/";"…"為上級目錄的意思);

cd ../.. 傳回上兩級目錄;

cd !$ 把上個指令的參數作為cd參數使用。

cd /etc/sysconfig /開頭表示絕對路徑

cd sysconfig/network-script 不帶/表示從目前目錄下跳轉

ls:顯示檔案夾下的所有檔案

參數 說明

-a 顯示所有檔案及目錄(ls内定将檔案名或目錄名稱為“.”的視為影藏,不會列出);

-A 顯示除影藏檔案“.”和“…”以外的所有檔案清單;

-C 多列顯示輸出結果。這是預設選項;

-l 與“-C”選項功能相反,所有輸出資訊用單列格式輸出,不輸出為多列;

-F 在每個輸出項後追加檔案的類型辨別符,具體含義:“*”表示具有可執行權限的普通檔案,“/”表示目錄,“@”表示符号連結,“

-b 将檔案中的不可輸出的字元以反斜線“”加字元編碼的方式輸出;

-c 與“-lt”選項連用時,按照檔案狀态時間排序輸出目錄内容,排序的依據是檔案的索引節點中的ctime字段。與“-l”選項連用時,則排序的一句是檔案的狀态改變時間;

-d 僅顯示目錄名,而不顯示目錄下的内容清單。顯示符号連結檔案本身,而不顯示其所指向的目錄清單;

-f 此參數的效果和同時指定“aU”參數相同,并關閉“lst”參數的效果;

-i 顯示檔案索引節點号(inode)。一個索引節點代表一個檔案;

–file-type 與“-F”選項的功能相同,但是不顯示“*”;

-k 以KB(千位元組)為機關顯示檔案大小;

-l 以長格式顯示目錄下的内容清單。輸出的資訊從左到右依次包括檔案名,檔案類型、權限模式、硬連接配接數、所有者、組、檔案大小和檔案的最後修改時間等;

-m 用“,”号區隔每個檔案和目錄的名稱;

-n 以使用者識别碼和群組識别碼替代其名稱;

-r 以檔案名反序排列并輸出目錄内容清單;

-s 顯示檔案和目錄的大小,以區塊為機關;

-t 用檔案和目錄的更改時間排序;

-L 如果遇到性質為符号連結的檔案或目錄,直接列出該連結所指向的原始檔案或目錄;

-R 遞歸處理,将指定目錄下的所有檔案及子目錄一并處理;

–full-time 列出完整的日期與時間;

–color[=WHEN] 使用不同的顔色高亮顯示不同類型的。

ll:指令

 實際上是ls -l的一個别名

[root@hadoop-node01 ~]# ll
總用量 2036
drwxr-xr-x. 3 root root    4096 2月  25 00:21 app
-rw-r--r--. 1 root root  106609 2月  24 23:44 a.txt
drwxrwxr-x. 6 root root    4096 12月 12 20:25 redis-5.0.3
-rw-r--r--. 1 root root 1959445 12月 12 20:26 redis-5.0.3.tar.gz
drwxr-xr-x. 2 root root    4096 1月   7 23:09 shellfile      

tree指令:

 以樹形結構展示檔案夾及檔案,比較直覺(如果沒有安裝:yum install -y tree)

Linux常用指令

4.2檔案夾指令

mkdir

 建立檔案夾

建立方式 指令

相對路徑建立 mkdir test

絕對路徑視窗 mkdir /root/test1

建立多級檔案夾 mkdir -p test2/test3/test4 -p

如果父目錄不存在也會一并的建立

rmdir

 隻能删除空目錄

rm

 指令可以删除一個目錄中的一個或多個檔案或目錄,也可以将某個目錄及其下屬的所有檔案及其子目錄均删除掉

-d 直接把欲删除的目錄的硬連接配接資料删除成0,删除該目錄;

-f 強制删除檔案或目錄;

-i 删除已有檔案或目錄之前先詢問使用者;

-r或-R 遞歸處理,将指定目錄下的所有檔案與子目錄一并處理;

–preserve-root 不對根目錄進行遞歸操作;

-v 顯示指令的詳細執行過程。

mv指令

 用來對檔案或目錄重新命名,或者将檔案從一個目錄移到另一個目錄中。source表示源檔案或目錄,target表示目标檔案或目錄。如果将一個檔案移到一個已經存在的目标檔案中,則目标檔案的内容将被覆寫

操作 指令

修改名稱 mv test1 abc

移動檔案 mv abc/* cc 将abc檔案夾下的所有檔案移動到cc檔案夾下

cp指令

cp a.log /root/

cp – help 檢視命名幫助

-R 遞歸複制

4.3建立檔案

touch指令

 有兩個功能:

一是用于把已存在檔案的時間标簽更新為系統目前的時間(預設方式),它們的資料将原封不動地保留下來;

Linux常用指令

二是用來建立新的空檔案。

Linux常用指令

echo指令

 将資訊輸出到控制台,

[root@hadoop-node01 ~]# echo hahaha
hahaha      

我們可以通過重定向符号将内容寫入到新的檔案中,如果檔案不存在就會建立此檔案

>:建立新的檔案或者覆寫

>>:建立新的檔案或者追加

Linux常用指令

cat指令

   顯示檔案内容

   建立新的檔案

   隻能建立新檔案,不能編輯已有檔案

   cat s1.sh > d.txt

   檔案拼接

   cat a.txt b.txt > c.txt

tac指令:和cat剛好相反 将内容倒序輸出

more指令:分頁顯示

tail:顯示底部的内容

head:顯示頭部的内容

4.4vi指令

最基本的用法

vi somefile.4

步驟 說明

1 首先會進入“一般模式”,此模式隻接受各種快捷鍵,不能編輯檔案内容

2 按i鍵,就會從一般模式進入編輯模式,此模式下,敲入的都是檔案内容

3 編輯完成之後,按Esc鍵退出編輯模式,回到一般模式;

4 再按:,進入“底行指令模式”,輸入wq指令,回車即可

退出指令

:w 儲存檔案但不退出vi

:w file 将修改另外儲存到file中,不退出vi

:w! 強制儲存,不推出vi

:wq 儲存檔案并退出vi

:wq! 強制儲存檔案,并退出vi

:q 不儲存檔案,退出vi

:q! 不儲存檔案,強制退出vi

:e! 放棄所有修改,從上次儲存檔案開始再編輯

常用快捷鍵

在一般模式下使用

a 在光标後一位開始插入

A 在該行的最後插入

I 在該行的最前面插入

gg 直接跳到檔案的首行

G 直接跳到檔案的末行

dd 删除行,如果 5dd ,則一次性删除光标後的5行

yy 複制目前行, 複制多行,則 3yy,則複制目前行附近的3行

p 粘貼

v 進入字元選擇模式,選擇完成後,按y複制,按p粘貼

ctrl+v 進入塊選擇模式,選擇完成後,按y複制,按p粘貼

shift+v 進入行選擇模式,選擇完成後,按y複制,按p粘貼

查找與替換

在底行指令模式中輸入

%s/sad/88888888888888 查找檔案中所有sad,替換為88888888888888

/you 查找檔案中出現的you,并定位到第一個找到的地方,按n可以定位到下一個比對位置(按N定位到上一個)

4.5vim介紹

 它們都是多模式編輯器,不同的是vim 是vi的更新版本,它不僅相容vi的所有指令,而且還有一些新的特性在裡面。

vim的這些優勢主要展現在以下幾個方面:

   多級撤消

   我們知道在vi裡,按 u隻能撤消上次指令,而在vim裡可以無限制的撤消。

   易用性

   vi隻能運作于unix中,而vim不僅可以運作于unix,windows ,mac等多操作平台。

   文法加亮

   vim可以用不同的顔色來加亮你的代碼。

   可視化操作

   就是說vim不僅可以在終端運作,也可以運作于x window、 mac os、 windows。

   對vi的完全相容

   某些情況下,你可以把vim當成vi來使用。vi和vim都是Linux中的編輯器,不同的是vim比較進階,可以視為vi的更新版本。vi使用于文本編輯,但是vim更适用于coding。

5.檔案權限指令

5.1格式解析

drwxr-xr-x (也可以用二進制表示 111 101 101 --> 755)

字元 說明

d 辨別節點類型(d:檔案夾 -:檔案 l:連結)

r 可讀

w 可寫

x 可執行

組 說明

第一組rwx 表示這個檔案的擁有者對它的權限:可讀可寫可執行

第二組r-x 表示這個檔案的所屬組對它的權限:可讀,不可寫,可執行

第三組r-x 表示這個檔案的其他使用者(相對于上面兩類使用者)對它的權限:可讀,不可寫,可執行

Linux常用指令

5.2修改檔案權限

修改 說明

chmod g-rw haha.dat 表示将haha.dat對所屬組的rw權限取消

chmod o-rw haha.dat 表示将haha.dat對其他人的rw權限取消

chmod u+x haha.dat 表示将haha.dat對所屬使用者的權限增加x

chmod 664 haha.dat 就會修改成 rw-rw-r–

将一個檔案夾的所有内容權限統一修改,則可以-R參數 chmod -R 770 aaa/

6.使用者管理

6.1建立新使用者

添加使用者:

useradd hadoop

設定密碼

passwd hadoop

[root@hadoop-node01 shellfile]# useradd test
[root@hadoop-node01 shellfile]# passwd test
更改使用者 test 的密碼 。
新的 密碼:
無效的密碼: 過于簡單化/系統化
無效的密碼: 過于簡單
重新輸入新的 密碼:
passwd: 所有的身份驗證令牌已經成功更新。
[root@hadoop-node01 shellfile]#       

sudo設定

 普通使用者權限有限制,通過sudo暫時擷取root權限.

 為使用者配置sudo權限

   用root編輯 vi /etc/sudoers

   在檔案的如下位置,為hadoop添加一行即可

   root ALL=(ALL) ALL

   hadoop ALL=(ALL) ALL

   然後,hadoop使用者就可以用sudo來執行系統級别的指令

:wq! 強制儲存并退出

7.查找指令

7.1grep指令

 grep指令是一種強大的文本搜尋工具,它能使用正規表達式搜尋文本,并把匹 配的行列印出來。grep全稱是Global Regular Expression Print,表示全局正規表達式版本,它的使用權限是所有使用者,grep是查找比對條件的行

參考:

http://man.linuxde.net/grep

a.txt中的内容

   aaabbcaaa

   aa bbc aaa

   bb bbc bbb

   asgodssgoodsssagodssgood

   asgodssgoodsssagoodssgod

   sdlkjflskdjf3slkdjfdksl

   slkdjf2lskdjfkldsjl

grep "a" test
grep  "a\{3\}"  test
grep  "\<aaa"  test
grep  "\<aaa\>"  test
grep "b" test
grep  "b\{2,3\}" test 
clear
cat test
grep "god" test
grep "godgood" test
grep "god*good" test
grep "god.*good" test
grep "god.*good.*god.*good" test
grep "god.*good+" test
grep "\(god.*good\)+" test
grep "\(god\).*good.*\1" test
grep "\(god\).*\(good\).*\1.*\2" test      

7.2find指令

 find指令用來在指定目錄下查找檔案。任何位于參數之前的字元串都将被視為欲查找的目錄名。如果使用該指令時,不設定任何參數,則find指令将在目前目錄下查找子目錄與檔案。并且将查找到的子目錄和檔案全部進行顯示。

功能:在目錄結構中搜尋檔案,并執行指定的操作。

此指令提供了相當多的查找條件,功能很強大。

文法:find 起始目錄 尋找條件 操作

說明:find指令從指定的起始目錄開始,遞歸地搜尋其各個子目錄,查找滿足尋找條件的檔案并對之采取相關的操作。

find是搜尋比對條件的檔案(http://man.linuxde.net/find)

查找目前目錄下所有的gz結尾的檔案

find . -name “*gz”

[root@hadoop-node01 ~]# find . -name "*gz"
./app/zookeeper-3.4.10.tar.gz
./redis-5.0.3.tar.gz      

8.打包和壓縮

8.1壓縮和解壓縮

 gzip指令用來壓縮檔案。gzip是個使用廣泛的壓縮程式,檔案經它壓縮過後,其名稱後面會多處“.gz”擴充名。

 gzip是在Linux系統中經常使用的一個對檔案進行壓縮和解壓縮的指令,既友善又好用。gzip不僅可以用來壓縮大的、較少使用的檔案以節省磁盤空間,還可以和tar指令一起構成Linux作業系統中比較流行的壓縮檔案格式。據統計,gzip指令對文本檔案有60%~70%的壓縮率。減少檔案大小有兩個明顯的好處,一是可以減少存儲空間,二是通過網絡傳輸檔案時,可以減少傳輸的時間。

壓縮

gzip a.txt

Linux常用指令

解壓gz檔案

gzip -d a.txt.gz

Linux常用指令

8.2tar打包解壓

 tar指令可以為linux的檔案和目錄建立檔案。利用tar,可以為某一特定檔案建立檔案(備份檔案),也可以在檔案中改變檔案,或者向檔案中加入新的檔案。tar最初被用來在錄音帶上建立檔案,現在,使用者可以在任何裝置上建立檔案。利用tar指令,可以把一大堆的檔案和目錄全部打包成一個檔案,這對于備份檔案或将幾個檔案組合成為一個檔案以便于網絡傳輸是非常有用的。

 首先要弄清兩個概念:打包和壓縮。打包是指将一大堆檔案或目錄變成一個總的檔案;壓縮則是将一個大的檔案通過一些壓縮算法變成一個小檔案。

 為什麼要區分這兩個概念呢?這源于Linux中很多壓縮程式隻能針對一個檔案進行壓縮,這樣當你想要壓縮一大堆檔案時,你得先将這一大堆檔案先打成一個包(tar指令),然後再用壓縮程式進行壓縮(gzip bzip2指令)。

tar -cvf log.tar log2012.log 僅打包,不壓縮!

tar -xvf myfirsttarball.tar 拆包

8.3一次性打包&&壓縮

産生壓縮包

tar -zcvf my.tar.gz aaa/      

解壓縮包

tar -zxvf my.tar.gz       

遞歸解壓縮到其他目錄

tar -zxvf my.tar.gz -C abc/      

9.檔案傳輸

9.1上傳

yum install  lrzsz -y      

安裝成功後

rz 指令根據彈出視窗選擇上傳檔案

或者将檔案拖拽進去

9.2下載下傳

sz指令 檔案下載下傳

10.程序指令

指令 說明

last或 lastlog 檢視使用者最近登入情況

df 檢視硬碟使用情況

du 檢視檔案大小

free 檢視記憶體使用情況

/proc 檢視檔案系統比如: ll /proc

ls /var/log/ 檢視日志

tail /var/log/messages 檢視系統報錯日志

top 檢視程序

kill 1234

kill -9 4333 結束程序

背景服務管理

   服務操作

   service network status 檢視指定服務的狀态

   service network stop 停止指定服務

   service network start 啟動指定服務

   service network restart 重新開機指定服務

   service --status-all 檢視系統中所有的背景服務

   設定背景服務的自啟配置

   chkconfig 檢視所有伺服器自啟配置

   chkconfig iptables off 關掉指定服務的自動啟動

   chkconfig iptables on 開啟指定服務的自動啟動

最後

Linux 的軟體安裝目錄是也是有講究的,了解這一點,在對系統管理是有益的

目錄 說明

/usr 系統級的目錄,可以了解為C:/Windows/,

/usr/lib 了解為C:/Windows/System32。

/usr/local 使用者級的程式目錄,可以了解為C:/Progrem Files/。使用者自己編譯的軟體預設會安裝到這個目錄下。

/opt 使用者級的程式目錄,可以了解為D:/Software,opt有可選的意思,這裡可以用于放置第三方大型軟體(或遊戲),當你不需要時,直接rm -rf掉即可。在硬碟容量不夠時,也可将/opt單獨挂載到其他磁盤上使用。

源碼放哪裡?

/usr/src:系統級的源碼目錄。

/usr/local/src:使用者級的源碼目錄。

繼續閱讀