㈠ linux安裝軟體的方法哪種好
根據個人以及系統的實際情況而定,一般RPM包的方法比較簡單。
軟體安裝分幾種情況:
一、源碼安裝:
對於本身具有開源血統的Linux系統來說,幾乎所兆搭叢有的開源軟體都支持在Linux平台運行,而這些軟體一般都以源碼打包形式分發,源碼安裝適用於枝族所有Linux分支,只需要系統安裝了gcc、make、以及automake和autoconf,源碼安裝的一般方法如下:
1、cd 源碼目錄
2、./configure [opts]
3、make
4、make install
其中configure後面的選項一般可以通過./configure --help來查詢,根據自己的喜好使用一些選項。這里正確的工作流程是先看源碼目錄下面的Readme,這里一般會有提示安裝方法,那麼只需要按照描述照辦即可,如果Readme沒有提示(事實上很少),如果其中提及到官網,可以到官網去查閱相關安裝文檔,如果沒有,可以google搜索軟體的安裝方法。
2. rpm包安裝
RPM是RedHat Package Manager(RedHat軟體包管理工具)的縮寫,幾乎在所有的Linux平台上都支持,已經成為行業標准。這里簡單介紹一下包管理器,包管理器提供
對軟體的安裝、升級、查詢以及卸載等,具體差別可以查閱相關文檔。rpm包的安裝非常簡單,只需要輸入rpm -i xxx.rpm 即可完成,卸載只需要rpm -e 包名 即可完成,升級通過rpm -U 包名 命令完成(需要機器聯網),rpm -q 提供相關查詢,這里不詳細說明。如果機器沒聯網,rpm安裝安裝過程很有可能出現錯誤,最常見的就是依賴包缺失,把缺失的依賴包安裝即可;如果在機器聯網的情況下,rpm會自動在互聯網搜索相關依賴包並安裝。
3. deb包安裝
deb是debian及其衍生版本如Ubuntu的安裝包,在這兩個系統的桌面環境下,可雙擊包直接安裝,在命令行下可以通過dpkg-i xxx.deb完成,通過dpkg -r 包名
完成。很多的Linux分支都提供了apt-get包管理系統來對deb軟體包進行支持,apt-get需要機器聯網,通過source.list文件提供的源(下載源)去下載相應族櫻軟體包,通過輸入命令apt-get install 軟體包名 直接安裝軟體,輸入 apt-get remove 軟體包名 卸載對應軟體包,這里不贅述命令,apt-get 包管理器實施對依賴包的管理,所以非常方便。在國內可以找一些速度快的源(更改source.list文件),具體方法可以查閱相關文檔。
4. yum安裝軟體包
Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE、CentOS中的軟體包管理器,yum也對依賴關系進行管理,必須在聯網條件下進行
(也可以給yum設置代理),使用yum安裝軟體也是本人最常用的方法,在shell命令行下輸入yum install 軟體包名 即可完成安裝,如果依賴包沒安裝,會自動安裝,卸載通過yum remove 包名 即可完成,與apt-get 類似。
㈡ linux系統下安裝顯卡驅動
第一步:下載一個for Linux版對應的顯卡驅動
第二步弊蔽:如果查出內核中存在xen字樣,說明正處在虛擬機平台。在虛擬機平台不能安裝顯卡驅動,也不是說一定不能碼答,租模州但是顯卡驅動對虛擬機的支持不好;要退出虛擬機平台就要重起電腦後選擇沒有xen的內核版本進入,如果沒有也沒有辦法了,可以試下是重裝一下系統時不選虛擬機;
第三步:如上第二步進入系統後按Ctrl+Alt+BackSpace進入字元界面用root登陸,如果還是圖形界面,就進入圖形界面後在shell下輸入命令init 3進入字元界面。
第四步:在字元界面進入顯卡驅動的目錄後用./NVIDIA-Linux-x86-173.08-pkg1.run開始安裝彈出第一個畫面選擇Accept允許安裝,再彈出第二個畫面選擇否不通過網路更新後就開始安裝了,最後選擇啟用驅動自帶的配置軟體。
第五步:輸入命令init 5進入圖形界面,如果圖形界面報錯就rboot系統。
㈢ termux安裝完整版linux
pkg updata(更新源)
pkg install proot-distro(安裝proot-distro)
proot-distro list(proot-distro有的系統)
proot-distro install ubuntu(這里用ubuntu做示範,填linux系統名字)
proot-distro login ubuntu(這里用ubuntu做示範,填linux系統名字)
【可以編寫一個.sh後綴名的腳本登陸下面這里用ubuntu示範】
vim ubuntu.sh(需要有vim,沒有可以稿純游用pkg install vim安裝)
【vim編輯器內操作:鍵盤輸入a(切換到編輯模式鍵銷)輸入proot-distro login ubuntu(啟動ubuntu,安裝的有其它系統ubuntu換成其它系統名字就可以啟動其它系統)摁esc(退出編輯模式)鍵盤輸入:wq(這里的意思是保存褲橡並退出vim)】
termux內運行這個ubuntu.sh就啟動了cd到文件所在的目錄./ubuntu.sh就能啟動,不能啟動沒有許可權就chmod +x ubuntu.sh
㈣ linux pkg文件如何安裝
提供一個線索:PKG包是通過PKGADD來添鋒困加
命令格銀虛念式:
pkgadd [ -d [device | pathname ]]
pkg_name
還譽舉有pkg-config, pkg-info等命令
㈤ linux安裝gtk一般安裝到哪個文件夾
如果系統中已經安裝有 GTK+,要安裝新版本的 GTK+ 時,最好使用新的安裝目錄/基緩opt/gtk,GTK+ 及其依賴庫都將安裝在這個目錄下。 原因為:在 Linux 系統上使用的很多軟體都是在 GTK+ 庫的支持下運行的(比如 GNOME桌面)。如果相關的 GTK+ 庫發生損壞,或者庫的版本發生了變化,輕微的可造成某些程序不搏敬模能正常運行,嚴重的可能會給系統運行帶來障礙(比如進入不了桌面環境,等等。)因此,新版本的 GTK+ 的安裝應該避免對原來的 GTK+ 造成影響,以保證系統的正常運行。 1.1 配置重要的環境稿罩變數 $ export PKG_CONFIG_PATH=/opt/gtk/lib/pkgconfig:$PKG_CONFIG_PATH $ export LD_LIBRARY_PATH=/opt/gtk/lib64:/opt/gtk/lib:$LD_LIBRARY_PATH 一些程序的運行需要依賴於此環境變數,可以將其加入.bashrc配置文件中。
㈥ linux下怎麼安裝gtk啊
apt-get install build-essential #這將安裝gcc/g++/gdb/make 等基本編程工具
apt-get install gnome-core-devel #這將安裝 libgtk2.0-dev libglib2.0-dev 等開發相關的庫文件
apt-get install pkg-config #用於在編譯GTK程序時自動找出頭文件及庫文件位置
apt-get install devhelp #這將安裝 devhelp GTK文檔查看程序
apt-get install libglib2.0-doc libgtk2.0-doc #這將安裝 gtk/glib 的API參考手冊及其它幫助文檔
apt-get install glade libglade2-dev #這將安裝基於GTK的界面GTK是開發Gnome窗口的c/c++語言圖形庫。apt-get install libgtk2.0*, gtk+2.0所需的所有文件統通下載安裝完畢。
應用程序編譯命令:gcc test.c `pkg-config --cflags --libs gtk+-2.0`,編譯通過,運行正常。
㈦ 在Linux上怎樣安裝顯卡驅動
linux安裝顯卡驅動程序:
1、網路輸入nvidia or amd 找到官網
2、在官網中找到顯卡驅動程序(包括顯卡型號、操作系統位數)
3、點擊搜索、進入下載頁面。但是有時候會出現網頁。可能因為31M太大,網頁會出現未能響應的情況。所以在點前一個按鈕的時候可以選擇右鍵。使用迅雷下載連接
4、復制下載包到linux 目錄下面。可以用u盤考,推薦使用winSCP 工具。這個在windows和linux系統直接傳送文件還是很好用的。當然還有好用的遠程執行linux 命令的工具——putty (1-4步是在windows系統下完成的)
5、linux下切換到命令行頁面:init 3
6、執行安裝命令
[root@localhost ~] sh NVIDIA-Linux-x86-173.14.18-pkg1.run,系統彈出安裝頁面 更詳細的Linux介紹可以參考書籍《Linux就該這么學》。
㈧ linux下怎麼安裝Go開發環境
一、Go安裝使用
1、下載Go源碼包
https://storage.googleapis.com/golang/go1.6.3.linux-amd64.tar.gz
上傳到/usr/local/src目錄下
2、編譯安裝Go到/usr/local
tar zxvf go1.6.3.linux-amd64.tar.gz -C /usr/local/
#註:必須使用root賬戶或者使用sudo來解壓縮Go源碼包
3、設置PATH環境變數,添加/usr/local/go/bin到環境變數
export PATH=$PATH:/usr/local/go/bin
4、安裝到自定義位置
Go二進制文件默認安裝到/usr/local/go,但是可以安裝Go工具到不同的位置,可以自行定義,只需要設置正確的環境變數。
例如,安裝Go到家目錄下,必須添加環境變數到$HOME/.profile
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin
註:安裝Go到其他目錄時,GOROOT必須設置為環境變數
5、檢查是否正確安裝程序
通過設置一個工作區和建立一個簡單的程序,檢查是否正確安裝了一個簡單的程序。創建一個目錄包含您的工作空間,例如/data/work,並設置GOPATH環境變數指向的位置。
export GOPATH=/data/work
#如果不存在/data/work,需要新建
然後,在你的工作內創建src/github.com/user/hello,如果使用github,可以使用自己的用戶名代替user,在hello目錄下,新建hello.go
# cat hello.go
package main
import "fmt"
func main {
fmt.Printf("hello,world!\n")
}
#使用go編譯hello.go
go install github.com/user/hello
#上面的命令講名叫hello(or hello.exe)的程序放到你的工作區內,執行下面命令,會得到輸出結果。
$GOPATH/bin/hello
hello,world!
#當出現hello,world!表明Go已經安裝成功可以工作。
二、Go工作區介紹
1、機構組織代碼概述
Go語言程序通常將所有的代碼保存在一個工作區中。
工作區包含許多版本控制庫(由Git管理)。
每個存儲庫包含一個或多個包。
每個包由一個或多個在一個目錄中的源文件組成。
一個包的目錄的路徑決定其導入路徑。
註:同於其他的編程環境中,每一個項目都有一個獨立的工作區且工作區是緊密聯系在一起的版本控制庫。
2、工作區介紹
工作區是一個目錄層次結構,它的根目錄有三個目錄:
src 包含Go源文件
pkg 包含對象和包
bin 包含可執行命令
Go工具創建源碼包並安裝二進制文件到pkg和bin目錄下
src目錄通常包含多個版本控制庫(如Git或Mercurial),跟蹤一個或多個源包的開發。
下面展示一個好的工作區的例子:
bin/
hello # command executable
outyet # command executable
pkg/
linux_amd64/
github.com/golang/example/
stringutil.a # package object
src/
github.com/golang/example/
.git/ # Git repository metadata
hello/
hello.go # command source
outyet/
main.go # command source
main_test.go # test source
stringutil/
reverse.go # package source
reverse_test.go # test source
golang.org/x/image/
.git/ # Git repository metadata
bmp/
reader.go # package source
writer.go # package source
... (many more repositories and packages omitted) ...
上面的屬性圖展示了一個包含兩個存儲庫(example和image)的工作區,example 存儲庫包含兩個命令(hello,outyet),image庫包含bmp包和幾個其他的包。
一個典型的工作區包含包含許多軟體包和命令的多個源庫。大多數程序員將所有的源代碼和依賴關系保存在一個工作區中
3、GOPATH環境變數設置
GOPATH環境變數指定工作區的位置。它很可能是唯一的環境變數,代碼開發時需要設置。
開始,創建一個工作區目錄並設置相應的gopath。您的工作區可以位於任何你喜歡的地方,但我們將在這個文檔中使用/data/work。請注意,這不能是您的「Go安裝」路徑相同。
mkdir -p /data/work
export GOPATH=/data/work
為了方便。添加工作區的bin到PATH中
export PATH=$PATH:$GOPATH/bin
4、導入路徑
一個導入路徑是唯一標識一個包的字元串。一個包的導入路徑對應於它在工作區內或遠程存儲庫中的位置。
從標准庫的軟體包中給出了短的導入路徑等。對於您自己的包,您必須選擇不可能和未來添加到標准庫或其他外部庫的基礎路徑沖突的路徑。
注意,你不需要將你的代碼發布到一個遠程存儲庫之前,你可以建立它。這只是一個很好的習慣來組織你的代碼,如果你有一天會出版它。在實踐中,你可以選擇任何任意的路徑名稱,只要它是唯一的標准庫和更大的去生態系統。
我們將使用github.com/user作為我們的基本路徑。在您的工作區中創建一個目錄,以保持源代碼:
mkdir -p $GOPATH/src/github.com/user
5、第一個項目
編譯並運行一個簡單的程序,首先選擇一個包的路徑(我們將使用github.com/user/hello)和創建在您的工作區相應的軟體包目錄:
mkdir $GOPATH/src/github.com/user/hello
創建名叫hello.go的文件,上面創建過,此處略過。
cd $GOPATH/src/github.com/user/hello
go install
$GOPATH/bin/hello
或者:
hello
如果你使用的是一個源代碼管理系統,現在是一個很好的時間來初始化一個存儲庫,添加文件,並提交你的第一次更改。再次,這一步是可選的:您不需要使用源代碼管理來寫代碼。
cd $GOPATH/src/github.com/user/hello
git init
Initialized empty Git repository in /data/work/src/github.com/user/hello/.git/
git add hello.go
git commit -m "first commit"
[master (root-commit) bbfb477] first commit
6、first library
mkdir $GOPATH/src/github.com/user/stringutil
下一步,在目錄下創建一個名為reverse.go文件中有下列內容:
// Package stringutil contains utility functions for working with strings.
package stringutil
// Reverse returns its argument string reversed rune-wise left to right.
func Reverse(s string) string {
r := []rune(s)
for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}
使用go build測試包的編譯
$ go build github.com/user/stringutil
如果當前位置源碼包目錄,只需要:
go build
上面操作並不會產生一個輸出文件,必須使用go install,把包和對象輸出到工作去的pkg目錄內
確認stringutil包創建完成後,修改原始hello.go,使用stringutil包:
package main
import (
"fmt"
"github.com/user/stringutil"
)
func main() {
fmt.Printf(stringutil.Reverse("\n !oG ,olleH"))
}
無論使用go安裝包還是二進制文件,所有相關的依賴都會自動安裝。所以當你安裝hello程序時:
$ go install github.com/user/hello
對應的stringutil包會自動安裝好。
執行新的hello程序,可以看到消息已經被反轉
# hello
Hello, Go!
完成上面操作之後,工作區應該為:
├── bin
│ └── hello # command executable
├── pkg
│ └── linux_amd64 # this will reflect your OS and architecture
│ └── github.com
│ └── user
│ └── stringutil.a # package object
└── src
└── github.com
└── user
├── hello
│ └── hello.go # command source
└── stringutil
└── reverse.go # package source
注意:go install會把庫文件stringutil.a放到pkg/linux_amd64下邊(目錄結構跟源代碼結構一樣)。這樣可以go命令可以直接找到對應的包對象,避免不必要的重復編譯。linux_amd64是為了根據操作系統和你的系統架構交叉編譯。
所有Go可執行程序都通過靜態方式鏈接在一起,所以在運行時是不需要相關的包對象(庫)。
7、包命令
所有的Go源代碼都以下面的語句開始:
package name
其中name就是包引用默認的名稱,一個包中的所有文件必須使用同一個包名,可執行命令必須是main。
一個二進制文件下所有的包名不需要唯一,但是引用路徑必須唯一
8、測試
Go自帶了一個輕量級的測試框架,由go test和testing包組成。
可以通過新建xx_test.go寫一個測試,其中包含若干個TestXXX函數。測試框架會自動執行這些函數;如果函數中包含tError或t.Fail, 對應的測試會被判為失敗。
添加一個針對stringutil的測試文件$GOPATH/src/github.com/user/stringutil/reverse_test.go,包含以下內容:
package stringutil
import "testing"
func TestReverse(t *testing.T) {
cases := []struct {
in, want string
}{
{"Hello, world", "dlrow ,olleH"},
{"Hello, 世界", "界世,olleH"},
{"", ""},
}
for _, c := range cases {
got := Reverse(c.in)
if got != c.want {
t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want)
}
}
}
#通過go test測試
# go test github.com/user/stringutil
ok github.com/user/stringutil 0.002s
#同樣的,在包文件夾下可以忽略路徑而直接執行go test
[root@zabbix stringutil]# go test
PASS
ok github.com/user/stringutil 0.002s
9、遠程包
包的引用路徑用來描述如何通過版本控制系統獲取包的源代碼。go工具通過引用路徑自動從遠程代碼倉庫獲取包文件。比如本文中用的例子也對應的保存在github.com/golang/example下。go可以通過包的代碼倉庫的url直接獲取、生成、安裝對應的包。
[root@zabbix ~]# go get github.com/golang/example/hello
[root@zabbix ~]# $GOPATH/bin/hello
Hello, Go examples!
如果工作區中不存在對應的包,go會將對應的包放到GOPATH環境變數指明的工作區下。(如果包已經存在,go跳過代碼拉去而直接執行go install)
建議詳細看一下http://www.linuxprobe.com/set-go-env.html這個,有圖文
㈨ Linux安裝基本命令
Linux安裝基本命令大全
Linux常用命令,你還能記得多少呢?下文是我為大家准備的Linux常用命令,一起來看看吧!
安裝升級
查看軟體xxx安裝內容
dpkg -L xxx
查找軟體庫中的軟體
apt-cache search 正則表達式
或
aptitude search 軟體包
顯示系統安裝包的統計信息
apt-cache stats
顯示系統全部可用包的名稱
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
系統更新
sudo apt-get update (這一步更新包列表)
sudo apt-get dist-upgrade (這一步安裝所有可用更新)
或者
sudo apt-get upgrade (這一步安裝應用程序更新,不安裝新內核等)
清除所有已刪除包的殘餘配置文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
如果報如下錯誤,證明你的系統中沒有殘留配置文件了,無須擔心。
----------------------------------------------------------
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 right license and lack of warranty (GNU GPL) [*].
Options marked [*] proce a lot of output - pipe it through `less' or `more' !
----------------------------------------------------------
編譯時缺少h文件的自動處理
sudo auto-apt run ./configure
查看安裝軟體時下載包的臨時存放目錄
ls /var/cache/apt/archives
備份當前系統安裝的所有包的列表
dpkg --get-selections | grep -v deinstall > ~/somefile
從上面備份的安裝包的列表文件恢復所有包
dpkg --set-selections < ~/somefile
sudo dselect
清理舊版本的軟體緩存
sudo apt-get autoclean
清理所有軟體緩存
sudo apt-get clean
刪除系統不再使用的孤立軟體
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簽名驗證錯誤: http://ppa.launchpad.net 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 http://mirrors.163.com/ubuntu/ `lsb_release -cs` main restricted universe multiverse"
sudo add-apt-repository "deb http://mirrors.163.com/ubuntu/ `lsb_release -cs`-updates main restricted universe multiverse"
sudo add-apt-repository "deb http://mirrors.163.com/ubuntu/ `lsb_release -cs`-security main restricted universe multiverse"
系統升級
1 這里指的是版本間的升級,例如 9.04=>10.04。
2 使用該升級方式通常需要使用 backports 源。
sudo apt-get update
sudo apt-get install update-manager-core
sudo do-release-upgrade
系統
查看內核
uname -a
查看系統是32位還是64位
#查看long的位數,返回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
#加參數 -v 可以顯示USB設備的描述表(descriptors)
lsusb -v
查看網卡狀態
sudo apt-get install ethtool
sudo ethtool eth0
激活網卡的 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
顯示系統運行時間
uptime
查看系統限制
ulimit -a
查看內核限制
ipcs -l
查看當前屏幕解析度
xrandr
硬碟
查看塊設備
lsblk
查看硬碟的分區
sudo fdisk -l
硬碟分區
#危險!小心操作。
sudo fdisk /dev/sda
硬碟格式化
#危險!將第一個分區格式化為 ext3 分區, mkfs.reiserfs mkfs.xfs mkfs.vfat
sudo mkfs.ext3 /dev/sda1
硬碟檢查
#危險!檢查第一個分區,請不要檢查已經掛載的分區,否則容易丟失和損壞數據
sudo fsck /dev/sda1
硬碟壞道檢測
sudo badblocks -s -v -c 32 /dev/sdb
#得到壞的塊後,使用分區工具隔離壞道。
分區掛載
sudo mount -t 文件系統類型 設備路經 訪問路經
#常用文件類型如下: iso9660 光碟機文件系統, vfat fat/fat32分區, ntfs ntfs分區, smbfs windows網路共享目錄, reiserfs、ext3、xfs Linux分區
#如果中文名無法顯示嘗試在最後增加 -o nls=utf8 或 -o iocharset=utf8
#如果需要掛載後,普通用戶也可以使用,在 -o 的參數後面增加 ,umask=022 如:-o nls=utf8,umask=022
分區卸載
sudo umount 目錄名或設備名
只讀掛載ntfs分區
sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c
可寫掛載ntfs分區
sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c
掛載fat32分區
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 顯示幫助
查看目錄佔用空間
-hs 目錄名
閃盤沒法卸載
sync
fuser -km /media/閃盤卷標
使用文件來增加交換空間
#創建一個512M的交換文件 /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=512
sudo mkswap /swapfile
sudo swapon /swapfile
#sudo vim /etc/fstab #加到fstab文件中讓系統引導時自動啟動
/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
連續監視內存使用情況
watch -d free
# 使用 Ctrl + c 退出
動態顯示進程執行情況
top
top指令運行時輸入H或?打開幫助窗口,輸入Q退出指令。
查看當前有哪些進程
ps -AFL
查看進程的啟動時間
ps -A -opid,stime,etime,args
查看目前登入用戶運行的程序
w
查看當前用戶程序實際內存佔用,並排序
ps -u $USER -o pid,rss,cmd --sort -rss
統計程序的內存耗用
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中的第一列的數字)
或者 killall 進程名
強制中止一個進程(在上面進程中止不成功的時候使用)
kill -9 進程號
或者 killall -9 進程名
圖形方式中止一個程序
xkill 出現骷髏標志的滑鼠,點擊需要中止的程序即可
查看進程打開的文件
lsof -p 進程的pid
顯示開啟文件abc.txt的進程
lsof abc.txt
顯示22埠現在運行什麼程序
lsof -i :22
顯示nsd進程現在打開的文件
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 #創建一個新的運行shell的窗口並切換到該窗口
C-a n #切換到下一個窗口
C-a p #切換到前一個窗口(與C-a n相對)
C-a 0..9 #切換到窗口0..9
C-a a #發送 C-a到當前窗口
C-a d #暫時斷開screen會話
C-a k #殺掉當前窗口
在後台運行互動式程序,退出登錄後,並不結束程序
tmux 進入後再運行其它命令
tmux attach #恢復
#熱鍵,同時按下Ctrl和b鍵結束後,再按下功能鍵
C-b c #創建一個新的運行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
增加系統最大打開文件個數
#ulimit -SHn
sudo vim /etc/security/limits.conf
文件尾追加
* hard nofile 4096
* soft nofile 4096
sudo vim /etc/pam.d/su
將 pam_limits.so 這一行注釋去掉
重起系統
清除僵屍進程
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系統中如何限制用戶進程CPU佔用率
renice +10 `ps aux | awk '{ if ($3 > 0.8 && id -u $1 > 500) print $2}'`
#或直接編輯/etc/security/limits.conf文件。 ;
㈩ Linux伺服器 如何安裝pkg包 軟體
pkg ?
沒見過……貌櫻帶似是非常偏門的 Linux 系統吧……
你看看 /etc/ 裡面有液沖沒有什麼含有 release 的文件,這個文件裡面脊埋蘆一般是發行版的名字和版本
另外 /etc/issue 和類似的文件裡面是登錄的提示信息,一般這個提示也是發行版的名字和版本
你先確定具體用的是哪種系統弄來的吧……
或者是 FreeBSD ?好像 bsd 系列的擴展名是 pkg 。