⑴ linux掛載文件
簡單用法:
格式:mount [-參數] [設備名稱] [掛載點]
其中常用的參數有:
復制代碼
-a 安裝在/etc/fstab文件中類出的所有文件系統。
-f 偽裝mount,作出檢查設備和目錄的樣子,但並不真正掛載文件系統。
-n 不把安裝記錄在/etc/mtab 文件中。
-r 講文件系統安裝為只讀。
-v 詳細顯示安裝信息。
-w 將文件系統安裝為可寫,為命令默認情況。
-t <文件系統類型> 指定設備的文件系統類型,常見的有:
ext2 是linux目前常用的文件系統
msdos MS-DOS的fat,就是fat16
vfat windows98常用的fat32
nfs 網路文件系統
iso9660 CD-ROM光碟標准文件系統
ntfs windows NT/2000/XP的文件系統
auto 自動檢測文件系統
-o <選項> 指定掛載文件系統時的選項,有些也可寫到在 /etc/fstab 中。常用的有:
defaults 使用所有選項的默認值(auto、nouser、rw、suid)
auto/noauto 允許/不允許以 –a選項進行安裝
dev/nodev 對/不對文件系統上的特殊設備進行解釋
exec/noexec 允許/不允許執行二進制代碼
suid/nosuid 確認/不確認suid和sgid位
user/nouser 允許/不允許一般用戶掛載
codepage=XXX 代碼頁
iocharset=XXX 字元集
ro 以只讀方式掛載
rw 以讀寫方式掛載
remount 重新安裝已經安裝了的文件系統
loop 掛載「迴旋設備」以及「ISO鏡像文件」
復制代碼
需要注意的是,掛載點必須是一個已經存在的目錄,這個目錄可以不為空,但掛載後這個目錄下以前的內容將不可用,umount以後會恢復正常。使用多個-o 參數的時候,-o 只用一次,參數之間用半形逗號隔開:
# mount –o remount,rw /
例如要掛載windows下文件系統為FAT32的D盤,一般而言在Linux下這個分區對應/dev/hda5,根據具體的分區情況會有不同,這里就以hda5來舉例說明:
# mkdir /mnt/hda5 //創建hda5的目錄作為掛載點,位置和目錄名可自定義//
# mount -t vfat /dev/hda5 /mnt/hda5
一般而言,Linux會自動探測分區的文件系統,除非讓你指定時,否則-t vfat 可以省掉。
# mount /dev/hda5 /mnt/hda5
這樣就可以進入/mnt/hda5目錄去訪問分區中的資源了。
1. 為什麼mount上分區後顯示不了中文文件為問號/亂碼?
顯示問號表明你的系統中沒有可識別使用的中文字體,請先安裝中文字體。確保你的系統已經可以很好的顯示中文。顯示為亂碼一般是mount默認使用的文件系 統編碼和文件系統中文件的實際編碼不一致造成的。要想正常顯示中文文件,mount時需要用到 -o 參數里的codepage和iocharset選項。codepage指定文件系統的代碼頁,簡體中文中文代碼是936;iocharset指定字元集, 簡體中文一般用cp936或gb2312。
# mount –o iocharset=gb2312 codepage=936 /dev/hda5 /mnt/hda5
一般來說 mount –o iocharset=cp936 /dev/hda5 /mnt/hda5 就可以解決問題了。
如果這樣做了以後還有問題,請嘗試UTF-8編碼:
# mount –o iocharset=utf8 /dev/hda5 /mnt/hda5
2. 為什麼mount上去以後分區普通用戶不可寫?
mount時加上 –o umask=000 即可:
# mount –o umask=000, iocharset=cp936 /dev/hda5 /mnt/hda5
3. 為什麼mount上去後的分區中的文件都變成短文件名了?
這是文件系統掛錯的原因,將FAT32掛載成FAT16時就會出現這種情況,先umount,然後用 –t vfat 重新掛載即可解決問題。
# mount –t vat /dev/hda5 /mnt/hda5
4. 如何掛載U盤和mp3?
如果計算機沒有其它SCSI設備和usb外設的情況下,插入的U盤的設備路徑是 /dev/sda1,用命令:
# mkdir /mnt/u
# mount /dev/sda1 /mnt/u
掛載即可。
5. 可以直接使用iso文件嗎?
可以,就是mount的這一選項使得Linux下有免費虛擬光碟機的說法,具體用法是:
# mkdir /mnt/iso
# mount –o loop linux.iso /mnt/iso
當然,掛載以後掛載點/mnt/iso也是只讀的。
6. 如何開機自動掛載分區?
每次掛載都要輸入那麼長的命令的確是繁瑣了些,只要將分區信息寫到 /etc/fstab 文件中即可實現系統啟動的自動掛載,例如對於 /dev/hda5 的自動掛載添加如下的行即可:
/dev/hda5 /mnt/hda5 vfat defaults,iocharset=cp936, rw 0 0
7. 如何掛載samba 分區?
# mkdir /mnt/share
# mount -t smbfs -o username=root,password=abc,codepage=936,iocharset=gb2312 //192.168.1.100/share /mnt/share
如果中文顯示不正常請嘗試UTF-8編碼。當然可以寫到fstab中實現自動掛載。
8. mount --bind是什麼意思?
mount --bind 是將一個目錄中的內容掛載到另一個目錄上,用法是
# mount --bind olddir newdir
這個命令使得自己搭建的FTP要共享某個目錄的時候變得特別方便。如果要取消mount用命令:
# mount --move olddir newdir
即可。
如果mount --bind 也想寫入fstab中的話格式如下:
olddir newdir none bind 0 0
9. 為什麼umount的時候老顯示 device busy?
這是因為有程序正在訪問這個設備,最簡單的辦法就是讓訪問該設備的程序退出以後再umount。可能有時候用戶搞不清除究竟是什麼程序在訪問設備,如果用戶不急著umount,則可以用:
# umount -l /mnt/hda5
來卸載設備。選項 –l 並不是馬上umount,而是在該目錄空閑後再umount。還可以先用命令 ps aux 來查看佔用設備的程序PID,然後用命令kill來殺死佔用設備的進程,這樣就umount的非常放心了。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
開機掛載及/etc/fstab格式
當我們在掛載磁碟的時候,除了利用磁碟的代號之外 (/dev/hdxx) 也可以直接利用磁碟的 label 來作為掛載的磁碟掛載點喔!基本上, 就是那個 /etc/fstab 檔案的設定,Label 來做為磁碟掛載的依據, 這樣有好有壞:
優點:不論硬碟代號怎麼變,不論您將硬碟插在那個 IDE 介面 (IDE1 或 IDE2 或 master 或 slave 等),由於系統是透過 Label ,所以,磁碟插在那個介面將不會有影響。
缺點:如果插了兩顆硬碟,剛好兩顆硬碟的 Label 有重復的,那就慘了~ 因為系統會無法判斷那個磁碟分割槽才是正確的!
開機掛載 /etc/fstab 及 /etc/mtab:
系統掛載的一些限制:
根目錄 / 是必須掛載的,而且一定要先於其它 mount point 被掛載進來。
其它 mount point 必須為已建立的目錄,可任意指定,但一定要遵守必須的系統目錄架構原則
所有 mount point 在同一時間之內,只能掛載一次。
所有 partition 在同一時間之內,只能掛載一次。
如若進行卸載,您必須先將工作目錄移到 mount point(及其子目錄) 之外。
復制代碼
[root@linux ~]# cat /etc/fstab
# Device Mount_point filesystem parameters mp fsck
LABEL=/ / ext3 defaults 1 1 (以標頭名稱掛載)
/dev/hda5 /home ext3 defaults 1 2
/dev/hda3 swap swap defaults 0 0
/dev/hdc /media/cdrom auto pamconsole,exec,noauto,managed 0 0
/dev/devpts /dev/pts devpts gid=5,mode=620 0 0
/dev/shm /dev/shm tmpfs defaults 0 0
/dev/proc /proc proc defaults 0 0
/dev/sys /sys sysfs defaults 0 0
復制代碼
其實這個 /etc/fstab 就是將我們使用 mount 來掛載一個裝置到系統的某個掛載點, 所需要下達的指令內容,將這些內容通通寫到 /etc/fstab 裡面去,而讓系統一開機就主動掛載。 那麼 mount 下達指令時,需要哪些參數?不就是『裝置代號、掛載點、檔案系統類別、參數』等等, 而我們的 /etc/fstab 則加入了兩項額外的功能,分別是備份指令 mp 的執行與否, 與是否開機進行 fsck 掃瞄磁碟。
前面的4個已經很熟悉了,每個檔案系統還有很多參數可以加入的,例如中文編碼的 iocharset=big5,codepage=950 之類的,當然還有很多常見的參數,具體可以看mount中的詳細介紹,具體說一下後2個:mp和fsck。
能否被 mp 備份指令作用:
在 Linux 當中,可以利用 mp 這個指令來進行系統的備份的。而 mp 指令則會針對 /etc/fstab 的設定值,去選擇是否要將該 partition 進行備份的動作呢! 0 代表不要做 mp 備份, 1 代表要進行 mp 的動作。 2 也代表要做 mp 備份動作, 不過,該 partition 重要度比 1 小。
是否以 fsck 檢驗扇區:
開機的過程中,系統預設會以 fsck 檢驗我們的 partition 內的 filesystem 是否完整 (clean)。 不過,某些 filesystem 是不需要檢驗的,例如虛擬內存 swap ,或者是特殊檔案系統, 例如 /proc 與 /sys 等等。所以,在這個欄位中,我們可以設定是否要以 fsck 檢驗該 filesystem 喔。 0 是不要檢驗, 1 是要檢驗, 2 也是要檢驗,不過 1 會比較早被檢驗啦! 一般來說,根目錄設定為 1 ,其它的要檢驗的 filesystem 都設定為 2 就好了。
一般來說, 當我們編輯 /etc/fstab 後,為了避免可能的錯誤,通常就會以 mount -a (模擬開機自動掛載操作)這個指令來測試看看呢!這是很重要的一個測試動作喔!
/etc/fstab 是開機時的設定檔,不過,實際 filesystem 的掛載是記錄到 /etc/mtab 與 /proc/mounts 這兩個檔案當中的。每次我們在更動 filesystem 的掛載時,也會同時更動這兩個檔案喔!但是,萬一發生您在 /etc/fstab 輸入的數據錯誤,導致無法順利開機成功,而進入單人維護模式當中,那時候的 / 可是 read only 的狀態,當然您就無法修改 /etc/fstab ,也無法更新 /etc/mtab ,沒關系,可以利用底下這一招:
[root@linux ~]# mount -n -o remount,rw /
加上 -n 則不更新 /etc/mtab ,加上 -o 則提供額外的參數設定。 利用這一動作,嘿嘿!您的 / 就可以讀寫,那麼自然就能夠更新檔案內容了。
⑵ RedHat Linux下如何生成core mp文件
在linux平台下,設置core mp文件生成的方法:
1 )如何生成 coremp 文件
登陸 LINUX 伺服器,任意位置鍵入
echo "ulimit -c 1024" >> /etc/profile
退出 LINUX 重新登陸 LINUX
鍵入 ulimit -c
如果顯示 1024 那麼說明 coremp 已經被開啟。
1024 限制產生的 core 文件的大小不能超過 1024kb,可以使用參數unlimited,取消該限制
ulimit -c unlimited
2 ) . core 文件的簡單介紹
在一個程序崩潰時,它一般會在指定目錄下生成一個 core 文件。 core 文件僅僅是一個內存映象 ( 同時加上調試信息 ) ,主要是用來調試的。
3 ) . 開啟或關閉 core 文件的生成
用以下命令來阻止系統生成 core 文件 :
ulimit -c 0
下面的命令可以檢查生成 core 文件的選項是否打開 :
ulimit -a
該命令將顯示所有的用戶定製,其中選項 -a 代表「 all 」。
也可以修改系統文件來調整 core 選項
在 /etc/profile 通常會有這樣一句話來禁止產生 core 文件,通常這種設置是合理的 :
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
但是在開發過程中有時為了調試問題,還是需要在特定的用戶環境下打開 core 文件產生的設置。
在用戶的 ~/.bash_profile 里加上 ulimit -c unlimited 來讓特定的用戶可以產生 core 文件。
如果 ulimit -c 0 則也是禁止產生 core 文件,而 ulimit -c 1024 則限制產生的 core 文件的大小不能超過 1024kb
4 ) . 設置 Core Dump 的核心轉儲文件目錄和命名規則
/proc/sys/kernel/core_uses_pid 可以控制產生的 core 文件的文件名中是否添加 pid 作為擴展 ,如果添加則文件內容為 1 ,否則為 0
proc/sys/kernel/core_pattern 可以設置格式化的 core 文件保存位置或文件名 ,比如原來文件內容是 core-%e
可以這樣修改 :
echo "/corefile/core-%e-%p-%t" > core_pattern
將會控制所產生的 core 文件會存放到 /corefile 目錄下,產生的文件名為 core- 命令名 -pid- 時間戳
以下是參數列表 :
%p - insert pid into filename 添加 pid
%u - insert current uid into filename 添加當前 uid
%g - insert current gid into filename 添加當前 gid
%s - insert signal that caused the coremp into the filename 添加導致產生 core 的信號
%t - insert UNIX time that the coremp occurred into filename 添加 core 文件生成時的 unix 時間
%h - insert hostname where the coremp happened into filename 添加主機名
%e - insert coremping executable name into filename 添加命令名
6 ) . 一個小方法來測試產生 core 文件
直接輸入指令 :
kill -s SIGSEGV $$
發生coremp一般都是在進程收到某個信號的時候,Linux上現在大概有60多個信號,可以使用 kill -l 命令全部列出來。
針對特定的信號,應用程序可以寫對應的信號處理函數。如果不指定,則採取默認的處理方式, 默認處理是coremp的信號如下:
3)SIGQUIT 4)SIGILL 6)SIGABRT 8)SIGFPE 11)SIGSEGV 7)SIGBUS 31)SIGSYS
5)SIGTRAP 24)SIGXCPU 25)SIGXFSZ 29)SIGIOT
我們看到SIGSEGV在其中,一般數組越界或是訪問空指針都會產生這個信號。另外雖然默認是這樣的,但是你也可以寫自己的信號處理函數改變默認行為。
上述內容只是產生coremp的必要條件,而非充分條件。要產生core文件還依賴於程序運行的shell,可以通過ulimit -a命令查看
⑶ [轉載] 從正在運行的Linux進程中mp出內存內容
最近看到有個CTF題感覺挺有意思,就是從一個bin中找到一個secret key,然後用來簽名session cookies用來懟一個使用go的Web伺服器。通常這種類型題的flag都比較直接。可以直接用strings懟這個bin就可以了,然而這次的這個題目中的bin不同,因為有太多雜碎(noise)要過濾了。於是在此我就來展示一下如何用一些基本的Linux命令配合gdb從進程中mp出內存中的信息。
先file一下,
發現是64位的Linux可執行文件。
然後strings一下,
發現字元串太多,還是先不看,再研究深一點吧。
然後先運行一下程序,
然後再另一個終端找到這個進程的PID
然後cat一下它的內存(太長不看TL;DR)
似乎太多了有點可怕,但是不用害怕。
然後啟動gdb,將改進程attach到gdb上。
然後就是gdb命令
解釋一下語法:
然後就是用strings命令找出剛才mp出的文件的字元串,我喜歡最少10個長度的字元串(-n 10)來過濾掉一些無用的信息(noise)。
結果如下:
可以看到好像有個hash值,為了不泄露CTF題的答案,我已經把hash值改了。
總結
好了,你已經找到運行的進程的PID,mp出了那個進程的內存內容,然後用gdb,strings命令找出了有用的數據。
以上翻譯自:
https://colin.guru/index.php?title=Dumping_Ram_From_Running_Linux_Processes
Let』s get your hands dirty
Down to business
於是我也想試一下啊,然而我想找一個執行命令之後不退出的進程還蠻難的,最終我想到了apache,然而必須要有客戶端與apache建立TCP長連接,如果是那種5xx的錯誤,比如這個,
就會發現TCP連接建立之後馬上又斷開了。
於是只能弄一個TCP長連接吧。返回200的那種應該可以。
結果發現還是不行。
於是通過htop漫無目的地找吧,於是還是找apache的主進程吧。
通過htop發信apache的主進程的PID為6900,
於是
(注意:要以root的身份啟動,否則可能沒有許可權。)
然後gdb就開始調試6900進程了,一頓輸出啊,幾秒之後到達gdb的命令行。
然後mp出heap中的內容。
然後在/root目錄找到了那兩個mp出來的文件,
從任意一個mp中找出10個字元以上的字元串吧。
————————————————
原文鏈接: https://blog.csdn.net/caiqiiqi/article/details/72807952
⑷ linux 下面的Crash mp是什麼意思
就是說一個後台進程(deamon)死了(crash),需要重啟。在重啟前,kernel會把內存里的相關信息寫到文件里,就是mp文件。研發根據mp文件,可以找出進程crash的原因,進行修復。
⑸ linux怎麼查看內存型號
因為網站開發的需求,需要對單位的伺服器內存進行升級。那麼在linux中怎麼查看內存型號呢?下面跟著我一起來了解一下吧。
linux怎麼查看內存型號
機器主板是nVidia Corporation MCP61,系統內存支持雙通道內存技術。
配置了4個DDRII DIMM插槽,支持DDRII 800/667/533內存,最大支持8G容量。
為了嘗試下雙通道內存技術,准備加一條與原來完全一樣的內存條。
電腦配置上只寫了kingston DDRII512M。
接下來就要用工具dmidecode(DMI table decoder)確定下內存頻率了。
dmidecode命令可以全面的顯示你系統的信息,包括bios、 cpu 、內存等信息。
例如:
[root@localhost testcase]$ sudo dmidecode --help
Usage: dmidecode [OPTIONS]
Options are:
-d, --dev-mem FILE Read memory from device FILE (default: /dev/mem)
-h, --help Display this help text and exit
-q, --quiet Less verbose output
-s, --string KEYWORD Only display the value of the given DMI string
-t, --type TYPE Only display the entries of given type
-u, --mp Do not decode the entries
-V, --version Display the version and exit
[root@localhost testcase]$ sudo dmidecode -t memory
# dmidecode 2.7
SM BIOS 2.4 present.
Handle 0x0007, DMI type 5, 24 bytes.
Memory Controller Information
Error Detecting Method: 64-bit ECC
Error Correcting Capabilities:
None
Supported Interleave: One-way Interleave
Current Interleave: One-way Interleave
Maximum Memory Mole Size: 2048 MB
Maximum Total Memory Size: 8192 MB
Supported Speeds:
70 ns
60 ns
Supported Memory Types:
DIMM
SDRAM
Memory Mole Voltage: 3.3 V
Associated Memory Slots: 4
0x0008
0x0009
0x000A
0x000B
Enabled Error Correcting Capabilities:
None
Handle 0x0008, DMI type 6, 12 bytes.
Memory Mole Information
Socket Designation: DIMM0
Bank Connections: 0 1
Current Speed: Unknown
Type: ECC DIMM
Installed Size: 512 MB (Single-bank Connection)
Enabled Size: 512 MB (Single-bank Connection)
Error Status: OK
Handle 0x0009, DMI type 6, 12 bytes.
Memory Mole Information
Socket Designation: DIMM1
Bank Connections: None
Current Speed: Unknown
Type: Unknown
Installed Size: Not Installed
Enabled Size: Not Installed
Error Status: OK
Handle 0x000A, DMI type 6, 12 bytes.
Memory Mole Information
Socket Designation: DIMM2
Bank Connections: None
Current Speed: Unknown
Type: Unknown
Installed Size: Not Installed
Enabled Size: Not Installed
Error Status: OK
Handle 0x000B, DMI type 6, 12 bytes.
Memory Mole Information
Socket Designation: DIMM3
Bank Connections: None
Current Speed: Unknown
Type: Unknown
Installed Size: Not Installed
Enabled Size: Not Installed
Error Status: OK
Handle 0x0010, DMI type 16, 15 bytes.
Physical Memory Arroot
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 8 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x0012, DMI type 17, 27 bytes.
Memory Device
Arroot Handle: 0x0010
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 72 bits
Size: 512 MB
Form Factor: DIMM
Set: None
Locator: DIMM0
Bank Locator: BANK0
Type: DDR2
Type Detail: Synchronous
Speed: 533 MHz (1.9 ns)
Manufacturer: Manufacturer0
Serial Number: SerNum0
Asset Tag: AssetTagNum0
Part Number: PartNum0
Handle 0x0014, DMI type 17, 27 bytes.
Memory Device
Arroot Handle: 0x0010
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: 64 bits
Size: No Mole Installed
Form Factor: DIMM
Set: None
Locator: DIMM1
Bank Locator: BANK1
Type: Unknown
Type Detail: Unknown
Speed: Unknown
Manufacturer: Manufacturer1
Serial Number: SerNum1
Asset Tag: AssetTagNum1
Part Number: PartNum1
Handle 0x0016, DMI type 17, 27 bytes.
Memory Device
Arroot Handle: 0x0010
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: 64 bits
Size: No Mole Installed
Form Factor: DIMM
Set: None
Locator: DIMM2
Bank Locator: BANK2
Type: Unknown
Type Detail: Unknown
Speed: Unknown
Manufacturer: Manufacturer2
Serial Number: SerNum2
Asset Tag: AssetTagNum2
Part Number: PartNum2
Handle 0x0018, DMI type 17, 27 bytes.
Memory Device
Arroot Handle: 0x0010
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: 64 bits
Size: No Mole Installed
Form Factor: DIMM
Set: None
Locator: DIMM3
Bank Locator: BANK3
Type: Unknown
Type Detail: Unknown
Speed: Unknown
Manufacturer: Manufacturer3
Serial Number: SerNum3
Asset Tag: AssetTagNum3
Part Number: PartNum3
總結 :
在Memory Controller Information中,可以看到最大的內存大小是8G,支持內存種類為DIMM和SDRAM。有四個Memory Slots。對應接下來的4個Memory Mole Information。
DMI type 16 (man dmidecode裡面有DMI TYPES specification)的意思是 Physical Memory Arroot。
⑹ linux常用的命令有哪些
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.5:統計磁碟空間使用情況 / 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.6mpe2fs:導出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.22tcpmp:監聽網路流量 / 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
⑺ 如何讓linux生成內存mp
在Linux上只要打開core mp文件開關,當程序crash時系統生成相應的core文件。下面是簡單的一些步驟:
1.查看當前是否已經打開了此開關
通過命令:ulimit -c 如果輸出為 0 ,則代表沒有打開。如果為unlimited則已經打開了,就沒必要在做打開。
2.通過命令打開
ulimit -c unlimited .然後通過步驟1,可以監測是否打開成功。
3.如果你要取消,很簡單:ulimit -c 0 就可以了
通過上面的命令修改後,一般都只是對當前會話起作用,當你下次重新登錄後,還是要重新輸入上面的命令,所以很麻煩。我們可以把通過修改 /etc/profile文件 來使系統每次自動打開。
步驟如下:
1.首先打開/etc/profile文件
一般都可以在文件中找到 這句語句:ulimit -S -c 0 > /dev/null 2>&1.ok,根據上面的例子,我們只要把那個0 改為 unlimited 就ok了。然後保存退出。
2.通過source /etc/profile 使當期設置生效。
3.通過ulimit -c 查看下是否已經打開。
其實不光這個命令可以加入到/etc/profile文件中,一些其他我們需要每次登錄都生效的都可以加入到此文件中,因為登錄時linux都會載入此文件。比如一些環境變數的設置。
還有一種方法可以通過修改/etc/security/limits.conf文件來設置,這個方法沒有試過,也是網上看到。不過上面兩種就可以了!
最後說一下生成core mp文件的位置,默認位置與可執行程序在同一目錄下,文件名是core.***,其中***是一個數字。core mp文件名的模式保存在/proc/sys/kernel/core_pattern中,預設值是core。通過以下命令可以更改core mp文件的位置(如希望生成到/tmp/cores目錄下)
echo 「/tmp/cores/core」 > /proc/sys/kernel/core_pattern
設置完以後我們可以做個測試,寫個程序,產生一個異常。然後看到當前目錄會有個core*的文件。