Linux 常用指令備忘錄
查指令的用途
man = info <cmd> (安裝中文manpage,參考這篇)
whatis <cmd>
環境變數
cat ~/.bashrc
/etc/profile.d/*.sh
alias 顯示目前系統有的alias
alias ll='ls -alF'
unalias
set 顯示目前系統的環境變數
export PATH="xxx" 改環境變數 $PATH="xxx"
查看目錄
ls <Regular Expression> or Dir
-a:列出全部檔案包括隱藏檔
-l:列出詳細的檔案資訊
-R:遞回列出所有子目錄和檔案
-r:以反方向順序顯示
-X 以副檔名排序顯示
-S 以檔案大到小排序顯示
-t 以時間大到小排序顯示
目錄
一般檔案
可執行檔
圖檔
符號連結檔
系統的設備檔
壓縮檔
mkdir -pv /aaa/bbb/ccc
rm
-r:刪除目錄下的所有檔案及目錄
-f:刪除時不提出警告
切換路徑
cd - 回到剛剛的目錄
cd .. 回到上一頁的目錄
cd ~ 回Home目錄 = cd
cd / 回根目錄
找檔案路徑
find 起始目錄 -name 欲找的檔名
which 依 PATH 環境變數找執行檔
whereis 找比which多的路徑
locate FileName 依系統的檔案索引資料庫找尋檔案(updatadb)
找檔案內容字串
grep -參數 "string" sourcefile
-i 忽略大小寫
-n 顯示行號
檔案相關指令
file FileName 查看檔案類型
touch 更新檔案的時間
cat File1 >> File2 將 File1 附加到 File2 後
cat File1 File2 > File 合併 File1 和 File2 成 File
sync 寫入快取到磁碟
行號顯示檔案的內容
nl FileName
cat -n FileName
比較檔案或目錄差異
diff File1 File2
diff -r Dir1 Dir2
驗證檔案
md5sum File
sha1sum File
sha256sum File
系統資訊
cat /proc/xxx
df 查看硬盤剩餘空間
du 查詢檔案或目錄的磁碟使用空間,預設的檔案輸出資料為 KB
free 查詢目前記憶體的使用情形
dmesg 顯示開機訊息
lsmod
lsusb
lsblk
sysctl - get or set kernel state (/etc/sysctl.conf)
查詢linux版本
uname -a
lsb_release -a
管理使用者
adduser (useradd)
deluser (userdel -r )
usermod -G Groupname -d /home/xxx 修改帳號的群組和 home 目錄
groups Username 查看帳號所屬的群組
groupadd -g GID Groupname 系統使用0~499的GID,可查/etc/group
groupdel
passwd
finger 查看帳號的訊息
su - Username 切換帳號
who = w 顯示目前線上使用者
whoami = users 顯示自己是登入的帳號
last 查看系統的登錄情況
lastlog 查看所有帳號的登錄情況
改檔案權限
chmod 644 FileName 改變檔案權限 r = 4, w = 2, x = 1
chmod -R 644 Dir 改目錄權限
u+rwx 使用者加入權限
g-rwx 群組移除權限
o=rwx 其他設定權限
a=rwx 全部設定權限
chmod Username.Groupname File 更改檔案的擁有者和群組
chown Username:Groupname File 更改檔案的擁有者和群組
chown -R Username:Groupname Dir 更改目錄的擁有者和群組
chown Username FileName 更改檔案的擁有者
chgrp Groupname FileName 更改擁有群組
即時通
write 傳送訊息給線上某一位使用者
write 使用者帳號 終端機名稱
talk 使用者帳號 終端機名稱
mesg y 或 n 設定是否讓別人傳送訊息給自已
進程相關
指令& 將該進程切換到背景執行 ([Ctrl] + [Z] 停止進程執行)
bg 將停止的進程放到背景執行
fg 將背景的行程放到前景執行
jobs 顯示目前背景的行程
nohub myserver & 登出後仍然執行進程
ps
-l:長格式顯示
-a:其它使用者執行的程式一併顯示出來
-u:顯示使用者名稱和起始時間
-x:顯示所有程序
kill -9 強制中止一個進程
pkill 進程名
xkill 圖形介面方式中止一個程式(Ubuntu)
設定排程工作
at 9:20 2014-03-27
at> 指令 ([Ctrl] + [D] 結束排程設定)
atq 查詢排程
atrm <工作編號> 刪除排程
指令技巧
[Ctrl] + [l] 清除畫面 = clear 指令
[Ctrl] + [w] 刪除一個單字(word)
[Ctrl] + [u] 刪除一整行
[Ctrl] + [r] 指令回溯(自動完成曾經執行的指令)
history 列出曾經用過的指令
-c: 清空 Bash 指令記錄
數字: 列出最近"數字"個指令
! 編號: 可執行 history 中該編號的指令
!! 重覆執行上一個的指令
set history=50 設定歷史記錄的上限數量
其他
sudo poweroff 關機 = shutdown
sudo pkill Xorg 圖形介面登出
下載整個網站的網頁到本地
wget -r -p -np -k http://xxx
-r: 遞迴伺服器目錄
-p: 下載顯示HTML檔案的所有圖片
-np: 只下載目標網站指定目錄及其子目錄的内容
-k: 轉換非相對連結為相對連結
用ssh傳檔
scp -rp /path/filename username@remoteIP:/path #將本地檔案上傳到伺服器
scp -rp username@remoteIP:/path/filename /path #將伺服器的檔案下載到本地
圖形介面
gnome-screenshot -d 10 #延遲 10s 擷取螢幕畫面 = [Print Screen]
gnome-screenshot -w -d 5 #延遲 5s 擷取當前視窗畫面 = [Alt] + [Print Screen]
[Ctrl] + [h] 顯示隱藏文件
[Ctrl] + [l] 顯示路徑欄
虛擬桌面切換
[Ctrl] + [Alt] + [←,→]
[Ctrl] + [Alt] + [F1~6] 切換命令模式
[Ctrl] + [Alt] + [F7] 切換圖形介面
Ubuntu 修改系統預設編輯器
update-alternatives --config editor
系統預設編碼更改 (Fedora 11)
編輯 /etc/sysconfig/i18n
改 LANG="zh_TW.Big5"
讓使用者輸入 sudo <指令> 可執行 root 權限的指令 (Fedora 11)
visudo = 編輯/etc/sudoers
改 ALL ALL=NOPASSWD:/bin/mount, /bin/umount
設定開機自動啟動服務和程式 (Fedora 11)
ntsysv 命令模式設定 (需root權限)
/etc/rc.d/rc.local (需root權限)
參考網址:
1.http://ahhafree.blogspot.tw/2011/11/ubuntulinux.html
2.http://linux.vbird.org/linux_basic/redhat6.1/linux_06command.php
3.http://www.pcnet.idv.tw/pcnet/linux/linux_command.htm