天天看点

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 把弹出的光盘收回来

#eject -t

09 cd光盘做成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

继续阅读