Linux命令 — 系統(tǒng)信息
命令代碼 |
注釋說(shuō)明 |
arch |
顯示機(jī)器的處理器架構(gòu)(1) |
uname -m |
顯示機(jī)器的處理器架構(gòu)(2) |
uname -r |
顯示正在使用的內(nèi)核版本 |
dmidecode -q |
顯示硬件系統(tǒng)部件 - (SMBIOS / DMI) |
hdparm -i /dev/hda |
羅列一個(gè)磁盤(pán)的架構(gòu)特性 |
hdparm -tT /dev/sda |
在磁盤(pán)上執(zhí)行測(cè)試性讀取操作 |
cat /proc/cpuinfo |
顯示CPU info的信息 |
cat /proc/interrupts |
顯示中斷 |
cat /proc/meminfo |
校驗(yàn)內(nèi)存使用 |
cat /proc/swaps |
顯示哪些swap被使用 |
cat /proc/version |
顯示內(nèi)核的版本 |
cat /proc/net/dev |
顯示網(wǎng)絡(luò)適配器及統(tǒng)計(jì) |
cat /proc/mounts |
顯示已加載的文件系統(tǒng) |
lspci -tv |
羅列 PCI 設(shè)備 |
lsusb -tv |
顯示 USB 設(shè)備 |
date |
顯示系統(tǒng)日期 |
cal 2007 |
顯示2007年的日歷表 |
date 041217002007.00 |
設(shè)置日期和時(shí)間 - 月日時(shí)分年.秒 |
clock -w |
將時(shí)間修改保存到 BIOS |
Linux命令 — 系統(tǒng)關(guān)機(jī) (關(guān)機(jī)、重啟以及登出 )
命令代碼 |
注釋說(shuō)明 |
shutdown -h now |
關(guān)閉系統(tǒng) |
init 0 |
關(guān)閉系統(tǒng) |
telinit 0 |
關(guān)閉系統(tǒng) |
shutdown -h hours:minutes & |
按預(yù)定時(shí)間關(guān)閉系統(tǒng) |
shutdown -c |
取消按預(yù)定時(shí)間關(guān)閉系統(tǒng) |
shutdown -r now |
重啟 |
reboot |
重啟 |
logout |
注銷(xiāo) |
Linux命令 — 文件和目錄
命令代碼 |
注釋說(shuō)明 |
cd /home |
進(jìn)入 '/ home' 目錄' |
cd .. |
返回上一級(jí)目錄 |
cd ../.. |
返回上兩級(jí)目錄 |
cd |
進(jìn)入個(gè)人的主目錄 |
cd ~user1 |
進(jìn)入個(gè)人的主目錄 |
cd - |
返回上次所在的目錄 |
pwd |
顯示工作路徑 |
ls |
查看目錄中的文件 |
ls -F |
查看目錄中的文件 |
ls -l |
顯示文件和目錄的詳細(xì)資料 |
ls -a |
顯示隱藏文件 |
ls *[0-9]* |
顯示包含數(shù)字的文件名和目錄名 |
tree |
顯示文件和目錄由根目錄開(kāi)始的樹(shù)形結(jié)構(gòu) |
lstree |
顯示文件和目錄由根目錄開(kāi)始的樹(shù)形結(jié)構(gòu) |
mkdir dir1 |
創(chuàng)建一個(gè)叫做 'dir1' 的目錄' |
mkdir dir1 dir2 |
同時(shí)創(chuàng)建兩個(gè)目錄 |
mkdir -p /tmp/dir1/dir2 |
創(chuàng)建一個(gè)目錄樹(shù) |
rm -f file1 |
刪除一個(gè)叫做 'file1' 的文件' |
rmdir dir1 |
刪除一個(gè)叫做 'dir1' 的目錄' |
rm -rf dir1 |
刪除一個(gè)叫做 'dir1' 的目錄并同時(shí)刪除其內(nèi)容 |
rm -rf dir1 dir2 |
同時(shí)刪除兩個(gè)目錄及它們的內(nèi)容 |
mv dir1 new_dir |
重命名/移動(dòng) 一個(gè)目錄 |
cp file1 file2 |
復(fù)制一個(gè)文件 |
cp dir/* . |
復(fù)制一個(gè)目錄下的所有文件到當(dāng)前工作目錄 |
cp -a /tmp/dir1 . |
復(fù)制一個(gè)目錄到當(dāng)前工作目錄 |
cp -a dir1 dir2 |
復(fù)制一個(gè)目錄 |
ln -s file1 lnk1 |
創(chuàng)建一個(gè)指向文件或目錄的軟鏈接 |
ln file1 lnk1 |
創(chuàng)建一個(gè)指向文件或目錄的物理鏈接 |
touch -t 0712250000 file1 |
修改一個(gè)文件或目錄的時(shí)間戳 - (YYMMDDhhmm) |
iconv -l |
列出已知的編碼 |
iconv -f fromEncoding -t toEncoding inputFile > outputFile |
改變字符的編碼 |
find . -maxdepth 1 -name *.jpg -print -exec convert |
批量調(diào)整當(dāng)前目錄中的文件大小并將其發(fā)送到縮略圖目錄(需要從ImageMagick轉(zhuǎn)換) |
Linux命令 — 文件搜索
命令代碼 |
注釋說(shuō)明 |
find / -name file1 |
從 '/' 開(kāi)始進(jìn)入根文件系統(tǒng)搜索文件和目錄 |
find / -user user1 |
搜索屬于用戶(hù) 'user1' 的文件和目錄 |
find /home/user1 -name \*.bin |
在目錄 '/ home/user1' 中搜索帶有'.bin' 結(jié)尾的文件 |
find /usr/bin -type f -atime +100 |
搜索在過(guò)去100天內(nèi)未被使用過(guò)的執(zhí)行文件 |
find /usr/bin -type f -mtime -10 |
搜索在10天內(nèi)被創(chuàng)建或者修改過(guò)的文件 |
find / -name \*.rpm -exec chmod 755 '{}' \; |
搜索以 '.rpm' 結(jié)尾的文件并定義其權(quán)限 |
find / -xdev -name \*.rpm |
搜索以 '.rpm' 結(jié)尾的文件,忽略光驅(qū)、捷盤(pán)等可移動(dòng)設(shè)備 |
locate \*.ps |
尋找以 '.ps' 結(jié)尾的文件 - 先運(yùn)行 'updatedb' 命令 |
whereis halt |
顯示一個(gè)二進(jìn)制文件、源碼或man的位置 |
which halt |
顯示一個(gè)二進(jìn)制文件或可執(zhí)行文件的完整路徑 |
Linux命令 — 掛載一個(gè)文件系統(tǒng)
命令代碼 |
注釋說(shuō)明 |
mount /dev/hda2 /mnt/hda2 |
掛載一個(gè)叫做hda2的盤(pán) - 確定目錄 '/ mnt/hda2' 已經(jīng)存在 |
umount /dev/hda2 |
卸載一個(gè)叫做hda2的盤(pán) - 先從掛載點(diǎn) '/ mnt/hda2' 退出 |
fuser -km /mnt/hda2 |
當(dāng)設(shè)備繁忙時(shí)強(qiáng)制卸載 |
umount -n /mnt/hda2 |
運(yùn)行卸載操作而不寫(xiě)入 /etc/mtab 文件- 當(dāng)文件為只讀或當(dāng)磁盤(pán)寫(xiě)滿(mǎn)時(shí)非常有用 |
mount /dev/fd0 /mnt/floppy |
掛載一個(gè)軟盤(pán) |
mount /dev/cdrom /mnt/cdrom |
掛載一個(gè)cdrom或dvdrom |
mount /dev/hdc /mnt/cdrecorder |
掛載一個(gè)cdrw或dvdrom |
mount /dev/hdb /mnt/cdrecorder |
掛載一個(gè)cdrw或dvdrom |
mount -o loop file.iso /mnt/cdrom |
掛載一個(gè)文件或ISO鏡像文件 |
mount -t vfat /dev/hda5 /mnt/hda5 |
掛載一個(gè)Windows FAT32文件系統(tǒng) |
mount /dev/sda1 /mnt/usbdisk |
掛載一個(gè)usb 捷盤(pán)或閃存設(shè)備 |
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share |
掛載一個(gè)windows網(wǎng)絡(luò)共享 |
Linux命令 — 磁盤(pán)空間
命令代碼 |
注釋說(shuō)明 |
df -h |
顯示已經(jīng)掛載的分區(qū)列表 |
ls -lSr |more |
以尺寸大小排列文件和目錄 |
du -sh dir1 |
估算目錄 'dir1' 已經(jīng)使用的磁盤(pán)空間' |
du -sk * | sort -rn |
以容量大小為依據(jù)依次顯示文件和目錄的大小 |
rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n |
以大小為依據(jù)依次顯示已安裝的rpm包所使用的空間 (fedora, redhat類(lèi)系統(tǒng)) |
dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n |
以大小為依據(jù)顯示已安裝的deb包所使用的空間 (ubuntu, debian類(lèi)系統(tǒng)) |
Linux命令 — 用戶(hù)和群組
命令代碼 |
注釋說(shuō)明 |
groupadd group_name |
創(chuàng)建一個(gè)新用戶(hù)組 |
groupdel group_name |
刪除一個(gè)用戶(hù)組 |
groupmod -n new_group_name old_group_name |
重命名一個(gè)用戶(hù)組 |
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 |
創(chuàng)建一個(gè)屬于 "admin" 用戶(hù)組的用戶(hù) |
useradd user1 |
創(chuàng)建一個(gè)新用戶(hù) |
userdel -r user1 |
刪除一個(gè)用戶(hù) ( '-r' 排除主目錄) |
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 |
修改用戶(hù)屬性 |
passwd |
修改口令 |
passwd user1 |
修改一個(gè)用戶(hù)的口令 (只允許root執(zhí)行) |
chage -E 2020-12-31 user1 |
設(shè)置用戶(hù)口令的失效期限 |
pwck |
檢查 '/etc/passwd' 的文件格式和語(yǔ)法修正以及存在的用戶(hù) |
grpck |
檢查 '/etc/passwd' 的文件格式和語(yǔ)法修正以及存在的群組 |
newgrp group_name |
登陸進(jìn)一個(gè)新的群組以改變新創(chuàng)建文件的預(yù)設(shè)群組 |
Linux命令 — 文件的權(quán)限 - 使用 "+" 設(shè)置權(quán)限,使用 "-" 用于取消
命令代碼 |
注釋說(shuō)明 |
ls -lh |
顯示權(quán)限 |
ls /tmp | pr -T5 -W$COLUMNS |
將終端劃分成5欄顯示 |
chmod ugo+rwx directory1 |
設(shè)置目錄的所有人(u)、群組(g)以及其他人(o)以讀(r )、寫(xiě)(w)和執(zhí)行(x)的權(quán)限 |
chmod go-rwx directory1 |
刪除群組(g)與其他人(o)對(duì)目錄的讀寫(xiě)執(zhí)行權(quán)限 |
chown user1 file1 |
改變一個(gè)文件的所有人屬性 |
chown -R user1 directory1 |
改變一個(gè)目錄的所有人屬性并同時(shí)改變改目錄下所有文件的屬性 |
chgrp group1 file1 |
改變文件的群組 |
chown user1:group1 file1 |
改變一個(gè)文件的所有人和群組屬性 |
find / -perm -u+s |
羅列一個(gè)系統(tǒng)中所有使用了SUID控制的文件 |
chmod u+s /bin/file1 |
設(shè)置一個(gè)二進(jìn)制文件的 SUID 位 - 運(yùn)行該文件的用戶(hù)也被賦予和所有者同樣的權(quán)限 |
chmod u-s /bin/file1 |
禁用一個(gè)二進(jìn)制文件的 SUID位 |
chmod g+s /home/public |
設(shè)置一個(gè)目錄的SGID 位 - 類(lèi)似SUID ,不過(guò)這是針對(duì)目錄的 |
chmod g-s /home/public |
禁用一個(gè)目錄的 SGID 位 |
chmod o+t /home/public |
設(shè)置一個(gè)文件的 STIKY 位 - 只允許合法所有人刪除文件 |
chmod o-t /home/public |
禁用一個(gè)目錄的 STIKY 位 |
Linux命令 — 文件的特殊屬性 - 使用 "+" 設(shè)置權(quán)限,使用 "-" 用于取消
命令代碼 |
注釋說(shuō)明 |
chattr +a file1 |
只允許以追加方式讀寫(xiě)文件 |
chattr +c file1 |
允許這個(gè)文件能被內(nèi)核自動(dòng)壓縮/解壓 |
chattr +d file1 |
在進(jìn)行文件系統(tǒng)備份時(shí),dump程序?qū)⒑雎赃@個(gè)文件 |
chattr +i file1 |
設(shè)置成不可變的文件,不能被刪除、修改、重命名或者鏈接 |
chattr +s file1 |
允許一個(gè)文件被安全地刪除 |
chattr +S file1 |
一旦應(yīng)用程序?qū)@個(gè)文件執(zhí)行了寫(xiě)操作,使系統(tǒng)立刻把修改的結(jié)果寫(xiě)到磁盤(pán) |
chattr +u file1 |
若文件被刪除,系統(tǒng)會(huì)允許你在以后恢復(fù)這個(gè)被刪除的文件 |
lsattr |
顯示特殊的屬性 |
Linux命令 — 打包和壓縮文件
命令代碼 |
注釋說(shuō)明 |
bunzip2 file1.bz2 |
解壓一個(gè)叫做 'file1.bz2'的文件 |
bzip2 file1 |
壓縮一個(gè)叫做 'file1' 的文件 |
gunzip file1.gz |
解壓一個(gè)叫做 'file1.gz'的文件 |
gzip file1 |
壓縮一個(gè)叫做 'file1'的文件 |
gzip -9 file1 |
最大程度壓縮 |
rar a file1.rar test_file |
創(chuàng)建一個(gè)叫做 'file1.rar' 的包 |
rar a file1.rar file1 file2 dir1 |
同時(shí)壓縮 'file1', 'file2' 以及目錄 'dir1' |
rar x file1.rar |
解壓rar包 |
unrar x file1.rar |
解壓rar包 |
tar -cvf archive.tar file1 |
創(chuàng)建一個(gè)非壓縮的 tarball |
tar -cvf archive.tar file1 file2 dir1 |
創(chuàng)建一個(gè)包含了 'file1', 'file2' 以及 'dir1'的檔案文件 |
tar -tf archive.tar |
顯示一個(gè)包中的內(nèi)容 |
tar -xvf archive.tar |
釋放一個(gè)包 |
tar -xvf archive.tar -C /tmp |
將壓縮包釋放到 /tmp目錄下 |
tar -cvfj archive.tar.bz2 dir1 |
創(chuàng)建一個(gè)bzip2格式的壓縮包 |
tar -jxvf archive.tar.bz2 |
解壓一個(gè)bzip2格式的壓縮包 |
tar -cvfz archive.tar.gz dir1 |
創(chuàng)建一個(gè)gzip格式的壓縮包 |
tar -zxvf archive.tar.gz |
解壓一個(gè)gzip格式的壓縮包 |
zip file1.zip file1 |
創(chuàng)建一個(gè)zip格式的壓縮包 |
zip -r file1.zip file1 file2 dir1 |
將幾個(gè)文件和目錄同時(shí)壓縮成一個(gè)zip格式的壓縮包 |
unzip file1.zip |
解壓一個(gè)zip格式壓縮包 |
Linux命令 — RPM 包 - (Fedora, Redhat及類(lèi)似系統(tǒng))
命令代碼 |
注釋說(shuō)明 |
rpm -ivh package.rpm |
安裝一個(gè)rpm包 |
rpm -ivh --nodeeps package.rpm |
安裝一個(gè)rpm包而忽略依賴(lài)關(guān)系警告 |
rpm -U package.rpm |
更新一個(gè)rpm包但不改變其配置文件 |
rpm -F package.rpm |
更新一個(gè)確定已經(jīng)安裝的rpm包 |
rpm -e package_name.rpm |
刪除一個(gè)rpm包 |
rpm -qa |
顯示系統(tǒng)中所有已經(jīng)安裝的rpm包 |
rpm -qa | grep httpd |
顯示所有名稱(chēng)中包含 "httpd" 字樣的rpm包 |
rpm -qi package_name |
獲取一個(gè)已安裝包的特殊信息 |
rpm -qg "System Environment/Daemons" |
顯示一個(gè)組件的rpm包 |
rpm -ql package_name |
顯示一個(gè)已經(jīng)安裝的rpm包提供的文件列表 |
rpm -qc package_name |
顯示一個(gè)已經(jīng)安裝的rpm包提供的配置文件列表 |
rpm -q package_name --whatrequires |
顯示與一個(gè)rpm包存在依賴(lài)關(guān)系的列表 |
rpm -q package_name --whatprovides |
顯示一個(gè)rpm包所占的體積 |
rpm -q package_name --scripts |
顯示在安裝/刪除期間所執(zhí)行的腳本l |
rpm -q package_name --changelog |
顯示一個(gè)rpm包的修改歷史 |
rpm -qf /etc/httpd/conf/httpd.conf |
確認(rèn)所給的文件由哪個(gè)rpm包所提供 |
rpm -qp package.rpm -l |
顯示由一個(gè)尚未安裝的rpm包提供的文件列表 |
rpm --import /media/cdrom/RPM-GPG-KEY |
導(dǎo)入公鑰數(shù)字證書(shū) |
rpm --checksig package.rpm |
確認(rèn)一個(gè)rpm包的完整性 |
rpm -qa gpg-pubkey |
確認(rèn)已安裝的所有rpm包的完整性 |
rpm -V package_name |
檢查文件尺寸、 許可、類(lèi)型、所有者、群組、MD5檢查以及最后修改時(shí)間 |
rpm -Va |
檢查系統(tǒng)中所有已安裝的rpm包- 小心使用 |
rpm -Vp package.rpm |
確認(rèn)一個(gè)rpm包還未安裝 |
rpm2cpio package.rpm | cpio --extract --make-directories *bin* |
從一個(gè)rpm包運(yùn)行可執(zhí)行文件 |
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm |
從一個(gè)rpm源碼安裝一個(gè)構(gòu)建好的包 |
rpmbuild --rebuild package_name.src.rpm |
從一個(gè)rpm源碼構(gòu)建一個(gè) rpm 包 |
Linux命令 — YUM 軟件包升級(jí)器 - (Fedora, RedHat及類(lèi)似系統(tǒng))
命令代碼 |
注釋說(shuō)明 |
yum install package_name |
下載并安裝一個(gè)rpm包 |
yum localinstall package_name.rpm |
將安裝一個(gè)rpm包,使用你自己的軟件倉(cāng)庫(kù)為你解決所有依賴(lài)關(guān)系 |
yum update package_name.rpm |
更新當(dāng)前系統(tǒng)中所有安裝的rpm包 |
yum update package_name |
更新一個(gè)rpm包 |
yum remove package_name |
刪除一個(gè)rpm包 |
yum list |
列出當(dāng)前系統(tǒng)中安裝的所有包 |
yum search package_name |
在rpm倉(cāng)庫(kù)中搜尋軟件包 |
yum clean packages |
清理rpm緩存刪除下載的包 |
yum clean headers |
刪除所有頭文件 |
yum clean all |
刪除所有緩存的包和頭文件 |
Linux命令 — DEB 包 (Debian, Ubuntu 以及類(lèi)似系統(tǒng))
命令代碼 |
注釋說(shuō)明 |
dpkg -i package.deb |
安裝/更新一個(gè) deb 包 |
dpkg -r package_name |
從系統(tǒng)刪除一個(gè) deb 包 |
dpkg -l |
顯示系統(tǒng)中所有已經(jīng)安裝的 deb 包 |
dpkg -l | grep httpd |
顯示所有名稱(chēng)中包含 "httpd" 字樣的deb包 |
dpkg -s package_name |
獲得已經(jīng)安裝在系統(tǒng)中一個(gè)特殊包的信息 |
dpkg -L package_name |
顯示系統(tǒng)中已經(jīng)安裝的一個(gè)deb包所提供的文件列表 |
dpkg --contents package.deb |
顯示尚未安裝的一個(gè)包所提供的文件列表 |
dpkg -S /bin/ping |
確認(rèn)所給的文件由哪個(gè)deb包提供 |
Linux命令 — APT 軟件工具 (Debian, Ubuntu 以及類(lèi)似系統(tǒng))
命令代碼 |
注釋說(shuō)明 |
apt-get install package_name |
安裝/更新一個(gè) deb 包 |
apt-cdrom install package_name |
從光盤(pán)安裝/更新一個(gè) deb 包 |
apt-get update |
升級(jí)列表中的軟件包 |
apt-get upgrade |
升級(jí)所有已安裝的軟件 |
apt-get remove package_name |
從系統(tǒng)刪除一個(gè)deb包 |
apt-get check |
確認(rèn)依賴(lài)的軟件倉(cāng)庫(kù)正確 |
apt-get clean |
從下載的軟件包中清理緩存 |
apt-cache search searched-package |
返回包含所要搜索字符串的軟件包名稱(chēng) |
Linux命令 — 查看文件內(nèi)容
命令代碼 |
注釋說(shuō)明 |
cat file1 |
從第一個(gè)字節(jié)開(kāi)始正向查看文件的內(nèi)容 |
tac file1 |
從最后一行開(kāi)始反向查看一個(gè)文件的內(nèi)容 |
more file1 |
查看一個(gè)長(zhǎng)文件的內(nèi)容 |
less file1 |
類(lèi)似于 'more' 命令,但是它允許在文件中和正向操作一樣的反向操作 |
head -2 file1 |
查看一個(gè)文件的前兩行 |
tail -2 file1 |
查看一個(gè)文件的最后兩行 |
tail -f /var/log/messages |
實(shí)時(shí)查看被添加到一個(gè)文件中的內(nèi)容 |
Linux命令 — 文本處理
命令代碼 |
注釋說(shuō)明 |
cat file1 | command( sed, grep, awk, grep, etc...) > result.txt |
合并一個(gè)文件的詳細(xì)說(shuō)明文本,并將簡(jiǎn)介寫(xiě)入一個(gè)新文件中 |
cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt |
合并一個(gè)文件的詳細(xì)說(shuō)明文本,并將簡(jiǎn)介寫(xiě)入一個(gè)已有的文件中 |
grep Aug /var/log/messages |
在文件 '/var/log/messages'中查找關(guān)鍵詞"Aug" |
grep ^Aug /var/log/messages |
在文件 '/var/log/messages'中查找以"Aug"開(kāi)始的詞匯 |
grep [0-9] /var/log/messages |
選擇 '/var/log/messages' 文件中所有包含數(shù)字的行 |
grep Aug -R /var/log/* |
在目錄 '/var/log' 及隨后的目錄中搜索字符串"Aug" |
sed 's/stringa1/stringa2/g' example.txt |
將example.txt文件中的 "string1" 替換成 "string2" |
sed '/^$/d' example.txt |
從example.txt文件中刪除所有空白行 |
sed '/ *#/d; /^$/d' example.txt 從example.txt |
文件中刪除所有注釋和空白行 |
echo 'esempio' | tr '[:lower:]' '[:upper:]' |
合并上下單元格內(nèi)容 |
sed -e '1d' result.txt |
從文件example.txt 中排除第一行 |
sed -n '/stringa1/p' |
查看只包含詞匯 "string1"的行 |
sed -e 's/ *$//' example.txt |
刪除每一行最后的空白字符 |
sed -e 's/stringa1//g' example.txt |
從文檔中只刪除詞匯 "string1" 并保留剩余全部 |
sed -n '1,5p;5q' example.txt |
查看從第一行到第5行內(nèi)容 |
sed -n '5p;5q' example.txt |
查看第5行 |
sed -e 's/00*/0/g' example.txt |
用單個(gè)零替換多個(gè)零 |
cat -n file1 |
標(biāo)示文件的行數(shù) |
cat example.txt | awk 'NR%2==1' |
刪除example.txt文件中的所有偶數(shù)行 |
echo a b c | awk '{print $1}' |
查看一行第一欄 |
echo a b c | awk '{print $1,$3}' |
查看一行的第一和第三欄 |
paste file1 file2 |
合并兩個(gè)文件或兩欄的內(nèi)容 |
paste -d '+' file1 file2 |
合并兩個(gè)文件或兩欄的內(nèi)容,中間用"+"區(qū)分 |
sort file1 file2 |
排序兩個(gè)文件的內(nèi)容 |
sort file1 file2 | uniq |
取出兩個(gè)文件的并集(重復(fù)的行只保留一份) |
sort file1 file2 | uniq -u |
刪除交集,留下其他的行 |
sort file1 file2 | uniq -d |
取出兩個(gè)文件的交集(只留下同時(shí)存在于兩個(gè)文件中的文件) |
comm -1 file1 file2 |
比較兩個(gè)文件的內(nèi)容只刪除 'file1' 所包含的內(nèi)容 |
comm -2 file1 file2 |
比較兩個(gè)文件的內(nèi)容只刪除 'file2' 所包含的內(nèi)容 |
comm -3 file1 file2 |
比較兩個(gè)文件的內(nèi)容只刪除兩個(gè)文件共有的部分 |
Linux命令 — 字符設(shè)置和文件格式轉(zhuǎn)換
命令代碼 |
注釋說(shuō)明 |
dos2unix filedos.txt fileunix.txt |
將一個(gè)文本文件的格式從MSDOS轉(zhuǎn)換成UNIX |
unix2dos fileunix.txt filedos.txt |
將一個(gè)文本文件的格式從UNIX轉(zhuǎn)換成MSDOS |
recode ..HTML < page.txt > page.html |
將一個(gè)文本文件轉(zhuǎn)換成html |
recode -l | more |
顯示所有允許的轉(zhuǎn)換格式 |
Linux命令 — 文件系統(tǒng)分析
命令代碼 |
注釋說(shuō)明 |
badblocks -v /dev/hda1 |
檢查磁盤(pán)hda1上的壞磁塊 |
fsck /dev/hda1 |
修復(fù)/檢查hda1磁盤(pán)上linux文件系統(tǒng)的完整性 |
fsck.ext2 /dev/hda1 |
修復(fù)/檢查hda1磁盤(pán)上ext2文件系統(tǒng)的完整性 |
e2fsck /dev/hda1 |
修復(fù)/檢查hda1磁盤(pán)上ext2文件系統(tǒng)的完整性 |
e2fsck -j /dev/hda1 |
修復(fù)/檢查hda1磁盤(pán)上ext3文件系統(tǒng)的完整性 |
fsck.ext3 /dev/hda1 |
修復(fù)/檢查hda1磁盤(pán)上ext3文件系統(tǒng)的完整性 |
fsck.vfat /dev/hda1 |
修復(fù)/檢查hda1磁盤(pán)上fat文件系統(tǒng)的完整性 |
fsck.msdos /dev/hda1 |
修復(fù)/檢查hda1磁盤(pán)上dos文件系統(tǒng)的完整性 |
dosfsck /dev/hda1 |
修復(fù)/檢查hda1磁盤(pán)上dos文件系統(tǒng)的完整性 |
Linux命令 — 初始化一個(gè)文件系統(tǒng)
命令代碼 |
注釋說(shuō)明 |
mkfs /dev/hda1 |
在hda1分區(qū)創(chuàng)建一個(gè)文件系統(tǒng) |
mke2fs /dev/hda1 |
在hda1分區(qū)創(chuàng)建一個(gè)linux ext2的文件系統(tǒng) |
mke2fs -j /dev/hda1 |
在hda1分區(qū)創(chuàng)建一個(gè)linux ext3(日志型)的文件系統(tǒng) |
mkfs -t vfat 32 -F /dev/hda1 |
創(chuàng)建一個(gè) FAT32 文件系統(tǒng) |
fdformat -n /dev/fd0 |
格式化一個(gè)軟盤(pán) |
mkswap /dev/hda3 |
創(chuàng)建一個(gè)swap文件系統(tǒng) |
Linux命令 — SWAP文件系統(tǒng)
命令代碼 |
注釋說(shuō)明 |
mkswap /dev/hda3 |
創(chuàng)建一個(gè)swap文件系統(tǒng) |
swapon /dev/hda3 |
啟用一個(gè)新的swap文件系統(tǒng) |
swapon /dev/hda2 /dev/hdb3 |
啟用兩個(gè)swap分區(qū) |
Linux命令 — 備份
命令代碼 |
注釋說(shuō)明 |
dump -0aj -f /tmp/home0.bak /home |
制作一個(gè) '/home' 目錄的完整備份 |
dump -1aj -f /tmp/home0.bak /home |
制作一個(gè) '/home' 目錄的交互式備份 |
restore -if /tmp/home0.bak |
還原一個(gè)交互式備份 |
rsync -rogpav --delete /home /tmp |
同步兩邊的目錄 |
rsync -rogpav -e ssh --delete /home ip_address:/tmp |
通過(guò)SSH通道rsync |
rsync -az -e ssh --delete ip_addr:/home/public /home/local |
通過(guò)ssh和壓縮將一個(gè)遠(yuǎn)程目錄同步到本地目錄 |
rsync -az -e ssh --delete /home/local ip_addr:/home/public |
通過(guò)ssh和壓縮將本地目錄同步到遠(yuǎn)程目錄 |
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' |
通過(guò)ssh在遠(yuǎn)程主機(jī)上執(zhí)行一次備份本地磁盤(pán)的操作 |
dd if=/dev/sda of=/tmp/file1 |
備份磁盤(pán)內(nèi)容到一個(gè)文件 |
tar -Puf backup.tar /home/user |
執(zhí)行一次對(duì) '/home/user' 目錄的交互式備份操作 |
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' |
通過(guò)ssh在遠(yuǎn)程目錄中復(fù)制一個(gè)目錄內(nèi)容 |
( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' |
通過(guò)ssh在遠(yuǎn)程目錄中復(fù)制一個(gè)本地目錄 |
tar cf - . | (cd /tmp/backup ; tar xf - ) |
本地將一個(gè)目錄復(fù)制到另一個(gè)地方,保留原有權(quán)限及鏈接 |
find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents |
從一個(gè)目錄查找并復(fù)制所有以 '.txt' 結(jié)尾的文件到另一個(gè)目錄 |
find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 |
查找所有以 '.log' 結(jié)尾的文件并做成一個(gè)bzip包 |
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 |
做一個(gè)將 MBR (Master Boot Record)內(nèi)容復(fù)制到軟盤(pán)的動(dòng)作 |
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 |
從已經(jīng)保存到軟盤(pán)的備份中恢復(fù)MBR內(nèi)容 |
Linux命令 — 光盤(pán)
命令代碼 |
注釋說(shuō)明 |
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force |
清空一個(gè)可復(fù)寫(xiě)的光盤(pán)內(nèi)容 |
mkisofs /dev/cdrom > cd.iso |
在磁盤(pán)上創(chuàng)建一個(gè)光盤(pán)的iso鏡像文件 |
mkisofs /dev/cdrom | gzip > cd_iso.gz |
在磁盤(pán)上創(chuàng)建一個(gè)壓縮了的光盤(pán)iso鏡像文件 |
mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd |
創(chuàng)建一個(gè)目錄的iso鏡像文件 |
cdrecord -v dev=/dev/cdrom cd.iso |
刻錄一個(gè)ISO鏡像文件 |
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - |
刻錄一個(gè)壓縮了的ISO鏡像文件 |
mount -o loop cd.iso /mnt/iso |
掛載一個(gè)ISO鏡像文件 |
cd-paranoia -B |
從一個(gè)CD光盤(pán)轉(zhuǎn)錄音軌到 wav 文件中 |
cd-paranoia -- "-3" |
從一個(gè)CD光盤(pán)轉(zhuǎn)錄音軌到 wav 文件中(參數(shù)-3) |
cdrecord --scanbus |
掃描總線以識(shí)別scsi通道 |
dd if=/dev/hdc | md5sum |
校驗(yàn)一個(gè)設(shè)備的md5sum編碼,例如一張 CD |
Linux命令 — 網(wǎng)絡(luò) - (以太網(wǎng)和WIFI無(wú)線)
命令代碼 |
注釋說(shuō)明 |
dhclient eth0 |
以dhcp模式啟用‘eth0’網(wǎng)絡(luò)設(shè)備 |
ethtool eth0 |
顯示網(wǎng)卡‘eth0’的流量統(tǒng)計(jì) |
host www.example.com |
查找主機(jī)名以解析名稱(chēng)與IP地址及鏡像 |
hostname |
顯示主機(jī)名 |
ifconfig eth0 |
顯示一個(gè)以太網(wǎng)卡的配置 |
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 |
控制IP地址 |
ifconfig eth0 promisc |
設(shè)置‘eth0’成混雜模式以嗅探數(shù)據(jù)包(sniffing) |
ifdown eth0 |
禁用一個(gè)‘eth0’網(wǎng)絡(luò)設(shè)備 |
ifup eth0 |
啟用一個(gè)‘eth0’網(wǎng)絡(luò)設(shè)備 |
ip link show |
顯示所有網(wǎng)絡(luò)設(shè)備的連接狀態(tài) |
iwconfig eth1 |
顯示一個(gè)無(wú)線網(wǎng)卡的配置 |
iwlist scan |
顯示無(wú)線網(wǎng)絡(luò) |
mii-tool eth0 |
顯示‘eth0’的連接狀態(tài) |
netstat -tup |
顯示所有啟用的網(wǎng)絡(luò)連接和他們的PID |
netstat -tup1 |
顯示系統(tǒng)中所有監(jiān)聽(tīng)的網(wǎng)絡(luò)服務(wù)和他們的PID |
netstat -rn |
顯示路由表,類(lèi)似于“route -n”命令 |
nslookup www.example.com |
查找主機(jī)名以解析名稱(chēng)與IP地址及鏡像 |
route -n |
顯示路由表 |
route add -net 0/0 gw IP Gateway |
控制預(yù)設(shè)網(wǎng)關(guān) |
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 |
控制通向網(wǎng)絡(luò)‘192.168.0.0/16’的靜態(tài)路由 |
route del 0/0 gw IP gateway |
刪除靜態(tài)路由 |
echo “1”> /proc/sys/net/ipv4/ip_foward |
激活I(lǐng)P轉(zhuǎn)發(fā) |
tcpdump tcp port 80 |
顯示所有HTTP回環(huán) |
whois www.example.com |
在Whois數(shù)據(jù)庫(kù)中查找 |
Linux命令 — Microsoft Windows 網(wǎng)絡(luò)
命令代碼 |
注釋說(shuō)明 |
mount -t smbfs -o username=user,password=pass //WinClient/share/mnt/share |
掛載一個(gè)windows網(wǎng)絡(luò)共享 |
nbtscan ip addr |
netbios名解析 |
nmblookup -A ip addr |
netbios名解析 |
smbclient -L ip addr/hostname |
顯示一臺(tái)windows主機(jī)的遠(yuǎn)程共享 |
smbget -Rr smb://ip addr/share |
像wget一樣能夠通過(guò)smb從一臺(tái)windows主機(jī)上下載文件 |
Linux命令 — IPTABLES(firewall)
命令代碼 |
注釋說(shuō)明 |
iptables -t filter -L |
顯示過(guò)濾表的所有鏈路 |
iptables -t nae -L |
顯示nat表的所有鏈路 |
iptables -t filter -F |
以過(guò)濾表為依據(jù)清理所有規(guī)則 |
iptables -t nat -F |
以nat表為依據(jù)清理所有規(guī)則 |
iptables -t filter -X |
刪除所有由用戶(hù)創(chuàng)建的鏈路 |
iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT |
允許telnet接入 |
iptables -t filter -A OUTPUT -p tcp --dport telnet -j DROP |
阻止telnet接入 |
iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT |
允許轉(zhuǎn)發(fā)鏈路上的POP3連接 |
iptables -t filter -A INPUT -j LOG --log-prefix |
記錄所有鏈路中被查封的包 |
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE |
設(shè)置一個(gè)PAT(端口地址轉(zhuǎn)換)在eth0掩蓋發(fā)出包 |
iptables -t nat -A POSTROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22-j DNAT --to-destination 10.0.0.2:22 |
將發(fā)往一個(gè)主機(jī)地址的包轉(zhuǎn)向到其他主機(jī) |
Linux命令 — 監(jiān)視和調(diào)試
命令代碼 |
注釋說(shuō)明 |
free -m |
以兆為單位羅列RAM狀態(tài) |
kill -9 process id |
強(qiáng)行關(guān)閉進(jìn)程并結(jié)束它 |
kill -1 process id |
強(qiáng)制一個(gè)進(jìn)程重載其配置 |
last reboot |
顯示重啟歷史 |
lsmod |
羅列狀態(tài)的內(nèi)核模塊 |
lsof -p process id |
羅列一個(gè)由進(jìn)程打開(kāi)的文件列表 |
lsof /home/user1 |
羅列所給系統(tǒng)路徑中的所打開(kāi)的文件的列表 |
ps -eafw |
羅列l(wèi)inux任務(wù) |
ps -e -o pid,args --forest |
以分級(jí)的方式羅列l(wèi)inux任務(wù) |
pstress |
以樹(shù)狀圖顯示程序 |
smartctl -A /dev/hda |
通過(guò)啟用SMART監(jiān)控硬盤(pán)設(shè)備的可靠性 |
smartctl -i /dev/hda |
檢查一個(gè)硬盤(pán)設(shè)備的SMART是否啟用 |
strace -c ls >/dev/null |
羅列系統(tǒng)calls made并用一個(gè)進(jìn)程接收 |
strace -f -e open ls >/dev/null |
羅列庫(kù)調(diào)用 |
tail /var/log/dmesg |
顯示內(nèi)核引導(dǎo)過(guò)程中的內(nèi)部事件 |
tail /val/log/messages |
顯示系統(tǒng)事件 |
top |
羅列使用CPU資源最多的linux任務(wù) |
watch -nl ‘cat /proc/interrupts’ |
羅列實(shí)時(shí)中斷 |
Linux命令 — 其他常用命令
命令代碼 |
注釋說(shuō)明 |
alias hh='history' |
為命令history(歷史)設(shè)置一個(gè)別名 |
apropos ...keyword |
羅列一個(gè)包括程序關(guān)鍵詞的命令列表,當(dāng)你僅知曉程序是干什么,而又不記得命令時(shí)特別有用 |
chsh |
改變shell命令 |
chsh --list-shells |
用于了解你是否必須遠(yuǎn)程連接到別的機(jī)器的不錯(cuò)的命令 |
gpg -c filel |
用GNU Privacy Guard加密一個(gè)文件 |
gpg filel.gpg |
用GNU Privacy Guard解密一個(gè)文件 |