Linux中的一些命令

1.訪問手冊man

記不得命令名字時可以用關鍵字,語法是man -k
手冊頁有對應的內容區域,每個區域都分配一個數字,默認是1,如man 7 hostname

區域號 所涵蓋內容
1 可執行程序或shell命令
2 系統調用
3 庫調用
4 特殊文件
5 文件格式與約定
6 遊戲
7 概覽、約定及雜項
8 超級用戶和系統管理員命令
9 內核例程

2. 目錄操作

cd :遍歷目錄;pwd:顯示當前目錄;ls:顯示當前目錄下的文件和目錄;
tree:以樹狀結構展示目錄、子目錄及其中的文件。
cd destination

christine@server01:~$ cd /usr/bin      //絕對路徑  ,波浪號表明shell會話位於你的主目錄中
christine@server01:~/Documents$ cd ../Downloads  //相對路徑方式遍歷

單點符(.),表示當前目錄
雙點符(. .),表示當前目錄的父目錄

ls -F //-F參數的ls命令輕鬆區分文件和目錄,在目錄名後加了正斜線(/),可執行
文件的後面加個星號
ls -a //把隱藏文件和普通文件及目錄一起顯示出來,隱藏文件通常是文件名
以點號開始的文件
ls -F -R //-R參數叫作遞歸選項。它列出了當前目錄下包含的子目錄中的文件。
ls -l //-l參數會產生長列表格式的輸出
ls -l  my_scr?pt //

問號(?)代表任一個字符; 星號(*)代表零個或多個字符。

ls -l f[a-i]ll   //中括號用於指定字符範圍
ls -l f[!a]ll  //感嘆號!將不需要的內容排除在外

製表鍵自動補齊:製表鍵自動補全允許你在輸入文件名或目錄名時按一下製表鍵,讓shell幫忙將內容補充完整

3 處理文件

touch ,cp,ln,mv,rm,mkdir,rmdir,file,cat,more,less,tail,head

touch 創建一個空文件
cp 複製文件 :cp source destination,可以是文件也可以是目錄

touch test_one
cp -i test_one test_two   //-i選項,強制shell詢問是否需要覆蓋已有文件
cp -R Scripts/ Mod_Scripts//遞歸地複製整個目錄的內容

鏈接文件 符號鏈ln -s,硬鏈接ln
符號鏈接就是一個實實在在的文件,它指向存放在虛擬目錄結構中某個地方的另一個文件。這兩個通過符號鏈接在一起的文件,彼此的內容並不相同

硬鏈接會創建獨立的虛擬文件,其中包含了原始文件的信息及位置。但是它們從根本上而言是同一個文件。引用硬鏈接文件等同於引用了源文件。

ln -s data_file sl_data_file
ls -li *code_file    //i表示顯示inode編號

mv:命令可以將文件和目錄移動到另一個位置或重新命名。移動文件不改變inode編號和時間戳,因爲mv隻影響文件名。
rm:刪除文件

 rm -i f?ll //i命令參數提示你是不是要真的刪除該文件,?是通配符
 -f參數:使得刪除很多文件且不受提示符的打擾

mkdir:創建目錄

mkdir -p New_Dir/Sub_Dir/Under_Dir   //同時創建多個目錄和子目錄用-p參數

rmdir:刪除目錄,默認情況下
rmdir命令只刪除空目錄,可用rm -rf來刪除目錄及目錄裏面所有內容

file: 查看文件類型
cat:顯示文本文件中所有數據,適合小型文件

cat -n test1     //-n參數會給所有的行加上行號,-b給有文本的行加上行號

more:分頁顯示文本,可以通過按空格鍵或回車鍵以逐行向前的方式瀏覽文本文件,按q鍵退出
less:比more更高級
tail:顯示文件最後幾行的內容,默認後10行
head:顯示文件開頭那些行的內容

tail -n 2 log_file  //只顯示文件的最後兩行
-f參數 允許你在其他進程使用該文件時查看文件的內容。tail命令會保持活動狀態,並不斷顯示添加到文件中的內容。這是實時監測系統日誌的絕妙方式。

4.監測程序

ps,top,kill,mount,umount,df,du

ps:顯示某個特定時間點的信息,默認情況下, ps命令只會顯示運行在當前控制檯下的屬於當前用戶的進程。
ps的輸出參數:

ps --forest  //ps -forest命令展示了這些子shell間的嵌套結構
UID:啓動這些進程的用戶
PID:進程的進程ID。
PPID:父進程的進程號(如果該進程是由另一個進程啓動的)
C:進程生命週期中的CPU利用率
STIME:進程啓動時的系統時間
TTY:進程啓動時的終端設備
TIME:運行進程需要的累計CPU時間
CMD:啓動的程序名稱
F:內核分配給進程的系統標記
S:進程的狀態(O代表正在運行; S代表在休眠; R代表可運行,正等待運行; Z代表僵化,進程已結束但父進程已不存在; T代表停止)。
PRI:進程的優先級(越大的數字代表越低的優先級)
NI:謙讓度值用來參與決定優先級。
ADDR:進程的內存地址
SZ:假如進程被換出,所需交換空間的大致大小
WCHAN:進程休眠的內核函數的地址

top:實時監測進程

kill:結束進程,必須是進程的屬主或登錄爲root用戶,默認情況下, kill命令會向命令行中列出的全部PID發送一個TERM信號。
在這裏插入圖片描述

kill 3940   //用進程的PID結束進程,TERM信號告訴進程可能的話就停止運行,進程也可能會忽略

如果要強制終止, -s參數支持指定其他信號(用信號名或信號值)

kill -s HUP 3940

killall

 killall http*  //killall命令非常強大,它支持通過進程名而不是PID來結束進程,也支持通配符

mount:掛載媒體,默認情況下, mount命令會輸出當前系統上掛載的
設備列表。
umount:卸載,umount命令支持通過設備文件或者是掛載點來指定要卸載的設備

mount -t vfat /dev/sdb1 /media/disk
umount /home/rich/mnt

df:查看所有已掛載磁盤的使用情況,輸出中的磁盤空間按照用戶易讀的形式顯示用-h參數
du:顯示某個特定目錄(默認情況下是當前目錄)的磁盤使用情況。

du的幾個參數
-c:顯示所有已列出文件總的大小
 -h:按用戶易讀的格式輸出大小,即用K替代千字節,用M替代兆字節,用G替代吉字節
 -s:顯示每個輸出參數的總計

5 處理文件數據

sort,grep,tar
sort:排序數據,默認情況下, sort命令會把數字當做字符來執行標準的字符排序

sort -n file2    //-n參數作用把數字識別成數字而不是字符
-M:按月排序
-r:反序排序

可以用-t參數來指定字段分隔符,然後用-k參數來指定排序的字段
 sort -t ':' -k 3 -n /etc/passwd  //

grep:搜索數據,輸出是包含了匹配模式的行

grep three file1 //在file1文件中搜索含有three的行
參數 : -v:輸出不匹配該模式的行
       -n:顯示匹配模式的行所在的行號
       -c:輸出匹配的行數
       -e:指定多個匹配模式    grep -e t -e f file

tar:歸檔數據

tar -cvf test.tar test/ test2/
參數:
z  打包同時壓縮         c  產生.tar打包文件        v  顯示詳細信息
f  指定打包後的文件名                             x  解包.tar文件

正常使用-zcvf壓縮文件或目錄
正常使用-zxvf解壓文件或目錄

6

exit,sleep,jobs,coproc,type,history,alias

進程列表:( )
在一行依次運行多個命令

 (pwd ; ls ; cd /etc ; pwd ; cd ; pwd ; ls)   //進程列表是在子shell中運行的
 echo $BASH_SUBSHELL  //如果該命令返回0,則沒有子shell;返回大於等於1,則存在子shell。

後臺 :&

sleep 3000&    // &把sleep命令置入後臺模式
(sleep 2 ; echo $BASH_SUBSHELL ; sleep 2)&  //將進程列表置入後臺運行

jobs:顯示後臺作業信息

jobs -l    //l參數可用顯示PID

協程:coproc,在後臺生成一個子shell,並在這個子shell中執行命令

coproc sleep 10    //用jobs命令發現進程名字是COPROC(默認的)
coproc My_Job { sleep 10; }   //My_Job是進程名字

外部命令:存在於bash shell之外的程序,執行時,會創建出一個子進程
內建命令和外部命令的區別在於前者不需要使用子進程來執行
可用type查看

type cd  //內建命令cd
type -a ps  //外部命令,返回命令所在文件

歷史命令:history

!!  //當輸入!!時, bash首先會顯示出從shell的歷史記錄中喚回的命令。然後執行該命令

bash命令的歷史記錄是先存放在內存中,當shell退出時才被寫入到歷史文件中
history -a //在退出shell會話之前強制將命令歷史記錄寫入.bash_history文件

!10 //取出命令列表中第10個命令

命令別名:alias

alias -p  //查看當前可用的別名
alias li='ls -li'
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章