Linux日常使用指令大全
Java代碼
www.2cto.com
001、日常維護常用查詢命令
#top 顯示系統進程
#clear 清理屏幕信息
#cat /etc/redhat-release 查看系統版本信息
#cat /proc/version 查看系統內核版本等信息
#uname -a 查看系統內核等信息
#cat /proc/cpuinfo 查看CPU信息
#cat /proc/meminfo 查看內存信息
#cat /proc/swaps 查看交換空間信息
#getconf LONG_BIT 查看CPU是32位還是64位
#dmidecode|more 如何查看BIOS信息等。
#grep MemTotal /proc/meminfo 查看物理內存信息
#grep SwapTotal /proc/meminfo 查看交換空間的大小
#cat /etc/passwd 查看賬戶信息
#cat /etc/shadow 查看密碼信息
#cat /etc/group 查看都有哪些組,每個組包含哪些用戶,或#vigr
#groups username 查看用戶屬於哪一個組
#ps -aux 顯示終端上的所有進程,包括其他用戶的進程。
#ps -x 顯示沒有控制終端的進程。
#ps -e 顯示所有進程。
#ps -r 只顯示正在運行的進程。
free命令可以查看內存使用率
top -n1命令中有CPU使用率信息
002、修改啟動界面為文本模式(命令模式)
3為文本模式,5為圖形模式。
#vi /etc/inittab
修改id:5:initdefault:為id:3:initdefault:
003、修改遠程管理時命令行下中文亂碼問題
Red Hat Enterprise Linux默認的語言編碼是“zh_CN.UTF-8”,在X-Window桌面環境下能正常顯示漢字,但如果通過SSH或Telnet等方式進行遠程管理時,就會發現所有的漢字變成亂碼了。
#vi /etc/sysconfig/i18n
將LANG="zh_CN.UTF-8"改為LANG="zh_CN.GB18030",重新登錄後即可正常顯示漢字。
系統默認英文語言:
編輯/etc/sysconfig/i18n
LANG="en_US.UTF-8"
SUPPORTED="en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
系統默認中文語言:
LANG="zh_CN.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
SYSFONT="latarcyrheb-sun16"
系統默認英文語言,同時支持中文語言:
LANG="en_US"
LANGUAGE="en_US"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
004、配置網卡相關信息
#cd /etc/sysconfig/network-scripts
#ls
#vi ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.0.255
HWADDR=00:17:31:7F:6B:A7
IPADDR=192.168.0.68
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
TYPE=Ethernet
:wq退出。
#service network restart 重新啟動網絡
005、更改主機名
#vi /etc/sysconfig/network
將hostname改名,然後重啟即可。
006、考慮到安全問題,只允許普通賬戶直接遠程登錄,不允許root直接遠程登錄
配置sshd
啟動sshd服務:/etc/init.d/sshd start
編輯/etc/ssh/sshd_config文件,找到語句PermitRootLogin yes,將yes修改為no。
重新啟動sshd服務:/etc/init.d/sshd restart
007、關閉不需要的系統服務
為了安裝的系統執行效能更佳,建議關閉一些沒有必要的系統服務,例如cups、sendmail、isdn、smartd、iptables、pcmcia...等。
#chkconfig cups off
#chkconfig sendmail off
#chkconfig isdn off
#chkconfig smartd off
#chkconfig iptables off
#chkconfig pcmcia off
008、修改DNS
標准格式:nameserver DNS地址
#vi /etc/resolv.conf
nameserver 192.168.0.36
nameserver 202.106.0.20
:wq #保存退出。
#service network restart #重新啟動網絡
009、查看系統磁盤的分區情況以及文件系統被掛載的位置
#df –h
Filesystem Size Used Avail Use% Mounted on
/dev/hda3 36G 4.1G 30G 12% /
/dev/hda1 190M 8.4M 172M 5% /boot
none 248M 0 248M 0% /dev/shm
#df -h /home 查看home所在分區的磁盤使用情況
010、查看目錄及該目錄下文件的大小,或查看單個文件的大小
#du -h 目錄或文件
[root@eric68 /]# du -h /tmp
12K /tmp/.font-unix
8.0K /tmp/.ICE-unix
12K /tmp/ssh-wDIORJg370
36K /tmp/test
164K /tmp
[root@eric68 tmp]# du -h 1.txt
8.0K 1.txt
du -sh 目錄或文件 //查看目錄或文件的總大小
[root@eric68 /]# du -sh /tmp
164K /tmp
[root@eric68 tmp]# du -sh 1.txt
8.0K 1.txt
011、查看目錄權限:ls –ld 目錄名
[root@DB65 tmp]# ls -ld perl
drwxr-xr-x 2 root root 4096 Mar 26 12:39 perl
查看目錄下的文件的權限:ls –lr 目錄名
[root@DB65 tmp]# ls -lr perl
total 24
-rwxr-xr-x 1 root root 24 Mar 26 12:39 test2.pl
-rw-r--r-- 1 root root 65 Mar 26 12:38 test1.pl
-rw-r--r-- 1 root root 44 Mar 26 12:38 helloworld.pl
改變目錄的權限:chmod 相應權限 目錄名/
改變目錄及其子目錄和文件權限:chmod –R 相應權限 目錄名/
012、獲取當前所有登陸者信息
[root@db80 /]# users
root
[root@db80 /]# who
root pts/1 Mar 20 11:42 (192.168.0.66)
[root@db80 /]# w
15:34:43 up 3:57, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 192.168.0.66 11:42 0.00s 0.14s 0.00s w
013、查看系統裡有多少個賬戶?
# wc /etc/passwd -l
36 /etc/passwd
014.啟動和停止apache服務
#/etc/init.d/httpd start //啟動httpd服務
#/etc/init.d/httpd stop //關閉httpd服務
#/etc/init.d/httpd restart //重啟httpd服務
自動啟動WEB服務:
如果需要讓httpd服務隨系統啟動而自動加載,可以執行"ntsysv"命令啟動服務配置程序,找到"httpd"服務,在其前面加上星號(*),然後選擇"確定"即可。
Apache的主配置文件是httpd.conf默認路徑:/etc/httpd/conf/httpd.conf
015、啟動和停止Tomcat服務
# /etc/rc.d/init.d/tomcat5 start 啟動Tomcat服務
# /etc/rc.d/init.d/tomcat5 stop 停止Tomcat服務
# /etc/rc.d/init.d/tomcat5 restart 重啟omcat服務
自動啟動Tomcat服務:
如果需要讓Tomcat服務隨系統啟動而自動加載,可以執行"ntsysv"命令啟動服務配置程序,找到"Tomcat5"服務,在其前面加上星號(*),然後選擇"確定"即可。
016、Iptables防火牆
關閉防火牆:執行“ntsysv”命令啟動服務配置程序,取消“iptables”服務前的“*”號。
若開啟了防火牆,如何開放TCP協議的80端口:iptables -I INPUT -p tcp --dport 80 -j ACCEPT
關掉SELINUX:
#vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=Disabled #這樣就把SELINUX服務器關掉了,請重新啟動系統;
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
017、禁止、響應ping
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 禁止ping,忽略ICMP包。
# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all 響應ping
以上兩個設置在重啟後失效,若添加到/etc/rc.local裡,重啟後仍然有效。
018、history
查看歷史記錄命令:#history
注釋:查看以前使用過的命令,默認最大歷史記錄條數為1000(red hat 中),可以在 "/etc/profile"裡面修改"HISTSIZE" 參數來修改默認值
清除歷史記錄命令:#history –c
立即更新history文件命令:#history -w
History記錄原理:當一個用戶用bash登錄系統,他所輸入的命令會放到一個內存catch中,在他登出時會存入~/.bash_history中,用histroy -c 命令可以清空這一命令緩存,也就是說,這一用戶不想讓人知道他做了些什麼的話,只要在退出前執行history -c就行了。
查看某個用戶的history記錄:
#history –w
#history或#more .bash_history
如何自動備份某個用戶的history記錄?
1.建立ericyi用戶的history每日備份腳本
#cd tmp
#mkdir ericyi_history_backup
#chown root ericyi_history_backup/
#vi ericyihistorybackupdaily.sh
-----------------------------------------------------------------
#!/bin/bash
day=`date +%Y-%m-%d`
basedir="/tmp/ericyi_history_backup "
cd /home/ericyi
history -w
cp .bash_history "$basedir"/history."$day" > /dev/null
-----------------------------------------------------------------
如何記錄用戶登陸後的命令操作和系統輸出?
在/etc/profile中添加如下內容:
--------------------------------------------------------------------------------
# log user input except test
if [$USER != "test" ]; then
SSHCLIENTIP=`echo $SSH_CLIENT | awk '{ print $1; }'`
USERLOGFILENAME=/tmp/${USER}_`date +"%Y%m%d%H%M"`_from_${SSHCLIENTIP}.log
echo "SSH CLIENT INFO: "${SSH_CLIENT} >${USERLOGFILENAME}
exec /usr/bin/script -a -f -q ${USERLOGFILENAME}
fi
--------------------------------------------------------------------------------
019、linux下定期備份數據
# chmod 700 backupdaily.sh //修改權限,ROOT執行
# vi /etc/crontab //任務計劃
#加入下面內容
10 1 * * * root /etc/root/backupdaily.sh
注釋:每天1點10分運行腳本
:wq保存退出。
020、Linux下定期同步時間?
#ntpdate 207.46.232.182
做個腳本,放在crontab中定期執行即可。