在我們滲透測試的過程中,通常會需要向目標主機傳送一些文件,來達到提權,維持控制等目的。因此當不方便進行直接傳輸時,同時目標主機是能有網(wǎng)絡連接的,那么此時就可以通過本地下載這種方法來達到文件傳輸?shù)哪康摹4似恼?,我會對互?lián)網(wǎng)上針對win與linux大部分的下載指令來做一個匯總,可能會有疏漏,但匯總的都是經常會用的。
創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡營銷推廣、網(wǎng)站重做改版、新晃網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5頁面制作、購物商城網(wǎng)站建設、集團公司官網(wǎng)建設、外貿網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為新晃等各大城市提供網(wǎng)站開發(fā)制作服務。
這款工具功能很豐富,可以充當某種功能完備的GUI下載管理器,它擁有一款理想的下載管理器所需要的所有功能,比如它可以恢復下載,可以下載多個文件,出現(xiàn)某個連接問題后,可以重新嘗試下載,你甚至可以管理最大的下載帶寬。
直接下載:
后臺下載:
如果互聯(lián)網(wǎng)連接出現(xiàn)中斷,恢復下載:
從某個密碼保護的ftp軟件庫下載文件:
Curl是另一種高效的下載工具,它可以用來上傳或下載文件,只要使用一個簡單的命令。它支持暫停和恢復下載程序包,并支持數(shù)量最多的Web協(xié)議,可預測下載完成還剩余多少時間,可通過進度條來顯示下載進度。它是所有Linux發(fā)行版的內置工具。
直接下載:
借助-o選項,提供名稱,下載文件會以該名稱保存;如使用-O選項,文件就會以原始名稱保存。
這是wget的出色替代者,是一款輕量級下載實用工具。它實際上是個加速器,因為它打開了多路http連接,可下載獨立文件片段,因而文件下載起來更快速。
直接下載:
這是一種開源命令行下載加速器,支持多個端口,你可以使用最大帶寬來下載文件,是一款易于安裝、易于使用的工具。
直接下載:
Perl是一門很吊的語言,使用它基本可以實現(xiàn)任何事情,用它實現(xiàn)文件下載也很簡單。
執(zhí)行腳本文件是這樣:
Python也是很受歡迎的主流腳本語言,代碼清晰且簡潔:
Ruby是一個面對對象的語言,Metasploit框架就是用它來實現(xiàn)的,當然他也可以實現(xiàn)像下載文件這樣的小任務。
執(zhí)行腳本文件是這樣;
PHP作為一種服務端腳本,也可以實現(xiàn)下載文件這種功能。
執(zhí)行腳本文件是這樣:
一般情況下攻擊者使用FTP上傳文件需要很多交互的步驟,下面這個 bash 腳本,考慮到了交互的情況,可以直接執(zhí)行并不會產生交互動作。
當然根據(jù)實際情況也可以進入交互終端:
攻擊者的電腦上輸入:
這個命令會將file的內容輸出到本地的1234端口中,然后不論誰連接此端口,file的內容將會發(fā)送到連接過來的IP。
目標電腦上的命令:
這條命令將連接攻擊者的電腦,接受file內容保存。
PowerShell 是一種winodws原生的腳本語言,對于熟練使用它的人來說,可以實現(xiàn)很多復雜的功能。
下面這兩條指令實現(xiàn)了從Internet網(wǎng)絡下載一個文件。
可以應用到: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2
文件下載并執(zhí)行如下:
在1998年Visual Basic最終標準在windows上確定。下面的代碼可以實現(xiàn)下載文件,雖然它的長度比Powershell長多了。
在windows中Cscript指令可以允許你執(zhí)行VBS腳本文件或者對script腳本做一些設置。在windows 7中這個指令并不是必須要用到。但是在windows XP中需要使用這條指令,如下所示:
在Windows Vista以及以后的版本中默認有FTP,可以使用以下命令運行:
上傳:
下載:
Bitsadmin是Windows命令行工具,用戶可以使用它來創(chuàng)建下載或上傳的任務。只能命令下載到指定路徑上,win7以上:
mshta 內容如下:
依賴于WScript.shell這個組件:
Regsvr32命令用于注冊COM組件,是 Windows 系統(tǒng)提供的用來向系統(tǒng)注冊控件或者卸載控件的命令,以命令行方式運行。
WinXP及以上系統(tǒng)的regsvr32.exe在windowssystem32文件夾下;2000系統(tǒng)的regsvr32.exe在winntsystem32文件夾下。
test.data內容:
還可以利用 生成sct文件:
Windows shares可以加載一個驅動器,然后用命令來復制文件。
加載遠程驅動:
當需要把一個exe文件放到目標計算機上時,Nishang可以使用PowerShell允許你把一個exe轉換成hex,然后把hex再轉換成原來的exe文件:
把exe轉成hex文件輸入:
打開evil.txt文件,復制內容,然后通過RDP的剪貼板復制進目標計算機,把hex文件還原成exe文件輸入:
1.MSXSL.EXE
msxsl.exe是微軟用于命令行下處理XSL的一個程序,所以通過他,我們可以執(zhí)行JavaScript進而執(zhí)行系統(tǒng)命令。
2.pubprn.vbs在Windows 7以上版本存在一個名為PubPrn.vbs的微軟已簽名WSH腳本,其位于
3.esentutl.exe/extrac32.exe
4.desktopimgdownldr.exedesktopimgdownldr.exe 位于 Win10 的 system32 文件夾中,原本用于設置鎖定屏幕或桌面背景圖像的。
普通用戶可以用:
這樣來下載文件。
可以把C:ProgramData來改成一個普通用戶可寫的目錄。
下載的文件存放于:
管理員用戶會多寫一個注冊表項,所以管理員最好的命令是:
作者:肖洋肖恩、
原文鏈接:
安裝軟件---這個操作在WINDOWS的世界里很簡單,下載軟件雙擊exe文件即可,還有自動運行方式的,復雜點的執(zhí)行bat之類的可執(zhí)行程序即可。但Linux不然,因Linux版本過多,導致軟件的安裝方法五花八門。本文只是將Linux的軟件安裝方式進行匯總和整理,沒有過多的技術難度,僅供參考。
Linux下主要有兩種方式,主要分在線安裝和線下安裝。(以下介紹的方式基本涵蓋所有Linux系統(tǒng)的軟件安裝方式)
一、在線安裝
1、軟件管理中心安裝。(ubuntu)1)更新源sudo apt-get update2)打開軟件中心,搜索你要安裝的軟件,雙擊安裝即可。例如安裝apache,如下圖
2、命令行安裝方式
1)更新,命令:apt-get update
2)查找你要安裝的軟件,apt-cache search “軟件名”
3)apt-get install 軟件名
以上在線的兩種方式都提到了apt-get 方式,那么它的工作原理簡單說明一下,apt-get相關的有兩個重要文件:1、是/etc/sources.list,2、是/var/lib/apt/lists/目錄.
當我們執(zhí)行apt-get update程序分析sources.list看這個文件里是否有對應的Packages/Sources/Release列表文件,如果有更新則下載之,存入/var/lib/apt/lists/目錄(其實就是保持與當前系統(tǒng)版本軟件源表最新);apt-get install 安裝相應的包 ,下載并安裝。
這種方式的好處在于:如果你想要加載的應用需要依賴另一個應用程序才能正常工作,apt-get會幫你找到并加載所需的程序庫或應用代碼,這種方式是比較常用的的。比如我們執(zhí)行apt-get install mysql-server,可以看到相關的依賴包(如圖)
二、線下安裝
之所以叫線下的安裝方式,也就是說你要把軟件下載到本地去安裝。一般我們下載的文件后綴名都是zip、tar.gz等壓縮包,解壓后會看到rpm、bin、deb、run之類擴展名文件。很多軟件都會提供不同LINUX版本的安裝格式,你可以根據(jù)自己的系統(tǒng)下載不同擴展名的軟件。
1、rpm安裝包:這時一款老牌的安裝格式,是紅帽創(chuàng)建的安裝格式,現(xiàn)在已成為一種標準,常用在opensuse/turbo/redhat版本),安裝方法rpm -ivh 軟件名.rpm (如果只是安裝一個i參數(shù)就夠了,如果還要看安裝進度和軟件信息就加個vh)
2、deb安裝包:DEB是Debian軟件包格式的文件擴展名,常用在centos/ubuntu,在蘋果系統(tǒng)里也常見此安裝方式。安裝方法:dpkg -i 軟件名.deb
3、run安裝包:以QT(一種編程工具)的安裝文件為例,
1)授權: chmod x qt-unified-linux-x64-2.0.2-2-online.run
2)執(zhí)行:./qt-unified-linux-x64-2.0.2-2-online.run即可安裝。
4、bin安裝包:bin包是一個自解壓格式的安裝包,要想執(zhí)行它,需要先賦予它可執(zhí)行的權限。
(以安裝jdk為例)# chmod x jdk-6u21-linux-i586.bin# ./jdk-6u21-linux-i586.bin
5、編譯后安裝方式:
舉例安裝nagios插件(nagios是一種開源的監(jiān)控軟件,需要多種插件支持監(jiān)控模塊)
1)cd /tmp/nagios-plugins-* //先進入目錄
2)./configure --with-nagios-user=nagios --with-nagios-group=nagios // 配置,即安裝的用戶安裝的路徑都可在此設置,這一步一般用來生成 Makefile,為下一步的編譯做準備
3)make //編譯過程如果 在 make 過程中出現(xiàn) error ,你就要記下錯誤代碼,缺少什么包就按照什么包。
4) make install //如果make無問題就可以直接安裝了。
這種安裝方法的好處是你可以自定義安裝路徑、安裝賬號等參數(shù),常見開源平臺下載的源碼安裝方式。
6、其它,還有一些軟件解壓后生成的文件夾內包含很多文件,一般文件夾內有install.sh、setup.py等安裝文件方式,此種方式類似windows的exe安裝方式,你需要先授權該文件的可執(zhí)行權限,在執(zhí)行安裝。以上基本上囊括了所有的Linux環(huán)境下的軟件安裝方式,供各位參考。
*************基本shell命令的使用******
1、在/home目錄中創(chuàng)建兩個文件夾,分別命名為dir1和dir2,在dir1下創(chuàng)建子目錄d1,在dir1下創(chuàng)建子目錄d2,分別對目錄進行移動和刪除的操作。
(1)在終端提示符下輸入命令“mkdir
/home/dir1”,在home下創(chuàng)建dir1目錄。輸入命令“l(fā)s
/home”,可以看到dir1創(chuàng)建成功。
(2)在終端提示符下輸入命令“mkdir
/home/dir1/d1”,在dir1下創(chuàng)建子目錄d1。輸入命令“l(fā)s
/home/dir1”,可以看到d1創(chuàng)建成功。
(3)在終端提示符下輸入命令“mkdir
–p
/home/dir2/d2”,在home下創(chuàng)建子目錄dir2,同時在dir2下創(chuàng)建子目錄d2。輸入命令“l(fā)s/home”,可以看到dir2創(chuàng)建成功。
(4)輸入命令“cd
/home/dir2”,將工作路徑轉至/home/dir2。輸入命令“l(fā)s”,可以看到d2創(chuàng)建成功。
(5)輸入命令“cd
..”,將工作路徑轉至/home。
(6)輸入命令“pwd”,顯示當前工作路徑為“/home”。
(7)輸入命令“cd”,將工作路徑轉至用戶主目錄。
(8)輸入命令“mv
/home/dir1/d1
/home/dir2”,將d1文件夾移動到dir2中。輸入命令“l(fā)s/home/dir2”和“l(fā)s/home/dirl”,可以看到移動成功。
(9)輸入命令“rmdir
/home/dir2/dl”,刪除dl文件夾。輸入命令“l(fā)s/home/dir2”,可以看到刪除d1成功。
(10)輸入命令“rmdir
–p
/home/dir2/d2”,刪除dir2和d2文件夾。輸入命令“l(fā)s
/home”,可以看到刪除dir2成功。
2、在/home目錄中創(chuàng)建一個名為f1的文件,對其進行復制、移動和刪除等基本操作。
(1)在終端提示符下輸入命令“cd
/home”,將當前的工作路徑轉換為/home。
(2)在終端提示符下輸入命令“cat
f1”,之后輸入f1的文本內容“this
is
f1”,按下ctrl+d快捷鍵結束輸入。輸入命令“l(fā)s”可以看到f1創(chuàng)建成功。
(3)在終端提示符下輸入命令“cp
f1
dir1”,將f1復制到文件夾dir1中,輸入命令“l(fā)s
/home/dir1”,可以看到f1復制成功。
(4)輸入命令“rm
f1”,刪除/home中的f1文件。在出現(xiàn)的提示信息后輸入“y”,輸入命令“l(fā)s”,可以看到f1刪除成功。
(5)輸入命令“mv
dirl/fl
/home”,將fl文件從dirl目錄中移動到/home。輸入命令“l(fā)s”,可以看到f1移動成功。
3、在/home目錄中創(chuàng)建一個名為f2的文件,對其進行查找、統(tǒng)計等基本操作。
(1)在終端提示符下輸入命令“cat
f2”,之后輸入f2的文本內容如下:
linux
is
an
operating
system
for
computers.comparable
to
windows
or
mac
os
x.it
was
originally
created
starting
in
1
99
1
by
finnish
programmer
linus(pronounced
lee—nus)
torvalds
with
the
assistance
of
developers
from
around
the
globe.
按下ctrl+d快捷鍵結束輸入。再輸入命令“l(fā)s”可以看到f2創(chuàng)建成功。
(2)輸入命令“head
-3
f2”,查看文件前3行文本內容。
(3)輸入命令“tail
-2
f2”,查看文件最后兩行文本內容。
(4)輸入命令“grep‘linux’f2”,查找含有字符串“l(fā)inux”的文本行。
(5)輸入命令“wc
-w
f2”,統(tǒng)計f2中的單詞個數(shù)。
(6)輸入命令“find
f*”,在當前目錄中查找以“f”開頭的文件。
4、shell的高級應用。
(1)假定當前的目錄是/home,輸入命令“cd
d”之后按下tab鍵,系統(tǒng)自動補全命令“cd
dir1”,按下回車鍵后工作路徑從當前的目錄轉換到/home/dir1下。
(2)輸入命令“history
5”顯示最近執(zhí)行的5條命令。
(3)輸入命令“alias
cgdir=‘cd
/home’”,為命令“cd
/home”設置別名“cgdir”。輸入命令“cgdir”,工作路徑從當前的目錄轉換到/home下。
(4)輸入命令“l(fā)s
[!a-c]*,顯示開頭字符不是a、b、c的文件和文件夾。
1.列出文件清單命令:ls
ls命令能夠列出當前目錄下的所有內容。ls 命令的執(zhí)行方式為:
# ls [-選項] [文件名或者目錄名]
進入到Linux命令行中后,我們至少要知道當前所處的位置有哪些內容,這些信息就可以使用ls命令來獲得。
在Linux中,ls命令是最常使用的命令之一,因為在命令行下要隨時查看目錄內容。如果不加任何選項的話,ls命令僅列出當前目錄下的文件和目錄名,例如,想要查看/etc目錄下的內容,可以使用下列命令:
# ls /etc
如果想要列出當前目錄下所有文件,則可以使用下列命令:
# ls -a
2、cat命令
功能:在標準輸出上顯示文件。
語法:cat [-vTEuAte] 文件
例子: cat example.txt
cat -A exam2.txt
cat file1 file2 file2
3、more命令
功能:在終端屏幕按屏顯示文本文件。
語法: more [-pcdls] 文件
例子: more example.c
more -dc example.c
more -c -10 example.c
4、less命令
less命令的功能幾乎和more命令一樣,也是用來按頁顯示文件,不同之處在于less命令在顯示文件時允許用戶既
可以向前又可以向后翻閱文件。
5、head命令
功能:顯示指定文件的前若干行。缺省設置為顯示10行
語法:head [-n] 文件
例子: head example.c
head -3 example.c
6、tail命令
功能:顯示指定文件的末尾若干行。缺省設置為顯示10行
語法:tail [+ / - num ] [參數(shù)] 文件
+num 從第num行以后開始顯示。- num 從距文件尾num行處開始顯示。
例子: tail example.c
tail -4 example.c
7、grep、fgrep和egrep命令
功能:
這組命令以指定模式搜索文件,并通知用戶在什么文件中搜索到與指定的模式匹配的字符串,并打印出所有包含該字符串的文本行,在該文本行的最前面是該行所在的文件名。grep命令一次只能搜索一個指定的模式;egrep命令檢索擴展的正則表達式(包括表達式組和可選項);fgrep命令檢索固定字符串,它不識別正則表達式,是快速搜索命令。
語法:
grep [-EFbcihlnvxef] [查找模式] [文件名1,文件名2,……]
egrep [選項] [查找模式] [文件名1,文件名2,……]
fgrep [選項] [查找模式] [文件名1,文件名2,……]
例子: grep "text file" example
grep data *
grep goto *.c
Linux安裝基本命令大全
Linux常用命令,你還能記得多少呢?下文是我為大家準備的Linux常用命令,一起來看看吧!
安裝升級
查看軟件xxx安裝內容
dpkg -L xxx
查找軟件庫中的軟件
apt-cache search 正則表達式
或
aptitude search 軟件包
顯示系統(tǒng)安裝包的統(tǒng)計信息
apt-cache stats
顯示系統(tǒng)全部可用包的名稱
apt-cache pkgnames
顯示包的信息
apt-cache show k3b
查找文件屬于哪個包
dpkg -S filename
apt-file search filename
查看已經安裝了哪些包
dpkg -l
也可用
dpkg -l | less
翻頁查看
查詢軟件xxx依賴哪些包
apt-cache depends xxx
查詢軟件xxx被哪些包依賴
apt-cache rdepends xxx
增加一個光盤源
sudo apt-cdrom add
系統(tǒng)更新
sudo apt-get update (這一步更新包列表)
sudo apt-get dist-upgrade (這一步安裝所有可用更新)
或者
sudo apt-get upgrade (這一步安裝應用程序更新,不安裝新內核等)
清除所有已刪除包的殘馀配置文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
如果報如下錯誤,證明你的系統(tǒng)中沒有殘留配置文件了,無須擔心。
----------------------------------------------------------
dpkg: --purge needs at least one package name argument
Type dpkg --help for help about installing and deinstalling packages [*];
Use `dselect' or `aptitude' for user-friendly package management;
Type dpkg -Dhelp for a list of dpkg debug flag values;
Type dpkg --force-help for a list of forcing options;
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --license for copyright license and lack of warranty (GNU GPL) [*].
Options marked [*] produce a lot of output - pipe it through `less' or `more' !
----------------------------------------------------------
編譯時缺少h文件的自動處理
sudo auto-apt run ./configure
查看安裝軟件時下載包的臨時存放目錄
ls /var/cache/apt/archives
備份當前系統(tǒng)安裝的所有包的列表
dpkg --get-selections | grep -v deinstall ~/somefile
從上面?zhèn)浞莸陌惭b包的列表文件恢復所有包
dpkg --set-selections ~/somefile
sudo dselect
清理舊版本的軟件緩存
sudo apt-get autoclean
清理所有軟件緩存
sudo apt-get clean
刪除系統(tǒng)不再使用的孤立軟件
sudo apt-get autoremove
如果使用
sudo apt-get autoremove --purge
的話會把這些孤立軟件的殘留配置文件也一并移除
查看包在服務器上面的地址
apt-get -qq --print-uris download 軟件包名稱 | cut -d\' -f2
徹底刪除Gnome
sudo apt-get --purge remove liborbit2
徹底刪除KDE
sudo apt-get --purge remove libqt3-mt libqtcore4
一鍵安裝 LAMP 服務
sudo tasksel install lamp-server
刪除舊內核
sudo aptitude purge ~ilinux-image-.*\(\!\(`uname -r`\|generic-.*\)\)
導入ppa源的'key值
#W: GPG簽名驗證錯誤: jaunty Release: 由于沒有公鑰,下列簽名無法進行驗證: NO_PUBKEY 5126890CDCC7AFE0
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5126890CDCC7AFE0 #5126890CDCC7AFE0替換為你需要導入的Key值
增加 add-apt-repository 命令
sudo apt-get install software-properties-common
增加一個ppa源
sudo add-apt-repository ppa:user/ppa-name
#使用 ppa 的地址替換 ppa:user/ppa-name
添加163鏡像源
sudo add-apt-repository "deb `lsb_release -cs` main restricted universe multiverse"
sudo add-apt-repository "deb `lsb_release -cs`-updates main restricted universe multiverse"
sudo add-apt-repository "deb `lsb_release -cs`-security main restricted universe multiverse"
系統(tǒng)升級
1 這里指的是版本間的升級,例如 9.04=10.04。
2 使用該升級方式通常需要使用 backports 源。
sudo apt-get update
sudo apt-get install update-manager-core
sudo do-release-upgrade
系統(tǒng)
查看內核
uname -a
查看系統(tǒng)是32位還是64位
#查看long的位數(shù),返回32或64
getconf LONG_BIT
#查看文件信息,包含32-bit就是32位,包含64-bit就是64位
file /sbin/init
或者使用
uname -m
查看Ubuntu版本
lsb_release -a
或 cat /etc/lsb-release
查看內核加載的模塊
lsmod
查看PCI設備
lspci
查看USB設備
lsusb
#加參數(shù) -v 可以顯示USB設備的描述表(descriptors)
lsusb -v
查看網(wǎng)卡狀態(tài)
sudo apt-get install ethtool
sudo ethtool eth0
激活網(wǎng)卡的 Wake-on-LAN
sudo apt-get install wakeonlan
或 sudo ethtool -s eth0 wol g
查看CPU信息
cat /proc/cpuinfo
顯示當前硬件信息
sudo lshw
查看內存型號
sudo dmidecode -t memory
獲取CPU序列號或者主板序列號
#CPU ID
sudo dmidecode -t 4 | grep ID
#Serial Number
sudo dmidecode | grep Serial
#CPU
sudo dmidecode -t 4
#BIOS
sudo dmidecode -t 0
#主板:
sudo dmidecode -t 2
#OEM:
sudo dmidecode -t 11
顯示當前內存大小
free -m |grep "Mem" | awk '{print $2}'
查看硬盤溫度
sudo apt-get install hddtemp
sudo hddtemp /dev/sda
顯示系統(tǒng)運行時間
uptime
查看系統(tǒng)限制
ulimit -a
查看內核限制
ipcs -l
查看當前屏幕分辨率
xrandr
硬盤
查看塊設備
lsblk
查看硬盤的分區(qū)
sudo fdisk -l
硬盤分區(qū)
#危險!小心操作。
sudo fdisk /dev/sda
硬盤格式化
#危險!將第一個分區(qū)格式化為 ext3 分區(qū), mkfs.reiserfs mkfs.xfs mkfs.vfat
sudo mkfs.ext3 /dev/sda1
硬盤檢查
#危險!檢查第一個分區(qū),請不要檢查已經掛載的分區(qū),否則容易丟失和損壞數(shù)據(jù)
sudo fsck /dev/sda1
硬盤壞道檢測
sudo badblocks -s -v -c 32 /dev/sdb
#得到壞的塊后,使用分區(qū)工具隔離壞道。
分區(qū)掛載
sudo mount -t 文件系統(tǒng)類型 設備路經 訪問路經
#常用文件類型如下: iso9660 光驅文件系統(tǒng), vfat fat/fat32分區(qū), ntfs ntfs分區(qū), smbfs windows網(wǎng)絡共享目錄, reiserfs、ext3、xfs Linux分區(qū)
#如果中文名無法顯示嘗試在最後增加 -o nls=utf8 或 -o iocharset=utf8
#如果需要掛載後,普通用戶也可以使用,在 -o 的參數(shù)後面增加 ,umask=022 如:-o nls=utf8,umask=022
分區(qū)卸載
sudo umount 目錄名或設備名
只讀掛載ntfs分區(qū)
sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c
可寫掛載ntfs分區(qū)
sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c
掛載fat32分區(qū)
sudo mount -t vfat -o iocharset=utf8,umask=0 /dev/sda1 /mnt/c
掛載共享文件
sudo mount -t smbfs -o username=xxx,password=xxx,iocharset=utf8 //192.168.1.1/share /mnt/share
掛載ISO文件
sudo mount -t iso9660 -o loop,utf8 xxx.iso /mnt/iso
查看IDE硬盤信息
sudo hdparm -i /dev/sda
查看軟raid陣列信息
cat /proc/mdstat
參看硬raid陣列信息
dmesg |grep -i raid
cat /proc/scsi/scsi
查看SATA硬盤信息
sudo hdparm -I /dev/sda
或
sudo apt-get install blktool
sudo blktool /dev/sda id
查看硬盤剩余空間
df
df --help 顯示幫助
查看目錄占用空間
du -hs 目錄名
閃盤沒法卸載
sync
fuser -km /media/閃盤卷標
使用文件來增加交換空間
#創(chuàng)建一個512M的交換文件 /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=512
sudo mkswap /swapfile
sudo swapon /swapfile
#sudo vim /etc/fstab #加到fstab文件中讓系統(tǒng)引導時自動啟動
/swapfile swap swap defaults 0 0
查看硬盤當前讀寫情況
# 首先安裝 sysstat 包
sudo apt-get install sysstat
#每2秒刷新一次
sudo iostat -x 2
測試硬盤的實際寫入速度
dd if=/dev/zero of=test bs=64k count=512 oflag=dsync
進程
查看當前的內存使用情況
free
連續(xù)監(jiān)視內存使用情況
watch -d free
# 使用 Ctrl + c 退出
動態(tài)顯示進程執(zhí)行情況
top
top指令運行時輸入H或?打開幫助窗口,輸入Q退出指令。
查看當前有哪些進程
ps -AFL
查看進程的啟動時間
ps -A -opid,stime,etime,args
查看目前登入用戶運行的程序
w
查看當前用戶程序實際內存占用,并排序
ps -u $USER -o pid,rss,cmd --sort -rss
統(tǒng)計程序的內存耗用
ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'|sort -k2 -nr
按內存從大到小排列進程
ps -eo "%C : %p : %z : %a"|sort -k5 -nr
列出前十個最耗內存的進程
ps aux | sort -nk +4 | tail
按cpu利用率從大到小排列進程
ps -eo "%C : %p : %z : %a"|sort -nr
ps aux --sort -pcpu |head -n 20
查看當前進程樹
pstree
中止一個進程
kill 進程號(就是ps -A中的第一列的數(shù)字)
或者 killall 進程名
強制中止一個進程(在上面進程中止不成功的時候使用)
kill -9 進程號
或者 killall -9 進程名
圖形方式中止一個程序
xkill 出現(xiàn)骷髏標志的鼠標,點擊需要中止的程序即可
查看進程打開的文件
lsof -p 進程的pid
顯示開啟文件abc.txt的進程
lsof abc.txt
顯示22端口現(xiàn)在運行什么程序
lsof -i :22
顯示nsd進程現(xiàn)在打開的文件
lsof -c nsd
在後臺運行程序,退出登錄後,并不結束程序
nohup 程序
#查看中間運行情況 tail nohup
在后臺運行交互式程序,退出登錄后,并不結束程序
sudo apt-get install screen
screen vim a.txt
#直接退出后使用
screen -ls # 2208pxs-0.ubuntu (Detached)
screen -r 1656 #恢復
#熱鍵,同時按下Ctrl和a鍵結束后,再按下功能鍵
C-a ? #顯示所有鍵綁定信息
C-a w #顯示所有窗口列表
C-a C-a #切換到之前顯示的窗口
C-a c #創(chuàng)建一個新的運行shell的窗口并切換到該窗口
C-a n #切換到下一個窗口
C-a p #切換到前一個窗口(與C-a n相對)
C-a 0..9 #切換到窗口0..9
C-a a #發(fā)送 C-a到當前窗口
C-a d #暫時斷開screen會話
C-a k #殺掉當前窗口
在后臺運行交互式程序,退出登錄后,并不結束程序
tmux 進入后再運行其它命令
tmux attach #恢復
#熱鍵,同時按下Ctrl和b鍵結束后,再按下功能鍵
C-b c #創(chuàng)建一個新的運行shell的窗口并切換到該窗口
C-b n #切換到下一個窗口
C-b p #切換到前一個窗口(與C-a n相對)
C-b 0..9 #切換到窗口0..9
C-b d #暫時斷開會話
C-b #殺掉當前窗口
詳細顯示程序的運行信息
strace -f -F -o outfile
增加系統(tǒng)最大打開文件個數(shù)
#ulimit -SHn
sudo vim /etc/security/limits.conf
文件尾追加
* hard nofile 4096
* soft nofile 4096
sudo vim /etc/pam.d/su
將 pam_limits.so 這一行注釋去掉
重起系統(tǒng)
清除僵尸進程
ps -eal | awk '{ if ($2 == "Z") {print $4}}' | xargs sudo kill -9
將大于120M內存的php-cgi都殺掉
ps -eo pid,fname,rss|grep php-cgi|grep -v grep|awk '{if($3=120000) print $1}' | xargs sudo kill -9
Linux系統(tǒng)中如何限制用戶進程CPU占用率
renice +10 `ps aux | awk '{ if ($3 0.8 id -u $1 500) print $2}'`
#或直接編輯/etc/security/limits.conf文件。 ;