天天看點

(轉)Linux一句話精彩問答

Linux一句話精彩問答

作者:陳緒/魏瓊

來自:linux寶庫 (http://www.linuxmine.com)

聯系:[email protected]

編者按:鑒于目前中國Linux的發展現狀,90%以上的問題都可以用一句話來回答,這便是

本文的初衷。歡迎大家添加自己的“一句話”,收錄後注明原始提供者。更詳細的文檔,

請浏覽http://linux.chinaunix.net 或http://www.linuxmine.com

修訂說明:本FAQ是在原“linux一句話精彩問答”4/28/2006版的基礎上針對本版實際情

況作了小部分修改,使之更适合于本站網友。各位如果發現有誤之處,請來信告知,以便

及時更正;另外如果有值得添加新内容,也歡迎來信告知。謝謝!(By JJCH)

—————————-網絡無關篇————————–

0001 修改主機名(bjchenxu)

vi /etc/sysconfig/network,修改HOSTNAME一行為”HOSTNAME=主機名”(沒有這行?那就

添加這一行吧),然後運作指令 ” hostname 主機名”。一般還要修改/etc/hosts檔案中的

主機名。這樣,無論你是否重新開機,主機名都修改成功。

0002 啟動系統到字元界面(不啟動xwindow)(bjchenxu)

vi /etc/inittab

id:x:initdefault:

x=3:文本方式 ;

x=5:圖形方式。

0003 Linux的自動更新更新問題

Fedora下更新系統:

yum update packagename #更新軟體包

yum upgrade #更新系統内全部軟體包

前提:配置好網絡和/etc/yum.conf和/etc/yum.repos.d/内檔案,

參考本版精華區–各發行版專區–Redhat/Fedora/CentOS–配置管理。

Debian下更新軟體:

apt-get update packagename

apt-get upgrade

前提:配置好網絡和/etc/apt/sources.list,可參考 http:// ftp.bjtu.edu.cn 首頁。

0004 windows下看Linux分區的軟體(bjchenxu)

Paragon.Ext2FS.Anywhere.3.0.rar和explore2fs-1.00-pre4.zip

校内下載下傳:ftp://202.112.146.235/incoming/Paragon_Ext2FS_Anywhere-v3.0.Retail.rar

0005 mount用法

mount [-t 檔案系統格式] [ -o 參數] 裝置名 挂載點

-t 常用參數

vfat FAT32

ntfs NTFS

iso9660 CD光牒/ISO檔案

-o 常用參數 多個參數之間用”,”隔開。

iocharset=utf8 或 gb2312 設定字元編碼

umask=0 允許普通使用者通路

loop 挂載iso檔案時使用

常用裝置名 /dev/hdaN,hdcN,期中N值自己數一下,第一個主分區為1,第二個主分區為2,

擴充分區第一個為5,第二個為6,依次類推。

挂載點為任意存在的目錄名,如/mnt/cdrom。

0006 在vmware的LINUX中使用本地硬碟的FAT分區(bjchenxu)

将本地的FAT分區共享,然後在VMWARE中使用SMBFS挂上。可以将如下的行放到/etc/fsta

b中:

//win_ip/D$ /mnt/d smbfs defaults,auto,username=win_name,password=win_pass,co

depage=936,iocharest=gb2312 0 0

其中win_ip是你的windows的IP位址;

D$是你的windows裡面共享的D盤的共享名;

/mnt/d是要将該分區mount到linux的目錄;

win_name和win_pass是你的WINDOWS裡面可以讀取該分區的使用者,比如你的管理者名和密

碼。

如果你運作了/etc/rc.d/init.d/netfs,那麼在啟動的時候就會自動挂載這個分區。

0007.a 删除名為-a的檔案(bjchenxu)

rm ./-a

rm — -a 告訴rm這是最後一個選項,參見getopt

ls -i 列出inum,然後用find . -inum inum_of_thisfile -exec rm ‘{}’ ;

0007.b 删除名為a的檔案(bjchenxu)

rm \a

0007.c 删除名字帶的/和‘’檔案(bjchenxu)

這些字元是正常檔案系統所不允許的字元,但可能在檔案名中産生,如unix下的NFS檔案

系統在Mac系統上使用

1.解決的方法,把NFS檔案系統在挂到不過濾’/'字元的系統下删除含特殊檔案名的檔案。

2.也可将錯誤檔案名的目錄其它檔案移走,ls -id 顯示含該檔案目錄的inum,umount 文

件系統,

clri清除該目錄的inum,fsck,mount,check your lost+found,rename the file in it.

最好是通過WINDOWS FTP過去就可以删除任何檔案名的檔案了!

0007.d 删除名字帶不可見字元的檔案(bjchenxu)

列出檔案名并轉儲到檔案:ls -l > del

然後編輯檔案的内容加入rm指令使其内容成為删除上述檔案的格式:

vi del

[rm -r *******

]

把檔案加上執行權限 chmod +x del

執行 $./del

0007.e 删除檔案大小為零的檔案(bjchenxu)

rm -i `find ./ -size 0`

find ./ -size 0 -exec rm {} ;

find ./ -size 0 | xargs rm -f &

for file in * #自己定義需要删除的檔案類型

do

if [ ! -s ${file} ]

then

rm ${file}

echo “rm $file Success!”

fi

done

0008 redhat9設定滾輪滑鼠(mc1011)

進入X後,選擇滑鼠的配置,選擇wheel mouse(ps/2)就可以了,

如果滑鼠表現異常,重新開機計算機即可。

0009 加裝X window

Debian安裝基本系統後:apt-get install x-window-system-core

Redhat/FedoraCD光牒安裝:選擇更新安裝,然後選擇相應的包即可。

0010 删除Linux分區(bjchenxu)

在Windows下的“磁盤管理”裡删除即可,或借助其它分區工具。

0011 如何退出man(bjchenxu)

按 q 鍵

0012 不編譯核心,mount ntfs分區

目前很多發行版預設就支援ntfs分區,可直接根據上面mount用法來挂載。

對于Redhat/Fedora預設是不支援ntfs的,可進行如下操作,

1. uname -r ,得到核心版本号;

2. 登入http://rpm.pbone.net 搜尋”kernel-ntfs”,下載下傳對應核心的rpm;

2. rpm -ivh 下載下傳的rpm包;

3. mkdir /mnt/WinC

4. mount -t ntfs /dev/hda1 /mnt/WinC

0013 tar 分卷壓縮和合并(WongMokin,Waker)

以每卷500M為例

tar分卷壓縮:tar cvzpf – somedir | split -d -b 500m

tar多卷合并:cat x* > mytarfile.tar.gz

0014 使用grub時找回忘記了的root密碼

待補充

0015 使ctrl + alt + del失效(bjchenxu)

vi /etc/inittab

将ca::ctrlaltdel:/sbin/shutdown -t3 -r now這行注釋掉,就可以了

0016 如何檢視發行版名稱(hutuworm)

cat /proc/version 或者 cat /etc/issue

0017 檔案在哪個rpm中(無雙)

上www.rpmfind.net上搜,或者rpm -qf 檔案名得到

0018 把man的資訊存為文本檔案(bjchenxu)

以 ls 為例: man ls > tcsh.txt

0019 利用現存兩個檔案,生成一個新的檔案(bjchenxu)

1. 取出兩個檔案的并集(重複的行隻保留一份)

2. 取出兩個檔案的交集(隻留下同時存在于兩個檔案中的檔案)

3. 删除交集,留下其他的行

1. cat file1 file2 | sort | uniq

2. cat file1 file2 | sort | uniq -d

3. cat file1 file2 | sort | uniq -u

0020 設定com1口,讓超級終端通過com1口進行登入(bjchenxu)

确認有/sbin/agetty,編輯/etc/inittab,添加

7:2345:respawn:/sbin/agetty /dev/ttyS0 9600

9600bps是因為聯路由器預設一般都是這種速率,也可以設成

19200、38400、57600、115200

修改/etc/securetty,添加一行:ttyS0,確定root使用者能登入

重新開機機器,就可以拔掉滑鼠鍵盤顯示器(啟動時最好還是要看看輸出資訊)了

0021 删除目錄下所有檔案包括子目錄(bjchenxu)

$rm -rf 目錄名

0022 檢視系統資訊(bjchenxu)

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 – 看系統核心等資訊

0023 去掉文本檔案中多餘的回車符(bjchenxu)

sed ’s/^M//’ test.sh > back.sh, 注意^M是敲ctrl+v ctrl+m得到的

或者 dos2unix filename

0024 切換X桌面系統(lnx3000)

前提:安裝了多個桌面系統,如KDE && GNOME

如果你是以圖形登入方式登入linux,那麼點選登入界面上的session(任務)即可以選擇

gnome和kde。

如果你是以文本方式登入,那執行switchdesk gnome或switchdesk kde,然後再startx就

可以進入gnome或kde。

(或者vi ~/.xinitrc,添加或修改成exec gnome-session 或exec startkde,然後用sta

rtx啟動X)

0025 通用的聲霸卡驅動程式(lnx3000)

ALSA www.alsa-project.org/

OSS www.opensound.com/

0026 改變Redhat/Fedora的系統語言/字元集

修改 /etc/sysconfig/i18n 檔案,如

LANG=”en_US”, 顯示英文界面,

LANG=”zh_CN.UTF-8″, 顯示中文界面。

或LANG=”zh_CN.GB2312″推薦使用UTF-8

另一個方法:

cp /etc/sysconfig/i18n $HOME/.i18n

修改 $HOME/.i18n 檔案,如

LANG=”en_US”, 顯示英文界面,

LANG=”zh_CN.UTF-8″, 顯示中文界面。

這樣就隻改變個人的界面語言,而不影響别的使用者

0027 把螢幕設定為90列(bjchenxu)

stty cols 90

0028 使用md5sum檔案(bjchenxu)

md5sum isofile > hashfile, 将 md5sum 檔案與 hashfile 檔案内容比對, 驗證雜湊值

是否一緻 md5sum –c hashfile

0029 一次解壓多個zip檔案(bjchenxu)

unzip “*”,注意引号不能少

0030 看pdf檔案(bjchenxu)

推薦使用 Acrobat reader for linux

校内下載下傳:ftp://202.112.146.235/pub/office/AdobeReader_chs-7.0.5-1.i386.tar.gz

0031 查找權限位為S的檔案(bjchenxu)

find . -type f ( -perm -04000 -o -perm -02000 ) -exec ls -lg {} ;

0032 字元模式下支援中文

到http://zhcon.sourceforge.net 下載下傳zhcon-0.2.1.tar.gz

$tar xvfz zhcon-0.2.1.tar.gz

$cd zhcon-0.2.1

$./configure

$make && make install

要想使用,請運作zhcon,想退出,運作exit。

0033 把彈出的CD光牒收回來(beike)

#eject -t

0034 cdCD光牒做成iso檔案(弱智)

cp /dev/cdrom xxxx.iso

0035 快速觀看開機的硬體檢測(弱智)

dmesg | more

0036 檢視硬碟的使用情況(bjchenxu)

df -k 以K為機關顯示

df -h 以更人性化機關顯示,可以是b,k,m,g,t..

0037 檢視目錄的大小(bjchenxu)

du -sh dirname

-s 僅顯示總計

-h 以K、M、G為機關,提高資訊的可讀性。KB、MB、GB是以1024為換算單 位, -H以100

0為換算機關。

0038 查找或删除正在使用某檔案的程序(wwwzc)

fuser filename

fuser -k filename

0039 安裝軟體包

安裝rpm包:rpm -ivh aaa.rpm

安裝deb包:dpkg -i aaa.deb

安裝源碼包:tar xvfz aaa.tar.gz; cd aaa; ./configure; make; make install(前提

:安裝了編譯器以及所需的庫檔案)

0040 字元模式下設定/删除環境變量(bjchenxu)

bash下

設定:export 變量名=變量值

删除:unset 變量名

csh下

設定:setenv 變量名 變量值

删除:unsetenv 變量名

0041 ls如何看到隐藏檔案(即以.開頭的檔案)(雙眼皮的豬)

ls -a

0042 rpm中的檔案安裝到哪裡去了(bjchenxu)

rpm -qpl name.rpm

0043 使用src.rpm(bjchenxu)

rpmbuild –rebuild name.src.rpm

0044 vim中顯示顔色或不顯示顔色(bjchenxu)

首先確定安裝了vim-enhanced包,然後,vi ~/.vimrc;

如果有syntax on,則顯示顔色,

syntax off,則不顯示顔色。

另外,關于vi的syntax color,還有一點是終端類型(環境變量TERM)的設定。

比如通常要設定成xterm或xterm-color才能使用syntax color。尤其是從Linux遠端登陸

到其他的Unix上

0045 linux是實時還是分時作業系統(bjchenxu)

分時

0046 make bzImage -j 的j是什麼意思(wind521)

-j主要是用在當你的系統硬體資源比較大的時候,比較富裕的時候,用這個可以來加快編

譯的速度,如-j 3

0047 源碼包怎麼沒有

目前很多發行版不再自代源碼,請自行下載下傳安裝。

0048 修改系統時間(bjchenxu,laixi781211,hutuworm)

date -s “2003-04-14 cst”,cst指時區,時間設定用date -s 18:10

修改後執行clock -w 寫到CMOS

hwclock –systohc

set the hardware clock to the current system time

0049 開機就mount上windows下的分區(bjchenxu)

自動将windows的d盤挂到/mnt/d上,用vi打開/etc/fstab,加入以下一行

/dev/hda5 /mnt/WinD ntfs umask=0,iocharset=utf8 0 0

注意,先得手工建立一個/mnt/WinD目錄&&系統支援ntfs。

0050 linux怎麼用這麼多記憶體(bjchenxu)

為了提高系統性能和不浪費記憶體,linux把多的記憶體做了cache,以提高io速度

0051 /etc/fstab 最後的配置項裡邊最後兩個數字是什麼意思(lnx3000)

第一個叫fs_freq,用來決定哪一個檔案系統需要執行dump操作,0就是不需要;

第二個叫fs_passno,是系統重新開機時fsck程式檢測磁盤的順序号

1 是root檔案系統,2 是别的檔案系統。fsck按序号檢測磁盤,0表示該檔案系統不被檢測

dump 執行ext2的檔案系統的備份操作

fsck 檢測和修複檔案系統

0052 linux中讓使用者的密碼必須有一定的長度,并且符合複雜度(eapass)

vi /etc/login.defs,改PASS_MIN_LEN

0053 linux中的翻譯軟體(bjchenxu,hutuworm)

星際譯王 xdict

console下還有個dict工具,通過DICT協定到dict.org上查11本字典,例如:dict RTFM

0054 不讓顯示器休眠(bjchenxu)

setterm -blank 0

setterm -blank n (n為等待時間)

0055 用dat查詢昨天的日期(gadfly)

date –date=’yesterday’

0056 xwindow下如何截屏(bjchenxu)

Ksnapshot或者gnome-screenshot

0057 解壓小全(bjchenxu,noclouds)

tar -I或者bunzip2指令都可以解壓.bz2檔案

tar xvfj example.tar.bz2

tar xvfz example.tar.gz

tar xvfz example.tgz

tar xvf example.tar

tar -jvxf some.bz

unzip example.zip

rar/unrar一般需自己另外下載下傳安裝

工具Alien提供了.tgz, .rpm, .slp和.deb等壓縮格式之間的互相轉換:

http://sourceforge.net/projects/alien

sEx提供了幾乎所有可見的壓縮格式的解壓接口:

http://sourceforge.net/projects/sex

0057-2 tar壓縮、解壓執行個體(platinum)

解壓:x

壓縮:c

針對gz:z

針對bz2:j

用于顯示:v

解壓執行個體

gz檔案:tar xzvf xxx.tar.gz

bz2檔案:tar xjvf xxx.tar.bz2

壓縮執行個體

gz檔案:tar czvf xxx.tar.gz /path

bz2檔案:tar cjvf xxx.tar.bz2 /path

0058 在多級目錄中查找某個檔案的方法(青海湖)

find /dir -name filename.ext

du -a | grep filename.ext

locate filename.ext

0059 不讓普通使用者自己改密碼(myxfc)

# chmod 511 /usr/bin/passwd

又想讓普通使用者自己改密碼

# chmod 4511 /usr/bin/passwd

0060 顯示卡配置(win_bigboy)

待定

0061

0062 utf8編碼下如何讓bmp播放器和播放清單裡正确顯示中文

BMP首選項–插件–媒體–MPEG音頻插件–首選項–标題

選中”禁用ID3V2标簽”和”将非UTF-8 ID3轉換成UTF-8″ “覆寫通常标題”

ID3編碼 文本框中填入 GB2312

0063 Redhat9中播放mp3檔案

自帶的x mms不能播放MP3,要安裝一個mp3插件包x mms-mp3-1.2.7-13.p.i386.rpm。

0064 添加中文字型

目前Linux下免費的不錯的中文字型有uming,ukai,fireflysung,文泉驿

不怕涉及版權問題的還可copy Windows下的simsun.ttc,tahoma.ttf,tahomabd.ttf

關于美化的方法各個發行版情況不太一樣,可參考Linuxsir.org等相關論壇。

0065

0066 使用五筆和拼音,區位等中文輸入法

從http://www.fcitx.org 下載下傳fcitx安裝,具體方法可參考上面的文檔.

0067 在Linux下如何解壓rar檔案

下載下傳安裝rar for Linux,

unrar xxx.rar

0068 怎麼添加/删除rpm包

推薦使用yum管理你的系統,自動解決軟體包的依賴關系。

0069 字元下控制音量(grub007天外閑雲)

使用aumix。另外,要儲存oss的音量大小,步驟為:

1、用aumix将音量調整為你們滿意的音量

2、用root使用者進入/usr/lib/oss下(oss的預設安裝目錄)

3、執行./savemixer ./mixer.map

4、ok,以後oss開啟之後就是你在第一步調整的音量了。

ps:閱讀該目錄下的README可以得到更多的有用資訊。

0070 用dd做iso(grub007)

dd if=/dev/cdrom of=/tmp/somename.iso

0071 删除幾天以前的所有東西(包括目錄名和目錄中的檔案)(shally5)

find . -ctime +3 -exec rm -rf {} ;

find ./ -mtime +3 -print|xargs rm -f -r

0072 使用者的crontab在哪裡(hutuworm)

/var/spool/cron/下以使用者名命名的檔案

0073 以不同的使用者身份運作程式(bjchenxu)

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

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

0074 如何清空一個檔案(bjchenxu)

echo > filename

0075

0076 如何備份Linux系統

參考tar或使用更好的商業軟體。

0077 linux下分區工具

指令模式下的工具:fdisk

gnome下圖形界面工具:gparted

kde下圖形界面分區工具:qparted

0078 /proc/sys/sem中每項代表什麼意思? (sakulagi)

/proc/sys/sem内容如下

250 32000 32 128

這4個參數依次為SE MMSL(每個使用者擁有信号量最大數量),SEMMNS(系統信号量最大數量),

SEMOPM(每次semop系統調用操作數),SEMMNI(系統信号量集最大數量)

0079 Grub 引導菜單裡 bigmem smp up 都是什麼意思?(lnx3000)

smp: (symmetric multiple processor)對稱多處理器模式

bigmem: 支援1G 以上記憶體的優化核心

up:(Uni processor) 單處理器的模式

0080 Oracle的安裝程式為什麼顯示亂碼?(lnx3000)

現在Oracle的安裝程式對中文的支援有問題,隻能使用英文界面來安裝,

在執行runinstaller之前,執行:

$export LANG=C

$export LC_ALL=C

0081 linux下檔案和目錄的顔色代表什麼(sakulagi,弱智)

藍色表示目錄;綠色表示可執行檔案;紅色表示壓縮檔案;淺藍

色表示連結檔案;灰色表示其它檔案;紅色閃爍表示連結的檔案有問題了;

黃色是裝置檔案,包括block, char, fifo。

用dircolors -p看到預設的顔色設定,包括各種顔色和“粗體”,下劃線,閃爍等定義。

0082 檢視有多少活動 httpd的腳本(bjchenxu)

編寫如下腳本,chmod +x test_ http.sh加上可執行權限,再到終端下運作即可

#!/bin/sh

while (true)

do

pstree |grep “*[ httpd]$”|sed ’s/.*-([0-9][0-9]*)*[ httpd]$/1/’

sleep 3

done

0083 如何新增一塊硬碟(好好先生)

一、關機,實體連接配接硬碟

如果是IDE硬碟,注意主、從盤的設定;如果是SCSI硬碟,注意選擇一個沒有被使用的ID

号。

二、開機,檢查硬碟有沒有被linux檢測到

dmesg |grep hd*(ide硬碟)

dmesg |grep sd*(SCSI硬碟)

或者 less /var/log/dmesg

如果你沒有檢測到你的新硬碟,重新開機,檢查連線,看看bios有沒有認出它來。

三、分區

你可以使用fdisk,Sfdisk或者parted(GNU分區工具,linux下的partition magic)

四、格式化

mkfs

五、修改fstab

vi /etc/fstab

0084 linux下怎麼看分區的卷标啊 (q1208c)

e2label /dev/hdxn, where x=a,b,c,d….; n=1,2,3…

0085 Redhat9中安裝後如何添加新的語言包

在第三張CD光牒上找如下類似的軟體包

ttfonts-zh_CN-2.12-1.noarch.rpm(簡體中文)

ttfonts-zh_TW-2.11-19.noarch.rpm (繁體中文)

其它的類似

0086 終端下抓屏(tsgx)

cat /dev/vcsN >screenshot 其中,N表示第N個終端

還可以運作script screen.log,記錄螢幕資訊到screen.log裡。一會記錄到你exit為此

。這也是抓屏的好方法。

這是在debian的cookbook上看到的。在RH9上能用。沒有在其它的系統上測試過。

0087 讓一個程式在退出登陸後繼續運作(NetDC,雙眼皮的豬)

#nohup 程式名 &

或者使用disown指令也可以

0088 man指令不在路徑中,如何檢視非标準的man檔案(bjchenxu)

nroff -man /usr/man/man1/cscope.1 | more

0089

0090 編輯/etc/inittab後直接生效(bjchenxu)

#init q

0091 讓linux連續執行幾個指令,出錯停止(bjchenxu)

command1 && command2 && command3

0092 如何将grub安裝到mbr(bjchenxu, NetDC)

在grub互動方式下

grub> root (hd0,0)

grub> setup (hd0)

也可以在修複模式下用

#grub-install /dev/hda

來安裝grub。

0093 安裝時把grub寫到linux分區的引導區還是主引導扇區(MBR)(bjchenxu)

如果你想電腦一啟動就直接進入作業系統啟動菜單就把grub寫到MBR上,如果寫到linux分

區的引導區則要用引導盤引導。建議寫到 MBR,友善點,至于說寫到MBR不安全,該怎麼

解釋呢?每裝一次Windows,MBR都會被修改一次,大家覺得有什麼不安全的嗎?

0094 如何引導多系統

待補充,先看精華區–>”安裝更新”–>”啟動引導”

0095 如何在圖形界面和控制台(字元界面)之間來回切換(bjchenxu)

a.圖形界面到控制台:Ctr+Alt+Fn(n=1,2,3,4,5,6)。

b.各控制台之間切換:Alt+Fn(n=1,2,3,4,5,6)。

c.控制台到圖形界面:Alt+F7

0096 Linux常用的指令

請看精華區

0098 重裝windows導緻linux不能引導的解決辦法

參考精華區–常見問題

0099 為什麼裝了LINUX後win2K很慢(lnx3000,好好先生)

老問題了,你在2000是不是能看見Linux的邏輯盤,但不能通路?

在磁盤管理裡,選中這個盤,右擊->更改”驅動器名和路徑”->”删除”就可以了,注意不是

删除這個盤!

0100

1101 linux中刻錄iso的方法(hutuworm)

方法一:使用xcdroast,選擇制作光碟,選擇ISO檔案,刻錄!

參見http://www.xcdroast.org/xcdr098/faq-a15.html#17

方法二:找刻錄機的指令:

cdrecord –scanbus

輸出結果為:

0,0,0 0) ‘ATAPI ‘ ‘CD-R/RW 8X4X32 ‘ ‘5.EZ’ Removable CD-ROM

刻錄的指令:

cdrecord -v speed=8 dev=0,0,0 hutuworm.iso

方法三:使用k3b可以刻錄CD/DVD

k3b首頁:http://www.k3b.org/

(實際上k3b是個圖形界面,刻錄CD利用了cdrecord,刻錄DVD利用了dvd+rw-tools http:

//fy.chalmers.se/~appro/linux/DVD+RW/ )

1102 螢幕變花時怎麼辦(雙眼皮的豬)

當您一不小心cat了一個并不是文本的檔案的時候,這時螢幕會變花,那麼您可以按兩下

“Enter”鍵,再敲”clear”,那麼螢幕就恢複正常了….

1103 解除安裝rpm軟體包時如何得知具體包名(diablocom)

大家知道删除軟體包的指令是rpm -e XXX,但是當我們不知道這個XXX的确切拼寫時,

可以用rpm -q -a查詢所有安裝的軟體包或者用rpm -qa |grep xxxx查詢出名字。

1104 使用記憶體作linux下的/tmp檔案夾(yulc)

在/etc/fstab中加入一行:

none /tmp tmpfs default 0 0

或者在/etc/rc.local中加入

mount tmpfs /tmp -t tmpfs -o size=128m

注:size=128m 表示/tmp最大能用128m

不管哪種方式,隻要linux重新開機,/tmp下的檔案全部消失

1105 用ls隻列出目錄(yulc)

ls -lF | grep ^d

ls -lF | grep /$

ls -F | grep /$

1106 在指令行下列出本機IP位址,而不是得到網卡資訊(yulc)

ifconfig |grep “inet” |cut -c 0-36|sed -e ’s/[a-zA-Z: ]//g’

hostname -i

1107 修改/etc/profile或者$HOME/.profile檔案後如何立即生效(peter333)

#source /etc/profile (或者source .profile)

1108 bg和fg的使用(bjchenxu)

輸入ctrl+z,目前一個任務會被挂起并暫停, 同時螢幕上傳回程序号,此時用 “bg %進

程号”,會把這個程序放到背景執行,而用” fg %程序号 “就能讓這個程序放到前台來執

行。另外,job指令用來檢視目前的被bg的程序

1109 ctrl+s與ctrl+q(bjchenxu)

ctrl-s用來暫停向終端發送資料的,螢幕就象死了一樣,可以用ctrl-q來恢複

1110 目錄統計腳本(bjchenxu)

儲存成total.sh,然後用total.sh 絕對路徑,就能統計路徑下目錄的大小了

代碼:

#!/bin/sh

du $1 –max-depth=1 | sort -n|awk ‘{printf “%7.2fM —-> %sn”,$1/1024,$2}’|s

ed ’s:/.*/([^/]{1,})$:1:g’

1111 grep不顯示本身程序(bjchenxu)

#ps -aux|grep httpd|grep -v grep

grep -v grep可以取消顯示你所執行的grep本身這個程序,-v參數是不顯示所列出的程序名

1112 删除目錄中含輸入關鍵字的檔案(WongMokin)

find /mnt/ebook/ -type f -exec grep “在此輸入關鍵字” {} ; -print -exec rm {} ;

1113 讓cron中的任務不回饋資訊, 本例5分鐘檢查一次郵件(WongMokin)

0-59/5 * * * * /usr/local/bin/fetchmail > /dev/null 2>&1

1114 在目前目錄下解壓rpm檔案(bjchenxu)

cat kernel-ntfs-2.4.20-8.i686.rpm | rpm2cpio | pax -r

1115 合并兩個Postscript或PDF檔案(noclouds)

$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite

-sOutputFile=bar.ps -f foo1.ps foo2.ps

$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite

-sOutputFile=bar.pdf -f foo1.pdf foo2.pdf

1116 去掉apache的manual目錄中的所有.en的字尾名(bjchenxu)

進入到manual目錄

代碼:find ./ -regex .*.en|awk -F. ‘{ printf “mv %s.%s.%s.%s %s.%s.%sn”,$1,$

2,$3,$4,$1,$2,$3}’|sh

1117 如何起多個X(noclouds)

startx預設以display :0.0起第一個X,通過傳遞參數給Xserver可以起多個X:

# startx — :1.0

# startx — :2.0

然後用Ctrl-Alt-F7/F8…切換。

1118 讓一個程式在退出登陸後繼續運作(noclouds,bjchenxu)

#nohup command &

1119 看Linux啟動時螢幕的顯示資訊(bjchenxu)

在啟動完後用指令dmesg檢視

1120 讓vi不響鈴(sakulagi)

echo “set vb t_vb=” >> ~/.vimrc

1121 讓fedora開機後自動login(dzho002)

1) rpm -ihv autologin-1.0.0-7mdk.i586 rpm

2) 建立檔案 /etc/sysconfig/autologin

在裡面加上一行.

USER = username

1122 Redhat/Fedora如何配置讓哪些服務啟動(天外閑雲,q1208c)

方法1 運作ntsysv或者setup指令,進入菜單進行配置

方法2 chkconfig –list 顯示服務

chkconfig name on/off 打開/關閉“name”服務

1123 安全删除linux(天外閑雲)

步驟1 Dos下使用fdisk /mbr或者用win2000/xp的CD光牒啟動進入故障恢複控制台,使用命

令fixmbr

步驟2 格式化linux分區為windows分區即可。

1124 用grub引導進文本界面(天外閑雲)

進入grub之後,按a,輸入 空格 3 就可以引導進入文本界面,但是不修改系統的運作級

,隻在當次有效。

1125 先測試patch是否運作正常,暫不将更改應用到kernel(jiadingjun)

patch –dry-run

1126 redhat和debian上的檔案安裝删除用法(NetDC)

删除一個軟體包:

rpm -e

dpkg -r

顯示一個軟體包的内容:

rpm -qvl

dpkg -c

顯示所有已經安裝的軟體包:

rpm -qvia

dpkg -l

列印一個包的資訊:

rpm -qpi

dpkg -I

檢驗包characteristics:

rpm -Va

debsums -a

檢驗一個檔案屬于哪個包:

rpm -qf

dpkg -S

安裝新軟體包:

rpm -Uvh

dpkg -i

1127 如何使新使用者首次登陸後強制修改密碼(貓小)

#useradd -p ” testuser; chage -d 0 testuser

1128 日志維護工具logrotate(hotbox)

在/etc/logrotate.conf中配置,作用:定義log檔案達到預定的大小或時間時,自動壓縮

log檔案

1129 Linux中預設的管理者叫什麼(bjchenxu)

root

1130 如何産生一個長度固定(例如檔案長度為1M)位元組的空檔案,即每個位元組的值全為

0×00(sakulagi)

dd if=/dev/zero of=/tmp/zero_file bs=1024 count=1024

1131 RedHat Linux裡修改時間的步驟(hutuworm)

1. 設定你的時區: timeconfig裡選擇Asia/Shanghai (如果你位于GMT+8中國區域)

2. 與标準時間伺服器校準: ntpdate time.nist.gov

當然,如果你是李嘉誠,也可以跟自己的手表校準: date -s STRING (STRING格式

見man date)

3. 寫回硬體時鐘: hwclock –systohc

1132 查找目前目錄下檔案并更改擴充名(零二年的夏天)

更改所有.ss檔案為.aa

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

1133 patch的使用(天才※櫻木)

文法是patch [options] [originalfile] [patchfile]

例如:

patch -p[num]

-p參數決定了是否使用讀出的源檔案名的字首目錄資訊,不提供-p參數,則忽略所有目錄

資訊,-p0(或者-p

0)表示使用全部的路徑資訊,-p1将忽略第一個”/”以前的目錄,依此類推。如/usr/src

/linux-2.4.16/Makefile這樣的檔案名,在提供-p3參數時将使用linux-2.4.16/Makefil

e作為所要patch的檔案。

對于剛才舉的Linux核心源碼2.4.16更新包的例子,假定源碼目錄位于/usr/src/linux中

,則在目前目錄為/usr/src時使用 “patch -p0

1134 将file.txt裡的123改為456(hutuworm)

方法1

sed ’s/123/456/g’ file.txt > file.txt.new

mv -f file.txt.new file.txt

方法2

vi file.txt

輸入指令:

:%s/123/456/g

1135 将一個分區格式化為ext3日志檔案系統(hutuworm)

mkfs -j /dev/hdaN

1136 開啟硬碟ATA66 (laixi781211)

/sbin/hdparm -d1 -X68 -c3 -m16 /dev/hda

1137 檢視目前運作級别(雙眼皮的豬)

runlevel

1138 檢視目前登陸身份(雙眼皮的豬)

(1)who am i

(2)whoami

(3)id

注意(1)跟(2)的小差別

1139 删除rpm -e删除不了的包(wwwzc)

1、如果在删除包之前删除了包的目錄

rpm -e –noscripts

2、如果系統裡一個包被裝兩次(由于某些異常引起的)

rpm -e multi-installed-pkgs –allmatches

1140 如何定制使用者登入時顯示的資訊(jiadingjun)

在/etc目錄下放一個名字叫motd的文本檔案實作的,例如,建立自己的/etc/motd:

$cat /etc/motd

welcome to my server !

那麼,當使用者登入系統的時候會出現這樣的資訊:

Last login: Thu Mar 23 15:45:43 from *.*.*.*

welcome to my server !

1141 用指令清空Root資源回收筒中的檔案(dtedu)

cd /var/.Trash-root

rm -rf *

1142 在Red Hat上加Simsun.ttc字型(bjchenxu)

以Red Hat 9為例,安裝時選取簡體中文安裝,先複制一個simsun.ttc到/usr/share/fon

t/TrueType,改名為 simsun.ttf;然後進入/usr/share/font/TrueType目錄下,運作tt

mkfdir > fonts.dir指令;接着用vi編輯fonts.dir檔案,把有simsun.ttf行修改如下:

simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-c-0-ascii-0

simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-c-0-iso10646-1

simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-p-0-iso8859-15

simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-p-0-iso8859-1

simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-c-0-gb2312.1980-0

simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-p-0-gb2312.1980-0

simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-m-0-gb2312.1980-0

simsun.ttf -misc-SimSun-medium-r-normal–0-0-0-0-p-0-gbk-0

接着運作

$cat fonts.dir > fonts.scale

1143 Unicon和Zhcon的差別和作用(bjchenxu)

Unicon是核心态的中文平台,基于修改Linux FrameBuffer和Virtual Console(fbcon)

實作的。由于是在系統底層實作的,是以相容性極好,可以直接支援gpm滑鼠。但是相對

比較危險,稍有漏洞就可能會危及系統安全。Zhcon是使用者态的中文平台,有點像UCDOS。

1144 如何解除安裝tar格式安裝的軟體(bjchenxu)

進入安裝該軟體的原代碼目錄,運作make uninstall。如果不行,也可以檢視一下Makef

ile檔案,主要是看install部分,從其中找出tar格式的檔案被複制到了什麼路徑,然後

進入相應的目錄進行删除即可。

1145 定制linux提示符 (bjchenxu)

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

觀常用的提示符可以設定為export PS1=“[[email protected] W]$”。其中u代表使用者名,h代表

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

1146 在vi中搜尋了一個單詞,該單詞以高亮顯示,看起來很不舒服,怎麼能将它去掉(b

jchenxu)

在vi的指令模式下輸入:nohlsearch就可以了。另外可以在~/.vimrc中寫上下面的語句就

會有高亮顯示:

set hlsearch

加上下面的語句就不會有高亮顯示:

set nohlsearch

1147 如何找出系統中所有的*.cpp、*.h檔案(bjchenxu)

用find指令就可以了。不過如果從根目錄查找消耗資源較高,使用下面的指令就可以:

find / -name “*.cpp” -o -name “*.h”

1148 安裝Debian需要幾張盤就夠了?全部都要下載下傳嗎?(bjchenxu)

如果有良好的網絡環境的話,下載下傳第一張就可以了。要是沒有網絡環境的話不推薦使用D

ebian,因為Debian主要依賴網絡來更新軟體。

1149 Debian第一張CD光牒為什麼有兩個版本?debian-30r1-i386-binary-1.iso和debian-

30r1-i386-binary-1_NONUS.iso該下載下傳哪一個呢?它們有什麼差別?(bjchenxu)

因為含有“non-US”(不屬美國)的軟體不能合法地存放在架設于美國境内的伺服器中。

以前,其原因通常是因為軟體含有嚴密的密碼編碼,而今天,則是因為程式使用了美國專

利保護的演算法。每個人應該取用“non-US”來供私人用途所用;而沒有這個辨別的iso

則隻對架設在美國的鏡

像及供應商才有用處。其它二進制的CD光牒則不會含有任何“US-sensitive”(與美國相關

的)軟體,它們和其它種binary-1CD光牒一樣運作得很好。是以,個人使用還是下載下傳debia

n-30r1-i386-binary-1_NONUS.iso版本。

1150 為何我使用umount /mnt/cdrom指令的時候出現device is busy這樣的語句,不能u

mount(bjchenxu)

在使用umount的時候一定要確定已退出/mnt/cdrom這個目錄,退出這個目錄就可以使用u

mount /mnt/cdrom了。

1151 我使用的是筆記本電腦,怎麼才能在控制台下顯示現在還剩多少電量呢? (bjchenxu)

使用apm -m就可以看到還有多少分鐘了,具體參數可以用man apm檢視。

1152 為什麼我進入Linux的終端視窗時,man一條指令出來的都是亂碼呢? (bjchenxu)

這是因為你的字元集設定有問題。臨時解決辦法可以使用export LANG=“en_US”。要想

不必每次都修改的話,在/etc/sysconfig/i18n檔案裡面修改LANG=“en_US”就可以了。

也可以針對某個使用者來做,這樣就可以改變個人的界面語言,而不影響别的使用者。指令如

下:# cp

/etc/sysconfig/i18n $HOME/.i18n。

1153 編譯核心的時候出錯,提示“Too many open files”,請問怎麼處理 (bjchenxu)

這是因為file-max預設值(8096)太小。要解決這個問題,可以root身份執行下列指令(

或将它們加入/etc/rcS.d/*下的init腳本):

# echo “65536″ > /proc/sys/

最後進入解壓後的目錄,運作安裝指令。

# cd vmware-linux-tools

# ./install.pl

1154

1155 安裝了一台Linux伺服器,想自己編譯核心,一步一步做下來,GRUB也添加進去了,

但出現“kernel Panic:VFS:Unable to mount root fs on 0:00”的錯誤,請問是怎麼回

事?(bjchenxu)

一般情況下initrd這個檔案在桌上型電腦上不是必須的,但是在有SCSI裝置的伺服器上卻是必

須的。有可能因為編譯核心的時候沒有産生initrd那個檔案,是以會有上面的錯誤提示。

使用者可以使用mkinitrd指令來生成一個initrd.img檔案,然後加入GRUB,重新開機試一試。

1156 如何設定使用者登入後的歡迎資訊?(bjchenxu)

修改/etc/motd檔案,往裡面寫入文本,就能使使用者通過Telnet正确登入後,執行Shell之

前得到相應的提示資訊。

motd就是“messages of the day”,也就是當日資訊的意思。管理者可以往裡面寫一些

需要注意的事項或通知等來提醒正式使用者。

1157 我下載下傳了rcs5.7,用./configure && make && make install時報錯如下:./conf.

sh: testing permissions … ./conf.sh: This command should not be run with su

peruser permissions. 我是以root使用者身份登入編譯安裝的,為什麼會這樣?(bjchenx

u)

有些軟體确實因為考慮到安全等其它原因不能用root使用者編譯。這時隻要用其它使用者編譯

,到make install這步時,如果該軟體安裝在不屬于編譯時的使用者的主目錄下時,需要使

用su指令轉換為root使用者再執行make install。

1158 我在安裝USBView時失敗,具體情況如下: #rpm -ivh usbview-1.0-9.src.rpm wa

rning:usbview-1.0-9.src.rpm:V3 DSAsignature:NOKEY,key IDab42a60e (bjchenxu)

這行代碼說明安裝失敗是因為你的系統上沒有安裝合适的鑰匙來校驗簽名。要使該軟體包

通過校驗,可以通過導入Red Hat的公匙來解決,具體的方式是在Shell下運作如下指令:

#rpm -import /usr/share/rhn/RPM-GPG-KEY

(注意大小寫)

1159 如何防止某個關鍵檔案被修改?(bjchenxu)

在Linux下,有些配置檔案是不允許任何人(包括root)修改的。為了防止被誤删除或修

改,可以設定該檔案的“不可修改位(immutable) ”。指令如下:

# chattr +i /etc/fstab

如果需要修改檔案則采用下面的指令:

# chattr -i /etc/fstab

1160 怎樣限制一個使用者可以啟動的程序數?(bjchenxu)

先确定一下/etc/pam.d/login檔案中下面一行的存在:

session required /lib/security/pam_limits.so

然後編輯/etc/security/limits.conf,在裡面可以設定限制使用者的程序數、CPU占用率和

記憶體使用率等,如hard nproc 20就是指限制20個程序,具體可以看man。

1161 如何限制Shell指令記錄大小 ?(bjchenxu)

預設情況下,bash會在檔案$HOME/.bash_history中存放多達500條指令記錄。有時根據具

體的系統不同,預設記錄條數不同。系統中每個使用者的主目錄下都有一個這樣的檔案。為

了系統的安全,在此強烈建議使用者限制該檔案的大小。使用者可以編輯/etc/profile檔案,

修改其中的選項如下:

HISTFILESIZE=30 或 HISTSIZE=30

這樣就将記錄的指令條數減少到30條。

1162 我想将開機時顯示的資訊保留下來,以檢查電腦出了問題的地方,請問怎麼辦?(b

jchenxu)

可輸入下面的指令:

#dmesg > bootmessage

該指令将把開機時顯示的資訊重定向輸出到一個檔案bootmessage中。

1163 我想在登出時删除指令記錄,請問怎麼做?(bjchenxu)

編輯/etc/skel/.bash_logout檔案(沒有就建立一個),增加如下行:

rm -f $HOME/.bash_history

這樣,系統中的所有使用者在登出時都會删除其指令記錄。

如果隻需要針對某個特定使用者,如root使用者進行設定,則可隻在該使用者的主目錄下修改$

HOME/.bash_history檔案,增加相同的一行即可。

1164

1165 如何使用ssh通道技術(bjchenxu)

本文讨論所有機器均為Linux作業系統。

比如說我的機器是A,中間伺服器為B,目标伺服器是C。

從A可以ssh到B,從B可以ssh到C,但是A不能直接ssh到C。

現在展示利用ssh通道技術從A直接傳輸檔案到C。

1. ssh -L1234:C:22 [email protected]

input B’s password

2. scp -P1234 filename [email protected]:

input C’s password

1166 使用rpm指令時沒有任何響應,如何解決 (初學攝影)

rm -rf /var/lib/rpm/__db.*

1167 向登陸到同一台伺服器上的所有使用者發一條資訊(bjchenxu)

1)輸入wall并回車

2)輸入要發送的消息

3)結束時按“Control-d”鍵,消息即在使用者的控制視窗中顯示

1168 輸入短消息到單個使用者(bjchenxu)

1)輸入write username,當使用者名出現在多個終端時,在使用者名後可加tty,以表示在哪個

tty下的使用者。

2)輸入要發送的消息。

3)結束時按“Control-d”鍵,消息即在使用者的控制視窗中顯示。

4)對于接收消息方,可以設定是否允許别人送消息給你。

指令格式為:mesg n[y]

%write liuxhello! Everybody, I’llcome.

%

使用者控制視窗中顯示的消息:Message from liux on ttyp1 at 10:00…hello! Everybod

y, I’llcome.EOF

當使用CDE或OpenWindows等視窗系統時,每個視窗被看成是一次單獨的登入;如果使用者登

錄次數超過一次則消息直接發送到控制視窗。

1169 發送檔案中的消息到單個使用者(bjchenxu)

如果有一個較長的消息要發送給幾個使用者,用檔案方式:

1)建立要發送的消息文本的檔案filename.

2)輸入write username

% cat >messagehello! Everybody, I’llcome.

% write liux

% 使用者在一個以上視窗登入,消息顯示在控制視窗中Message from liux on ttyp1 at 1

0:00…hello! Everybody, I’llcome.EOF

1170 向遠端機器上的所有使用者發送消息(bjchenxu)

使用rwall(向所有人遠端寫)指令同時發送消息到網絡中的所有使用者。

rwall hostname file

當使用CDE或OpenWindows等視窗系統時,每個視窗被看成是一次單個的登入;

如果使用者登入次數超過一次則消息直接發送到控制視窗。

1171 向網絡中的所有使用者發送消息(bjchenxu)

發送消息到網絡中的所有使用者

1)輸入rwall -n netgroup并回車

2)輸入要發送的消息

3)結束時按“Control-d”鍵,消息即在系統每個使用者的控制視窗中顯示,下面是系統管

理員發消息到網絡組Eng每個使用者的例子:

% rwall -n EngSystem will be rebooted at 11:00.(Control-d)

%

使用者控制視窗中的消息:Broadcast message from root on console…System will be r

ebooted at 11:00.EOF

注意:也可以通過rwall hostname(主機名)指令到系統的所有使用者。

1172 我需要編譯核心,核心源碼在哪裡?

目前大多發行版預設都不再附帶源碼,需要的話可以自行下載下傳,

可以去 www.kernel.org 下載下傳一份你喜歡的,校内有kernel鏡像。

—————————-網絡相關篇————————–

2001 讓apache的預設字元集變為中文(bjchenxu)

vi httpd.conf,找到 AddDefaultCharset ISO-8859-1 一行

apache版本如果是1.*,改為 AddDefaultCharset GB2312

如果是2.0.1-2.0.52,改為 AddDefaultCharset off

然後運作/etc/init.d/ httpd restart重新開機apache即可生效。

注意:對于2.0.53以上版本,不需要修改任何配置,即可支援中文。

2002 更改ip和MAC位址

改IP:

ifconfig eth0 新ip

然後編輯/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip

改MAC:

ifconfig eth0 down

ifconfig eth0 hw ether 00:06:61:6A:7B:8B

ifconfig eth0 up

如需每次開機自動更改,可把以上三句指令添加到/etc/init.d/network最後

2003 從Linux上遠端顯示Windows桌面(lnx3000)

安裝rdesktop

2004 手動添加預設網關(bjchenxu)

以root使用者,執行: route add default gw 網關的IP

1 vi /etc/sysconfig/network-scripts/ifcfg-eth0 更改 GATEWAY

2 /etc/init.d/network restart

2005 Linux下使用msn和QQ

MSN:可下載下傳安裝gaim 或 aMSN

QQ :安裝LumaQQ 或 eva,eva建議在KDE下使用。

2006 查出22端口現在運作什麼程式(bjchenxu)

lsof -i

2007 檢視本機的IP,gateway, dns(bjchenxu)

IP:

以root使用者登入,執行ifconfig。其中eth0是第一塊網卡,lo是預設的裝置

Gateway:

以root使用者登入,執行netstat -rn,以0.0.0.0開頭的一行的Gateway即為預設網關

也可以檢視/etc/sysconfig/network檔案,裡面有指定的位址!

DNS:

more /etc/resolv.conf,内容指定如下:

nameserver 202.112.144.30

nameserver 202.112.144.65

2008 Redhat指令行下改變ping 的TTL值(cgweb,lnx)

方法1(重新開機後有效):

#sysctl -w net.ipv4.ip_default_ttl=N

(N=0~255),若N>255,則ttl=0

方法2(重新開機後無效):

#echo N(N為0~255) > /proc/sys/net/ipv4/ip_default_ttl

2009 開啟LINUX的IP轉發(houaq)

編輯/etc/sysctl.conf, 例如,将

net.ipv4.ip_forward = 0

變為

net.ipv4.ip_forward = 1

重新開機後生效,用sysctl -a檢視可知

2010 mount區域網路上其他windows機器共的目錄(bjchenxu)

安裝samba

mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom

2011 允許|禁止root通過SSH登陸(Fun-FreeBSD)

修改sshd_config:PermitRootLogin no|yes

2012 讓root直接telnet登陸(bjchenxu,platinum)

方法1:

編輯/etc/pam.d/login,去掉

auth required /lib/security/pam_securetty.so 這句話

方法2:

vi /etc/securetty

添加

pts/0

pts/1

2013

2014 讓linux自動同步時間(shunz)

vi /etc/crontab

加上一句:

00 0 1 * * root rdate -s time.nist.gov

2015 Linux的網上資源

參考精華區–資訊資源

2016 改變sshd的端口(bjchenx)

在/etc/ssh/sshd_config中加入一行:Port 2222,/etc/init.d/sshd restart重新開機守護

程序

2017 改變telnet的端口(bjchenxu)

将/etc/services檔案中telnet對應的端口号21改為你想要的值,/etc/init.d/xinetd r

estart重新開機守護程序

2018 終端模式有問題(sakulagi)

export TERM=vt100

2019 模仿超級終端,LINUX裡什麼程式連接配接路由器和交換機(alstone)

minicom

2020 ssh上來能不能不自動斷線(wind521,雙眼皮的豬)

修改自己HOME目錄下的.bash_profile檔案,加上

export TMOUT=1000000 (以秒為機關)

然後運作source .bash_profile

2021 用什麼工具做入侵檢測(bjchenxu)

snort

2022 Linux下檢測程式記憶體洩漏的工具(bjchenxu)

cchecker或是efence庫都可以

2023 linux下如何監視所有通過本機網卡的資料(bjchenxu)

tcpdump或者iptraf

2024 為什麼root執行好多指令都說command not found(bjchenxu)

你是telnet上來,然後su成root的吧,改改你的su指令格式,應該是su – root

2025 關閉使用者的POP3權限(tiansgx)

把POP3的端口關了就可以了。 在檔案/etc/services中找到這一行 pop-3 110/tcp 把這

一行前加個’#',把它注釋掉就可以了。

2026 linux下播放flash動畫

下載下傳 ftp:// ftp.bjtu.edu.cn/UNIX/multimedia/flashplayer/

install_flash_player_7_linux.tar.gz

$tar zxf install_flash_player_7_linux.tar.gz

$cd install_flash_player_7_linux

$./flashplayer-installer

根據自己浏覽器安裝的路徑設定,再用浏覽器打開flash檔案即可。

2027

2028 伺服器怎麼不讓telnet(知秋一葉)

伺服器上必須啟動telnet服務 && 伺服器的防火牆允許telnet。

2029 防止任何人使用su指令成為root(xiaohu0)

1.vi /etc/pam.d/su

auth sufficient /lib/security/pam_rootok.so debug

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

2.在/etc/pam. d/su配置檔案中定義了wheel組.

2030 如何使lynx浏覽器能夠浏覽中文網頁(Ghost_Vale)

浏覽簡體中文網頁就的修改如下設定

Save options to disk: [X]

Display and Character Set

Display character set : [Chinese________________________]

Assumed document character set(!): [iso-8859-1______]

CJK mode (!) : [ON_]

然後移到最下面的 Accept Changes 按下 Enter 儲存就可以了

當然你的系統要支援簡體中文才可以

2031 網卡激活了,卻上不了網,怎麼辦?(Slock,雙眼皮的豬)

traceroute,看看到底是在那一塊被阻住的。

1.ping自己

2.ping網關

3.ping DNS

4.traceroute DNS

如果一切正常

nslookup www.bjtu.edu.cn

ping sina的address

traceroute sina的address

基本上就可以知道結果了

2032 在redhat9下配samba,win2000能通路,win98不能通路?(squall2003)

如果是wind98必需修改系統資料庫:

HKEY_LOCAL_MACHINE/system/correntcontrolset/services/Vxd/VNETSUP 下建個D值:

EnablePlainTextpasswd,鍵值1

2033 如何得到網卡的MAC位址(bjchenxu,hutuworm)

arp -a | awk ‘{print $4}’

ifconfig eth0 | head -1 | awk ‘{print $5}’

2034 如何得到網卡的IP位址(mb)

ifconfig eth0 |awk ‘/inet addr/ {split($2,x,”:”);print x[2]}’

2035 如何修改Linux機器所在的工作組(hutuworm)

vi /etc/samba/smb.conf,修改”workgroup = “一行,将組名寫在後面。

2036 一塊網卡如何綁定兩個ip(linuxloveu)

#cd /etc/sysconfig/network-scripts

#cp ifcfg-eth0 ifcfg-eth0:1

#vi ifcfg-eth0:1

修改IP和裝置名

Debian下一個網卡綁定多個ip的方法(NetDC)

修改/etc/network/interfaces

auto eth0

iface eth0 inet static

address 172.16.3.123

netmask 255.255.255.0

network 172.16.3.0

broadcast 172.16.3.255

gateway 172.16.3.1

auto eth0:1

iface eth0:1 inet static

address 10.16.3.123

netmask 255.255.0.0

network 10.16.0.0

broadcast 10.16.255.255

修改/etc/network/ifstate

lo=lo

eth0=eth0

eth0:1=eth0:1

然後/etc/init.d/networking restart就可以了。

一個網卡綁定多ip另一法(hotbox)

在/etc/sysconfig/network-scripts/下建立一個檔案:ifcfg-ethX-rangeX (”X”為網卡

号)

檔案内容:

IPADDR_START=

IPADDR_END=

CLONENUM=0

可以有256個ip

2037 一個ip如何綁定兩塊網卡(hutuworm)

假設192.168.0.88是ip,192.168.0.1是網關:

/sbin/modprobe bonding miimon=100 mode=1

/sbin/ifdown eth0

/sbin/ifdown eth1

/sbin/ifconfig bond0 192.168.0.88

/sbin/ifenslave bond0 eth0 eth1

/sbin/route add default gw 192.168.0.1

2038

2039 linux下清空arp表的指令(NetDC)

#arp -d -a(适用于bsd)

for HOST in `arp | sed ‘/Address/d’ | awk ‘{ print $1}’` ; do arp -d $HOST; done

2040 使用ntp協定從伺服器同步時間(NetDC)

ntpdate NTP-SERVER 例:ntpdate 172.16.2.1

2041 host指令的用法(bjchenxu)

host能夠用來查詢域名,它還能得到更多的資訊

host -t mx example.com可以查詢出example.com的MX記錄,以及處理mail的host的名字

host -l example.com會傳回所有注冊在example.com下的域名

host -a example.com則會顯示這個主機的所有域名資訊.

2042 立刻讓LINUX支援NAT(platinum)

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

iptables -t nat -I POSTROUTING -j MASQUERADE

2043

2044 在ethX裝置上,使LINUX支援網絡廣播功能(預設是不支援的)(platinum)

ip route add 255.255.255.255 dev ethX

2045 路由設定手冊(NetDC)

檢視路由資訊:

netstat -rn

route -n

手工增加一條路由:

route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

手工删除一條路由:

route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

好了,下面到了重要的了,讓系統啟動的時候自動啟用路由設定。

在redhat中添加一條路由,修改檔案/etc/sysconfig/static-routes

any net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

在debian中添加一條路由,

方法一:修改/etc/network/interfaces

代碼:

auto eth0

iface eth0 inet static

address 172.16.3.222

netmask 255.255.0.0

network 172.16.0.0

broadcast 172.16.255.255

gateway 172.16.2.1

up route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

down route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

方法二:在/etc/network/if-up.d目錄下建立一個簡單的腳本檔案,如static-route$(

記得以$符号結尾,要不有個run-parts會跑出來告訴你一些東西)腳本最簡單的就好啦,

如:

代碼:

#!/bin/bash

route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

嘿嘿,你也可以猜到/etc/network/目錄下的其他目錄的作用了吧。

發覺在debian中這個route的設定其實隻是它的那些配置檔案的一個比較簡單的應用而已

,你完全可以做更複雜的應用。

2046 利用ssh複制檔案(platinum)

假如A、B都有SSH服務,現在在A的SSH裡

1、從A複制B(推過去)

scp -rp /path/filename [email protected]:/path

2、從B複制到A(拉過來)

scp -rp [email protected]:/path/filename /path

如果其中一個不是LINUX系統,可以在WINDOWS上用SecureFX軟體

2047 samba3.0中文顯示問題的解決辦法(linuxzfp, jiadingjun)

在samba 3.0的配置檔案中(/etc/samba/smb.conf)的[global]中加入下面兩句:

unix charset=cp936

重新開機服務

service smb restart

2048 臨時修改網卡MAC位址的方法

關閉網卡:/sbin/ifconfig eth0 down

然後改位址:/sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE

然後啟動網卡:/sbin/ifconfig eth0 up

2049 conntrack 表滿的處理方法(cgweb)

前段時間配置的iptables+squid做的proxy server ,一直工作正常。今天我上控制台上發現

Jun 18 12:43:36 red-hat kernel: ip_conntrack: table full, dropping packet.

Jun 18 12:49:51 red-hat kernel: ip_conntrack: table full, dropping packet.

Jun 18 12:50:57 red-hat kernel: ip_conntrack: table full, dropping packet.

Jun 18 12:57:38 red-hat kernel: ip_conntrack: table full, dropping packet.

IP_conntrack表示連接配接跟蹤資料庫(conntrack database),代表NAT機器跟蹤連接配接的數目

,連接配接跟蹤表能容納多少記錄是被一個變量控制的,它可由核心中的ip-

sysctl函數設定。每一個跟蹤連接配接表會占用350位元組的核心存儲空間,時間一長就會把默

認的空間填滿,那麼預設空間時多少?我以redhat為例在記憶體為64MB的機器上時4096,内

存為128MB是 8192,記憶體為256MB是16376,那末就能在/proc/sys/net/ipv4/ip_conntrac

k_max裡檢視、設定。

例如:增加到81920,可以用以下指令:

echo “81920″ > /proc/sys/net/ipv4/ip_conntrack_max

那樣設定是不會儲存的,要重新開機後儲存可以在/etc/sysctl.conf中加:

net.ipv4.ip_conntract_max =81920

按照此方法改變後一切正常,要是在滿了可以加大其值.

2050 Linux下怎麼使用BT(atz0001)

BitStorm http://www.linuxfans.org/

azureus,http://azureus.sourceforge.net/

2051 Linux下檢視光纖網卡的工作模式(sakulagi)

主機闆上PCI—X插槽中插入一塊64位的光纖網卡,在LINUX9.0的環境下,要知道它是否工作

在64位模式下,可使用getconf WORD_BIT

2052 線上更新RHEL的另類途徑

1.安裝相應的APT包:

2.線上更新

apt-get update

apt-get upgrade

2053 SOCKS5啟動後一段時間停止工作。用指令ps auxw | grep socks5檢視,發現有很多

SOCKS defunct程序,為什麼(bjchenxu)

主要是打更新檔的問題。如果socks5-tar.gz是沒打過更新檔的版本,必須下一個帶更新檔的v1

.0-r11版本,重新安裝、運作問題就可以解決了。

2054 在VMware WorkStation 4.0.5中安裝Debian 3.0時,提示找不到硬碟,需要SCSI的

驅動。但是我用的是IDE硬碟,請問該怎麼辦? (bjchenxu)

由于VMware将使用者劃分的硬碟空間虛拟成SCSI硬碟,而Debian安裝盤中沒有對應的驅動,

而安裝其它Linux版本時,有的在一開始會加載SCSI驅動,是以沒有這個問題。使用者可以

修改VMware的配置,将其改為模拟IDE硬碟就可以了。

2055 如何讓Linux網關後面的WIN32下的使用者直接點選 FTP連接配接下載下傳?(platinum)

modprobe ip_nat_ ftp

2056 請問使用者的IP是動态的,如何在Squid中限定在同一時間内同一賬戶線上的數量?(

bjchenxu)

例如限制單個使用者隻能打開12個 HTTP連接配接,采用下面的方法:

acl all src 0.0.0.0/0.0.0.0

acl limit maxconn 12

acl localnet src 192.168.0.0/24

http_access deny localnet maxconn

http_access allow localnet

http_access deny all

2057 如果我用Squid代理的代理伺服器在192.168.1.0這個網段裡,例如它的IP是192.16

8.1.1,我有一些用戶端在192.168.2.0這個網段内,怎樣設定才能通過這個代理伺服器出

去?(bjchenxu)

如果不用透明代理,直接在浏覽器的代理選項裡設定就可以了。否則首先是在代理伺服器

的網卡上再挂一個IP為192.168.2.1,添加相應的路由,再修改Squid的squid.conf檔案裡

的監聽位址和端口等,最後在192.168.2.0網段的用戶端設定其網關為

192.168.2.1,再直接在浏覽器的代理選項裡設定一下就可以了。

2058 如何使用netrc檔案進行自動 FTP?(bjchenxu)

在自己的home目錄下建立一個權限為600,字尾名為.netrc的檔案,内容如下:

machine 172.168.15.1 login admin password admin

這樣使用者以後每次登入 FTP伺服器172.168.15.1的時候,系統都會幫使用者以使用者名admin、

密碼admin登入。使用者利用這個特征可以實作自動 FTP。例如使用者想要每天6:00到172.168

.15.1機器上面獲得/admin目錄下的檔案admin.txt,可以按如下方法做。

建立一個檔案 ftp_cmd,内容如下:

cd admin

get amin.txt

bye

然後使用crontab -e設定定時任務:

0 6 * * * ftp 172.168.15.1 < ftp_cmd

2059 怎樣得到ipchains的日志?(bjchenxu)

使用者設定規則的時候必須加入-l參數才會在/etc/messages裡面做記錄。不過建議還是不

加的好,不然使用者的/etc/messages會變得非常大。

2060 如何不顯示其它使用者的消息?(bjchenxu)

使用者可以使用mesg n來禁止别人給自己發送資訊,其實就是禁止别人往自己的終端上面的

寫的權限。當别人試圖再使用write給自己發送資訊時,發送者将會看見提示如下:

write: user has messages disabled on pts/n

2061 minicom彩色顯示(雙眼皮的豬)

minicom -s進行serial port配置,然後配置好以後,

minicom -o -c on

-o表示不初始化

-c on表示color on

2062 啟用SELinux的Apache的配置檔案 httpd.conf裡面修改DocumentRoot無用或者出現4

03 Forbidden錯誤(arbor)

# chcon -u system_u -t httpd_sys_content_t -R website目錄

2063 apache2 的log檔案位置如何自定義目錄(tomi)

編輯 httpd.conf裡的

ErrorLog /var/log/ http/error_log <== 這是管errorlog的

CustomLog /var/log/ http/access_log common <== 這是管accesslog的

2064 更改eth0是否混雜模式(wwy)

網卡eth0改成混雜模式:

ifconfig eth0 promisc

關閉混雜模式:

ifconfig eth0 -promisc

2065 字元界面下的 ftp中,下載下傳整個檔案夾(bjchenxu)

1. l ftp IP

2. > user username

password

3. > mirror -c –parallel=number remotedir localdir

3a. > help mirror

2066 如何讓ssh隻允許指定的使用者登入(xinyv,好好先生,wolfg,我愛釣魚)

方法1:在/etc/pam.d/sshd檔案中加入

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

fail

然後在/etc下建立sshusers檔案,編輯這個檔案,加入你允許使用ssh服務的使用者名,重新起

動sshd服務即可。

方法2:pam規則也可以寫成deny的

auth required pam_listfile.so item=user sense=deny file=/etc/sshusers onerr=s

ucceed

方法3:在sshd_config中設定AllowUsers,格式如

AllowUsers a b c

重新開機sshd服務,則隻有a/b/c3個使用者可以登陸。

2067 在Linux下如何綁定IP位址和硬體位址(bjchenxu)

可以編輯一個位址對應檔案,裡面記錄了IP位址和硬體位址的對應關系,然後執行“arp

–f 位址對應檔案”。如果沒有指定位址對應檔案,則通常情況下一預設檔案/etc/eth

ers為準。位址對應檔案的格式如下:

192.168.0.1 00:0D:61:27:58:93

192.168.0.2 00:40:F4:2A:2E:5C

192.168.0.3 00:0A:EB:5E:BA:8E

2068 已知網絡中一個機器的硬體位址,如何知道它所對應的IP位址(bjchenxu)

在Linux下,假定要查“00:0A:EB:27:17:B9”這樣一個硬體位址所對應的IP位址,可以使

用以下指令:

# cat /proc/net/arp |grep 00:0A:EB:27:17:B9

192.168.2.54 0×1 0×6 00:0A:EB:27:17:B9 *eth2

另外,還可以用“arp -a”指令查詢:

# arp –a|grep 00:0A:EB:27:17:B9

(192.168.2.54)at 00:0A:EB:27:17:B9[ether] on eth2

2069 基于Apache的 HTTPD或Sendmail服務在啟動時被挂起了,如何解決此問題(bjchenxu)

遇到此類問題,請确認/etc/hosts檔案中是否包含如下一行:

127.0.0.1 localhost.localdomain localhost

127.0.0.1 是網絡的回路位址。

2070 如何使Linux系統對ping不反應(bjchenxu)

要使Linux對ping沒反應,也就是使Linux系統忽略I CMP包。用如下指令可以達到此目的:

# echo 1 > /proc/sys/net/ipv4/icmp-echo-ignore-all

若想恢複,可用如下指令:

# echo 0 > /proc/sys/net/ipv4/icmp-echo-ignore-all

—————————-程式開發篇————————–

3001 linux下調試core檔案(bjchenxu)

gdb

:出錯産生core dump的可執行程式。

:core dump的檔案名,預設是“core”

3002 gcc abc.c得到的a.out不能運作(bjchenxu)

./a.out

3003 c++ 編譯時為什麼出錯資訊說cout沒定義(bjchenxu)

include頭檔案完後加入 using namespace std;

3004 新編譯生成的gcc ,使用的标準連接配接庫都在/usr/local/lib 下了,但使用的預設的

連接配接路徑是 /usr/lib 怎樣添加?(除了在每次編譯時 增加 -L /usr/local/lib 以外)

(sakulagi, hutuworm)

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

寫到~/.bash_profile裡面。

增加一種簡便辦法:

将/usr/local/lib加入/etc/ld.so.conf,然後運作一次ldconfig

3005 RH9下GCC的安裝(一起走過的日子,hutuworm)

三種方法選一:

(1)利用CD上rpm安裝

CD-1:compat-gcc-7.3-2.96.118.i386.rpm

CD-1:compat-gcc-c++-7.3-2.96.118.i386.rpm

CD-1:libgcc-3.2.2-5.i386.rpm

CD-2:compat-gcc-g77-7.3-2.96.118.i386.rpm

CD-2:compat-gcc-java-7.3-2.96.118.i386.rpm

CD-2:compat-gcc-objc-7.3-2.96.118.i386.rpm

CD-2:gcc-3.2.2-5.i386.rpm

CD-2:gcc-c++-3.2.2-5.i386.rpm

CD-2:gcc-g77-3.2.2-5.i386.rpm

CD-2:gcc-gnat-3.2.2-5.i386.rpm

CD-2:gcc-java-3.2.2-5.i386.rpm

CD-2:gcc-objc-3.2.2-5.i386.rpm

比如碰到系統提示:

warning : gcc-3.2.2-5.i386.rpm : V3 DSA signature :MOKEY key ID db42a60e

error : Failed dependencies :

binutils >=2.13.90.0.18-9 is needed by gcc-3.2.2-5

glibc-devel >=2.3.2-11.9 is needed by gcc-3.2.2-5…

就先安裝glibc-devel包,依此類推

(2)更好的方法就是在X-window下選“主菜單”──>“系統設定”──>“添加/删除應用

程式”──>“開發工具”中的gcc并安裝它

(3) up2date gcc便可自動解決dependency問題

3006 shell腳本為何無法運作(GOD_Father)

第一,腳本權限要為可執行 #chmod +x test.sh

第二,腳本所在的目錄在環境變量PATH中,或者直接執行 #./test.sh

3007 檢視某個檔案被哪些程序在讀寫(bjweiqiong)

lsof 檔案名

3008 檢視某個程序打開了哪些檔案(bjweiqiong)

lsof –c 程序名

lsof –p 程序号

3009 lsof是什麼意思(bjweiqiong)

list open files

3010 lsof用法小全(bjweiqiong)

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 用以顯示符合條件的程序情況

文法: lsof -i[46] [protocol][@hostname|hostaddr][:service|port]

46 –> IPv4 or IPv6

protocol –> TCP or UDP

hostname –> Internet host name

hostaddr –> IPv4位置

service –> /etc/service中的 service name (可以不隻一個)

port –> 埠號 (可以不隻一個)

例子: TCP:25 – TCP and port 25

@1.2.3.4 – Internet IPv4 host address 1.2.3.4

[email protected]: ftp – TCP protocol host:ohaha.ks.edu.tw service name: ftp

lsof -n 不将IP轉換為hostname,預設是不加上-n參數

例子: lsof -i [email protected]: ftp -n

lsof -p 12 看程序号為12的程序打開了哪些檔案

lsof +|-r [t] 控制lsof不斷重複執行,預設是15s重新整理

-r,lsof會永遠不斷的執行,直到收到中斷訊号

+r,lsof會一直執行,直到沒有檔案被顯示

例子:不斷檢視目前 ftp連接配接的情況:lsof -i [email protected]: ftp -r

lsof -s 列出打開檔案的大小,如果沒有大小,則留下空白

lsof -u username 以UID,列出打開的檔案

—————————-經典圖書篇————————–

4001 GNU/Linux進階網絡應用服務指南(bjchenxu)

linuxaid網站

機械工業出版社

優點:又全又精,全都是實戰之作

缺點:針對版本較低,為redhat 6.2

4002 Linux Apache Web Server管理指南(Linux Apache Web Server Administration)(

bjchenxu)

Charles Aulds 馬樹奇/金燕譯

電子工業出版社

優點:目前我還沒有發現哪個關于apache的問題這本書沒有講過

缺點:針對1.3.x,最新的針對2.0.*的英文版已出,中文版待出

4003 Linux核心情景分析(bjchenxu)

毛德操/胡希明

浙江大學出版社

優點:太透徹了,沒法不懂

缺點:還是版本問題,核心更新太快了,不過還是必讀

4004 Unix環境進階程式設計(bjchenxu)

Richard Stevens

機械工業出版社

優點:博大精深

缺點:初學者是很難了解的,否則怎麼叫《進階程式設計》呢?

4005 程式設計精粹–Microsoft編寫優質無錯c程式秘訣(bjchenxu)

Steve Maguire

電子工業出版社

優點:不說了,作者是微軟的資深工程師

缺點:很難找了,1994年出的

4006 Understanding the Linux Kernel, 2nd Edition(hutuworm)

Daniel P. Bovet & Marco Cesati

O’Reilly出版社

讀了這本書之後,你就會明白在什麼情況下Linux具有最佳的性能,以及它如何面對挑戰

,在各種環境中提供程序排程、檔案通路和記憶體管理時的優良的系統響應。作者通過解釋

其重要性來引入每一個題目,并将核心操作與Unix程式員和使用者熟悉的系統調用或實用程

序聯系起來。

4007 UNIX作業系統教程(英文版)(弱智)

Syed Mansoor Sarwar等

機械工業出版社

特點:淺顯易懂,着重unix基礎概念和整體了解,順便複習英語。

另外:機械工業出版社已經出版了中文版,名稱:UNIX 教程

4008 UNIX程式設計環境(弱智)

Brian W.Kernighan, Rob Pike 陳向群等譯

機械工業出版社

特點:淺顯,深入淺出講解如何使用UNIX及各種工具,簡單介紹Unix程式設計環境;對比“U

NIX環境進階程式設計”,此書适合新手入門。

4009 The Art of UNIX Programming(hutuworm)

Eric Steven Raymond

http://catb.org/~esr/writings/taoup/html/

繼續閱讀