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
























粤ICP备2021116614号