600 條最強 Linux 命令總結
今天,帶來一篇 linux 命令總結的非常全的文章,也是我們平時工作中使用率非常高的操作命令,命令有點多,建議小伙伴們可以先后閱讀。
1. 基本命令
uname?-m?顯示機器的處理器架構
uname?-r?顯示正在使用的內核版本
dmidecode?-q?顯示硬件系統部件
(SMBIOS?/?DMI)?hdparm?-i?/dev/hda?羅列一個磁盤的架構特性
hdparm?-tT?/dev/sda?在磁盤上執行測試性讀取操作系統信息
arch?顯示機器的處理器架構
uname?-m?顯示機器的處理器架構
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
2. 關機
shutdown?-h?now?關閉系統(1)
init?0?關閉系統(2)
telinit?0?關閉系統(3)
shutdown?-h?hours:minutes?&?按預定時間關閉系統
shutdown?-c?取消按預定時間關閉系統
shutdown?-r?now?重啟(1)
reboot?重啟(2)
logout?注銷
3. 文件和目錄
cd?/home?進入?'/?home'?目錄'
cd?..?返回上一級目錄
cd?../..?返回上兩級目錄
cd?進入個人的主目錄
cd?~user1?進入個人的主目錄
cd?-?返回上次所在的目錄
pwd?顯示工作路徑
ls?查看目錄中的文件
ls?-F?查看目錄中的文件
ls?-l?顯示文件和目錄的詳細資料
ls?-a?顯示隱藏文件
ls?*[0-9]*?顯示包含數字的文件名和目錄名
tree?顯示文件和目錄由根目錄開始的樹形結構(1)
lstree?顯示文件和目錄由根目錄開始的樹形結構(2)
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)
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)
推薦閱讀:?Intellij IDEA、CLion、Pycharm 最新版免費激活教程(可激活至 2099 年,親測有效)
4. 文件搜索
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?顯示一個二進制文件或可執行文件的完整路徑
5. 掛載一個文件系統
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網絡共享
推薦閱讀:?C語言實現銀行ATM存取款系統 | 附源碼
6. 磁盤空間
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類系統)
7. 用戶和群組
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?2005-12-31?user1?設置用戶口令的失效期限
pwck?檢查?'/etc/passwd'?的文件格式和語法修正以及存在的用戶
grpck?檢查?'/etc/passwd'?的文件格式和語法修正以及存在的群組
newgrp?group_name?登陸進一個新的群組以改變新創建文件的預設群組
8. 文件的權限 使用 “+” 設置權限,使用 “-” 用于取消
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?位
chmod?+x?文件路徑?為所有者、所屬組和其他用戶添加執行的權限
chmod?-x?文件路徑?為所有者、所屬組和其他用戶刪除執行的權限
chmod?u+x?文件路徑?為所有者添加執行的權限
chmod?g+x?文件路徑?為所屬組添加執行的權限
chmod?o+x?文件路徑?為其他用戶添加執行的權限
chmod?ug+x?文件路徑?為所有者、所屬組添加執行的權限
chmod?=wx?文件路徑?為所有者、所屬組和其他用戶添加寫、執行的權限,取消讀權限
chmod?ug=wx?文件路徑?為所有者、所屬組添加寫、執行的權限,取消讀權限
9. 文件的特殊屬性 ,使用 “+” 設置權限,使用 “-” 用于取消
chattr?+a?file1?只允許以追加方式讀寫文件
chattr?+c?file1?允許這個文件能被內核自動壓縮/解壓
chattr?+d?file1?在進行文件系統備份時,dump程序將忽略這個文件
chattr?+i?file1?設置成不可變的文件,不能被刪除、修改、重命名或者鏈接
chattr?+s?file1?允許一個文件被安全地刪除
chattr?+S?file1?一旦應用程序對這個文件執行了寫操作,使系統立刻把修改的結果寫到磁盤
chattr?+u?file1?若文件被刪除,系統會允許你在以后恢復這個被刪除的文件
lsattr?顯示特殊的屬性
10. 打包和壓縮文件
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?-xvfj?archive.tar.bz2?解壓一個bzip2格式的壓縮包
tar?-cvfz?archive.tar.gz?dir1?創建一個gzip格式的壓縮包
tar?-xvfz?archive.tar.gz?解壓一個gzip格式的壓縮包
zip?file1.zip?file1?創建一個zip格式的壓縮包
zip?-r?file1.zip?file1?file2?dir1?將幾個文件和目錄同時壓縮成一個zip格式的壓縮包
unzip?file1.zip?解壓一個zip格式壓縮包
11. 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?包
12. 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?刪除所有緩存的包和頭文件
13. 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?軟件工具?(Debian,?Ubuntu?以及類似系統)
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?返回包含所要搜索字符串的軟件包名稱
14. 查看文件內容
cat?file1?從第一個字節開始正向查看文件的內容
tac?file1?從最后一行開始反向查看一個文件的內容
more?file1?查看一個長文件的內容
less?file1?類似于?'more'?命令,但是它允許在文件中和正向操作一樣的反向操作
head?-2?file1?查看一個文件的前兩行
tail?-2?file1?查看一個文件的最后兩行
tail?-f?/var/log/messages?實時查看被添加到一個文件中的內容
推薦閱讀:?C語言入門必做踩坑題
15. 文本處理
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'中查找關鍵詞"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?比較兩個文件的內容只刪除兩個文件共有的部分
16. 字符設置和文件格式轉換
dos2unix?filedos.txt?fileunix.txt?將一個文本文件的格式從MSDOS轉換成UNIX
unix2dos?fileunix.txt?filedos.txt?將一個文本文件的格式從UNIX轉換成MSDOS
recode?..HTML??page.html?將一個文本文件轉換成html
recode?-l?|?more?顯示所有允許的轉換格式
17. 文件系統分析
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文件系統的完整性
18. 初始化一個文件系統
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文件系統
19. SWAP 文件系統
mkswap?/dev/hda3?創建一個swap文件系統
swapon?/dev/hda3?啟用一個新的swap文件系統
swapon?/dev/hda2?/dev/hdb3?啟用兩個swap分區
20. 備份
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內容
21. 光盤
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
22. 網絡(以太網和 WIFI 無線)
ifconfig?eth0?顯示一個以太網卡的配置
ifup?eth0?啟用一個?'eth0'?網絡設備
ifdown?eth0?禁用一個?'eth0'?網絡設備
ifconfig?eth0?192.168.1.1?netmask?255.255.255.0?控制IP地址
ifconfig?eth0?promisc?設置?'eth0'?成混雜模式以嗅探數據包?(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
23. 列出目錄內容
ls -a:顯示所有文件(包括隱藏文件);
ls -l:顯示詳細信息;
ls -R:遞歸顯示子目錄結構;
ls -ld:顯示目錄和鏈接信息;
ctrl+r:歷史記錄中所搜命令(輸入命令中的任意一個字符);
Linux中以.開頭的文件是隱藏文件;
pwd:顯示當前目錄
24. 查看文件的類型
file:查看文件的類型
25. 復制文件目錄
推薦閱讀:?C語言小游戲之掃雷完整版
1、cp:復制文件和目錄 cp 源文件(文件夾)目標文件(文件夾)
常用參數:-r:遞歸復制整個目錄樹;-v:顯示詳細信息;
復制文件夾時要在 cp 命令后面加一個-r 參數:
如:cp -r 源文件夾 目標文件夾
2、touch+文件名:當文件不存在的時候,創建相應的文件;當文件存在的時候,修改文件的創建時間。
功能:生成一個空文件或修改文件的存取/修改的時間記錄值。
touch * :將當前下的文件時間修改為系統的當前時間
touch –d 20040210 test:將 test 文件的日期改為 20040210
touch abc :若 abc 文件存在,則修改為系統的當前時間;若不存在,則生成一個為當前時間的空文件
3、mv 文件 目標目錄:移動或重命名文件或目錄(如果指定文件名,則可以重命名文件)。可以將文件及目錄移到另一目錄下,或更改文件及目錄的名稱。
格式為:mv [參數]<源文件或目錄> <目標文件或目錄>
mva.txt ../:將 a.txt 文件移動上層目錄
mv a.txt b.txt:將 a.txt 改名為 b.txt
mvdir2 ../:將 dir2 目錄上移一層
4、rm:刪除文件;
常用參數:-i:交互式 -r:遞歸的刪除包括目錄中的所有內容
5、mkdir +文件夾名稱:創建文件夾;
6、rm -r +文件夾名稱:刪除文件夾(空文件夾和非空文件夾都可刪除)
rmdir 文件夾名稱:刪除文件夾(只能刪除空文件夾)
7、mkdir -p dir1/dir2?:在當前目錄下創建 dir1 目錄,并在 dir1 目錄下創建 dir2 目錄, 也就是連續創建兩個目錄(dir1/和 dir1/dir2)
8、rmdir –p dir1/dir2:刪除 dir1 下的 dir2 目錄,若 dir1 目錄為空也刪除它
9、rm *?:刪除當前目錄下的所有文件
10、-f 參數:強迫刪除文件 rm –f *.txt:強迫刪除所有以后綴名為 txt 文件
11、-i 參數:刪除文件時詢問
rm –i * :刪除當前目錄下的所有文件會有如下提示:
rm:backup:is a directory 遇到目錄會略過
rm: remove ‘myfiles.txt’ ? Y
刪除文件時會詢問,可按 Y 或 N 鍵表示允許或拒絕刪除文件
12、-r 參數:遞歸刪除(連子目錄一同刪除,這是一個相當常用的參數)
rm -r test :刪除 test 目錄(含 test 目錄下所有文件和子目錄)
rm -r *:刪除所有文件(含當前目錄所有文件、所有子目錄和子目錄下的文件) 一般在刪除目錄時 r 和 f 一起用,避免麻煩
rm -rf test :強行刪除、不加詢問
13、grep:功能:在文件中搜索匹配的字符并進行輸出
格式:grep[參數] <要找的字串> <要尋找字 串的源文件>
greplinux test.txt:搜索 test.txt 文件中字符串 linux 并輸出
14、ln 命令
功能:在文件和目錄之間建立鏈接
格式:ln [參數] <源文件或目錄> <目標文件或目錄>
鏈接分“軟鏈接”和“硬鏈接”
1.軟鏈接:
ln–s /usr/share/do doc :創建一個鏈接文件 doc,并指向目錄/usr/share/do
2.硬鏈接:
ln /usr/share/test hard:創建一個硬鏈接文件 hard,這時對于 test 文件對應 的存儲區域來說,又多了一個文件指向它
26. 系統常用命令
26.1、顯示命令
date:查看或設置當前系統的時間:格式化顯示時間:+%Y--%m--%d;
date -s:設置當前系統的時間
hwclock(clock):顯示硬件時鐘時間(需要管理員權限);
cal:查看日歷
格式 cal [參數] 月年
cal:顯示當月的日歷 cal4 2004 :顯示 2004 年 4 月的日歷
cal- y 2003:顯示 2003 年的日歷
uptime:查看系統運行時間
26.2、輸出查看命令
echo:顯示輸入的內容 追加文件 echo "liuyazhuang" >> liuyazhuang.txt
cat:顯示文件內容,也可以將數個文件合并成一個文件。
格式:格式:cat[參數]<文件名>
cat test.txt:顯示 test.txt 文件內容
cat test.txt | more :逐頁顯示 test.txt 文件中的內容
cat test.txt >> test1.txt :將 test.txt 的內容附加到 test1.txt 文件之后
cat test.txt test2.txt >readme.txt : 將 test.txt 和 test2.txt 文件合并成 readme.txt 文件
head:顯示文件的頭幾行(默認 10 行) -n:指定顯示的行數格式:head -n 文件名
tail:顯示文件的末尾幾行(默認 10 行)-n:指定顯示的行數 -f:追蹤顯示文件更新 (一般用于查看日志,命令不會退出,而是持續顯示新加入的內容)
格式:格式:tail[參數]<文件名>
tail-10 /etc/passwd :顯示/etc/passwd/文件的倒數 10 行內容
tail+10 /etc/passwd :顯示/etc/passwd/文件從第 10 行開始到末尾的內容
more:用于翻頁顯示文件內容(只能向下翻頁)
more 命令是一般用于要顯示的內容會超過一個畫面長度的情況。為了避免畫 面顯示時瞬間就閃過去,用戶可以使用 more 命令,讓畫面在顯示滿一頁時暫停,此時可按空格鍵繼續顯示下一個畫面,或按 Q 鍵停止顯示。
ls -al |more:以長格形式顯示 etc 目錄下的文件列表,顯示滿一個畫面便暫停,可 按空格鍵繼續顯示下一畫面,或按 Q 鍵跳離
less:翻頁顯示文件內容(帶上下翻頁)按下上鍵分頁,按 q 退出、‘
less 命令的用法與 more 命令類似,也可以用來瀏覽超過一頁的文件。所不同 的是 less 命令除了可以按空格鍵向下顯示文件外,還可以利用上下鍵來卷動文件。當要結束瀏覽時,只要在 less 命令的提示符“:”下按 Q 鍵即可。
ls -al | less:以長格形式列出/etc 目錄中所有的內容。用戶可按上下鍵瀏覽或按 Q 鍵跳離
26.3、查看硬件信息
Ispci:查看 PCI 設備 -v:查看詳細信息
Isusb:查看 USB 設備 -v:查看詳細信息
Ismod:查看加載的模塊(驅動)
26.4、關機、重啟
shutdown 關閉、重啟計算機
shutdown[關機、重啟]時間 -h 關閉計算機 -r:重啟計算機
如:立即關機:shutdown -h now
10 分鐘后關機:shutdown -h +10
23:30 分關機:shutdown -h 23:30
立即重啟:shutdown -r now
poweroff:立即關閉計算機
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 參數將歸檔后的歸檔文件進行 gzip 壓縮以減少大小。
-c:創建一個新 tar 文件
-v:顯示運行過程的信息
-f:指定文件名
-z:調用 gzip 壓縮命令進行壓縮
-t:查看壓縮文件的內容
-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 :壓縮文件時,不需要任何參數
gizp–l test.txt.gz:顯示壓縮率
26.6、查找
locate:快速查找文件、文件夾:locate keyword
此命令需要預先建立數據庫,數據庫默認每天更新一次,可用 updatedb 命令手工建立、更新數據庫。歡迎關注我們,公號終碼一生。
find 查找位置查找參數
如:
find . -name?liuyazhuang?查找當前目錄下名稱中含有"liuyazhuang"的文件
find / -name *.conf 查找根目錄下(整個硬盤)下后綴為.conf 的文件
find / -perm 777 查找所有權限是 777 的文件
find / -type d 返回根目錄下所有的目錄
find . -name "a*"-exec ls -l {} ;
find 功能:用來尋找文件或目錄。
格式:find [<路徑>][匹配條件]
find / -name httpd.conf 搜索系統根目錄下名為 httpd.conf 的文件
26.7、ctrl+c :終止當前的命令
26.8、who 或 w 命令
功能:查看當前系統中有哪些用戶登錄
格式:who/w[參數]
26.9、dmesg 命令
功能:顯示系統診斷信息、操作系統版本號、物理內存的大小以及其它信息
26.10、df 命令
功能:用于查看文件系統的各個分區的占用情況
26.11、du 命令
功能:查看某個目錄中各級子目錄所使用的硬盤空間數
格式:du [參數] <目錄名>
26.12、free 命令
功能:用于查看系統內存,虛擬內存(交換空間)的大小占用情況
27. VIM
VIM 是一款功能強大的命令行文本編輯器,在 Linux 中通過 vim 命令可以啟動 vim 編輯器。
一般使用 vim + 目標文件路徑 的形式使用 vim
如果目標文件存在,則 vim 打開目標文件,如果目標文件不存在,則 vim 新建并打開該文件
:q:退出 vim 編輯器
VIM 模式
vim 擁有三種模式:
(1)命令模式(常規模式)
vim 啟動后,默認進入命令模式,任何模式都可以通過 esc 鍵回到命令模式(可以多按幾次),命令模式下可以鍵入不同的命令完成選擇、復制、粘貼、撤銷等操作。
命名模式常用命令如下:
i : 在光標前插入文本;
o:在當前行的下面插入新行;
dd:刪除整行;
yy:將當前行的內容放入緩沖區(復制當前行)
n+yy :將 n 行的內容放入緩沖區(復制 n 行)
p:將緩沖區中的文本放入光標后(粘貼)
u:撤銷上一個操作
r:替換當前字符
/ 查找關鍵字
(2)插入模式
在命令模式下按 " i "鍵,即可進入插入模式,在插入模式可以輸入編輯文本內容,使用 esc 鍵可以返回命令模式。
(3)ex 模式
在命令模式中按" : "鍵可以進入 ex 模式,光標會移動到底部,在這里可以保存修改或退出 vim.
ext 模式常用命令如下:
:w :保存當前的修改
:q :退出
:q! :強制退出,不會保存修改
:x :保存并退出,相當于:wq
:set number 顯示行號
:! 系統命令 執行一個系統命令并顯示結果
:sh :切換到命令行,使用 ctrl+d 切換回 vim
28. 軟件包管理命令(RPM)
28.1、軟件包的安裝
使用 RPM 命令的安裝模式可以將軟件包內所有的組件放到系統中的正確路徑,安裝軟件包的命令是:rpm –ivh wu-ftpd-2.6.2-8.i386.rpm
i:作用 rpm 的安裝模式 v: 校驗文件信息 h: 以#號顯示安裝進度
28.2、軟件包的刪除
刪除模式會將指定軟件包的內容全部刪除,但并不包括已更改過的配置文件,刪除 RPM 軟件包的命令如下:rpm –e wu-ftpd
注意:這里必須使用軟件名“wu-ftpd”或”wu-ftpd-2.6.2-8 而不是使用當初安裝時的軟件包名.wu-ftpd-2.6.2-8.i386.rpm
28.3、軟件包升級
升級模式會安裝用戶所指定的更新版本,并刪除已安裝在系統中的相同軟件包,升級軟件包命令如下:rpm –Uvh wu-ftpd-2.6.2-8.i386.rpm –Uvh:升級參數
28.4、軟件包更新
更新模式下,rpm 命令會檢查在命令行中所指定的軟件包是否比系統中原有的軟件 包更新。如果情況屬實,rpm 命令會自動更新指定的軟件包;反之,若系統中并沒有指定軟件包的較舊版本,rpm 命令并不會安裝此軟件包。而在升級模式下,不管系統中是否有較舊的版本,rpm 命令都會安裝指定的軟件包。
rpm –Fvhwu-ftpd-2.6.2-8.i386.rpm -Fvh:更新參數
28.5、軟件包查詢
若要獲取 RPM 軟件包的相關信息,可以使用查詢模式。使用-q 參數可查詢一個已 安裝的軟件包的內容
rpm –q wu-ftpd
查詢軟件包所安裝的位置:rpm –ql package-name
rpm –ql xv (l 參數:顯示文件列表)
好了,今天就介紹到這里,覺得不錯了,如果覺得有用,可以先了!
來源:https://blog.csdn.net/l1028386804/article/details/117917710
Linux
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。