權限管理類命令:
chmod 改變文件或目錄的權限
chown 改變文件或者目錄的所有者
chgrp 改變文件或目錄所屬組
umask 設置新建文件的掩碼
chattr 查看和改變文件、目錄屬性
lsattr 查看和改變文件、目錄屬性
磁盤管理類命令:
df i 節點和磁盤使用 -Th
du 統計文件和目錄大小 -sh
fdisk 格式化磁盤分區
mkfs 創建文件系統
mkfs.ext2|3|4 格式化成特定的文件系統
mount 掛載磁盤分區
umount 卸載磁盤分區
fsck 修復文件系統
sync 同步
系統維護類命令:
at 定時任務
bg 后台執行進程
fg 前台執行進程
jobs 顯示后台任務執行情況
kill 終止進程
crontab 定時任務
killall
pstree 顯示當前進程及進程樹
top 顯示當前進程情況
nice 改變程序運行優先權等級
renice 允許用戶修改一個正在運行的進程的優先級
sleep 使進程暫停執行一段時間
nohup 用戶退出系統之后正在工作
pgrep 查找當前運行的進程,並列出匹配給定條件的進程的 pid,所有的條件都必須滿足才會被列出
chkconfig 檢查,設置系統的各種服務
改變 redhat 的系統語言/字符集
修改 /etc/sysconfig/i18n 文件,如
LANG="en_US",xwindow 會顯示英文界面,
LANG="zh_CN.GB18030",xwindow 會顯示中文界面。
還有一種方法
cp /etc/sysconfig/i18n $HOME/.i18n
vi $HOME/.i18n 文件,如
LANG="en_US",xwindow 會顯示英文界面,
LANG="zh_CN.GB18030",xwindow 會顯示中文界面。
這樣就可以改變個人的界面語言,而不影響別的用戶
查看系統信息
cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)
cat /proc/interrupts - 中斷
cat /proc/ioports - 設備 IO 端口
cat /proc/meminfo - 內存信息(i.e. mem used, free, swap size)
cat /proc/partitions - 所有設備的所有分區
cat /proc/pci - PCI 設備的信息
cat /proc/swaps - 所有 Swap 分區的信息
cat /proc/version - Linux 的版本號 相當於 uname -r
uname -a - 看系統內核等信息
讓 linux 自動同步時間
vi /etc/crontab
加上一句:
00 0 1 * * root rdate -s time.nist.gov
管理與網絡
lsof 用法小全
lsof abc.txt 顯示開啟文件 abc.txt 的進程
lsof -i :22 知道 22 端口現在運行什么程序
lsof -c nsd 顯示 nsd 進程現在打開的文件
lsof -g gid 顯示歸屬 gid 的進程情況
lsof +d /usr/local/ 顯示目錄下被進程開啟的文件
lsof +D /usr/local/ 同上,但是會搜索目錄下的目錄,時間較長
lsof -d 4 顯示使用 fd 為 4 的進程
lsof -i [i] 用以顯示符合條件的進程情況
語法: lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
忘了 mysql 的 root 口令怎么辦
# service mysql stop
# mysqld_safe --skip-grant-tables &
# mysqladmin -u user password 'newpassword''
# mysqladmin flush-privileges
mysqld 起來了,卻無法登錄,提示"/var/lib/mysql/mysql.sock"不存在
這種情況大多數是因為你的 mysql 是使用 rpm 方式安裝的,它會自動尋找
/var/lib/mysql/mysql.sock 這個文件,
通過 unix socket 登錄 mysql。
常見解決辦法如下:
1)創建/修改文件 /etc/my.cnf,至少增加/修改一行
[mysql]
[client]
socket = /tmp/mysql.sock
#在這里寫上你的 mysql.sock 的正確位置,通常不是在 /tmp/ 下就是在 /var/lib/mysql/ 下
2)指定 IP 地址,使用 tcp 方式連接 mysql,而不使用本地 sock 方式
#mysql -h127.0.0.1 -uuser -ppassword
3)為 mysql.sock 加個連接,比如說實際的 mysql.sock 在 /tmp/ 下,則
# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock 即可
如何在命令行上執行 sql 語句
#mysql -uuser -ppassword -e "sql statements" database
過濾掉#號打頭的行,和所有的空行(針對配置文檔)
awk '/^[^#]/&&/^[^$]/' filename > new.file
