天天看點

linux基礎知識

01 改變redhat的系統語言/字元集(beming/mc1011)

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

lang="en_us",xwindow會顯示英文界面,

lang="zh_cn.gb18030",xwindow會顯示中文界面。

還有一種方法

cp /etc/sysconfig/i18n $home/.i18n

修改 $home/.i18n 檔案,如

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

(debian不支援gb18030(rh的zysong字庫是有版權的)

現在好像沒有free的gbk和gb18030字庫

vi .bashrc

export lang=zh_cn.gb2312

export lc_all=zh_cn.gb2312)

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

stty cols 90

03 使用md5sum檔案

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

是否一緻 md5sum –c hashfile

04一次解壓多個zip檔案

unzip "*",注意引号不能少

05 看pdf檔案(bjchenxu)

使用xpdf或者安裝acrobat reader for linux

06 查找權限位為s的檔案(bjchenxu)

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

07裝中文輸入法(bjchenxu,hutuworm)

以redhat8為例,xwindow及其終端下的不用說了,預設就安裝了,用ctrl-space呼出。

現在讨論純console,請到[url]http://zhcon.sourceforge.net/[/url]下載下傳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。

08 把彈出的CD光牒收回來

#eject -t

09 cdCD光牒做成iso檔案

cp /dev/cdrom xxxx.iso

10 快速觀看開機的硬體檢測

dmesg | more

11 檢視硬碟的使用情況

df -k 以k為機關顯示

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

12 檢視目錄的大小

du -sh dirname

-s 僅顯示總計

-h 以k、m、g為機關,提高資訊的可讀性。kb、mb、gb是以1024為換算單 位, -h以13為換算機關。

14 查找或删除正在使用某檔案的程序

fuser filename

fuser -k filename

15 安裝軟體(bjchenxu)

rpm -ivh aaa.rpm

tar xvfz aaa.tar.gz; cd aaa; ./configure; make; make install

16 字元模式下設定/删除環境變量

bash下

設定:export 變量名=變量值

删除:unset 變量名

csh下

設定:setenv 變量名 變量值

删除:unsetenv 變量名

17  ls如何看到隐藏檔案(即以.開頭的檔案)

ls -a

l. (适用于redhat)

18 rpm中的檔案安裝到哪裡去了

rpm -qpl aaa.rpm

19 使用src.rpm(bjchenxu)

rpmbuild --rebuild *.src.rpm

20 vim中顯示顔色或不顯示顔色

首先確定安裝了vim-enhanced包,然後,vi ~/.vimrc; 如果有syntax on,則顯示顔色,syntax off,則不顯示顔色。

另外,關于vi的syntax color,還有一點是終端類型(環境變量term)的設定。比如通常要設定成xterm或xterm-color才能使用syntax color。尤其是從linux遠端登陸到其他的unix上。

21 開機就mount上windows下的分區

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

/dev/hda5 /mnt/d vfat defaults,codepage=936,iocharset=cp936 0 0

注意,先得手工建立一個/mnt/d目錄

22 修改系統時間

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

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

vi /etc/login.defs,改pass_min_len

24 用dat查詢昨天的日期

date --date='yesterday'

25 解壓小全

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

tar xvfj example.tar.bz2

tar xvfz example.tar.gz

tar xvfz example.tgz

tar xvf example.tar

unzip example.zip

tar -jvxf some.bz,就是把tar的zvxf 改成jvxf

zip/tar rh9下有一個圖形界面的軟體file-roller可以做這件事。另外可以用unzip *.zip解開zip檔案,unrar *.rar解開rar檔案,不過unrar一般系統不自帶,要到網上下載下傳。

# rpm2cpio example.rpm │ cpio -div

# ar p example.deb data.tar.gz | tar zxf -

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

[url]http://sourceforge.net/projects/alien[/url]

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

[url]http://sourceforge.net/projects/sex[/url]

26 tar壓縮、解壓用法

解壓: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

27 不讓普通使用者自己改密碼

[root@srv etc]# chmod 511 /usr/bin/passwd

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

[root@srv etc]# chmod 4511 /usr/bin/passwd

28 硬碟安裝後怎麼添加/删除rpm包

redhat-config-packages --isodir=

可以指定iso檔案所在的目錄

29 用dd做iso

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

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

su - username -c "/path/to/command"

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

31 如何備份linux系統

symantec ghost 7.5以後的版本支援ext3 native複制

32 grub 引導菜單裡 bigmem smp up 都是什麼意思?

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

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

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

33  oracle的安裝程式為什麼顯示亂碼?

現在oracle的安裝程式對中文的支援有問題,隻能使用英文界面來安裝,在執行runinstaller之前,執行:export lang=c;export lc_all=c 

34  linux下檔案和目錄的顔色代表什麼

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

色表示連結檔案;灰色表示其它檔案;紅色閃爍表示連結的檔案有問題了;×××是裝置檔案,包括block, char, fifo。

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

35 rh9中安裝後如何添加新的語言包

9.0不在第一張盤上,在第三張盤上.rpm包名分别為:

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

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

36 讓linux連續執行幾個指令,出錯停止

command1 && command2 && command3

37  如何在圖形界面和控制台(字元界面)之間來回切換(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

也可以對啟動級别檔案進行修改vi /etc/inittab

38 redhat linux常用的指令<1>ls:列目錄。

用法:ls或ls dirname,參數:-a顯示所有檔案,-l詳細列出檔案。

<2>mkdir:建目錄。

用法:mkdir dirname,參數:-p建多級目錄,如:mkdir a/b/c/d/e/f -p

<3>mount:挂載分區或鏡像檔案(.iso,.img)檔案。

39 ctrl+s與ctrl+q

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

40  看linux啟動時螢幕的顯示資訊

在啟動完後用指令dmesg檢視

41 如何配置讓哪些服務啟動

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

方法2 chkconfig --list 顯示服務

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

42 redhat和debian上的檔案安裝删除用法删除一個軟體包:

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 

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

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

44  檢視目前運作級别

runlevel

45  檢視目前登陸身份

(1)who am i

(2)whoami

(3)id

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

46  删除rpm -e删除不了的包

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

rpm -e --noscripts

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

rpm -e multi-installed-pkgs --allmatches

47  如何定制使用者登入時顯示的資訊

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

$cat /etc/motd

welcome to my server !

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

last login: thu mar 23 15:45:43 from *.*.*.*

48  用指令清空root資源回收筒中的檔案

cd /var/.trash-root

rm -rf *

49  如何解除安裝tar格式安裝的軟體

進入安裝該軟體的原代碼目錄,運作make uninstall。如果不行,也可以檢視一下makefile檔案,主要是看install部分,從其中找出tar格式的檔案被複制到了什麼路徑,然後進入相應的目錄進行删除即可。

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

可輸入下面的指令:

#dmesg >bootmessage

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

51 redhat 8.0上msn和qq

下載下傳gaim 0.58版:

gaim-0.58-2.i386.rpm

下載下傳qq插件 for gcc2.9版:

libqq-0.0.3-ft-0.58-gcc296.so.gz

将下載下傳的檔案放入/temp目錄,然後将系統中已有的gaim删除,即在終端仿真器中鍵入指令:rpm -e gaim。

開始安裝

打開終端仿真器,繼續執行下列指令安裝gaim 0.58版,即:

cd /temp         (進入temp目錄)

rpm -ivh gaim-0.58-2.i386.rpm (安裝軟體)

當安裝成功後,你就可以在gnome或kde桌面建立gaim圖示了。

繼續安裝qq插件,即鍵入指令:

gunzip libqq-0.0.3-ft-0.58-gcc296.so.gz (解壓縮檔案)

cp libqq-0.0.3-ft-0.58-gcc296.so /usr/lib/gaim (複制插件到gaim庫目錄中)

軟體設定

首次啟動gaim 0.85版時,會出現的登入界面。先選擇“插件”,在插件對話框中點選“加載”,分别将libmsn.so和libqq-0.0.3-ft-0.58- gcc296.so檔案裝入,确認後關閉。然後再選擇“所有帳号”,在出現的帳号編輯器中繼續點選“增加”,當出現的修改帳号頁面時,我們就可以輸入自己的qq或msn号了,登入名填寫qq号碼或msn郵箱,密碼填寫對應的qq或msn密碼,alias填寫自己的昵稱,協定選擇相應的qq或msn,其他的設定按預設的即可。當全部設定完成後就可以登入使用了。

由于ms對msn的協定經常更新,導緻linux上的gaim和msn插件必須更新,目前尚無萬無一失的解決方案,請見諒

52  改變sshd的端口(bjchenxu)

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

---改變telnet的端口(bjchenxu)

将/etc/services檔案中telnet對應的端口号21改為你想要的值,/etc/init.d/xinetd restart重新開機守護程序

---終端模式有問題(sakulagi)

export term=vt100

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

minicom

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

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

export tmout=1000000 (以秒為機關)

然後運作source .bash_profile

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

snort

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

cchecker或是efence庫都可以

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

tcpdump或者iptraf

53 如何得到網卡的mac位址(bjchenxu,hutuworm)

arp -a | awk '{print $4}'

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

---- 如何得到網卡的ip位址(mb)

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

---如何修改linux機器所在的工作組(hutuworm)

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

--- 一塊網卡如何綁定兩個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

--- 一個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

--- 192.168.1.0/24(雙眼皮的豬)

它與192.168.1.0/255.255.255.0是等價的,隻是表示方式不同....

--- linux下清空arp表的指令(netdc)

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

for host in `arp | sed '/address/d' | awk '{ print $1}'` ; do arp -d $host; done

--- 使用ntp協定從伺服器同步時間(netdc)

ntpdate ntp-server 例:ntpdate 172.16.2.1

--- host指令的用法(bjchenxu)

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

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

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

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

--- 立刻讓linux支援nat(platinum)

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

iptables -t nat -i postrouting -j masquerade

繼續閱讀