本文摘自《Linux/UNIX指令範例速查手冊》。
原文連接: http://www.voidking.com/2013/...node
adduser: add user,新建系統上的帳號linux
adduser -D
,顯示新建帳號時的默認值。shell
adduser -m jos
,新建名爲jos的帳號(使用系統默認值)。apache
adduser位於/usr/sbin/之下,是/usr/sbin/useradd的鏈接。也就是說,adduser和useradd其實是同一個命令。bash
alias: alias,定義命令及參數的別名服務器
alias
,列出現有的別名設置。網絡
alias ua='uname -a'
,將uname -a的別名設置爲ua。less
alias的優先級高於path(系統搜尋的路徑)。工具
apachectl: apache controller,管理Apache網頁服務器post
apachectl -l
,列出編入apache的模塊。
apachectl restart
,重啓apache。
apt-get: advanced package tool get,APT軟件包管理工具。
apt-get install mailx
,安裝mailx軟件包。
apt-get是Linux發行商Debian與Ubuntu上的軟件包管理工具,其餘版本Linux沒法使用。
ar: archives,打包和解壓縮文件
ar -rv afile a*
,將以a開頭的文件打包爲afile文件。
ar -t afile
,列出打包文件中的成員文件。
ar -p afile anaconda-ks.cfg
,顯示打包文件中某一文件的內容。
ar命令已被tar所取代,目前已不多使用。
arch: architecture,列出處理器的類型
arch
,列出處理器的類型。
arp: address resolution protocol,網卡地址的對應
arp
,列出arp的信息。
arp -s 10.1.1.10 00:0F:26:2A:BF:77
,將10.1.1.10強制對應到網卡號00:0F:26:2A:BF:77。
arp -d 10.1.1.10
,刪除IP地址與網卡號的對應。
arping: ARP ping,網卡地址的測試命令
arping 172.20.11.1
,對172.20.11.1的IP地址進行網卡地址測試。
若不在同一個網絡,arping不會有迴應,這時須要用ping命令。
at: at,在指定的時間運行命令
at 5pm + 3 days /bin/ls
,三天後的下午 5 點執行 /bin/ls
。
at 5pm + 3 weeks /bin/ls
,三個星期後的下午 5 點執行 /bin/ls
。
at 17:20 tomorrow /bin/date
,明天的 17:20 執行 /bin/date
。
at 23:59 12/31/1999 echo the end of world !
,在1999年的最後一天的最後一分鐘印出 the end of world !
at -l
,列出將要運行的工做。
at -c 1
,顯示工做編號爲1的工做。
at -d 1
,刪除編號爲1的工做。
awk: Alfred Aho, Peter Weinberger, and Brian Kernighan(做者名),文字數據的高級處理。
awk '{print}' /etc/passwd
,顯示/etc/passwd中內容,和cat命令結果相同。
awk -F":" '{print $1 $3 $6}' /etc/passwd
,將/etc/passwd中的內容以冒號分隔,並取出第1位、第3位和第6位。
awk -F":" '{print $1 "\t" $3 "\t" $6}' /etc/passwd
,將/etc/passwd中的內容以冒號分隔,並取出第1位、第3位和第6位,並用Tab做爲字段間的分隔符。
awk -F":" '{print "ID=" $1 "\t 家目錄=" $6}' /etc/passwd
,將/etc/passwd中的內容以冒號分隔,並取出第1位和第6位,並用Tab做爲字段間的分隔符,在第1位前加上「ID=」,第6位前加上「家目錄=」。
badblocks: bad blocks,檢查硬盤中損壞的區塊
badblocks -v /dev/sda1
,檢查損壞的區塊,並顯示詳細信息。
適用於ext2和ext3文件系統。
batch: batch,運行批次做業
batch -f com.txt
,運行文件com.txt中的命令。
bc: arbitrary precision calculator,文字型計算器
bc
,進入計算器。能夠作四則運算,也能夠定義變量並作運算。
bg: background,將進程放到後臺運行
cat /var/log/messages | more
,而後ctrl+z暫時中斷程序。再運行bg 1
,其中1爲工做編號。
將正在運行的進程移到後臺運行,其效果與運行命令後面加上&效果相同。
bind: bind,顯示或設置鍵盤配置
bind -l | grep kill
,列出與kill有關的全部功能名稱。
bind -m vi -v
,列出vi的按鍵配置與使用的變量名稱。
blockdev: block device,查詢區塊設備
blockdev -v --getss /dev/sda1
,列出/dev/sda1的區塊大小。
blockdev -v --getsize /dev/sda1
,獲取/dev/sda1的區塊容量。
bunzip2: Burrows-Wheeler un-zip file,解壓縮bz2格式的壓縮文件。
bunzip2 -k afile.bz2
,解壓afile.bz2文件,不刪除原來的壓縮文件。
bunzip2 -s afile.bz2
,用較少的內存解壓afile.bz2文件。
bunzip2是bzip -d的功能鏈接。
bzgrep: Burrows-Wheeler zip file grep,查找bz2文件中特定的字符串
bzgrep router ip.txt.bz2
,尋找ip.txt.bz2壓縮文件中的router字符串。
bzip2: Burrows-Wheeler zip file,將文件壓縮爲bz2文件
bzip2 afile
,壓縮文字文件afile爲afile.bz2,壓縮後afile文件消失。
bzip2 -l pic.png
,壓縮通常的png圖像文件。
bzip2 -d pic.png.bz2
,解壓文件。
bzip2recover: Burrows-Wheeler zip file recover,修復損壞的bz2文件
bzip2recover text.bz2
,當bz2文件發生問題沒法解壓縮時,嘗試此命令來還原文件。
bzless: Burrows-Wheeler zip file less,列出bz2文件的內容
bzless afile.bz2
,列出壓縮文件afile.bz2中的內容。
cal: calendar,顯示日曆
cal
,顯示本月的月曆。
cal 2000
,顯示2000年年曆。
cal 5 2001
,顯示2000年5月月曆。
cal -m
,以星期一爲每週的第一天方式,顯示本月的月曆。
cal -jy
,以一月一日起的天數顯示今年的年曆。
cat: catenate,列出文件內容
cat -n textfile1 > textfile2
,把textfile1的內容加上行號後,轉存爲textfile2。
cat -b textfile1 textfile2 >> textfile3
,把textfile1和textfile2的內容加上行號(空白行不加)以後,將內容附加到textfile3的最後。
cd: change directory,切換目錄
cd /usr/bin
,進入/usr/bin/
目錄。
cd ~
,回到home directory。
cd ../..
,跳到目前目錄的上上兩層:
cfdisk: curses formatted disk,設置硬盤分區
cfdisk
,進入分區界面。
cfdisk -P S /dev/sda
,按照扇區排序,顯示第一塊硬盤的分割狀況。
cfdisk是傳統命令fdisk的進化版。
change: change user password expiry info,改變密碼的有效期
cat /etc/shadow | grep sherry
,chage -E 2018-12-31 sherry
,設置sherry帳號的密碼設置在2018年12月31日失效。
chage -M 5 sherry
,要求帳號sherry必須在5天內變動密碼。
chage -l sherry
,顯示帳號的密碼設置。
chattr: change attributes,改變文件屬性
chattr +a file1
,lsattr file1
,增長文件的屬性,使之能夠附加數據,而沒法被修改。
chattr +i file1
,改變文件屬性,沒法修改和刪除。
chcon: change security context,修改SELinux標籤
chcon -R -t httpd_sys_content_t www/
,將www目錄類型改成httpd_sys_content_t。
chgrp: change group,改變文件或目錄所屬的組
chgrp users afile
,修改afile的組爲users。
chgrp -h users tt
,修改符號鏈接tt的組爲users。
可使用chmod實現一樣的效果,所以chgrp使用頻率較低。
chkconfig: check configurate,設置系統在不一樣運行等級下的服務。
chkconfig --list sendmail
,列出sendmail在不一樣運行等級下的狀態。
chkconfig --level 35 named on
,使DNS服務器在運行等級爲3和5時啓動。
chkconfig --level 0123456 vsftpd on
,使FTP服務器在全部等級下啓動。
chkconfig --lis | grep 3:啓用
,列出runlevel3中全部開啓的服務。
chmod: change mode,改變文件或目錄的權限
chmod ugo+r file1.txt
,將file1.txt設爲全部人可讀取。
chmod a+r file1.txt
,將file1.txt設爲全部人可讀取。
chmod ug+w,o-w file1.txt file2.txt
,將file1.txt與file2.txt設爲文件擁有者和其所屬同一個羣體者可寫入,但其餘之外的人則不可寫入。
chmod u+x ex1.py
,將ex1.py設定爲只有該文件擁有者能夠執行。
chmod -R a+r *
,將目前目錄下的全部文件與子目錄皆設爲任何人可讀取。
chmod 777 file
,三個7,分別表示User、Group及Other的權限。
r=4,w=2,x=1。
若要rwx屬性則4+2+1=7;若要rw-屬性則4+2=6;若要r-x屬性則4+1=7。
chmod a=rwx file
和chmod 777 file
效果相同。
chmod ug=rwx,o=x file
和chmod 771 file
效果相同。
chmod 4755 filename
,可以使此程序具備root的權限。
chown: change owner,改變文件或目錄的擁有者或組
chown jessie:users file1.txt
,將文件file1.txt的擁有者設爲users羣體的用戶jessie。
chmod -R lamport:users *
,將當前目錄下的全部文件與子目錄的擁有者皆設爲users羣體的用戶lamport。
chroot: change root,切換根目錄所在的路徑
chroot /mnt/disk /bin/bash
,將根目錄切換到/mnt/disk,並將/bin/bash做爲使用的shell。
chsh: change shell,改變帳號登陸系統時所使用的shell
chsh -l
,列出全部可用的shell。
chsh
,而後指定使用的shell。
chsh -s /bin/bash peter
,指定peter帳號的shell。
clear: clear,清除畫面
clear
,清屏。
clock: clock,調整RTC(Real Time Clock)時間
clock
,顯示目前硬件時鐘的時間。
clock --set --data="2/27/11 22:15"
,將目前硬件時鐘的時間設置爲2011年2月27日22:15。
clock --hctosys
,讓系統時間和硬件時鐘一致。
clock --systohc
,將系統時間寫入硬件時鐘。
cmp: compare,對比兩個文件的差別
cmp test.txt text.txt
,對比兩個文件。
通常使用diff命令來進行文本內容比較,cmp使用較少。
col: column,過濾特殊字符
col -f < testfile
,過濾testfile中的RLF字符。
man kill | col -b > kill.txt
,過濾全部控制字符(RLF和HRLF)。
colrm: column remove,刪除指定的列
cat file | colrm 7
,刪除第6列之後的字符。
cat file | colrm 2 5
,刪除第2~5列的字符。
copress: compress
compress -f source.dat
,將 source.dat 壓縮成 source.dat.Z,若 source.dat.Z 已經存在,內容則會被壓縮檔覆蓋。
compress -vf source.dat
,將 source.dat 壓縮成 source.dat.Z ,並列印出壓縮比例。
compress -c source.dat > target.dat.Z
,指定壓縮檔名。
compress -b 12 source.dat
,-b 的值越大,壓縮比例就越大,範圍是 9-16 ,預設值是 16 。
compress -d source.dat compress -d source.dat.Z
因爲系統會自動加入 .Z 爲延伸檔名,因此 source.dat 會自動看成 source.dat.Z 處理。
將 source.dat.Z 解壓成 source.dat ,若文件已經存在,用戶按 y 以肯定覆蓋文件,若使用 -df 程序則會自動覆蓋文件。
cp: copy file,複製文件或目錄
cp aaa bbb
,將文件aaa複製命名爲 bbb。
cp *.c finished
,將全部的.c文件複製到finished目錄中。
cpio: copy in, copy out,文件備份
ls | cpio -o -O ./backupfile
,將目錄下的全部文件(不包含子目錄)備份到backupfile。
cpio -t -v -I backupfile
,查看備份文件backupfile中的文件信息。
crontab: cron table,設置計劃任務
crontab -l
,列出本身的計劃任務設置。
crontab -e
,編輯本身的計劃任務。
若要在每週六運行/usr/bin/w >> /root/login.txt
,可設置以下:
* * * * 6 /usr/bin/w >> /root/login.txt
若要改成天天23:55運行以上命令,可設置以下:
55 23 * * * /usr/bin/w >> /root/login.txt
crontab -u adm -r
,刪除adm帳號的計劃任務設置。
一、確認crontab是否安裝crontab
,若是報 command not found,就代表沒有安裝
二、安裝 crontabyum install -y vixie-cron
三、確認是否安裝成功:
執行 crontab -l
四、看是否設置了開機自動啓動chkconfig --list crond
五、啓動crontabservice crond start
csplit: content split,分割文件
csplit -n 3 vsftpd.log 3000
,以3000行爲界分割爲兩個文件,並指定列出的文件名位數爲3。
csplit -f file vsftpd.log 3000
,以3000行爲界分割爲兩個文件,且指定分割的文件名以file開頭。
csplit vsftpdlog 1000 {7}
,以1000行爲界分割爲7個文件。
ctrlaltdel: control alt del,設置Ctrl+Alt+Del快捷鍵。
ctrlaltdel hard
,設置爲不保存數據當即重啓。ctrlaltdel soft
,設置爲保存數據、中止服務、卸載文件後重啓。
cut: cut,截取文本內容的指定範圍
cat log1
,正常查看文件。
root pts/0 2013-04-29 00:52(192.168.222.1) root pts/0 2013-04-29 00:52(192.168.222.1) root pts/0 2013-04-29 00:52(192.168.222.1)
cut -b 3,10 log1
,只取出第三、10個字節。
op op op
cut -b -3 log1
,取前3個字節。
roo roo roo
date: date,顯示或修改日期時間
date
,顯示當前日期和時間。
date +%B%d
,顯示月份與日數。
dd: standard input, standard output,轉換並列出數據
dd if=file.txt of=/dev/fd0
,將文件file.txt寫入到軟盤。
dd if=boot.img of=/dev/fd0 bs=1440k
,製做啓動盤,其中,boot.img爲開機的鏡像文件。
dd if=test.txt of=out.txt conv=ucase
,將文件test.txt中的英文字母所有轉換爲大寫後,存儲爲out.txt。
debugfs: debug file system,ext2和ext3的文件系統改錯工具
debugfs /dev/sda7
,dump install.log /root/bkp.txt
,將/dev/sda7下的install.log文件導出一份放到/root/bkp.txt中。
declare: declare,聲明環境變量
declare
,顯示當前的shell變量。
declare -x
,顯示全部的環境變量。
declare -i number=100+200
,echo $number
,若是不加-i,系統會以字符串方式來處理100+200。
declare命令與export命令相比,區別在於declare聲明的是shell變量,export聲明的是環境變量。shell變量只能給shell只用,環境變量能夠給shell以及外部命令使用。declare加上-x參數,則與export的做用相同。
depmod: dependence of module,分析可加載模塊的關聯性
depmod -a
,檢測模塊的關聯性。
df: display file system,顯示文件系統的使用狀況
df
,顯示當前文件系統的使用情況。
df -m
,以MB爲單位來顯示當前文件系統的使用情況。
df -a
,顯示全部文件系統的使用情況。
df -h
,以較易讀取的方式顯示文件系統的使用情況。
df -i
,顯示系統inode的狀態。
diff: diffrence,比較並顯示文件差別
diff file1 file2
,對比file1和file2。
diff -c file1 file2
,對比file1和file2,並列出文件的異同。
diff -y file1 file2
,對比file1和file2,並以並列的方式顯示對比結果。
diff -B file1 file2
,對比file1和file2,不對比空白行。
diff /etc/mail/ mail/
,比較兩個目錄的差別。
diffstat: diffrence statistics,根據diff的比較結果顯示統計數字
diff /etc/mail/ mail/ | diffstat
,對比兩個目錄的差別,並經過diffstat命令列出。
dig: dig,顯示域名的高級信息
dig sina.com
,查詢域名sina.com。
dig 163.com -t MX
,查詢163.com的郵件名稱記錄(MX record)。
dir: directory,列出目錄或文件名
dir
,列出當前目錄的文件。
dir -l
,以長列表列出當前的文件。
dir命令和ls命令的功能徹底相同。
dirname: directory name,列出當前路徑下的路徑名稱
dirname /opt/httpd
,顯示/opt/httpd下的路徑名稱。
dirname file.txt
,顯示file.txt文件的路徑名稱。
dpkg: Debian package,Debian軟件包管理工具
dpkg -L postfix
,列出postfix安裝的文件。
dpkg -i ./unzip_6.0-1_i386.deb
,安裝當前路徑下的unzip_6.0-1_i386.deb。
dpkg是Debian和Ubuntu上的軟件包安裝指令,相似於RedHat與Fedora上的rpm,但通常較常使用apt-get。
du: display units,顯示目錄或文件的大小
du
,顯示當前目錄的使用狀況。
du -sk /var/*
,顯示/var目錄下全部文件的容量,僅顯示總和,默認以KB爲單位。
du -sh /*
,以可讀性高的方式顯示根目錄下的目錄容量。
du --max-depth=2 /var
,顯示/var目錄下兩層子目錄所佔用的空間。
du -b backupfile
,顯示文件佔用的空間。
dump: dump,文件系統的備份
dump -0 -f /opt/backup /boot
,將/boot下的數據備份到/opt/backup中,並更新/etc/dumpdates中的記錄。
cat /etc/dumpdates
,查看更新後的記錄。
restore -r -f /opt/backup
,還原backup到備份的位置。
dump命令經常使用來備份ext2和ext3文件系統。
restore命令是dump命令的逆命令。