linux tips

++實現RedHat非正常關機的自動磁盤修復

先登錄到服務器,然後在/etc/sysconfig裏增加一個文件autofsck,內容如下:

AUTOFSCK_DEF_CHECK=yes

PROMPT=yes

 

++改變文件或目錄之最後修改時間(變爲當前時間)

執行格式:touch name ( name 可爲文件或目錄名稱。)

 

++如何設置login後歡迎信息

修改/etc/motd,往裏面寫入文本即可。

 

++如何設置login前歡迎界面

修改/etc/issue或者issue.net,往裏面寫入文本。

issue的內容是出現在本機登錄的用戶界面上,而issue.net則是在用戶通過網絡telnet的時候出現。

 

++如何修改網卡MAC地址

首先必須關閉網卡設備,否則會報告系統忙,無法更改。

命令是: /sbin/ifconfig eth0 down

修改 MAC 地址,這一步較 Windows 中的修改要簡單。

命令是:/sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE

重新啓用網卡 /sbin/ifconfig eht0 up

網卡的 MAC 地址更改就完成了

 

++建立別名/刪除別名

alias cp=’cp -i’

unalias cp

 

++如何知道某個命令使用了什麼庫文件

例如要知道ls使用了什麼庫文件,可以使用:

$ ldd /bin/ls

 

++如何使一個用戶進程在用戶退出系統後仍然運行

使用nohup command &,比如:nohup wget -c ftp://test.com/test.iso 

#這樣即使用戶退出系統,wget進程仍然繼續運行直到test.iso下載完成爲止

 

++如何限制用戶的最小密碼長度

修改/etc/login.defs裏面的PASS_MIN_LEN的值。比如限制用戶最小密碼長度是8:

PASS_MIN_LEN 8

 

++如何取消root命令歷史記錄以增加安全性

爲了設置系統不記錄每個人執行過的命令,就在/etc/profile裏設置:

HISTFILESIZE=0

HISTSIZE=0

或者:

ln -s /dev/null ~/.bash_history

 

++如何測試硬盤性能

使用hdparm -t -T /dev/hdX就可以測試硬盤的buffer-cache reads和buffered disk reads兩個數據,可以用來當作硬盤性能的參考。

同時使用hdparm -c3 /dev/hdaX還能設置硬盤以32bit傳輸,以加快數據傳輸的速度。

 

++如何列出一個目錄佔用的空間

du或du -s或du -k

du -S | sort -n 可以迅速發現那個目錄是最大的。

用df可以看到已安裝的文件系統的空間大小及剩餘空間大小。

quota -v查看用戶的磁盤空間信息,如果你用quota限制了用戶空間大小的話。

 

++如何使新用戶首次登陸後強制修改密碼

#useradd -p ‘’ testuser; chage -d 0 testuser

 

++在Linux中有時開機不自動檢查新硬件,新安裝的網卡找不到。請問怎麼解決?

答:自動檢查新硬件的服務是Kudzu,用戶可以用“ntsysv”命令啓動該服務。下次重啓就會找到用戶的新網卡。

 

++從臺灣省的一個 網站找到的,如何讓系統密碼和samba密碼一致,並可以讓用戶自行修改他們的密碼.

使用web界面來同步更改system passwd 及 samba password

下載 http://changepassword.sourceforge.net/

安裝就可以了.先看README哈.

附加:

將系統用戶批量倒成samba用戶.

less /etc/passwd | mksmbpasswd.sh >; /etc/samba/smbpasswd

 

++更改Linux啓動時用圖形界面還是字符界面

cd /etc

vi inittab

將id:5:initdefault: 其中5表示默認圖形界面

改id:3: initdefault: 3表示字符界面

 

++配置smb可以被哪些IP所用.

cd /etc/samba

Vi smb.conf

找到hosts allow = 192.168.1. 192.168.2. 127.

修改其爲哪些機器所用,注意IP之間用逗號分開

舉例:

hosts allow =192.168.1.110,192.168.1.120

 

++禁止在後臺使用CTRL-ALT-DELETE重起機器

cd /etc/inittab

vi inittab 在文件找到下面一行

# Trap CTRL-ALT-DELETE

ca::ctrlaltdel:/sbin/shutdown -t3 -r now (註釋掉這一行)

如: # Trap CTRL-ALT-DELETE

#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

 

++修改主機名

vi /etc/sysconfig/network

修改HOSTNAME一行爲HOSTNAME=主機名

 

++查看開機檢測的硬件

dmesg | more

 

++查看硬盤使用情況

df –m

 

++查看目錄的大小

du –sh dirname

 

++解壓小全

tar xvfj lichuanhua.tar.bz2

tar xvfz lichuanhua.tar.gz

tar xvfz lichuanhua.tgz

tar xvf lichuanhua.tar

unzip lichuanhua.zip

注:壓縮 tar cvfz FileName.tar.gz DirName

 

++顯示內存使用情況

free –m

 

++顯示系統運行了多長時間

uptime

 

++顯示開機自檢的內容命令

dmesg

 

++端口的詳細列表

/etc/services

 

++查看物理信息

lspci

 

++文本截面的中文支持

RH 9.0自帶安裝包 zhcon_0.2.3_1.rh9.i386.rpm

安裝完成後,執行: zhcon 就可以支持中文了

 

++linux 控制 windows

(1)用RH9.0自己帶rdesktop,版本是1.2.0

命令:rdesktop –u user –f 192.168.1.70 色默認的是8位

(2)要達到16色,就要下載新版本1.3.0

rdesktop –a 16 –u lichuanhua –g 800*600 192.168.1.70

 

++不讓顯示器休眠

setterm –blank 0

 

++顯示最後一個登錄到系統的用戶

last

 

++查看所有帳號的最後登錄時間

lastlog /var/log/lastlog

 

++查看系統自開通以來所有用戶的登錄時間和地點

cat /var/log/secure

 

++顯示當前用戶所屬信息

id

 

++如何知道Apache的連接數目

ps -ef|grep httpd|wc -l #其它服務可以類推

netstat -nat|grep -i “80″|wc -l # 以上結果再減1吧

 

++刪除用戶帳號的同時,把用戶的主目錄也一起刪除

userdel -r 用戶名

 

++修改已有用戶的信息

usermod [參數] 用戶名

參數: -c, -d, -m, -g, -G, -s, -u以及-o與adduser參數意義相同

新參數: -l 新用戶名(指定一個新的賬號,即將原來的用戶名改爲新的用戶名)

 

++改變redhat的系統語言/字符集

改 /etc/sysconfig/i18n 文件,如

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

 

++cd光盤做成iso文件

cp /dev/cdrom xxxx.iso

 

++快速觀看開機的硬件檢測

dmesg | more

 

++查看硬盤的使用情況

df -k 以K爲單位顯示

df -h 以人性化單位顯示,可以是b,k,m,g,t..

 

++查看目錄的大小

du -sh dirname

-s 僅顯示總計

-h 以K、M、G爲單位,提高信息的可讀性。KB、MB、GB是以1024爲換算單 位, -H以1000爲換算單位。

 

++查找或刪除正在使用某文件的進程

fuser filename

fuser -k filename

 

++linux中讓用戶的密碼必須有一定的長度,並且符合複雜度

vi /etc/login.defs,改PASS_MIN_LEN

 

++以不同的用戶身份運行程序

su – username -c “/path/to/command”

有時候需要運行特殊身份的程序, 就可以讓su來做

 

++ adduser m -g cvsroot -s /bin/false

添加用戶m,參數-s /bin/false表示不允許用戶直接登錄服務器

id m

顯示m用戶的uid和gid號。

 

++ 強制卸載rpm包

rpm -e –nodeps 包名稱

#個別不正常情況下: 

rm -f /var/lib/rpm/__*

rpm –rebuilddb

 

++拒絕除root用戶的其它用戶登陸

touch /etc/nologin

也可以在/etc/passwd中加!對指定用戶限制登陸

 

++檢查自己所屬之羣組名稱

執行格式:groups

 

++修改文件/文件夾所屬用戶組(支持-R)

chown .組名 文件名(注:組名名勿忘”.”,“:”也可)

也可chgrp 組名 文件名

chown 用戶名.組名 文件名(同時修改所屬用戶及用戶組)

 

++用fuser命令查看一下是哪些進程使用這個分區上的文件: 

fuser –v –m /usr 

如果沒有什麼重要的進程,用以下命令停掉它們: 

fuser -k –v –m /usr 

然後就可以重新掛載這些文件系統了。

 

++網絡喚醒主機

ether-wake 目標網卡MAC

 

++如何查找大小爲500K到1000K之間的文件

find / -type f -size +500k -and -size -1000k

 

++讓主機不響應ping 

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 

若想恢復就用 

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all 

#必須是用命令改,不能是vi修改

 

++自動註銷ROOT

編輯你的配置文件”vi /etc/profile”,在"HISTSIZE="後面加入下面這行: 

TMOUT=300 

#300,表示300秒

 

++ls只列出目錄

ls -lF | grep ^d

ls -lF | grep /$

ls -F | grep /$

 

++讓cron任務不回饋信息

* * * * * cmd > /dev/null 2>&1

 

++lsof(list open files)用法

lsof -i  x 

lsof abc.txt 顯示開啓文件abc.txt的進程

lsof -i :22 知道22端口現在運行什麼程序

lsof -c nsd 顯示nsd進程現在打開的文件

lsof -g gid 顯示歸屬gid的進程情況

 

++改變sshd 的端口

在/etc/ssh/sshd_config 中加入一行:Port 2222,/etc/init.d/sshd restart 重啓守護進程

 

++防止任何人使用su 命令成爲root

     vi /etc/pam.d/su,在開頭添加下面兩行: 

auth sufficient /lib/security/pam_rootok.so 

auth required /lib/security/Pam_wheel.so group=wheel 

     然後把用戶添加到“wheel”組:chmod -G10 username

 

++如何讓ssh 只允許指定的用戶登錄

方法1:在/etc/pam.d/sshd 文件中加入

auth required pam_listfile.so item=user sense=allow file=/etc/sshusers onerr=fail

然後在/etc 下建立sshusers 文件,加入允許使用ssh 服務的用戶名(每一個用戶名都要單獨一行),重新起動sshd

 

++利用ssh 複製文件

1、從A 複製B(推過去)   #scp -rp /path/filename username@remoteIP:/path

2、從B 複製到A(拉過來)#scp -rp username@remoteIP:/path/filename /path

 

++linux機器掛載windows上的共享文件 

windows IP:192.168.1.1 

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 提示符

在bash 中提示符是通過一個環境變量$PS1 指定的。用export $PS1 查看現在的值,比較直

觀常用的提示符可以設定爲export PS1=“[/u@/h /W]/$”。其中/u 代表用戶名,/h 代表主機

名,/W 代表當前工作目錄的最後一層,如果是普通用戶/$則顯示$,root 用戶顯示#。

 

++清空文件

[echo] > 文件名

 

++DNS相關

host -a domain.com #顯示相關資訊都列出來

host domain.com 202.106.0.20 #用202.106.0.20這臺DNS服務器查詢domain.com

 

++前後臺任務相關

jobs 列出屬於當前用戶的進程

bg 將進程搬到後臺運行(Background)

fg 將進程搬到前臺運行(Foreground)

萬一你運行程序時忘記使用“&”了,又不想重新執行。可以先使用ctrl+z掛起程序,然後敲入bg命令,這樣程序就在後臺繼續運行了。

 

++查找當前目錄下七天前的文件,並刪除

find ./ -mtime +7 -type f -exec rm {} /;

 

++產生指定大小的文件(bs*count)

dd if=/dev/zero of=filename bs=1000000 count=10

 

++查找當前目錄下文件並更改擴展名

更改所有.ss文件爲.aa

# find ./ -name "*.ss" -exec rename .ss .aa ‘{}’ /;

 

++修改系統時間

date -s "2005-6-4 17:26"

 

++讓服務器自動同步時間

0 1 * * * /usr/sbin/ntpdate 210.72.145.44

或 0 1 * * * rdate -s time.nist.gov

 

++解決打開文件過多的問題

在etc/security/limits.conf 配置文件中設置進程文件描述符極限:

   * 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打包一個目錄時,去掉其中的某些子目錄或指定文件

加參數 –exclude 即可, 可加文件名或目錄名, 可多寫

tar cvf –exclude {dirname,filename} #dirname不要加/

 

++終端下修改服務器時區

/usr/sbin/timeconfig 

或直接#/etc/sysconfig/clock

 

++關閉啓動時的內存不足256M提示

#vi /etc/rc.sysinit #把最後六行註釋掉

或#vi /var/lib/supportinfo 

把其中的 MinRAM: 256M 這個值調低點.

 

++在多層目錄中查找到某一指定"字符串"

grep string -R /etc/sysconfig/

find ./pathname/ -name ‘*’ | xargs grep ‘string’

 

++佔用CPU的一個命令

#yes string #有時候測試用得上。狂佔CPU

 

++Kill相關

      kill -STOP [pid]

    發送SIGSTOP (17,19,23)停止一個進程,而並不消滅這個進程。

kill -CONT [pid]

發送SIGCONT (19,18,25)重新開始一個停止的進程。

kill -KILL [pid]

發送SIGKILL (9)強迫進程立即停止,並且不實施清理操作。

kill -9 -1

終止你擁有的全部進程。

 

++在當前目錄下建個bak目錄,然後 cp * bak,會提示略過bak,有其它辦法可以排除指定文件(夾)?

ls -F|grep -v //|xargs -i cp {} bak #推薦

或 find ! -name "./bak"

 

++ 根據進程名顯示進程號

# pidof httpd

1846 1845 1844 1843 1842 1841 1840 1839 1820

 

++e2fsck 

檢查使用 Linux ext2 檔案系統的 partition 是否正常工作, 檢查 /dev/hda5 是否正常,如果有異常便自動修復,並且設定若有問答,均回答[是] : 

e2fsck -a -y /dev/hda5

 

++反向輸出

rev 反向輸出(以行爲單位)

tac 反向輸出(全文)

 

++顯示終端號

tty

 

++文件行數/字數統計

wc –l file   計算文件行數

wc -w file 計算文件中的單詞數

wc -c file 計算文件中的字符數

 

++出每行第5個到第9個字符

cut -b5-9 file.txt

 

++刪除文本文件中出現的行列

uniq

 

++返回文件所在路徑

dirname /bin/tux #將返回 /bin

 

++fcitx在英文環境下正常使用

#vi ~/.bashrc

xport LC_CTYPE="zh_CN.UTF-8"

export XMODIFIERS="@im=fcitx"

export XIM=fcitx

export XIM_PROGRAM=fcitx

#gnome-session-properties可以把fctix加入登入後自啓動

 

++split分割合併文件

split -b1440k a_whopping_big_file chunk #拆

cat chunk* > a_whopping_big_file #合

 

轉:http://hi.baidu.com/vmwares/blog/item/9f1342e759220d2bb838209c.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章