Linux 日常使用指令大全

 
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中定期執行即可。
 

 

發佈了48 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章