linuxstop
A. linux終止前台進程的命令
1、首先,連接相應linux主機,進入到linux命令行狀態下,等待輸入shell指令。
B. Linux 暫停命令
linux的暫停命令就是將進程殺死。
用一個實例說明:
1、首先使用tar命令打包/usr目錄:
進程恢復運行狀態(R)
C. linux怎麼停止進程
Linux查看進程和終止進程的技巧
1. 在LINUX命令平台輸入1-2個字元後按Tab鍵會自動補全後面的部分(前提是要有這個東西,例如在裝了tomcat的前提下,輸入tomcat的to按tab)。
2. ps 命令用於查看當前正在運行的進程。
grep 是搜索
例如: ps -ef | grep java
表示查看所有進程里CMD是java的進程信息
ps -aux | grep java
-aux 顯示所有狀態
ps
3. kill 命令用於終止進程
例如: kill -9 [PID]
-9表示強迫進程立即停止
通常用ps 查看進程PID ,用kill命令終止進程
網上關於這兩塊的內容
-----------------------------------------------------------------------------------
PS
-----------------------------------------------------------------------------------
1. ps簡介
ps命令就是最根本相應情況下也是相當強大地進程查看命令.運用該命令可以確定有哪些進程正在運行和運行地狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多地資源等等.總之大部分信息均為可以通過執行該命令得到地.
2. ps命令及其參數
ps命令最經常使用地還是用於監控後台進程地工作情況,因為後台進程是不和屏幕鍵盤這些標准輸入/輸出設
備進行通信地,所以如果需要檢測其情況,便可以運用ps命令了.
該命令語法格式如下:
ps [選項]
-e 顯示所有進程,環境變數
-f 全格式
-h 不顯示標題
-l 長格式
-w 寬輸出
a 顯示終端上地所有進程,包括其他用戶地進程
r 只顯示正在運行地進程
x 顯示沒有控制終端地進程
O[+|-] k1 [,[+|-] k2 [,…]] 根據SHORT KEYS、k1、k2中快捷鍵指定地多級排序順序顯示進程列表.
對於ps地不同格式都存在著默認地順序指定.這些默認順序可以被用戶地指定所覆蓋.在這裡面「+」字元是可選地,「-」字元是倒轉指定鍵地方向.
pids只列出進程標識符,之間運用逗號分隔.該進程列表必須在命令行參數地最後一個選項後面緊接著給出,中間不能插入空格.比如:ps -f1,4,5.
以下介紹長命令行選項,這些選項都運用「--」開頭:
--sort X[+|-] key [,[+|-] key [,…]] 從SORT KEYS段中選一個多字母鍵.「+」字元是可選地,因為默認地方向就是按數字升序或者詞典順序.比如: ps -jax -sort=uid,-ppid,+pid.
--help 顯示幫助信息.
--version 顯示該命令地版本信息.
在前面地選項說明中提到了排序鍵,接下來對排序鍵作進一步說明.需要注意地是排序中運用地值是ps運用地內部值,並非僅用於某些輸出格式地偽值.排序鍵列表見表4-3.
表4-3排序鍵列表
c
cmd
可執行地簡單名稱
C
cmdline
完整命令行
f
flags
長模式標志
g
pgrp
進程地組ID
G
tpgid
控制tty進程組ID
j
cutime
累計用戶時間
J
cstime
累計系統時間
k
utime
用戶時間
K
stime
系統時間
m
min_flt
次要頁錯誤地數量
M
maj_flt
重點頁錯誤地數量
n
cmin_flt
累計次要頁錯誤
N
cmaj_flt
累計重點頁錯誤
o
session
對話ID
p
pid
進程ID
P
ppid
父進程ID
r
rss
駐留大小
R
resident
駐留頁
s
size
內存大小(千位元組)
S
share
共享頁地數量
t
tty
tty次要設備號
T
start_time
進程啟動地時間
U
uid
UID
u
user
用戶名
v
vsize
總地虛擬內存數量(位元組)
y
priority
內核調度優先順序
3. 經常使用ps命令參數
最經常使用地三個參數是u、a、x,下面將通過例子來說明其具體用法.
[例20] 以root身份登錄系統,查看當前進程狀況
$ ps
PID TTY TIME COMMAND
5800 ttyp0 00:00:00 bash
5835 ttyp0 00:00:00 ps
可以看到,顯示地項目共分為四項,依次為PID(進程ID)、TTY(終端名稱)、TIME(進程執行時間)
、COMMAND(該進程地命令行輸入).
可以運用u選項來查看進程所有者及其他少許詳細信息,如下所示:
$ ps u
USER PID %CPU %MEM USZ RSS TTY STAT START TIME COMMAND
test 5800 0.0 0.4 1892 1040 ttyp0 S Nov27 0:00 -bash
test 5836 0.0 0.3 2528 856 ttyp0 R Nov27 0:00 ps u
在bash進程前面有條橫線,意味著該進程便是用戶地登錄shell,所以對於一個登錄用戶來說帶短橫線地進程只有一個.還可以看到%CPU、%MEM兩個選項,前者指該進程佔用地CPU時間和總時間地百分比;後者指該進程佔用地內存和總內存地百分比.
在這種情況下看到了所有控制終端地進程;當然對於其他那些沒有控制終端地進程還是沒有觀察到,所以這時就需要運用x選項.運用x選項可以觀察到所有地進程情況.
-----------------------------------------------------------------------------------
KILL
-----------------------------------------------------------------------------------
由於職責的要求,你不得不費力地閱讀那些令你感到費解的晦澀的Linux應用程序的說明文件。然後,你將運行指令和編輯設置文件。一切都在正常 運行,生活真美好。但是,你知道,好時光不會永遠持續下去。當你遇到令人恐懼的「send the process a SIGHUP」提示時,好時光結束了。
什麼是「SIGHUP(啟動信號)」,你如何發送它?它像是你送給你的戀人的一束花嗎?雖然你可以肯定這不是一個命令行指令,不過,你還是試著 鍵入它。當然,這沒有結果。然後,你檢查一下鍵盤。哦,沒有SIGHUP鍵。於是你又重新閱讀這個應用程序的參考指南,看到下面這段文字:
當收到一個hangup(進程結束)信號時,sshd程序會重新閱讀配置文件。通過執行啟動程序時的命令及選項來發送SIGHUP信號,如:/usr/sbin/sshd。
哦,原來是這樣。
程序員 VS 使用者
LINUX程序的在線參考指南作者一般都要既照顧到最終用戶的需求也要照顧到高級程序員的需求。因此,有些說明比較難懂。不過,不要擔心。現在我們就要揭開覆蓋在這些讓人迷惑的內容上面那神秘的面紗。
信號與進程式控制制
這個問題主要屬於信號和進程式控制制的范疇。對於我們系統管理員和普通用戶來說,我們主要關心的是啟動、停止和重新啟動服務、停止失控的進程和被掛起的進程,並且盡可能不中斷系統運行。因為不同的
操作系統和不同的命令外殼處理信號的方式都不相同,我們這里只介紹Linux操作系統和bash外殼。
信號是用來與守護程序和進程通信的。任何活動任務都是一個進程,而守護程序是等待對某些事件做出反應或者按照日程安排執行任務的後台服務。一個 程序必須有建在其中的信號處理程序用於捕獲和應答信號。在LINUX中的signal 參考指南解釋了各種不同信號和這些信號的用途。信號是由「kill」命令發出的。kill -l命令可以顯示一個可用信號列表及其編號。
所有的守護程序和進程都有一個進程ID(PID),例如使用ps命名所顯示的內容:
$ ps aux
USER PID %CPU %MEM TTY STAT COMMAND
root 1 0.0 0.1 ? S init [2]
105 7783 0.0 0.2 ? Ss /usr/bin/dbus-daemon --system
hal 7796 0.0 0.7 ? Ss /usr/sbin/hald
postfix 7957 0.0 0.2 ? S qmgr -l -t fifo -u -c
nagios 8371 0.0 0.2 ? SNs /usr/sbin/nagios /etc/nagios/nagios.cfg
這個輸出是經過簡化的。你在系統中可以看到更多的行和欄目。如果某些進程消耗了你的全部CPU或者內存,你可以在這個輸出的%CPU和%MEM 列中發現它們。找到失控的進程的一種更快捷的方法是使用top命令,因為按照默認的設置,使用佔用CPU資源最多的進程在最上面顯示。我們可以使用一條 「yes」命令來測試一下:
$ yes carla is teh awesum
這個命令將以很高的速度反復顯示「carla is teh awesum」,直到你停止它運行。這將使你的CPU使用率達到警戒線。
$ top
...
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12144 carla 25 0 31592 17m 13m R 93.4 3.5 0:50.26 konsole
22236 carla 15 0 2860 468 400 S 4.3 0.1 0:00.97 yes
分析一下這個結果,你會發現一些有趣的事,你會發現,佔用CPU最多的程序是konsole虛擬終端程序,而不是「yes」命令,這是因為 「yes」命令是在konsole終端程序中運行的。如果在一個「真正的」控制台(按Ctrl+alt+f2鍵)中運行同樣的命令序列,你將看到 「yes」命令被排在第一位。
有許多停止「yes」命令運行的方式。如果你要回到運行它的shell中,按CTRL+c鍵就可以了。或者你可以在另一個shell中用「kill」命令停止「yes」命令的運行,Kill命令後面跟PID或者命令名稱,如下如示:
$ kill 22236
或者
$ killall yes
按CTRL+c鍵發出一個SIGINT(信號2),這個信號是鍵盤要求取得控制權的中斷信號。kill和killall這兩個命令按照默認的設 置都發出一個SIGTERM信號(編號15)。程序中可以設置對SIGTERM信號(15)是捕捉或者忽略,或者以不同的方式解釋。因此,如果你的程序對 於 KILL命令的反應與你預期不同,很可能是被KILL的目標程序的問題。
終止一個父進程通常也終止了它的子進程。不過,情況並不總是如此。你知道子進程是什麼嗎?使用ps命令加上-f選項就可以看到,如下所示:
$ ps axf
22371 ? R 2:35 _ konsole [kdeinit]
22372 pts/3 Ss 0:00 | _ /bin/bash
24322 pts/3 S+ 0:00 | | _ yes carla is teh awesum
22381 pts/4 Rs 0:00 | _ /bin/bash
24323 pts/4 R+ 0:00 | | _ ps axf
現在,回到SIGHUP的話題
SIGHUP的發音是「sig-hup」,是signal hangup的縮寫,含義是「中止信號」。你如何發送一個SIGHUP信號呢?這里有幾種方式:
# kill -HUP [pid]
# killall -HUP [process-name]
# kill -1 [pid]
# killall -1 [process-name]
因此,你可以使用PID或者名稱,信號名稱或者號碼。那麼為什麼要這樣做而不使用/etc/init.d/foo命令重新啟動呢?使用它們自己 的 init(初始化)文件來控制服務是優先選擇的方式,因為這些文件通常包含健全和錯誤檢查以及額外的功能。使用「kill」命令和信號的主要原因是盡可能 明確地終止掛起和失控的進程,而不必重新啟動或者登出。
終止進程
正如你在關於信號的man page中所看到的,有十幾種控制進程的方法。下面是一些常用的方法:
kill -STOP [pid]
發送SIGSTOP (17,19,23)停止一個進程,而並不消滅這個進程。
kill -CONT [pid]
發送SIGCONT (19,18,25)重新開始一個停止的進程。
kill -KILL [pid]
發送SIGKILL (9)強迫進程立即停止,並且不實施清理操作。
kill -9 -1
終止你擁有的全部進程。
SIGKILL和SIGSTOP信號不能被捕捉、封鎖或者忽略,但是,其它的信號可以。所以這是你的終極武器。
Bash shell的Kil命令l
Bash外殼包含一個內置的kill命令,當執行下面命令:
$ type -all kill
kill is a shell built-in
kill is /bin/kill
命令的結果表明有兩個kill命令,一個是BASH的內置命令,另一個是/bin/kill可執行程序。一般來說這兩個命令不太可能遇到沖突的情況,不過,如果你確實遇到了kill命令行為異常時,你可以明確的指定/bin/kill命令。
你一定要進一步查閱下面的資源中列出的參考資源來了解Linux中kill的妙用,因為這是你進入維護Linux系統領域的門票。這些知識能夠讓你像做外科手術一樣對系統進行維護,而不用在遇到問題時每一次都重新啟動系統,就像我們知道的某些蹩腳的
操作系統那樣。
資源
Linux Cookbook一書的第七章「開始和終止Linux」
bash (1) - GNU Bourne-Again Shell
yes (1) - 在被終止前反復列印字元
signal (7) - 可用信號列表
ps (1) - 報告當前進程的快照
kill (1) - 向一個進程發出信號
killall (1) - 按名字消滅進程
pkill (1) - 根據名字和其它屬性查看或者發出進程信號
skill (1) - 發送一個信號或者報告進程狀態
xkill (1) - 按照X資源消滅一個客戶程序
D. Linux中怎麼終止正在運行的後台程序
xkill應用程序可以幫助你快速殺死你的桌面上的任何圖形窗口。
1、通過按下Ctrl + Alt + Esc鍵可激活此快捷方式。您的游標會變成一個X.點擊窗口與xkill功能來確定哪些進程與該窗口關聯,然後立即殺掉該進程。該窗口將瞬間關閉。
E. linux用什麼命令結束後台進程
結束進程方式:kill+進程編號、kill -s 9 進程編號強制結束。
1、先啟動一個進程作為測試使用,如圖:
F. Linux下, 啟動、重啟、停止, 服務的命令是多少
啟動直接點開機鍵就可以。
重啟reboot 就可以了。
關機,init3、shutdown -f now、halt 都可以關機。
重啟服務services 服務 restart。
停止服務services 服務 stop。
開始服務services 服務 start。
服務狀態services 服務 status。
(6)linuxstop擴展閱讀:
常用命令及技巧:通用命令。
1、date :列印或者設置系統的日期和時間
2、 stty -a:可以查看或者列印控制字元(Ctrl-C、Ctrl-D、 Ctrl-Z等)
3、 passwd:用passwd -h查看
4、logout,login: 登錄shell的登錄和注銷命令
5、 more, less, head tail: 顯示或部分顯示文件內容
6、 lp/lpstat/cancel, lpr/lpq/lprm: 列印文件
7、 chmod u+x:更改文件許可權
8、 rm -fr dir:刪除非空目錄
9、cp -R dir:拷貝目錄
10、 fg jobid :可以將一個後台進程放到前台
G. linux中setup設置防火牆時,可以定製,分別有三項,STOP START和status,那status是什麼意思
selinux 中文有三種選項:
強制:表示所有程序運行完全遵循selinux的規則來做(selinux安全級別比較高,如果配置不正確應用程序會出現蔽咐莫名其妙的錯誤)
允許:是表示使用selinux規則,但不做任何限制,只在日誌文件中發出警告信息。
禁用:是不使用selinux規則。
如宏困純果你是尺銷新手,或是對selinux不熟悉,請選擇後倆個選項。否則你會有一個非常痛苦的經歷。
H. linux 如何啟動,停止,查看服務
可以使用chkconfig --list來列出所有的系統服務,也可以使用service --status-all來查看啟動的服務。通過service 服務名 stop 命令來停止服務。
命令說明:
chkconfig命令
chkconfig命令檢查、設置系統的各種服務。這是Red Hat公司遵循GPL規則所開發的程序,它可查詢操作系統在每一個執行等級中會執行哪些系統服務,其中包括各類常駐服務。謹記chkconfig不是立即自動禁止或激活一個服務,它只是簡單的改變了符號連接。
語法
chkconfig(選項)
選項
--add:增加所指定的系統服務,讓chkconfig指令得以管理它,並同時在系統啟動的敘述文件內增加相關數據;
--del:刪除所指定的系統服務,不再由chkconfig指令管理,並同時在系統啟動的敘述文件內刪除相關數據;
--level:指定讀系統服務要在哪一個執行等級中開啟或關畢。
等級代號列表:
等級0表示:表示關機
等級1表示:單用戶模式
等級2表示:無網路連接的多用戶命令行模式
等級3表示:有網路連接的多用戶命令行模式
等級4表示:不可用
等級5表示:帶圖形界面的多用戶模式
等級6表示:重新啟動
需要說明的是,level選項可以指定要查看的運行級而不一定是當前運行級。對於每個運行級,只能有一個啟動腳本或者停止腳本。當切換運行級時,init不會重新啟動已經啟動的服務,也不會再次去停止已經停止的服務。
運行級文件:
每個被chkconfig管理的服務需要在對應的init.d下的腳本加上兩行或者更多行的注釋。第一行告訴chkconfig預設啟動的運行級以及啟動和停止的優先順序。如果某服務預設不在任何運行級啟動,那麼使用-代替運行級。第二行對服務進行描述,可以用\跨行注釋。
例如random.init包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.
實例
chkconfig --list #列出所有的系統服務。
chkconfig --add httpd #增加httpd服務。
chkconfig --del httpd #刪除httpd服務。
chkconfig --level httpd 2345 on #設置httpd在運行級別為2、3、4、5的情況下都是on(開啟)的狀態。
chkconfig --list #列出系統所有的服務啟動情況。
chkconfig --list mysqld #列出mysqld服務設置情況。
chkconfig --level 35 mysqld on #設定mysqld在等級3和5為開機運行服務,--level 35表示操作只在等級3和5執行,on表示啟動,off表示關閉。
chkconfig mysqld on #設定mysqld在各等級為on,「各等級」包括2、3、4、5等級。
service命令
service命令是Redhat Linux兼容的發行版中用來控制系統服務的實用工具,它以啟動、停止、重新啟動和關閉系統服務,還可以顯示所有系統服務的當前狀態。
語法
service(選項)(參數)
選項
-h:顯示幫助信息;
--status-all:顯示所服務的狀態。
參數
服務名:自動要控制的服務名,即/etc/init.d目錄下的腳本文件名;
控制命令:系統服務腳本支持的控制命令。
I. Linux幾種中斷信號的區別:HUP,INT,KILL,TERM,TSTP
Linux的HUP,INT,KILL,TERM,TSTP中斷信號區別為:鍵入不同、對應操作不同、啟用不同。
一、鍵入不同
1、HUP中斷信號:HUP中斷信號是當用戶鍵入<Ctrl+X>時由終端驅動程序發送的信號。
2、INT中斷信號:INT中斷信號是當用戶鍵入<Ctrl+I>時由終端驅動程序發送的信號。
3、KILL中斷信號:KILL中斷信號是當用戶鍵入<Ctrl+Z>時由終端驅動程序發送的信號。
4、TERM中斷信號:TERM中斷信號是當用戶鍵入<Ctrl+>時由終端驅動程序發送的信號。
5、TSTP中斷信號:TSTP中斷信號是當用戶鍵入<Ctrl+T>時由終端驅動程序發送的信號。二、對應操作不同
1、HUP中斷信號:HUP中斷信號的對應操作為讓進程掛起,睡眠。
2、INT中斷信號:INT中斷信號的對應操作為正常關閉所有進程。
3、KILL中斷信號:KILL中斷信號的對應操作為強制關閉所有進程。
4、TERM中斷信號:TERM中斷信號的對應操作為正常的退出進程。
5、TSTP中斷信號:TSTP中斷信號的對應操作為暫時停用進程。
三、啟用不同
1、HUP中斷信號:HUP中斷信號發送後,可以重新被用戶再次輸入恢復啟用進程。
2、INT中斷信號:INT中斷信號發送後,不可以重新被用戶再次輸入恢復啟用進程。
3、KILL中斷信號:KILL中斷信號發送後,不可以重新被用戶再次輸入恢復啟用進程。
4、TERM中斷信號:TERM中斷信號發送後,可以重新被用戶再次輸入啟用進程。
5、TSTP中斷信號:TSTP中斷信號發送後,可以重新被用戶再次輸入繼續使用進程。
J. Linux停止命令繼續執行的方法是什麼
Linux系統下如果某個命令不需要,或者它一直循環無法結束,這時候需要終止該命令要怎麼辦呢?下面由我為大家整理了linux的停止命令的相關知識,希望對大家有幫助!
linux停止命令方法
終止某個出錯程序的另外一個辦法是kill(殺)掉它的進程。請按照下面的方法進行操作:
1) 輸入“ps”命令獲取進程的PID,這個命令要求你是運行這個程序的那個人或者是根用戶。如果是根用戶,請輸入“ps -aux”命令查看所有的進程,不管是誰擁有它們的。
2) 在清單中找到這個出錯進程。因為程序的名稱列在清單的最右邊,通常一眼就可以找到它。
3) 請記下ps命令輸出清單中進程狀態行最左邊的ID數字。
4) 輸入“kill ID”,終止該進程。
5) 使用ps命令查看該進程是否仍在運行中。
6) 如果它沒有出現在清單中,你就已經完成了操作。如果它還在運行中,請輸入“ kill 9 ID”。這個命令就可以達到目的。這個命令強制性地終止了那個進程,並不進行善後工作,因此不到必要的時候最好別使用它。
linux停止命令其他方法
終止當前正在執行的某個命令最快的方法是按下組合鍵“Ctrl+C”。這個方法只有在用戶能夠從某個虛擬控制台上控制這個程序的時候才奏效。
補充:Linux基礎實用命令
1、cd命令
這是一個非常基本,也是大家經常需要使用的命令,它用於切換當前目錄,它的參數是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑。
2、ls命令
這是一個非常有用的查看文件與目錄的命令,list之意,它的參數非常多,下面就列出一些我常用的參數吧,如下:
-l :列出長數據串,包含文件的屬性與許可權數據等
-a :列出全部的文件,連同隱藏文件(開頭為.的文件)一起列出來(常用)
-d :僅列出目錄本身,而不是列出目錄的文件數據
-h :將文件容量以較易讀的方式(GB,kB等)列出來
-R :連同子目錄的內容一起列出(遞歸列出),等於該目錄下的所有文件都會顯示出來
3、grep命令
該命令常用於分析一行的信息,若當中有我們所需要的信息,就將該行顯示出來,該命令通常與管道命令一起使用,用於對一些命令的輸出進行篩選加工等等,它的簡單語法為
grep [-acinv] [--color=auto] '查找字元串' filename
它的常用參數如下:
-a :將binary文件以text文件的方式查找數據
-c :計算找到‘查找字元串’的次數
-i :忽略大小寫的區別,即把大小寫視為相同
-v :反向選擇,即顯示出沒有‘查找字元串’內容的那一行
# 例如:
# 取出文件/etc/man.config中包含MANPATH的行,並把找到的關鍵字加上顏色
grep --color=auto 'MANPATH' /etc/man.config
# 把ls -l的輸出中包含字母file(不區分大小寫)的內容輸出
ls -l | grep -i file
4、find命令
find是一個基於查找的功能非常強大的命令,相對而言,它的使用也相對較為復雜,參數也比較多,所以在這里將給把它們分類列出,它的基本語法如下:
find [PATH] [option] [action]
# 與時間有關的參數:
-mtime n : n為數字,意思為在n天之前的“一天內”被更改過的文件;
-mtime +n : 列出在n天之前(不含n天本身)被更改過的文件名;
-mtime -n : 列出在n天之內(含n天本身)被更改過的文件名;
-newer file : 列出比file還要新的文件名
# 例如:
find /root -mtime 0 # 在當前目錄下查找今天之內有改動的文件
# 與用戶或用戶組名有關的參數:
-user name : 列出文件所有者為name的文件
-group name : 列出文件所屬用戶組為name的文件
-uid n : 列出文件所有者為用戶ID為n的文件
-gid n : 列出文件所屬用戶組為用戶組ID為n的文件
# 例如:
find /home/ljianhui -user ljianhui # 在目錄/home/ljianhui中找出所有者為ljianhui的文件
# 與文件許可權及名稱有關的參數:
-name filename :找出文件名為filename的文件
-size [+-]SIZE :找出比SIZE還要大(+)或小(-)的文件
-tpye TYPE :查找文件的類型為TYPE的文件,TYPE的值主要有:一般文件(f)、設備文件(b、c)、
目錄(d)、連接文件(l)、socket(s)、FIFO管道文件(p);
-perm mode :查找文件許可權剛好等於mode的文件,mode用數字表示,如0755;
-perm -mode :查找文件許可權必須要全部包括mode許可權的文件,mode用數字表示
-perm +mode :查找文件許可權包含任一mode的許可權的文件,mode用數字表示
# 例如:
find / -name passwd # 查找文件名為passwd的文件
find . -perm 0755 # 查找當前目錄中文件許可權的0755的文件
find . -size +12k # 查找當前目錄中大於12KB的文件,注意c表示byte
5、cp命令
該命令用於復制文件,之意,它還可以把多個文件一次性地復制到一個目錄下,它的常用參數如下:
-a :將文件的特性一起復制
-p :連同文件的屬性一起復制,而非使用默認方式,與-a相似,常用於備份
-i :若目標文件已經存在時,在覆蓋時會先詢問操作的進行
-r :遞歸持續復制,用於目錄的復制行為
-u :目標文件與源文件有差異時才會復制
6、mv命令
該命令用於移動文件、目錄或更名,move之意,它的常用參數如下:
-f :force強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋
-i :若目標文件已經存在,就會詢問是否覆蓋
-u :若目標文件已經存在,且比目標文件新,才會更新
註:該命令可以把一個文件或多個文件一次移動一個文件夾中,但是最後一個目標文件一定要是“目錄”。
例如:
mv file1 file2 file3 dir # 把文件file1、file2、file3移動到目錄dir中
mv file1 file2 # 把文件file1重命名為file2
7、rm命令
該命令用於刪除文件或目錄,remove之間,它的常用參數如下:
-f :就是force的意思,忽略不存在的文件,不會出現警告消息
-i :互動模式,在刪除前會詢問用戶是否操作
-r :遞歸刪除,最常用於目錄刪除,它是一個非常危險的參數
例如:
rm -i file # 刪除文件file,在刪除之前會詢問是否進行該操作
rm -fr dir # 強制刪除目錄dir中的所有文件
8、ps命令
該命令用於將某個時間點的進程運行情況選取下來並輸出,process之意,它的常用參數如下:
-A :所有的進程均顯示出來
-a :不與terminal有關的所有進程
-u :有效用戶的相關進程
-x :一般與a參數一起使用,可列出較完整的信息
-l :較長,較詳細地將PID的信息列出
其實我們只要記住ps一般使用的命令參數搭配即可,它們並不多,如下:
ps aux # 查看系統所有的進程數據
ps ax # 查看不與terminal有關的所有進程
ps -lA # 查看系統所有的進程數據
ps axjf # 查看連同一部分進程樹狀態
9、kill命令
該命令用於向某個工作(%jobnumber)或者是某個PID(數字)傳送一個信號,它通常與ps和jobs命令一起使用,它的基本語法如下:
kill -signal PID
signal的常用參數如下:
註:最前面的數字為信號的代號,使用時可以用代號代替相應的信號。
1:SIGHUP,啟動被終止的進程
2:SIGINT,相當於輸入ctrl+c,中斷一個程序的進行
9:SIGKILL,強制中斷一個進程的進行
15:SIGTERM,以正常的結束進程方式來終止進程
17:SIGSTOP,相當於輸入ctrl+z,暫停一個進程的進行
例如:
# 以正常的結束進程方式來終於第一個後台工作,可用jobs命令查看後台中的第一個工作進程
kill -SIGTERM %1
# 重新改動進程ID為PID的進程,PID可用ps命令通過管道命令加上grep命令進行篩選獲得
kill -SIGHUP PID
10、killall命令
該命令用於向一個命令啟動的進程發送一個信號,它的一般語法如下:
killall [-iIe] [command name]
它的參數如下:
-i :互動式的意思,若需要刪除時,會詢問用戶
-e :表示後面接的command name要一致,但command name不能超過15個字元
-I :命令名稱忽略大小寫
# 例如:
killall -SIGHUP syslogd # 重新啟動syslogd
11、file命令
該命令用於判斷接在file命令後的文件的基本數據,因為在Linux下文件的類型並不是以後綴為分的,所以這個命令對我們來說就很有用了,它的用法非常簡單,基本語法如下:
file filename
#例如:
file ./test
12、tar命令
該命令用於對文件進行打包,默認情況並不會壓縮,如果指定了相應的參數,它還會調用相應的壓縮程序(如gzip和bzip等)進行壓縮和解壓。它的常用參數如下:
-c :新建打包文件
-t :查看打包文件的內容含有哪些文件名
-x :解打包或解壓縮的功能,可以搭配-C(大寫)指定解壓的目錄,注意-c,-t,-x不能同時出現在同一條命令中
-j :通過bzip2的支持進行壓縮/解壓縮
-z :通過gzip的支持進行壓縮/解壓縮
-v :在壓縮/解壓縮過程中,將正在處理的文件名顯示出來
-f filename :filename為要處理的文件
-C dir :指定壓縮/解壓縮的目錄dir
13、cat命令
該命令用於查看文本文件的內容,後接要查看的文件名,通常可用管道與more和less一起使用,從而可以一頁頁地查看數據。例如:
cat text | less # 查看text文件中的內容
# 註:這條命令也可以使用less text來代替
14、chgrp命令
該命令用於改變文件所屬用戶組,它的使用非常簡單,它的基本用法如下:
chgrp [-R] dirname/filename
-R :進行遞歸的持續對所有文件和子目錄更改
# 例如:
chgrp users -R ./dir # 遞歸地把dir目錄下中的所有文件和子目錄下所有文件的用戶組修改為users
15、chown命令
該命令用於改變文件的所有者,與chgrp命令的使用方法相同,只是修改的文件屬性不同,不再詳述。
16、chmod命令
該命令用於改變文件的許可權,一般的用法如下:
chmod [-R] xyz 文件或目錄
-R:進行遞歸的持續更改,即連同子目錄下的所有文件都會更改
同時,chmod還可以使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(刪除)、=(設置)跟rwx搭配來對文件的許可權進行更改。
# 例如:
chmod 0755 file # 把file的文件許可權改變為-rxwr-xr-x
chmod g+w file # 向file的文件許可權中加入用戶組可寫許可權
18、vim命令
該命令主要用於文本編輯,它接一個或多個文件名作為參數,如果文件存在就打開,如果文件不存在就以該文件名創建一個文件。vim是一個非常好用的文本編輯器,它裡面有很多非常好用的命令,在這里不再多說。你可以從這里下載vim常用操作的詳細說明。
19、gcc命令
對於一個用Linux開發C程序的人來說,這個命令就非常重要了,它用於把C語言的源程序文件,編譯成可執行程序,由於g++的很多參數跟它非常相似,所以這里只介紹gcc的參數,它的常用參數如下:
-o :output之意,用於指定生成一個可執行文件的文件名
-c :用於把源文件生成目標文件(.o),並阻止編譯器創建一個完整的程序
-I :增加編譯時搜索頭文件的路徑
-L :增加編譯時搜索靜態連接庫的路徑
-S :把源文件生成匯編代碼文件
-lm:表示標准庫的目錄中名為libm.a的函數庫
-lpthread :連接NPTL實現的線程庫
-std= :用於指定把使用的C語言的版本
# 例如:
# 把源文件test.c按照c99標准編譯成可執行程序test
gcc -o test test.c -lm -std=c99
#把源文件test.c轉換為相應的匯編程序源文件test.s
gcc -S test.c
20、time命令
該命令用於測算一個命令(即程序)的執行時間。它的使用非常簡單,就像平時輸入命令一樣,不過在命令的前面加入一個time即可,例如:
time ./process
time ps aux
在程序或命令運行結束後,在最後輸出了三個時間,它們分別是:
user:用戶CPU時間,命令執行完成花費的用戶CPU時間,即命令在用戶態中執行時間總和;
system:系統CPU時間,命令執行完成花費的系統CPU時間,即命令在核心態中執行時間總和;
real:實際時間,從command命令行開始執行到運行終止的消逝時間;