第二章 linux常用命令

一,本章內容

1linux系統基本命令

2,常見文件操作命令及其使用方法

3,查看修改系統日期時間

4,查看管理聯線用戶

5,切換用戶命令

6,定位,查找文件和關鍵字命令的使用

7,輸入,輸出相關命令

備註:本Linux系統爲RHEL5.3

二,linux系統基本命令

1,切換工作目錄cd

路徑表示:1,以/爲起點絕對路徑,如/root/home

          2,以.爲起點相對路徑,”.”表示當前目錄,”..”表示當前目錄的上    一級目錄。如./test../etc/samba/

# cd ../  #進入當前目錄的上級目錄

2,查看當前路徑pwd

$ pwd

3,查看文件列表

# ls [option [filename] ]

l:長格式

d:顯示目錄,而非目錄中文件

a:顯示隱藏文件

k:以k字節爲單位顯示文件大小

S:按文件大小排序

h:以直觀方式查看文件列表

# ls -l /dev/sdb1

4ln文件鏈接命令

ln [option] target LInk_name

# ls -s /home/user1/a /home/user1/test/b  #s選項表示軟鏈接

# ls  /home/user1/a /home/user1/test/b  # 沒有s選項表示硬鏈接

軟鏈接:只是相當於一個快捷方式

硬鏈接:指向同一個存儲區域,多個副本一個改變都發生改變

三,常見文件操作

1touch創建文件命令

# touch ab     #創建空文件ab

#touch -d “6/2/17 21:28” ed   #創建並修改文件的時間戳記

2mkdir創建目錄命令

#mkdir [option] filename

# mkdir test    #創建目錄test

#mkdir -p a/b/c/d  #選項p可以同時創建一個路徑中的多個目錄

3mv移動,重命名文件

# mv sou_file dir

# mv a /test

#mv b c d file/   #一次移動多個文件b c d到目錄file

4cp複製文件命令

# cp [option] source dir

# cp /etc/d.conf d1.conf    #複製的文件權限會發生變化

# cp -R test /file  #R選項遞歸複製目錄及目錄中文件

# cp -p /etc/d.conf d1.conf  #p選項保持複製的文件權限

5rm刪除文件

# rm [option] file

r:刪除目錄時將目錄中所有內容一併刪除

f:忽略刪除的目錄中不存在的子目錄,並且刪除時不提醒用戶

# rm -rf test

# rm -rf *  #刪除當前目錄中的所有文件

6rmdir僅能刪除空目錄

# rmdir [option] dir

p:按路徑刪除空目錄

# rmdir file

# rmdir -p a/b/c/d/  #p選項按路徑刪除空目錄

7file查看文件類型

# file filename

L:追溯源文件查看文件類型

# file a

# file -L /bin/csh

8,文本文件內容相關

1]cat查看文本文件內容

# cat [potion] filename

v:顯示文本內容的同時,也顯示文件中的控制字符

# cat smb.conf

2]tail從文本尾查看文本內容

# tail [potion] filename

n:指定查看的行數

f:動態的顯示文本內容的變化情況

# tail -5 /var/log/message

3]head從文本首行查看文本內容

# head [potion] filename

n:指定查看的行數

# head -5 /var/log/message

4]more ,less 分屏顯示文本內容

less more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向後移動,而且 less 在查看之前不會加載整個文件。

# more [potion] filename

# less [potion] filename

這裏主要注意快捷鍵

less指令快捷鍵:

f : 查看下一頁(fforward的意思)

b : 查看上一頁(bback的意思)

PageDown : 查看下一頁

PageUp   : 查看上一頁

d : 查看下半頁

u : 查看上半頁

/pattern:向後查找匹配字符串並高亮顯示,nN鍵跳轉下一個,上一個匹配字符串。

?pattern:向前查找匹配字符串並高亮顯示

空格鍵 : 向下滾動一頁

回車鍵 : 向下滾動一行

h : 顯示幫助界面

q : 退出less命令

more指令快捷鍵:

Space鍵:顯示文本的下一屏內容

Enter鍵:只顯示文本的下一行內容。

按斜線符|:接着輸入一個模式,可以在文本中尋找下一個相匹配的模式。

h鍵:顯示幫助屏,該屏上有相關的幫助信息。

b鍵:顯示上一屏內容。

q鍵:退出more命令交互頁面並返回

9diff文本內容比較

# diff [option] file1 file2

10wc文本內容統計

# wc [option] file

四,查看修改系統日期時間

1date查看日期時間

$ date

$ date +”%F % T”    #輸出時間的同時格式化輸出

2cal 查看日曆

# cal [option] [[mouth] year]

# cal

$ cal 6 2017

3date ,clock修改時間

Linux使用兩種時鐘,硬件時鐘和操作系統時鐘,如果要修改時鐘,兩種都應修改。

修改時鐘前應先修改時區,可用setup工具或是使用命令tzselect

# date -s 06/3/17  #使用date的選項s修改當前系統時間

# date -s 15:30:05

# clock -w          #將時間同步寫入硬件時鐘

五,查看管理聯線用戶

1who

# who

2finger

# finger

3w

# w

who命令主要用於一般性查看,finger命令側重於用戶個人詳細信息,w命令更側重於輸出用戶使用系統的情況。

4wall ,write, mesg與聯線用戶通信

1]wall向所有用戶發送公告

# wall The sysytem is going down!

2]write 向系統中一個用戶發送

 # write root  #進入即時消息模式

  Hello

3]mesg n拒絕其他用戶發送來的消息

4]mesg y重新接受消息

5fuser斷開與聯線用戶通信

# fuser -k /dev/pts/3     #斷開用戶user1連接

2]touch 緊急維護,禁止所有用戶登錄,不接受root以外用戶登錄。已經登錄的不會受到影響。

  # touch /etc/nologin

六,切換用戶命令

1su 臨時切換用戶

# su root    #普通用戶切換root,需要密碼

# whoami

# exit        #切換後可退出

2sudo root用戶身份運行命令

sudo命令不提供root用戶的登錄環境,使用命令時需要全路徑。

# sudo /sbin/ifconfig eth0

七,定位,查找文件和關鍵字命令的使用

1which 搜索命令

which從當前的環境變量PATH保存的目錄中,查找參數指定的命令位置並以絕對路徑的方式輸出。

# which ifconfig   

# echo $PATH

2locate 文件搜索命令

locate命令用於快速搜索文件和檔案,其搜尋工作依賴於一個事先建立的索引數據庫。因此可能無法搜索到最近新增的文檔。

# locate iptables

# locate a*      #查看所有以a開頭的文件

# update        #手動更新索引庫

3whereis 特殊文件搜索命令

whereis命令更擅長搜索一些特殊的文件,包括二進制文件(通常是可執行文件),說明文件和源代碼等,其搜尋工作依賴於一個事先建立的索引數據庫。因此可能無法搜索到最近新增的文檔。

# whereis iptables

4apropos 關鍵字搜索命令

apropos命令查找與任務相關的指令,相當於man -k

# apropos process   #在幫助文檔裏查找與process相關的內容

八,輸入,輸出相關命令

1echo回顯命令

echo [option] string

E:禁用轉義字符(默認選項)

e:啓用轉義字符

n:輸出結束後不換行

# echo -n “please enter your name:”   

2read 接收用戶輸入

read [[option] parameter] name

a:將輸入的文本按字段放入數組中

d:指定結束符,默認使用換行爲結束符

e:使用ReadLine庫獲取輸入(此時可以使用退格鍵,方向鍵進行簡單的行編輯操作)

n:指定讀取的字符數

p:將該選項指定的字符串輸出到標準錯誤,並讀取輸入

r:將讀取到的字符串按字段放到不同變量中

s:先鎖住屏幕,然後再從標準輸入中讀取字符

t:如果用戶沒有在指定時間內輸入,將結束讀取狀態

u:從指定的文件描述符中讀取

# echo -n “please enter your friend’s name:”; read -a NAME;echo “your friends:${NAME[*]}”  

# echo -n “please enter four string:”; read -r V1 V2 V3 V4;echo -e “first:$V1\n  

Second:$V2\nthird:$V3\nfourth:$V4”

# SE=y;echo -n “please select yes or no[y|n]”; read -t 8 SE;echo -e “\nINput timeout”      #8

3tee 顯示並保存文本

... | tee [options] filename

tee命令將獲取到的文本(通常來自管道)分爲兩個拷貝,一個輸到標準輸出,另一個寫入到指定文件。

a:以追加的形式將數據寫入文件的結尾

i:寫入數據時,不寫入標準錯誤

# date +’%Y%m%d %T | tee -a date_log

     # ls -l ab | tee -ia a.txt        #簡單篩選,忽略標準錯誤

4mail 郵件命令

$ mail [option] [-s subject ] [-c c_adress] [-b b-adress] user [-a file]...

n:不讀入設置文件/etc/mail.rc(這個文件允許用戶使用外部地址而不是系統自帶的sendmail發送郵件)

s:設置郵件的主題信息

c:使用一個密件抄送列表

b:使用一個抄送列表

     # mail -s “net info” root,user1 <net_info    #user1root發送主題爲netinfo的郵件

     mail查看郵件

h:查看郵件的標題

d:使用該命令加序號可以刪除指定郵件

f:查看當前光標指向的郵件

n:跳轉到指定序號的郵件

q:退出並將已經閱讀的郵件存入文件~/mbox

x:退出

!:允許使用shell命令

# mail -f  /var/spool/mail/user1 #查看用戶user1的未讀郵件

   5exec 啓動新shell

exec shell_command

shell的內建命令exec將並不啓動新的shell,而是用要被執行命令替換當前的shell進程,並且將老進程的環境清理掉,而且exec命令後的其它命令將不再執行。

因此,如果你在一個shell裏面,執行exec ls那麼,當列出了當前目錄後,這個shell就自己退出了,因爲這個shell進程已被替換爲僅僅執行ls命令的一個進程,執行結束自然也就退出了。爲 了避免這個影響我們的使用,一般將exec命令放到一個shell腳本里面,用主腳本調用這個腳本,調用點處可以用bash a.sh,(a.sh就是存放該命令的腳本),這樣會爲a.sh建立一個sub shell去執行,當執行到exec後,該子腳本進程就被替換成了相應的exec的命令。

source命令或者”.”,不會爲腳本新建shell,而只是將腳本包含的命令在當前shell執行。

不過,要注意一個例外,當exec命令來對文件描述符操作的時候,就不會替換shell,而且操作完成後,還會繼續執行接下來的命令。

    exec 3<&0:這個命令就是將操作符3也指向標準輸入。

別處,這個命令還可以作爲find命令的一個選項,如下所示:

(1)在當前目錄下(包含子目錄),查找所有txt文件並找出含有字符串”bin”的行

find ./ -name *.txt-exec grep bin{}

(2)在當前目錄下(包含子目錄),刪除所有txt文件

find ./ -name *.txt-exec rm {}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章