Linux常用到的指令汇总
根据鸟哥linux私房菜上定义的:一定要先學會的指令:ls, more, cd, pwd, rpm, ifconfig, find
登入與登出(開機與關機):telnet, login, exit, shoudown, reboot
Linux 多人多工與背景執行功能:& 與 [ctrl]+[z], fg, ps, kill
檔案與目錄管理:cd, pwd, ls, cat, more, mkdir, rm, rmdir, mv, cp, ln, find, whereis, chmod, chown, chgrp, df, du
磁碟與硬體管理:mount, fdformat, fdisk, mke2fs, mkbootdisk, badblocks, fsck, rpm
系統管理員:su, clear, dmesg, groupadd, useradd, userconf, passwd, who, whoami, top, free, quotacheck, edquota
壓縮指令:compress, gzip, tar
一些網路功能:ifconfig, route, netstat, hostname, ping, nslookup,talk, traceroute, mail
其他有的沒的:date, cal, grep
ftp 指令:ftp, ncftp, gftp
相關設定指令:set, uname, setup, lilo, Xconfigurator, xf86config
X-Window內的設定指令:startx, netconf, netcfg, XF86Setup
下面咱们就按照上面的模块来分别介绍命令:
一、登入与登出
telnet
這套軟體在 Windows 及 Linux 系統中都存在,只是介面有點不很相同就是了。基本上,這個程式是 user 端用來連線登入遠端主機的。例如鳥哥人在台南,但是我可以在台南使用可以連上 Internet 的電腦,經由 telnet 連線上家裡的 Linux 主機,而進行設定!感覺上就好像在家裡玩自己的 Linux 主機一樣!一般來說,如果你是使用 Winodows 系統,則你可以在『開始』-->『執行』後,輸入 telnet xxx.yyy.zzz.qqq ,其中, xxx.yyy.zzz.qqq 為 IP 位址,則可以連上主機(或者是 BBS )囉。當然,如果您是在 Linux 系統下,亦可直接輸入 telnet xxx.yyy.zzz.qqq 來連上主機或BBS喔!語法: telnet 主機位址(或主機名稱)
login
登入系統的指令,在遠端進入系統時,程式會自動執行。假設你所要登入的系統主機為 sun.os.test.com ,則你可以在 Windows 底下的 Telnet 軟體,或其他軟體上,執行: telnet sun.os.test.com
exit
這是離開 Linux 系統的指令,相當於 login out 的意思。
shutdown
Linux 用來關機的指令,這個指令只有 root 才有權力下! shutdown 的用法如下:
shutdown -h now //系统立即开机
shutdown -r now //系统立即重新开机
shutdown -h 8:30 //系统准时在这个时间开机(注:24h制)
shutdown -h +10 //系统在10min以后会开机
reboot
這是鳥哥最常用來重新開機的指令(或關機),可以配合寫入緩衝資料的 sync 指令動作
sync; sync; sync; reboot
二、多人多工及背景执行功能
& 与 [Ctrl]+[z]
如前所述,背景執行可以提供你在同一個終端機介面(命令模式)當中同時做很多的事情,你可以使用 & 或 [Ctrl]+[z] 來將指令放置背景中執行。例如執行 find "/" -name httpd & 這一行命令,表示將尋找 httpd 這個檔案的指令放置到背景中執行的意思。另外,當你執行一個需要長時間的程式,例如執行 ftp 程式時,在程式進行當中,也可以經由按下 [Ctrl]+[z] 來將程式放置於背景中。
fg
fg 是將程式再叫回螢幕上顯示的一個指令,在終端模式中輸入 fg 即可。當然,如果你當時並沒有程式在執行的話,系統會告訴你,並無執行中程式(no such job)。
ps -aux
這是察看執行中的程式的一個指令,你可以配合其參數 -aux 來執行,如下:
ps -aux //可以查看程式的user pid vsz time 啥的
kill
這是用來殺掉執行中程式的指令,需配合 ps 這個指令,當你執行一個 ftp 程式,但是他有點當當的時候,你可以 ps -aux 這個指令查出 ftp 這個程式的代碼(PID),假設其 PID 為 110 ,然後輸入
kill 110 //就可以杀掉110这个进程了
三、档案与目标管理
cd
這是用來變換工作路徑的指令。一登入 Linux 系統後,root 會在 /root 下,至於使用者會在預設的 /home/username 底下,例如鳥哥的 ID 為 vbird ,則以 vbird 的身份登入後,會到 /home/vbird 這個路徑下。OK!那回到上一層可以用 cd .. 而到相對路徑可到 cd ../bird,至於絕對路徑則是 cd /usr/sbin !★这个指令特别特别重要。。。。。。。
cd .. //回到上一层
# cd //变换为使用者的目录
cd /home/projects //进到/home/projects这个目录下面
pwd
這是顯示目前所在目錄的指令,例如在上個表格最後的目錄是 /usr/bin 這個目錄,但是提示字元僅顯示 bin ,如果你想要知道目前所在的目錄,可以輸入 pwd 即可:
pwd //可以查到当前所在的目录
ls
這是用來顯示檔案名稱與內容的指令,檔案的內容說明已經在 這裡 說明過了,在此不再重複!★这个指令特别特别重要。。。。。。 ls 的語法為:
ls --color //以颜色来显示文档资料(蓝色:目录,绿色:可执行文件,红色:压缩文件,浅蓝色:链接文件,灰色:其他)
ls -l // 详细列出系统的结构
ls -a //显示隐藏的文档
ls -al //列出所有内容
ls -al | more //按页面展示列出所有内容
cat
這是將檔案內容列出的指令。例如在 /root 下有一個檔名為 .bashrc (這是系統預設的檔案,是隱藏檔),★这个指令特别特别重要。。你可以按下 cd 回到 /root 目錄後,執行
cat .bashrc //可以把.bashrc这个文档的内容列出来啊
more
是否覺得 cat 在讀取較大的檔案的時候會有看不到的資訊呢(如果檔案太大的話),這時候你可以用 more 來一頁頁讀取喔!另外, more 也可以與其他的程式合併使用,例如 ls !(如下表中,『|』就是分隔號,可以將兩個指令放在一起執行!)
★可以读取较大的文档
more .bashrc //可以把.bashrc这个文档的内容列出来啊
mkdir
建立新的目錄!例如我們要建立一個 test 的目錄,你可以這樣下指令:
mkdir test //建立一个新的名字叫test的目录
rm -irf
這是移除的指令,相當於 dos 下的 del 指令!這裡要注意的是,通常在 Linux 系統下,為了怕檔案被誤殺,所以都已經有 -i 這個參數, -i 是指每個檔案被殺掉之前都會確認一次。而如果要連目錄下的東西都一起殺掉的話,就要使用 -rf 這個參數了
rm test //删掉这个文件夹
rm -rf test //连同文件夹下的文件都移除
rmdir
mkdir 是建立目錄,而 rmdir 就是移除目錄的指令。不過,若是欲移除的目錄裡頭有檔案或其他目錄存在,就無法移除,這時就要用剛剛的 rm -rf 來移除啦!
mv
這是移動檔案或目錄的指令,例如我們要將 .bashrc 這個檔案移動至根目錄下,則
mv .bashrc / //也就是说要把这个文件从现在这个目录移动到根目录
mv / .bashrc . //也就是说要把这个文件从现在这个跟目录移动到当前目录
cp
就是 copy 的意思。例如我們要將 .bashrc 這個檔案複製到 /home 底下,可以
cp .bashrc /home //将这个问价copy到/home问价加下。。。原来路径的也保留
ln
ln -s 真實目錄或檔案 連結的目錄或檔案:這是連結檔案或目錄的指令,通常我們都會加 -s 這個參數
語法: ln -s 來源檔(或目錄) 目的檔(或目錄)
find
尋找檔案的指令,會將欲尋找的檔案找出來,例如下面的例子:
find /home -name bin //意思也就是在/home路径下找name为bin的文档
whereis
相對於 find ,你也可以使用 whereis 這個指令來下達找尋的檔案,whereis 利用曾經找過的系統資訊內的資料去找檔案,所以速度會很快,不過,如果 whereis 找不到的話,並不代表該檔案真的不存在!這個要小心!
whereis bin //从之前的找过的资料去找,未必找得到,但是找不到不代表不存在
chmod
這是變更檔案屬性的指令,通常鳥哥都是以數字作為改變屬性的依據;在檔案的屬性中, r 為4分、w 為2分, x 為1分,如果你想要讓你剛建立的一個檔案,讓大家都看到的話,即你需要『-rw-r--r--』,這是你的三個群組的分數分別是 r+w=6, r=4, r=4,所以可以下達:
chmod 644 .bashrc //配置这个文件 的属性
chown
記得檔案有『擁有人』及『擁有群組』吧,這個 chown 就是在改變擁有者的指令。例如你 copy 一個檔案給 vbird ,但是因為你的身份是 root ,所以你 copy 過去的檔案 vbird 可能不能使用,因此你需要將檔案的擁有人改成 vbird 才可以!如下:
copy .bashrc /home/vbird
cd /home/vbird
chown vbird .bashrc
chgrp
作用與 chown 相似,只是在改變檔案或目錄的『擁有群組』
df
這是用來察看硬碟空間的指令。由於我們目前將檔案都建立在根目錄『/』下,所以只要沒有空間,則所有檔案都無法複製進來系統。不過,若你規劃出多的硬碟,則可以察看你的硬碟空間資訊,
du
這是用來察看目錄內所有檔案使用掉的空間的情況,如下所示
默认为kb 如果需要已mb显示 du -m
四、磁碟与硬盘管理
mount
這是將硬碟或者是光碟、軟碟接掛上系統的指令!之前有提過,在 Linux 下面,每一個裝置都是一個檔案(或目錄),而每一種裝置的檔案型態都不相同,因此對於 mount 後面加的參數就很重要囉
mount -t iso9660 /dev/cdrom /mnt/cdrom //例如:光碟接入系统
fdformat
這是用來『低階格式化』軟碟的指令。(注意:軟碟的裝置檔為 /dev/fd0 )不必將軟碟 mount 就可以格式化了
fdformat /dev/fd0H1440
fdisk
這是對硬碟(也可以對軟碟喔)做分割的程式。基本的用法為=> fdisk 裝置檔案,假設您有一顆硬碟要重新規劃,而這顆硬碟為 hdc
mke2fs
這是用來將磁碟格式化成 Linux 系統檔的指令。基本上,只要寫入對的裝置檔案就可以了。例如我們要格式化軟碟的話,或是新的硬碟 hdc1
mkbootdisk
這是製作開機磁片的指令
badblocks
這是用來檢查硬碟或軟碟有沒有壞軌的指令
fsck
這是用來檢查與修正硬碟錯誤的指令。注意:通常只有身為 root 且你的系統有問題的時候才使用這個指令
rpm
這是一個安裝或者是解安裝 RedHat 軟體的指令,在 RedHat 中已經有設定了一些有點像 Windows 的軟體安裝功能,這就是 rpm 這套軟體了!而 rpm 所安裝的軟體又分為兩種形式
五、系统管理员
su 和 sudo
這是一個用來轉換你身份成為 super user (系統管理員)的指令,任何人只要知道 root 的密碼,就可以成為 super user,所以密碼可千萬不要外流呀!由於 RedHat 在主機之外的終端機上,無法以 root 的身份直接連線,所以你需要以一般身份的 user 連線之後,再以 su 指令來成為 super user。
由于su 对切换到超级权限用户root后,权限的无限制性,所以su并不能担任多个管理员所管理的系统。如果用su 来切换到超级用户来管理系统,也不能明确哪些工作是由哪个管理员进行的操作。特别是对于服务器的管理有多人参与管理时,最好是针对每个管理员的技术特长和管理范围,并且有针对性的下放给权限,并且约定其使用哪些工具来完成与其相关的工作,这时我们就有必要用到 sudo
clear
這是用來清除螢幕畫面用的,沒有什麼太大的用處。通常是你覺得畫面太亂的時候輸入用的!直接輸入 clear 就可以了!
dmesg
在開機的時候你會發現有很多的訊息出現吧,例如 CPU 的形式、硬碟、光碟型號及硬碟分割表等等。但是訊息都是『刷』的一聲就跑過去了!這些訊息有時候對於系統管理員是很重要的,因為他提供了系統的資訊呀!要看這些訊息你可以用 dmesg 這個指令來觀看!
dmesg |more //加上 |more 的原因是因為訊息太多了,所以可以加入這個管線指令來使畫面暫停!
groupadd
這是用來增加群組的指令,通常鳥哥都不用這個指令的,因為有更容易使用的指令 /bin/userconf 可以使用哩(注意,在 RedHat 7.0 以後的版本,就要使用 /sbin/userconf 哩)
useradd
這是用來增加使用者的指令,鳥哥通常不使用這個指令,你可以使用 /bin/userconf 這個指令,更簡單易用喔(是視窗介面的喔!)(注意,在 RedHat 7.0 以後的版本,就要使用 /sbin/userconf 哩)
userconf
這是用來增加使用者、群組等,且以視窗為介面的一個指令!如果你是以遠端登入,並使用 su 指令成為 super user 的話,直接輸入 userconf 可能會找不到這個指令,你可以輸入: /bin/userconf 來啟動這個指令!(注意,在 RedHat 7.0 以後的版本,就要使用 /sbin/userconf 哩),由於這個指令的圖示較多,請到這裡來看看!
passwd
這是用來更改密碼的指令,很簡單,只要在提示字元下輸入 passwd ,然後輸入目前的密碼,再輸入兩次欲修改成的新密碼,就修改OK了!不過要注意,密碼的形式:不能與帳號相同,且需要 8 個字元以上,另外,帳號也不能太簡單!否則系統會不接受
who
這是用來視察目前在系統上的使用者指令,你也可以使用 w 這個指令來下達動作
whoami
這是用來確認你目前的身份的指令,由於你可能會有幾個身份在你的機器上,所以需要以這個指令來確認你的身份,不過由於 Linux 會將使用者名稱寫在提示字元上,所以這個指令目前比較少用到了。
top
這是用來指示目前系統的服務項目的動態資料
quotacheck, edquota
這些檔案是用來限制使用者在 Linux 主機上的硬碟使用容量。例如,有十個人同時分享一個 2G 的硬碟空間,但是有一個使用者就用了 1.5 GB 的容量,那相對的,其他人可使用的空間就只有剩下 0.5G 啦!不公平對不對,而且也怕被使用者填充大量的垃圾,而使用系統資源被瓜分掉!因此就有 Quota 這個咚咚的出現啦!
详见:http://linux.vbird.org/linux_basic/redhat6.1/linux_06quota.php
六、压缩指令
compress
這是用來壓縮及解壓縮檔名為 .Z 的壓縮檔。要注意的是,用 compress 壓縮的時候,會將原檔案殺掉而變成檔名為 .Z 的檔案,例如你壓縮一個名為 bird.test 的檔案,則壓縮完成後只會剩下 bird.test.Z 這個壓縮檔!當然,解壓縮的時候也是一樣的,壓縮檔不見了,只有剩下被解壓縮的檔案。指令如下:
compress dddd //把dddd问价压缩为 dddd.z文件
compress -d dddd.z //吧dddd.z解压缩为dddd文件
gzip
這個也是一個壓縮指令,與 compress 很相似,指令的用法也相同!只是壓縮的檔名為 .gz 罷了
gzip dddd //把dddd问价压缩为 dddd.gz文件
gzip -d dddd.gz //吧dddd.gz解压缩为dddd文件
tar
這是一個很棒的壓縮指令,這個指令可以配合 gzip 來進行整個目錄的壓縮!例如有一個名為 bird 的目錄要被你整合成一個檔案,你可以使用:tar -xvf *.tar *(其中 * 為你所要整合的目錄名稱)
tar -cvf bird.tar bird <==只有將目錄轉成一個檔案,沒有壓縮
tar -zcvf bird.tar.gz bird <==壓縮一整個目錄成為 .tar.gz 檔案
上面這個例子的 bird.tar 只是將 bird 這個目錄整個拷貝成為一個檔案而已,並沒有壓縮,而 bird.tar.gz 則是將 bird 這個目錄壓縮成為一個檔案!基本上,我們都是使用 -zxvf 來壓縮一整個目錄的!而如果是要解壓縮呢?由於有沒有壓縮所下的參數並不相同,所以針對兩種檔案也是有兩種參數的組合:
tar -xvf bird.tar
tar -zxvf bird.tar.gz
注意了,用 compress 及 gzip 壓縮及解壓縮的時候,會將原檔案取代掉!而使用 tar 來壓縮及解壓縮的時候,原檔案將會與產生檔案同時存在!通常我們都是使用 tar 來進行壓縮或解壓縮的!(當然,你還是可以使用 compress 及 gzip 來壓縮一個大的檔案!
七、一些网络功能
ifconfig
這是用來查詢目前我們這個系統的網路卡的狀況的指令,可以查詢 IP、子遮罩網路及網路卡的硬體資訊等等★这个指令特别特别重要。。。。★这个指令特别特别重要。。。。★这个指令特别特别重要。。。。
route
這是用來看你的網路通訊包傳送的路由情況的指令。由於通信包是藉由一個一個的路由表來傳遞的,所以觀察你的路由表,對於網路除錯(debuge)就很重要啦!
netstat
這也是用來觀察網路狀況的指令
hostname
這只是用來觀看你的主機名稱而已
ping
這是用來察看對方網路是否有動作的指令,這個指令亦可以在 windows 上面執行!
nslookup
這是用來查詢或反查詢 DNS 的指令!例如我們要知道 奇摩 的網路位址,則可以如此查詢
talk
這是用來交談的指令
traceroute
這是用來追查通訊包傳送的情況,例如我們要從 seednet 的網路上查詢到成大的代理伺服器的通訊狀況,可以使用如下的指令
這是用來收發信件的指令,
八、其他有的没的
date
這是用來察看日期的指令
sudo date -s "2015-5-8 19:48:00" //更改服务器时间
cal
這是用來叫出日曆的指另,,,查看日历
grep
這是用來搜尋某些特定字元的指令。例如使用 ps -aux 查詢系統服務時,我們只需要知道 sendmail 是否有動作,則可以使用管線指令『|』來加入 grep 這個指令同時運作
九、ftp指令
ftp
FTP 這個功能不用再多談了吧?這是用來捉取網路上免費檔案的一套軟體。例如我們要連上交大的 FTP 站捉東西
ncftp
在使用 FTP 功能的時候,因為只能一次捉一個檔案,所以要捉一群檔案的時候就會有困擾。這時我們可以使用更容易登入匿名 FTP 站的 ncftp 來執行 FTP 功能!
gftp
這是在 X-Windows 使用的圖形介面 FTP 咚咚!這個咚咚的使用方法就跟 CutFTP 很相似
十、相关设置指令
set
這是用來設定或是觀看目前系統的設定的指令,若只打入 set 則僅會列出目前系統的參數
uname
這是用來觀看系統名稱的指令,可以打入 -a 參數來列出所有資訊
setup
這個是常常使用來設定系統的一個指令,執行之後會有一個視窗出現,較常使用的是 System services 這一項,可用來設定開機的時候要開放的服務!
lilo
這是用來設定多重開機,或是開機選項的指令,
Xconfigurator
這是用來簡易的設定 X-Windows 的指令,當你的 X-Windows 確定是可以跑的,而你想要改變一些設定,例如:解析度、色彩度等等
xf86config
這是用來設定 X-Windows 的指令!這個指令會比 Xconfigurator 麻煩,不過當你的 X-Windows 沒有辦法跑的時候,這個咚咚是很好用的
十一、X-WINDOWS内的设定指令
startx
這是開始執行 X-Windows 的指令!
netconf
這是網路設定的指令!
netcfg
這也是網路設定的指令!
XF86Setup
這是在 X-Windows 下以圖形介面設定 解析度、色彩度 的設定指令