轉載來自:http://www.cnxct.com/linux-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4-%E5%B0%8F%E6%8A%80%E5%B7%A7/
1 、實現RedHat非正常關機的自動磁盤修復
AUTOFSCK_DEF_CHECK=yes
PROMPT=yes
2、改變文件或目錄之最後修改時間(變爲當前時間)
3、如何設置login後歡迎信息
4、如何設置login前歡迎界面
issue的內容是出現在本機登錄的用戶界面上,而issue.net則是在用戶通過網絡telnet的時候出現。
eg:
# vim /etc/issue
CentOS release 4.5 (Final)
Kernel \r on an \m
則在歡迎界面前顯示
CentOS release 4.5 (Final)
Kernel 2.6.9-55.0.2.EL on an i686
5、如何修改網卡MAC地址
命令是: /sbin/ifconfig eth0 down
修改 MAC 地址,這一步較 Windows 中的修改要簡單。
命令是:/sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
重新啓用網卡 /sbin/ifconfig eht0 up
網卡的 MAC 地址更改就完成了
6、建立別名/刪除別名
unalias cp
7、如何知道某個命令使用了什麼庫文件
$ ldd /bin/ls
8、如何使一個用戶進程在用戶退出系統後仍然運行
#這樣即使用戶退出系統,wget進程仍然繼續運行直到test.iso下載完成爲止
(-c:斷點續傳,這也是個非常有用的設置,特別當下載比較大的文件的時候,如果中
途意外中斷,那麼連接恢復的時候會從上次沒傳完的地方接着傳,而不是又從頭開始,使
用這一項需要遠程服務器也支持斷點續傳,一般來講,基於UNIX/linux的Web/FTP服務器
都支持斷點續傳)
9、如何限制用戶的最小密碼長度
PASS_MIN_LEN 8
10、如何取消root命令歷史記錄以增加安全性
HISTFILESIZE=0
HISTSIZE=0
或者:
ln -s /dev/null ~/.bash_history
11、如何測試硬盤性能
同時使用hdparm -c3 /dev/hdaX還能設置硬盤以32bit傳輸,以加快數據傳輸的速度。
我們使用的Linux在默認情況下,訪問IDE設備的時候設置的很保守。這樣設置的目的是爲了保護數據安全和系統的兼容性,這樣可以確保任何硬件都可以被支持(例如386、486等)我們可以通過下面命令查看當前硬盤的性能
hdparm -Tt /dev/hda
結果顯現如下
# hdparm -Tt /dev/hda
/dev/hda:
Timing cached reads: 1200 MB in 2.00 seconds = 600.00 MB/sec
Timing buffered disk reads: 76 MB in 3.02 seconds = 25.17 MB/sec
-T是測試緩存系統
-t是報告磁盤的狀態,並讀取緩存中的數據
以上數據是在P4 1.7G/512M 內存/40G IDE的機器上測試的。
注意:這個測試最好在單用戶模式下使用,因爲這樣可以確保你測試的時候只有你一個人在使用系統, 以確保測試準確。再多測試幾次取平均值。我們再用如下命令看看linux如何對硬盤經行尋址 hdparm /dev/hda
結果如下
/dev/hda:
multcount = 16 (on)
IO_support =” ” 0 (default 16-bit)
unmaskirq =” ” 0 (off)
using_dma =” ” 1 (on)
keepsettings =” ” 0 (off)
readonly =” ” 0 (off)
readahead =” ” 8 (on)
geometry = 5169/240/63, sectors = 40020664320, start = 0
我們可以看到,默認情況下使用的還是16位的模式。
優化
使用如下命令
hdparm -m16 -c3 /dev/hda
這樣可以讓IO_support工作在32位模式下。
12、如何列出一個目錄佔用的空間
du -S | sort -n 可以迅速發現那個目錄是最大的。
(du -s或–summarize 僅顯示總計。
du -S或–separate-dirs 顯示個別目錄的大小時,並不含其子目錄的大小。
sort -n 依照數值的大小排序。)
用df可以看到已安裝的文件系統的空間大小及剩餘空間大小。
quota -v查看用戶的磁盤空間信息,如果你用quota限制了用戶空間大小的話。
++如何使新用戶首次登陸後強制修改密碼
13、在Linux中有時開機不自動檢查新硬件,新安裝的網卡找不到。請問怎麼解決?
14、從臺灣省的一個 網站找到的,如何讓系統密碼和samba密碼一致,並可以讓用戶自行修改他們的密碼.
下載 http://changepassword.sourceforge.net/
安裝就可以了.先看README哈.
附加:
將系統用戶批量倒成samba用戶.
less /etc/passwd | mksmbpasswd.sh >; /etc/samba/smbpasswd
++更改Linux啓動時用圖形界面還是字符界面
vi inittab
將id:5:initdefault: 其中5表示默認圖形界面
改id:3: initdefault: 3表示字符界面
15、配置smb可以被哪些IP所用.
Vi smb.conf
找到hosts allow = 192.168.1. 192.168.2. 127.
修改其爲哪些機器所用,注意IP之間用逗號分開
舉例:
hosts allow =192.168.1.110,192.168.1.120
16、禁止在後臺使用CTRL-ALT-DELETE重起機器
vi inittab 在文件找到下面一行
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now (註釋掉這一行)
如: # Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
17、修改主機名
修改HOSTNAME一行爲HOSTNAME=主機名
18、查看開機檢測的硬件
19查看硬盤使用情況
df -h
20、查看目錄的大小
21、解壓小全
tar xvfz lichuanhua.tar.gz
tar xvfz lichuanhua.tgz
tar xvf lichuanhua.tar
unzip lichuanhua.zip
注:壓縮 tar cvfz FileName.tar.gz DirName
22、顯示內存使用情況
23、顯示系統運行了多長時間
24、顯示開機自檢的內容命
25、端口的詳細列表
26、查看物理信息
27、文本截面的中文支持
安裝完成後,執行: zhcon 就可以支持中文了
28、不讓顯示器休眠
29、顯示最後一個登錄到系統的用戶
30、查看所有帳號的最後登錄時間
31、查看系統自開通以來所有用戶的登錄時間和地點
31、顯示當前用戶所屬信息
32、如何知道Apache的連接數目
netstat -nat|grep -i “80″|wc -l # 以上結果再減1吧
33、刪除用戶帳號的同時,把用戶的主目錄也一起刪除
34、修改已有用戶的信息
參數: -c, -d, -m, -g, -G, -s, -u以及-o與adduser參數意義相同
新參數: -l 新用戶名(指定一個新的賬號,即將原來的用戶名改爲新的用戶名)
35、改變redhat的系統語言/字符集
LANG=”en_US”,xwindow會顯示英文界面,
LANG=”zh_CN.GB18030″,xwindow會顯示中文界面。
還有一種方法
cp /etc/sysconfig/i18n $HOME/.i18n
修改 $HOME/.i18n 文件,如
LANG=”en_US”,xwindow會顯示英文界面,
LANG=”zh_CN.GB18030″,xwindow會顯示中文界面。
這樣就可以改變個人的界面語言,而不影響別的用戶
vi .bashrc
export LANG=zh_CN.GB2312
export LC_ALL=zh_CN.GB2312
36、cd光盤做成iso文件
37、快速觀看開機的硬件檢測
38、查看硬盤的使用情況
df -h 以人性化單位顯示,可以是b,k,m,g,t..
39、查看目錄的大小
-s 僅顯示總計
-h 以K、M、G爲單位,提高信息的可讀性。KB、MB、GB是以1024爲換算單 位, -H以1000爲換算單位。
40、查找或刪除正在使用某文件的進程
fuser -k filename
41、linux中讓用戶的密碼必須有一定的長度,並且符合複雜度
++以不同的用戶身份運行程序
有時候需要運行特殊身份的程序, 就可以讓su來做
++ adduser m -g cvsroot -s /bin/false
顯示m用戶的uid和gid號。
++ 強制卸載rpm包
個別不正常情況下:
rm -f /var/lib/rpm/__*
rpm –rebuilddb
#
++拒絕除root用戶的其它用戶登陸
也可以在/etc/passwd中加!對指定用戶限制登陸
++檢查自己所屬之羣組名稱
++修改文件/文件夾所屬用戶組(支持-R)
也可chgrp 組名 文件名
chown 用戶名.組名 文件名(同時修改所屬用戶及用戶組)
++用fuser命令查看一下是哪些進程使用這個分區上的文件:
如果沒有什麼重要的進程,用以下命令停掉它們:
fuser -k –v –m /usr
然後就可以重新掛載這些文件系統了。
++網絡喚醒主機
++如何查找大小爲500K到1000K之間的文件
++讓主機不響應ping
若想恢復就用
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
#必須是用命令改,不能是vi修改
++自動註銷ROOT
TMOUT=300
#300,表示300秒
++ls只列出目錄
ls -lF | grep /$
ls -F | grep /$
++讓cron任務不回饋信息
++lsof(list open files)用法
lsof abc.txt 顯示開啓文件abc.txt的進程
lsof -i :22 知道22端口現在運行什麼程序
lsof -c nsd 顯示nsd進程現在打開的文件
lsof -g gid 顯示歸屬gid的進程情況
++改變sshd 的端口
++防止任何人使用su 命令成爲root
auth sufficient /lib/security/pam_rootok.so
auth required /lib/security/Pam_wheel.so group=wheel
然後把用戶添加到“wheel”組:chmod -G10 username
++如何讓ssh 只允許指定的用戶登錄
auth required pam_listfile.so item=user sense=allow file=/etc/sshusers onerr=fail
然後在/etc 下建立sshusers 文件,加入允許使用ssh 服務的用戶名(每一個用戶名都要單獨一行),重新起動sshd
++利用ssh 複製文件
2、從B 複製到A(拉過來)#scp -rp username@remoteIP:/path/filename /path
++linux機器掛載windows上的共享文件
mount -t smbfs -o username=massky,password=massky //192.168.1.1/dbf /mnt/share
如想機器重啓自動掛載,vi /etc/fstab最後加入:
//192.168.1.1/dbf /mnt/share smbfs defaults,auto,username=massky,password=massky 0 0
++定製linux 提示符
觀常用的提示符可以設定爲export PS1=“[\u@\h \W]\$”。其中\u 代表用戶名,\h 代表主機
名,\W 代表當前工作目錄的最後一層,如果是普通用戶\$則顯示$,root 用戶顯示#。
++清空文件
++DNS相關
host domain.com 202.106.0.20 #用202.106.0.20這臺DNS服務器查詢domain.com
++前後臺任務相關
bg 將進程搬到後臺運行(Background)
fg 將進程搬到前臺運行(Foreground)
萬一你運行程序時忘記使用“&”了,又不想重新執行。可以先使用ctrl+z掛起程序,然後敲入bg命令,這樣程序就在後臺繼續運行了。
++查找當前目錄下七天前的文件,並刪除
++產生指定大小的文件(bs*count)
++查找當前目錄下文件並更改擴展名
# find ./ -name “*.ss” -exec rename .ss .aa ‘{}’ \;
++修改系統時間
++讓服務器自動同步時間
或 0 1 * * * rdate -s time.nist.gov
++解決打開文件過多的問題
* soft nofile 2048
* hard nofile 4096
系統級文件描述符極限及timeout時間修改,添加如下兩行到 /etc/rc.d/rc.local 啓動腳本中:
# Increase system-wide file descriptor limit.
echo 65536 > /proc/sys/fs/file-max
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
#一般情況下,最大打開文件數比較合理的設置爲每4M物理內存256,比如1G內存可以設爲65536,
#而最大的使用的i節點的數目應該是最大打開文件數目的3倍到4倍
++如何用tar打包一個目錄時,去掉其中的某些子目錄或指定文件
tar cvf –exclude {dirname,filename} #dirname不要加/
++終端下修改服務器時區
或直接#/etc/sysconfig/clock
++關閉啓動時的內存不足256M提示
或#vi /var/lib/supportinfo
把其中的 MinRAM: 256M 這個值調低點.
++在多層目錄中查找到某一指定”字符串”
find ./pathname/ -name ‘*’ | xargs grep ‘string’
++佔用CPU的一個命令
++Kill相關
發送SIGSTOP (17,19,23)停止一個進程,而並不消滅這個進程。
kill -CONT [pid]
發送SIGCONT (19,18,25)重新開始一個停止的進程。
kill -KILL [pid]
發送SIGKILL (9)強迫進程立即停止,並且不實施清理操作。
kill -9 -1
終止你擁有的全部進程。
++在當前目錄下建個bak目錄,然後 cp * bak,會提示略過bak,有其它辦法可以排除指定文件(夾)?
或 find ! -name “./bak”
++ 根據進程名顯示進程號
1846 1845 1844 1843 1842 1841 1840 1839 1820
++e2fsck
e2fsck -a -y /dev/hda5
++反向輸出
tac 反向輸出(全文)
++顯示終端號
++文件行數/字數統計
wc -w file 計算文件中的單詞數
wc -c file 計算文件中的字符數
++出每行第5個到第9個字符
++刪除文本文件中出現的行列
++返回文件所在路徑
++fcitx在英文環境下正常使用
xport LC_CTYPE=”zh_CN.UTF-8″
export XMODIFIERS=”@im=fcitx”
export XIM=fcitx
export XIM_PROGRAM=fcitx
#gnome-session-properties可以把fctix加入登入後自啓動
++split分割合併文件
cat chunk* > a_whopping_big_file #合