600條最強 Linux 命令總結(jié)(珍藏版)
一、基本命令
- uname -m 顯示機器的處理器架構(gòu)
- uname -r 顯示正在使用的內(nèi)核版本
- dmidecode -q 顯示硬件系統(tǒng)部件
- (SMBIOS / DMI) hdparm -i /dev/hda 羅列一個磁盤的架構(gòu)特性
- hdparm -tT /dev/sda 在磁盤上執(zhí)行測試性讀取操作系統(tǒng)信息
- arch 顯示機器的處理器架構(gòu)
- uname -m 顯示機器的處理器架構(gòu)
- uname -r 顯示正在使用的內(nèi)核版本
- dmidecode -q 顯示硬件系統(tǒng)部件 - (SMBIOS / DMI)
- hdparm -i /dev/hda 羅列一個磁盤的架構(gòu)特性
- hdparm -tT /dev/sda 在磁盤上執(zhí)行測試性讀取操作
- cat /proc/cpuinfo 顯示CPU info的信息
- cat /proc/interrupts 顯示中斷
- cat /proc/meminfo 校驗內(nèi)存使用
- cat /proc/swaps 顯示哪些swap被使用
- cat /proc/version 顯示內(nèi)核的版本
- cat /proc/net/dev 顯示網(wǎng)絡(luò)適配器及統(tǒng)計
- cat /proc/mounts 顯示已加載的文件系統(tǒng)
- lspci -tv 羅列 PCI 設(shè)備
- lsusb -tv 顯示 USB 設(shè)備
- date 顯示系統(tǒng)日期
- cal 2007 顯示2007年的日歷表
- date 041217002007.00 設(shè)置日期和時間 - 月日時分年.秒
- clock -w 將時間修改保存到 BIOS
二、關(guān)機
- shutdown -h now 關(guān)閉系統(tǒng)(1)
- init 0 關(guān)閉系統(tǒng)(2)
- telinit 0 關(guān)閉系統(tǒng)(3)
- shutdown -h hours:minutes & 按預(yù)定時間關(guān)閉系統(tǒng)
- shutdown -c 取消按預(yù)定時間關(guān)閉系統(tǒng)
- shutdown -r now 重啟(1)
- reboot 重啟(2)
- logout 注銷
三、文件和目錄
- cd /home 進入 '/ home' 目錄'
- cd .. 返回上一級目錄
- cd ../.. 返回上兩級目錄
- cd 進入個人的主目錄
- cd ~user1 進入個人的主目錄
- cd - 返回上次所在的目錄
- pwd 顯示工作路徑
- ls 查看目錄中的文件
- ls -F 查看目錄中的文件
- ls -l 顯示文件和目錄的詳細資料
- ls -a 顯示隱藏文件
- ls [0-9] 顯示包含數(shù)字的文件名和目錄名
- tree 顯示文件和目錄由根目錄開始的樹形結(jié)構(gòu)(1)
- lstree 顯示文件和目錄由根目錄開始的樹形結(jié)構(gòu)(2)
- mkdir dir1 創(chuàng)建一個叫做 'dir1' 的目錄'
- mkdir dir1 dir2 同時創(chuàng)建兩個目錄
- mkdir -p /tmp/dir1/dir2 創(chuàng)建一個目錄樹
- rm -f file1 刪除一個叫做 'file1' 的文件'
- rmdir dir1 刪除一個叫做 'dir1' 的目錄'
- rm -rf dir1 刪除一個叫做 'dir1' 的目錄并同時刪除其內(nèi)容
- rm -rf dir1 dir2 同時刪除兩個目錄及它們的內(nèi)容
- mv dir1 new_dir 重命名/移動 一個目錄
- cp file1 file2 復(fù)制一個文件
- cp dir/* . 復(fù)制一個目錄下的所有文件到當(dāng)前工作目錄
- cp -a /tmp/dir1 . 復(fù)制一個目錄到當(dāng)前工作目錄
- cp -a dir1 dir2 復(fù)制一個目錄
- ln -s file1 lnk1 創(chuàng)建一個指向文件或目錄的軟鏈接
- ln file1 lnk1 創(chuàng)建一個指向文件或目錄的物理鏈接
- touch -t 0712250000 file1 修改一個文件或目錄的時間戳 - (YYMMDDhhmm)
- file file1 outputs the mime type of the file as text
- iconv -l 列出已知的編碼
- iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
- find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" ; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)
四、文件搜索
- find / -name file1 從 '/' 開始進入根文件系統(tǒng)搜索文件和目錄
- find / -user user1 搜索屬于用戶 'user1' 的文件和目錄
- find /home/user1 -name *.bin 在目錄 '/ home/user1' 中搜索帶有'.bin' 結(jié)尾的文件
- find /usr/bin -type f -atime +100 搜索在過去100天內(nèi)未被使用過的執(zhí)行文件
- find /usr/bin -type f -mtime -10 搜索在10天內(nèi)被創(chuàng)建或者修改過的文件
- find / -name *.rpm -exec chmod 755 '{}' ; 搜索以 '.rpm' 結(jié)尾的文件并定義其權(quán)限
- find / -xdev -name *.rpm 搜索以 '.rpm' 結(jié)尾的文件,忽略光驅(qū)、捷盤等可移動設(shè)備
- locate *.ps 尋找以 '.ps' 結(jié)尾的文件 - 先運行 'updatedb' 命令
- whereis halt 顯示一個二進制文件、源碼或man的位置
- which halt 顯示一個二進制文件或可執(zhí)行文件的完整路徑
五、掛載一個文件系統(tǒng)
- mount /dev/hda2 /mnt/hda2 掛載一個叫做hda2的盤 - 確定目錄 '/ mnt/hda2' 已經(jīng)存在
- umount /dev/hda2 卸載一個叫做hda2的盤 - 先從掛載點 '/ mnt/hda2' 退出
- fuser -km /mnt/hda2 當(dāng)設(shè)備繁忙時強制卸載
- umount -n /mnt/hda2 運行卸載操作而不寫入 /etc/mtab 文件- 當(dāng)文件為只讀或當(dāng)磁盤寫滿時非常有用
- 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文件系統(tǒng)
- mount /dev/sda1 /mnt/usbdisk 掛載一個usb 捷盤或閃存設(shè)備
- mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 掛載一個windows網(wǎng)絡(luò)共享
六、磁盤空間
- df -h 顯示已經(jīng)掛載的分區(qū)列表
- ls -lSr |more 以尺寸大小排列文件和目錄
- du -sh dir1 估算目錄 'dir1' 已經(jīng)使用的磁盤空間'
- du -sk * | sort -rn 以容量大小為依據(jù)依次顯示文件和目錄的大小
- rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n 以大小為依據(jù)依次顯示已安裝的rpm包所使用的空間 (fedora, redhat類系統(tǒng))
- dpkg-query -W -f='{Package}n' | sort -k1,1n 以大小為依據(jù)顯示已安裝的deb包所使用的空間 (ubuntu, debian類系統(tǒng))
七、用戶和群組
- groupadd group_name 創(chuàng)建一個新用戶組
- groupdel group_name 刪除一個用戶組
- groupmod -n new_group_name old_group_name 重命名一個用戶組
- useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 創(chuàng)建一個屬于 "admin" 用戶組的用戶
- useradd user1 創(chuàng)建一個新用戶
- userdel -r user1 刪除一個用戶 ( '-r' 排除主目錄)
- usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用戶屬性
- passwd 修改口令
- passwd user1 修改一個用戶的口令 (只允許root執(zhí)行)
- chage -E 2005-12-31 user1 設(shè)置用戶口令的失效期限
- pwck 檢查 '/etc/passwd' 的文件格式和語法修正以及存在的用戶
- grpck 檢查 '/etc/passwd' 的文件格式和語法修正以及存在的群組
- newgrp group_name 登陸進一個新的群組以改變新創(chuàng)建文件的預(yù)設(shè)群組
八、文件的權(quán)限 使用 “+” 設(shè)置權(quán)限,使用 “-” 用于取消
- ls -lh 顯示權(quán)限
- ls /tmp | pr -T5 -W$COLUMNS 將終端劃分成5欄顯示
- chmod ugo+rwx directory1 設(shè)置目錄的所有人(u)、群組(g)以及其他人(o)以讀(r )、寫(w)和執(zhí)行(x)的權(quán)限
- chmod go-rwx directory1 刪除群組(g)與其他人(o)對目錄的讀寫執(zhí)行權(quán)限
- chown user1 file1 改變一個文件的所有人屬性
- chown -R user1 directory1 改變一個目錄的所有人屬性并同時改變改目錄下所有文件的屬性
- chgrp group1 file1 改變文件的群組
- chown user1:group1 file1 改變一個文件的所有人和群組屬性
- find / -perm -u+s 羅列一個系統(tǒng)中所有使用了SUID控制的文件
- chmod u+s /bin/file1 設(shè)置一個二進制文件的 SUID 位 - 運行該文件的用戶也被賦予和所有者同樣的權(quán)限
- chmod u-s /bin/file1 禁用一個二進制文件的 SUID位
- chmod g+s /home/public 設(shè)置一個目錄的SGID 位 - 類似SUID ,不過這是針對目錄的
- chmod g-s /home/public 禁用一個目錄的 SGID 位
- chmod o+t /home/public 設(shè)置一個文件的 STIKY 位 - 只允許合法所有人刪除文件
- chmod o-t /home/public 禁用一個目錄的 STIKY 位
- chmod +x 文件路徑 為所有者、所屬組和其他用戶添加執(zhí)行的權(quán)限
- chmod -x 文件路徑 為所有者、所屬組和其他用戶刪除執(zhí)行的權(quán)限
- chmod u+x 文件路徑 為所有者添加執(zhí)行的權(quán)限
- chmod g+x 文件路徑 為所屬組添加執(zhí)行的權(quán)限
- chmod o+x 文件路徑 為其他用戶添加執(zhí)行的權(quán)限
- chmod ug+x 文件路徑 為所有者、所屬組添加執(zhí)行的權(quán)限
- chmod =wx 文件路徑 為所有者、所屬組和其他用戶添加寫、執(zhí)行的權(quán)限,取消讀權(quán)限
- chmod ug=wx 文件路徑 為所有者、所屬組添加寫、執(zhí)行的權(quán)限,取消讀權(quán)限
九、文件的特殊屬性 ,使用 “+” 設(shè)置權(quán)限,使用 “-” 用于取消
- chattr +a file1 只允許以追加方式讀寫文件
- chattr +c file1 允許這個文件能被內(nèi)核自動壓縮/解壓
- chattr +d file1 在進行文件系統(tǒng)備份時,dump程序?qū)⒑雎赃@個文件
- chattr +i file1 設(shè)置成不可變的文件,不能被刪除、修改、重命名或者鏈接
- chattr +s file1 允許一個文件被安全地刪除
- chattr +S file1 一旦應(yīng)用程序?qū)@個文件執(zhí)行了寫操作,使系統(tǒng)立刻把修改的結(jié)果寫到磁盤
- chattr +u file1 若文件被刪除,系統(tǒng)會允許你在以后恢復(fù)這個被刪除的文件
- 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 創(chuàng)建一個叫做 '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 創(chuàng)建一個非壓縮的 tarball
- tar -cvf archive.tar file1 file2 dir1 創(chuàng)建一個包含了 'file1', 'file2' 以及 'dir1'的檔案文件
- tar -tf archive.tar 顯示一個包中的內(nèi)容
- tar -xvf archive.tar 釋放一個包
- tar -xvf archive.tar -C /tmp 將壓縮包釋放到 /tmp目錄下
- tar -cvfj archive.tar.bz2 dir1 創(chuàng)建一個bzip2格式的壓縮包
- tar -xvfj archive.tar.bz2 解壓一個bzip2格式的壓縮包
- tar -cvfz archive.tar.gz dir1 創(chuàng)建一個gzip格式的壓縮包
- tar -xvfz archive.tar.gz 解壓一個gzip格式的壓縮包
- zip file1.zip file1 創(chuàng)建一個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包而忽略依賴關(guān)系警告
- rpm -U package.rpm 更新一個rpm包但不改變其配置文件
- rpm -F package.rpm 更新一個確定已經(jīng)安裝的rpm包
- rpm -e package_name.rpm 刪除一個rpm包
- rpm -qa 顯示系統(tǒng)中所有已經(jīng)安裝的rpm包
- rpm -qa | grep httpd 顯示所有名稱中包含 "httpd" 字樣的rpm包
- rpm -qi package_name 獲取一個已安裝包的特殊信息
- rpm -qg "System Environment/Daemons" 顯示一個組件的rpm包
- rpm -ql package_name 顯示一個已經(jīng)安裝的rpm包提供的文件列表
- rpm -qc package_name 顯示一個已經(jīng)安裝的rpm包提供的配置文件列表
- rpm -q package_name --whatrequires 顯示與一個rpm包存在依賴關(guān)系的列表
- rpm -q package_name --whatprovides 顯示一個rpm包所占的體積
- rpm -q package_name --scripts 顯示在安裝/刪除期間所執(zhí)行的腳本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 導(dǎo)入公鑰數(shù)字證書
- rpm --checksig package.rpm 確認一個rpm包的完整性
- rpm -qa gpg-pubkey 確認已安裝的所有rpm包的完整性
- rpm -V package_name 檢查文件尺寸、 許可、類型、所有者、群組、MD5檢查以及最后修改時間
- rpm -Va 檢查系統(tǒng)中所有已安裝的rpm包- 小心使用
- rpm -Vp package.rpm 確認一個rpm包還未安裝
- rpm2cpio package.rpm | cpio --extract --make-directories bin 從一個rpm包運行可執(zhí)行文件
- rpm -ivh /usr/src/redhat/RPMS/
arch/package.rpm 從一個rpm源碼安裝一個構(gòu)建好的包 - rpmbuild --rebuild package_name.src.rpm 從一個rpm源碼構(gòu)建一個 rpm 包
十二、YUM 軟件包升級器
- yum install package_name 下載并安裝一個rpm包
- yum localinstall package_name.rpm 將安裝一個rpm包,使用你自己的軟件倉庫為你解決所有依賴關(guān)系
- yum update package_name.rpm 更新當(dāng)前系統(tǒng)中所有安裝的rpm包
- yum update package_name 更新一個rpm包
- yum remove package_name 刪除一個rpm包
- yum list 列出當(dāng)前系統(tǒng)中安裝的所有包
- 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 從系統(tǒng)刪除一個 deb 包
- dpkg -l 顯示系統(tǒng)中所有已經(jīng)安裝的 deb 包
- dpkg -l | grep httpd 顯示所有名稱中包含 "httpd" 字樣的deb包
- dpkg -s package_name 獲得已經(jīng)安裝在系統(tǒng)中一個特殊包的信息
- dpkg -L package_name 顯示系統(tǒng)中已經(jīng)安裝的一個deb包所提供的文件列表
- dpkg --contents package.deb 顯示尚未安裝的一個包所提供的文件列表
- dpkg -S /bin/ping 確認所給的文件由哪個deb包提供
- APT 軟件工具 (Debian, Ubuntu 以及類似系統(tǒng))
- apt-get install package_name 安裝/更新一個 deb 包
- apt-cdrom install package_name 從光盤安裝/更新一個 deb 包
- apt-get update 升級列表中的軟件包
- apt-get upgrade 升級所有已安裝的軟件
- apt-get remove package_name 從系統(tǒng)刪除一個deb包
- apt-get check 確認依賴的軟件倉庫正確
- apt-get clean 從下載的軟件包中清理緩存
- apt-cache search searched-package 返回包含所要搜索字符串的軟件包名稱
十四、查看文件內(nèi)容
- cat file1 從第一個字節(jié)開始正向查看文件的內(nèi)容
- tac file1 從最后一行開始反向查看一個文件的內(nèi)容
- more file1 查看一個長文件的內(nèi)容
- less file1 類似于 'more' 命令,但是它允許在文件中和正向操作一樣的反向操作
- head -2 file1 查看一個文件的前兩行
- tail -2 file1 查看一個文件的最后兩行
- tail -f /var/log/messages 實時查看被添加到一個文件中的內(nèi)容
十五、文本處理
- cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT
- 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'中查找關(guān)鍵詞"Aug"
- grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"開始的詞匯
- 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 用單個零替換多個零
- cat -n file1 標示文件的行數(shù)
- cat example.txt | awk 'NR%2==1' 刪除example.txt文件中的所有偶數(shù)行
- echo a b c | awk '{print $1}' 查看一行第一欄
- echo a b c | awk '{print 3}' 查看一行的第一和第三欄
- paste file1 file2 合并兩個文件或兩欄的內(nèi)容
- paste -d '+' file1 file2 合并兩個文件或兩欄的內(nèi)容,中間用"+"區(qū)分
- sort file1 file2 排序兩個文件的內(nèi)容
- sort file1 file2 | uniq 取出兩個文件的并集(重復(fù)的行只保留一份)
- sort file1 file2 | uniq -u 刪除交集,留下其他的行
- sort file1 file2 | uniq -d 取出兩個文件的交集(只留下同時存在于兩個文件中的文件)
- comm -1 file1 file2 比較兩個文件的內(nèi)容只刪除 'file1' 所包含的內(nèi)容
- comm -2 file1 file2 比較兩個文件的內(nèi)容只刪除 'file2' 所包含的內(nèi)容
- comm -3 file1 file2 比較兩個文件的內(nèi)容只刪除兩個文件共有的部分
十六、字符設(shè)置和文件格式轉(zhuǎn)換
- dos2unix filedos.txt fileunix.txt 將一個文本文件的格式從MSDOS轉(zhuǎn)換成UNIX
- unix2dos fileunix.txt filedos.txt 將一個文本文件的格式從UNIX轉(zhuǎn)換成MSDOS
- recode ..HTML < page.txt > page.html 將一個文本文件轉(zhuǎn)換成html
- recode -l | more 顯示所有允許的轉(zhuǎn)換格式
十七、文件系統(tǒng)分析
- badblocks -v /dev/hda1 檢查磁盤hda1上的壞磁塊
- fsck /dev/hda1 修復(fù)/檢查hda1磁盤上linux文件系統(tǒng)的完整性
- fsck.ext2 /dev/hda1 修復(fù)/檢查hda1磁盤上ext2文件系統(tǒng)的完整性
- e2fsck /dev/hda1 修復(fù)/檢查hda1磁盤上ext2文件系統(tǒng)的完整性
- e2fsck -j /dev/hda1 修復(fù)/檢查hda1磁盤上ext3文件系統(tǒng)的完整性
- fsck.ext3 /dev/hda1 修復(fù)/檢查hda1磁盤上ext3文件系統(tǒng)的完整性
- fsck.vfat /dev/hda1 修復(fù)/檢查hda1磁盤上fat文件系統(tǒng)的完整性
- fsck.msdos /dev/hda1 修復(fù)/檢查hda1磁盤上dos文件系統(tǒng)的完整性
- dosfsck /dev/hda1 修復(fù)/檢查hda1磁盤上dos文件系統(tǒng)的完整性
十八、初始化一個文件系統(tǒng)
- mkfs /dev/hda1 在hda1分區(qū)創(chuàng)建一個文件系統(tǒng)
- mke2fs /dev/hda1 在hda1分區(qū)創(chuàng)建一個linux ext2的文件系統(tǒng)
- mke2fs -j /dev/hda1 在hda1分區(qū)創(chuàng)建一個linux ext3(日志型)的文件系統(tǒng)
- mkfs -t vfat 32 -F /dev/hda1 創(chuàng)建一個 FAT32 文件系統(tǒng)
- fdformat -n /dev/fd0 格式化一個軟盤
- mkswap /dev/hda3 創(chuàng)建一個swap文件系統(tǒng)
十九、SWAP 文件系統(tǒng)
- mkswap /dev/hda3 創(chuàng)建一個swap文件系統(tǒng)
- swapon /dev/hda3 啟用一個新的swap文件系統(tǒng)
- swapon /dev/hda2 /dev/hdb3 啟用兩個swap分區(qū)
二十、備份
- 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在遠程主機上執(zhí)行一次備份本地磁盤的操作
- dd if=/dev/sda of=/tmp/file1 備份磁盤內(nèi)容到一個文件
- tar -Puf backup.tar /home/user 執(zhí)行一次對 '/home/user' 目錄的交互式備份操作
- ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通過ssh在遠程目錄中復(fù)制一個目錄內(nèi)容
- ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通過ssh在遠程目錄中復(fù)制一個本地目錄
- tar cf - . | (cd /tmp/backup ; tar xf - ) 本地將一個目錄復(fù)制到另一個地方,保留原有權(quán)限及鏈接
- find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 從一個目錄查找并復(fù)制所有以 '.txt' 結(jié)尾的文件到另一個目錄
- find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 結(jié)尾的文件并做成一個bzip包
- dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一個將 MBR (Master Boot Record)內(nèi)容復(fù)制到軟盤的動作
- dd if=/dev/fd0 of=/dev/hda bs=512 count=1 從已經(jīng)保存到軟盤的備份中恢復(fù)MBR內(nèi)容
二十一、光盤
- cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一個可復(fù)寫的光盤內(nèi)容
- mkisofs /dev/cdrom > cd.iso 在磁盤上創(chuàng)建一個光盤的iso鏡像文件
- mkisofs /dev/cdrom | gzip > cd_iso.gz 在磁盤上創(chuàng)建一個壓縮了的光盤iso鏡像文件
- mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd 創(chuàng)建一個目錄的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光盤轉(zhuǎn)錄音軌到 wav 文件中
- cd-paranoia -- "-3" 從一個CD光盤轉(zhuǎn)錄音軌到 wav 文件中(參數(shù)-3)
- cdrecord --scanbus 掃描總線以識別scsi通道
- dd if=/dev/hdc | md5sum 校驗一個設(shè)備的md5sum編碼,例如一張 CD
二十二、網(wǎng)絡(luò)(以太網(wǎng)和 WIFI 無線)
- ifconfig eth0 顯示一個以太網(wǎng)卡的配置
- ifup eth0 啟用一個 'eth0' 網(wǎng)絡(luò)設(shè)備
- ifdown eth0 禁用一個 'eth0' 網(wǎng)絡(luò)設(shè)備
- ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址
- ifconfig eth0 promisc 設(shè)置 'eth0' 成混雜模式以嗅探數(shù)據(jù)包 (sniffing)
- dhclient eth0 以dhcp模式啟用 'eth0'
- route -n show routing table
- route add -net 0/0 gw IP_Gateway configura default gateway
- route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16'
- route del 0/0 gw IP_gateway remove static route
- echo "1" > /proc/sys/net/ipv4/ip_forward activate ip routing
- hostname show hostname of system
- host www.example.com lookup hostname to resolve name to ip address and viceversa(1)
- nslookup www.example.com lookup hostname to resolve name to ip address and viceversa(2)
- ip link show show link status of all interfaces
- mii-tool eth0 show link status of 'eth0'
- ethtool eth0 show statistics of network card 'eth0'
- netstat -tup show all active network connections and their PID
- netstat -tupl show all network services listening on the system and their PID
- tcpdump tcp port 80 show all HTTP traffic
- iwlist scan show wireless networks
- iwconfig eth1 show configuration of a wireless network card
- hostname show hostname
- host www.example.com lookup hostname to resolve name to ip address and viceversa
- nslookup www.example.com lookup hostname to resolve name to ip address and viceversa
- whois www.example.com lookup on Whois database
二十三、列出目錄內(nèi)容
- ls -a:顯示所有文件(包括隱藏文件);
- ls -l:顯示詳細信息;
- ls -R:遞歸顯示子目錄結(jié)構(gòu);
- ls -ld:顯示目錄和鏈接信息;
- ctrl+r:歷史記錄中所搜命令(輸入命令中的任意一個字符);
- Linux中以.開頭的文件是隱藏文件;
- pwd:顯示當(dāng)前目錄
二十四、查看文件的類型
- file:查看文件的類型
二十五、文件目錄其他命令
cp:復(fù)制文件和目錄 cp 源文件(文件夾)目標文件(文件夾)
- 常用參數(shù):-r:遞歸復(fù)制整個目錄樹;-v:顯示詳細信息;
- 復(fù)制文件夾時要在 cp 命令后面加一個-r 參數(shù):
- 如:cp -r 源文件夾 目標文件夾
touch+文件名:當(dāng)文件不存在的時候,創(chuàng)建相應(yīng)的文件;當(dāng)文件存在的時候,修改文件的創(chuàng)建時間。
- 功能:生成一個空文件或修改文件的存取/修改的時間記錄值。
touch * :將當(dāng)前下的文件時間修改為系統(tǒng)的當(dāng)前時間
touch –d 20040210 test:將 test 文件的日期改為 20040210
touch abc :若 abc 文件存在,則修改為系統(tǒng)的當(dāng)前時間;若不存在,則生成一個為當(dāng)前時間的空文件
mv 文件 目標目錄:移動或重命名文件或目錄(如果指定文件名,則可以重命名文件)。可以將文件及目錄移到另一目錄下,或更改文件及目錄的名稱。
- 格式為:mv [參數(shù)]<源文件或目錄> <目標文件或目錄>
mva.txt ../:將 a.txt 文件移動上層目錄
mv a.txt b.txt:將 a.txt 改名為 b.txt
mvdir2 ../:將 dir2 目錄上移一層
rm:刪除文件;
- 常用參數(shù):-i:交互式 -r:遞歸的刪除包括目錄中的所有內(nèi)容
mkdir +文件夾名稱:創(chuàng)建文件夾;
rm -r +文件夾名稱:刪除文件夾(空文件夾和非空文件夾都可刪除)
rmdir 文件夾名稱:刪除文件夾(只能刪除空文件夾)
mkdir -p dir1/dir2:在當(dāng)前目錄下創(chuàng)建 dir1 目錄,并在 dir1 目錄下創(chuàng)建 dir2 目錄, 也就是連續(xù)創(chuàng)建兩個目錄(dir1/和 dir1/dir2)
rmdir –p dir1/dir2:刪除 dir1 下的 dir2 目錄,若 dir1 目錄為空也刪除它
- rm *:刪除當(dāng)前目錄下的所有文件
- -f 參數(shù):強迫刪除文件 rm –f *.txt:強迫刪除所有以后綴名為 txt 文件
- -i 參數(shù):刪除文件時詢問
- rm –i * :刪除當(dāng)前目錄下的所有文件會有如下提示:
- rm:backup:is a directory 遇到目錄會略過
- rm: remove ‘myfiles.txt’ ? Y
- 刪除文件時會詢問,可按 Y 或 N 鍵表示允許或拒絕刪除文件
- -r 參數(shù):遞歸刪除(連子目錄一同刪除,這是一個相當(dāng)常用的參數(shù))
- rm -r test :刪除 test 目錄(含 test 目錄下所有文件和子目錄)
- rm -r *:刪除所有文件(含當(dāng)前目錄所有文件、所有子目錄和子目錄下的文件) 一般在刪除目錄時 r 和 f 一起用,避免麻煩
- rm -rf test :強行刪除、不加詢問
grep:功能:在文件中搜索匹配的字符并進行輸出
- 格式:grep[參數(shù)] <要找的字串> <要尋找字 串的源文件>
greplinux test.txt:搜索 test.txt 文件中字符串 linux 并輸出
ln 命令
- 功能:在文件和目錄之間建立鏈接
- 格式:ln [參數(shù)] <源文件或目錄> <目標文件或目錄>
鏈接分“軟鏈接”和“硬鏈接”
- 軟鏈接:
ln–s /usr/share/do doc :創(chuàng)建一個鏈接文件 doc,并指向目錄/usr/share/do
- 硬鏈接:
ln /usr/share/test hard:創(chuàng)建一個硬鏈接文件 hard,這時對于 test 文件對應(yīng) 的存儲區(qū)域來說,又多了一個文件指向它
二十六、系統(tǒng)常用命令
26.1 顯示命令
- date:查看或設(shè)置當(dāng)前系統(tǒng)的時間:格式化顯示時間:+%Y--%m--%d;
- date -s:設(shè)置當(dāng)前系統(tǒng)的時間
- hwclock(clock):顯示硬件時鐘時間(需要管理員權(quán)限);
- cal:查看日歷
- 格式 cal [參數(shù)] 月年
- cal:顯示當(dāng)月的日歷 cal4 2004 :顯示 2004 年 4 月的日歷
- cal- y 2003:顯示 2003 年的日歷
- uptime:查看系統(tǒng)運行時間
26.2 輸出查看命令
- echo:顯示輸入的內(nèi)容 追加文件 echo "liuyazhuang" >> liuyazhuang.txt
- cat:顯示文件內(nèi)容,也可以將數(shù)個文件合并成一個文件。
- 格式:格式:cat[參數(shù)]<文件名>
- cat test.txt:顯示 test.txt 文件內(nèi)容
- cat test.txt | more :逐頁顯示 test.txt 文件中的內(nèi)容
- cat test.txt >> test1.txt :將 test.txt 的內(nèi)容附加到 test1.txt 文件之后
- cat test.txt test2.txt >readme.txt : 將 test.txt 和 test2.txt 文件合并成 readme.txt 文件
- head:顯示文件的頭幾行(默認 10 行) -n:指定顯示的行數(shù)格式:head -n 文件名
- tail:顯示文件的末尾幾行(默認 10 行)-n:指定顯示的行數(shù) -f:追蹤顯示文件更新 (一般用于查看日志,命令不會退出,而是持續(xù)顯示新加入的內(nèi)容)
- 格式:格式:tail[參數(shù)]<文件名>
- tail-10 /etc/passwd :顯示/etc/passwd/文件的倒數(shù) 10 行內(nèi)容
- tail+10 /etc/passwd :顯示/etc/passwd/文件從第 10 行開始到末尾的內(nèi)容
- more:用于翻頁顯示文件內(nèi)容(只能向下翻頁)
- more 命令是一般用于要顯示的內(nèi)容會超過一個畫面長度的情況。為了避免畫 面顯示時瞬間就閃過去,用戶可以使用 more 命令,讓畫面在顯示滿一頁時暫停,此時可按空格鍵繼續(xù)顯示下一個畫面,或按 Q 鍵停止顯示。
- ls -al |more:以長格形式顯示 etc 目錄下的文件列表,顯示滿一個畫面便暫停,可 按空格鍵繼續(xù)顯示下一畫面,或按 Q 鍵跳離
- less:翻頁顯示文件內(nèi)容(帶上下翻頁)按下上鍵分頁,按 q 退出、‘
- less 命令的用法與 more 命令類似,也可以用來瀏覽超過一頁的文件。所不同 的是 less 命令除了可以按空格鍵向下顯示文件外,還可以利用上下鍵來卷動文件。當(dāng)要結(jié)束瀏覽時,只要在 less 命令的提示符“:”下按 Q 鍵即可。
- ls -al | less:以長格形式列出/etc 目錄中所有的內(nèi)容。用戶可按上下鍵瀏覽或按 Q 鍵跳離
26.3 查看硬件信息
- Ispci:查看 PCI 設(shè)備 -v:查看詳細信息
- Isusb:查看 USB 設(shè)備 -v:查看詳細信息
- Ismod:查看加載的模塊(驅(qū)動)
26.4 關(guān)機、重啟
- shutdown 關(guān)閉、重啟計算機
- shutdown[關(guān)機、重啟]時間 -h 關(guān)閉計算機 -r:重啟計算機
- 如:立即關(guān)機:shutdown -h now
- 10 分鐘后關(guān)機:shutdown -h +10
- 23:30 分關(guān)機:shutdown -h 23:30
- 立即重啟:shutdown -r now
- poweroff:立即關(guān)閉計算機
- reboot:立即重啟計算機
26.5 歸檔、壓縮
- zip:壓縮文件 zip liuyazhuang.zip myfile 格式為:“zip 壓縮后的 zip 文件文件名”
- unzip:解壓文件 unzip liuyazhuang.zip
- gzip:壓縮文件 gzip 文件名
- tar:歸檔文件
- tar -cvf out.tar liuyazhuang 打包一個歸檔(將文件"liuyazhuang"打包成一個歸檔)
- tar -xvf liuyazhuang.tar 釋放一個歸檔(釋放 liuyazhuang.tar 歸檔)
- tar -cvzf backup.tar.gz/etc
- -z 參數(shù)將歸檔后的歸檔文件進行 gzip 壓縮以減少大小。
- -c:創(chuàng)建一個新 tar 文件
- -v:顯示運行過程的信息
- -f:指定文件名
- -z:調(diào)用 gzip 壓縮命令進行壓縮
- -t:查看壓縮文件的內(nèi)容
- -x:解開 tar 文件
- tar -cvf test.tar *:將所有文件打包成 test.tar,擴展名.tar 需自行加上
- tar -zcvf test.tar.gz *:將所有文件打包成 test.tar,再用 gzip 命令壓縮
- tar -tf test.tar :查看 test.tar 文件中包括了哪些文件
- tar -xvf test.tar 將 test.tar 解開
- tar -zxvf foo.tar.gz 解壓縮
- gzip 各 gunzip 命令
- gziptest.txt :壓縮文件時,不需要任何參數(shù)
- gizp–l test.txt.gz:顯示壓縮率
26.6 查找
locate:快速查找文件、文件夾:locate keyword
此命令需要預(yù)先建立數(shù)據(jù)庫,數(shù)據(jù)庫默認每天更新一次,可用 updatedb 命令手工建立、更新數(shù)據(jù)庫。
find 查找位置查找參數(shù)
如:
- find . -nameliuyazhuang查找當(dāng)前目錄下名稱中含有"liuyazhuang"的文件
- find / -name *.conf 查找根目錄下(整個硬盤)下后綴為.conf 的文件
- find / -perm 777 查找所有權(quán)限是 777 的文件
- find / -type d 返回根目錄下所有的目錄
- find . -name "a*"-exec ls -l {} ;
- find 功能:用來尋找文件或目錄。
- 格式:find [<路徑>][匹配條件]
- find / -name httpd.conf 搜索系統(tǒng)根目錄下名為 httpd.conf 的文件
26.7 其他常用命令
- ctrl+c :終止當(dāng)前的命令
- who 或 w 命令
- 功能:查看當(dāng)前系統(tǒng)中有哪些用戶登錄
- 格式:who/w[參數(shù)]
- dmesg 命令
- 功能:顯示系統(tǒng)診斷信息、操作系統(tǒng)版本號、物理內(nèi)存的大小以及其它信息
- df 命令
- 功能:用于查看文件系統(tǒng)的各個分區(qū)的占用情況
- du 命令
- 功能:查看某個目錄中各級子目錄所使用的硬盤空間數(shù)
- 格式:du [參數(shù)] <目錄名>
- free 命令
- 功能:用于查看系統(tǒng)內(nèi)存,虛擬內(nèi)存(交換空間)的大小占用情況
二十七、VIM
VIM 是一款功能強大的命令行文本編輯器,在 Linux 中通過 vim 命令可以啟動 vim 編輯器。
一般使用 vim + 目標文件路徑 的形式使用 vim
如果目標文件存在,則 vim 打開目標文件,如果目標文件不存在,則 vim 新建并打開該文件
:q:退出 vim 編輯器
VIM 模式
vim 擁有三種模式:
1)命令模式(常規(guī)模式)
vim 啟動后,默認進入命令模式,任何模式都可以通過 esc 鍵回到命令模式(可以多按幾次),命令模式下可以鍵入不同的命令完成選擇、復(fù)制、粘貼、撤銷等操作。
命名模式常用命令如下:
- i : 在光標前插入文本;
- o:在當(dāng)前行的下面插入新行;
- dd:刪除整行;
- yy:將當(dāng)前行的內(nèi)容放入緩沖區(qū)(復(fù)制當(dāng)前行)
- n+yy :將 n 行的內(nèi)容放入緩沖區(qū)(復(fù)制 n 行)
- p:將緩沖區(qū)中的文本放入光標后(粘貼)
- u:撤銷上一個操作
- r:替換當(dāng)前字符
- / 查找關(guān)鍵字
2)插入模式
在命令模式下按 " i "鍵,即可進入插入模式,在插入模式可以輸入編輯文本內(nèi)容,使用 esc 鍵可以返回命令模式。
3)ex 模式
在命令模式中按" : "鍵可以進入 ex 模式,光標會移動到底部,在這里可以保存修改或退出 vim.
ext 模式常用命令如下:
- :w :保存當(dāng)前的修改
- :q :退出
- :q! :強制退出,保存修改
- :x :保存并退出,相當(dāng)于:wq
- :set number 顯示行號
- :! 系統(tǒng)命令 執(zhí)行一個系統(tǒng)命令并顯示結(jié)果
- :sh :切換到命令行,使用 ctrl+d 切換回 vim
二十八、軟件包管理命令(RPM)
28.1、軟件包的安裝
使用 RPM 命令的安裝模式可以將軟件包內(nèi)所有的組件放到系統(tǒng)中的正確路徑,安裝軟件包的命令是:rpm –ivh wu-ftpd-2.6.2-8.i386.rpm
i:作用 rpm 的安裝模式 v: 校驗文件信息 h: 以#號顯示安裝進度
28.2、軟件包的刪除
刪除模式會將指定軟件包的內(nèi)容全部刪除,但并不包括已更改過的配置文件,刪除 RPM 軟件包的命令如下:rpm –e wu-ftpd
注意:這里必須使用軟件名“wu-ftpd”或”wu-ftpd-2.6.2-8 而不是使用當(dāng)初安裝時的軟件包名.wu-ftpd-2.6.2-8.i386.rpm
28.3、軟件包升級
升級模式會安裝用戶所指定的更新版本,并刪除已安裝在系統(tǒng)中的相同軟件包,升級軟件包命令如下:rpm –Uvh wu-ftpd-2.6.2-8.i386.rpm –Uvh:升級參數(shù)
28.4、軟件包更新
更新模式下,rpm 命令會檢查在命令行中所指定的軟件包是否比系統(tǒng)中原有的軟件 包更新。如果情況屬實,rpm 命令會自動更新指定的軟件包;反之,若系統(tǒng)中并沒有指定軟件包的較舊版本,rpm 命令并不會安裝此軟件包。而在升級模式下,不管系統(tǒng)中是否有較舊的版本,rpm 命令都會安裝指定的軟件包。
rpm –Fvhwu-ftpd-2.6.2-8.i386.rpm -Fvh:更新參數(shù)
28.5、軟件包查詢
若要獲取 RPM 軟件包的相關(guān)信息,可以使用查詢模式。使用-q 參數(shù)可查詢一個已 安裝的軟件包的內(nèi)容
rpm –q wu-ftpd
查詢軟件包所安裝的位置:
rpm –ql package-name
rpm –ql xv (l 參數(shù):顯示文件列表)

浙公網(wǎng)安備 33010602011771號