-
1 网络相关配置
1.1 修改主机名
/etc/sysconfig/network(文件)
NETWORKING_IPV6=no
NETWORKING_IPV4=yes
HOSTNAME=localhost.localdomain /* 主机名定义,将localhost改成你对应的主机名,如bea */
DOMAINNAME=localdomain
GATEWAY=192.168.0.1
/etc/hosts(文件,定义ip和主机名对应关系)
该文件改后为:重启后生效
1.2 IP设置
临时修改可以使用如下命令:
更改ip后,如果没有重启服务,实际上是不发生变化的。
重启网络服务的命令是:
#有时你可能需要用到如下的命令
#停用网络设备
ifconfig eth0 down
#启用网络设备
ifconfig eth0 up
如想永久性的修改ip,则可以通过如下的两种途径来解决,两种途径任选一种即可。
<a>输入命令来配置ip,命令为:
<b>或者直接编辑文件。
/etc/sysconfig/network/ifcfg-ethX (SuSE)
/etc/network/ interfaces (Debian和Ubuntu)
文件内容如下:
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
TYPE=ethernet
NETMASK=255.255.255.0
IPADDR=192.168.0.1
GATEWAY=192.168.0.1
BROADCAST=192.168.0.255
b.DHCP:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
1.3 dns设置
/etc/resolv.conf文件,该文件内容如下:
domain 21php.com /*指定默认的域,可不要*/
nameserver 11.0.0.1 /*指定了dns服务器的地址,你可以最多写上三个地址,作为前一个失败时的候选dns服务器*/
修改后使用
/etc/rc.d/init.d/named restart
使修改生效--(注:fc6下该命令貌似无效,修改文件后即可生效)
1.4 其它相关文件说明
1.4.1 /etc/hosts 文件
127.0.0.1 localhost.localdomain localhost
/*定义了主机名和ip地址的对应,其中也有将要运行dns这台电脑的ip地址和主机名*/
1.4.2 /etc/host.conf 文件
"order hosts bind"语句,指定了对主机名的解析顺序是先到hosts中查找,然后到dns服务器的记录里查找。
"multi on"则是允许一个主机名对应多个ip地址。内容:
order hosts, bind
multi on
nospoof on
1.4.3 /etc/resolv.conf 文件
domain 21php.com /*指定默认的域*/
nameserver 11.0.0.1 /*指定了dns服务器的地址,你可以最多写上三个地址,作为前一个失败时的候选dns服务器*/
1.4.4 /etc/named.boot 文件
早期版本的bind软件使用的配置文件,现在新版本中已经让位于“named.conf”。named.conf是dns server配置的核心文件。
1.4.5 /etc/sysconfig/static-routes 文件
静态路由配置文件,格式如下:
eth0 net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1
eth1 net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
可以用如下命令添加
route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1 eth0
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 eth1
2 vi使用技巧
h: 左移一个字符 j: 下移一个字符 k: 上移一个字符 l: 右移一个字符
i: 从指令模式进入文本插入编辑模式 "x":指令模式下删除某个字符 "dd":指令模式下删除一行
esc:返回指令模式 ":q!":指令模式下不保存退出
":wq":指令模式下保存退出 ":wq!":指令模式下强制保存退出 "/ok":在文本中查找ok字符串
":&":指令模式下到文本的最后一行 "空格":文本翻页
u : 撤销操作一次
通过 less 和 more 也可以查看 文本文件
3 进程查看
top
# 在进程中查找包含tomcat字段的进程
ps -ef | grep tomcat
# 显示所有进程
ps -aux
# 分页显示所有进程
ps -aux|more
4 网络情况查看
netstat -antp /*查看所有的端口*/
netstat -antp |grep mysql /*查看mysql开启的端口*/
5 setnumber
给文件加入行号,通过:number,如:2 ,进入第二行。
6 软件下载
wget http地址
7 软件包处理
rpm -qa /**//*查找所有的软件包*/
rpm -qa|grep mail /**//*查找含有mail字符的软件包*/
rpm -e **/**//*卸载掉某某软件包*/
rpm -ivh **/**//*安装某某软件包*/
rpm -ql **| cat -n /**//*软件包安装信息查看*/
在Linux中使用RPM升级软件包和安装软件包类似,只要在 shell 提示下键入以下命令即可:
#rpm -Uvh foo-2.0-1.i386.rpm
你在上面的例子里看不到的是,RPM 自动删除 foo 软件包的任何老版本。事实上,你可能想一直使用 -U 来安装软件包,因为即便没有安装软件包的任何先前版本,它也可以用来安装该软件包。
rpm -e --nodeps java-1.4.2-gci... /*忽略依赖卸载软件包*/
8 当第一次可以正常安装软件,再一次安装时报错时,可以用
#清空缓存后,再次编译安装
make clean
补充:
1.make
根据makefile制定的规则,将c\c++文件编译成*.o文件,然后进一步生成可执行文件。
2.make clean
删除源代码(C\C++ code)生成的执行文件和所有的中间目标文件
3.make depend
一种makefile的规则,通过扫描各个目录下的所有C\C++ 代码,从而判断出文件之间的依赖关系,如a.cc文件中调用了b.h(如以形势include<b.h>),如果之后a.cc文件被改动,那么只需要重新编译a.cc文件,不需要编译b.h文件。否则所有的文件都需要重新编译
9 如何安装更新linux 软件包
通过软件包管理工具是最好的途径,软件包管理工具有
yum(http://ayo.freshrpms.net/ 下载对应版本)是RPM软件包来管理软件。
apt-get则是Debian的Deb软件包管理工具
yum 用法:
yum info 软件名 /**//*查看软件包的详细信息*/
yum list |grep kernel /**//*查找kernel的软件包*/
yum update firefox /**//*更新firefox*/
yum remove bmp-mp3 /**//*移除bmp-mp3*/
man yum /**//*yum命令详细信息查看*/
shell> useradd moonson
#给moonson用户设置密码,根据出来的提示走就好了
shell> passwd moonson
#修改用户moonson,可以修改登录名、用户的家目录等等
shell> usermod moonson
#删除用户moonson,如果想同时删除用户对应的目录,请加入参数-r
shell> userdel -r moonson
#注销用户
首先用w命令查看该用户tty号,然后用fuser -k tty号(或显示pts/*)就可以踢出了
#注销当前用户快捷键
Ctrl+Alt+Backspace
#查看系统用户
查看/etc/passwd文件即可。看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户.
11 时间与时区
11.1 时间设置
date -s 2004/10/16
#将系统时间设定成下午1点12分0秒的命令如下。
date -s 13:12:00
注意,这里说的是系统时间,是linux由操作系统维护的。在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性, Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。
clock -w
# 这个命令强制把系统时间写入CMOS。
#通过网络校对时间,“0.fedora.pool.ntp.org”为fedora的时间服务器
#其他时间服务器还有:
#“1.fedora.pool.ntp.org”
#“2.fedora.pool.ntp.org”
ntpdate 0.fedora.pool.ntp.org
11.2 时区设置
vi /etc/sysconfig/clock
#修改设置时区
#方法(1)
tzselect
#方法(2 仅限于RedHat Linux 和 CentOS)
timeconfig
#复制相应的时区文件,替换系统默认时区
cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
#对于中国服务器则执行:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#将当前时间写入BIOS永久生效(避免重启后失效)
hwclock -w
#读取bios中的硬件时间
hwclock -r
12 挂载ntfs分区
12.1 运行:
#yum install ntfs-3g
12.2 以root身份新建文件 /sbin/mount.ntfs,该文件代码为:
#!/bin/sh export LANG=en_US.UTF-8 exec /sbin/mount.ntfs-3g "$@"
然后赋予该文件执行权限:
#chmod a+x /sbin/mount.ntfs
12.3 #尝试挂载本地ntfs,先查看分区信息:
#/sbin/fdisk -l
然后在/mnt目录下建立一个文件夹,用来存放挂载的NTFS分区:
#mkdir /mnt/c
然后挂载:
#mount -t ntfs-3g -o nls=utf8,umask=000 /dev/hda1 /mnt/c
依次添加就是了.
12.4 自动挂载,在/etc/fstab中加入类似:
/dev/hda1 /mnt/c ntfs-3g defaults 0 0
依此添加就OK了.
12.4 卸载分区
#umount /mnt/c
依此卸载就可以了
12.5 常用挂载方式
mount /dev/cdrom /mnt/cdrom
#挂载u盘
#查看要挂载的设备信息
fdisk -l
#挂载设备
mount /dev/XX /mnt/U
#挂载iso文件
mount -o loop /root/rhel5.1-dvd.iso /mnt/dvd
#卸载已挂载的设备
umount /mnt/cdrom
13 目录文件操作
rm -rf 文件名 /**//*删除文件或目录*/
mkdir 文件名 /**//*创建文件或目录*/
14 最大连接数
ulimit -a /**//*查看连接数*/
ulimit -n 8192 /**//*修改最大连接数*/
15 远程拷贝
scp ./zabbix-1.4.6.tar.gz(要拷贝的文件路径) root@192.168.0.221:/root(远程电脑的位置)
16 权限修改
17 环境变量的配置
在/etc/profile文件最下面添加
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
18 文件加解压
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解包的意思
对于.rar
要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,但要记住,RAR for Linux
不是免费的;然后安装:
# tar -xzpvf rarlinux-3.2.0.tar.gz
# cd rar
# make
这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
<1>将当前目录下所有mp3文件压缩成一个名为music.rar的包。
#rar a music.rar *.mp3
<2>解开music.rar到当前目录(不保留目录结构)
#unrar e music.rar
<3>解开music.rar到当前目录(保留目录结构)
#unrar x music.rar
19 引导区设置
/boot/grub/grub.conf
20 命令化名(别名)配置
Linux alias文件的配置.账户根目录下的.bashrc文件
root用户:/root/.bashrc
zjs用户:/home/zjs/.bashrc
编辑这个文件,如 添加
alias vi='vim' /**//* 注意哦,在修改vi时要保证vim命令存在,否则你的vi命令在修改后就不能用了 */保存退出后,注销再登录,输入“vi”就相当于执行了“vim” 。
当然 由于对cp来说,可以通过 \cp ,c\p, "cp", 'cp', "c"p 在消除alias的影响
因此对alias中其它的设置来说,应该也可以通过类似的方式来消除alias的影响
21 开机启动项的配置
在/etc/rc.local文件中输入即可
22 文件拷贝
cp -rf 文件1 文件2 /*将文件1拷贝到文件2,-r代表拷贝子目录,-f代表强制掩盖,不询问*/
小提示:由于fc6默认时会有 化名配置:alias cp='cp -i' ,-i代表掩盖有提示
因而你会发现使用cp -rf 拷贝文件仍然会有提示,此时你将.bashrc文件里的该项注释掉就好了
当然如果你只是拷贝一次的话,也可以通过\cp -rf 文件1 文件2 ,来暂时完成拷贝
23 文件搜索
find / -name zabbix -print /*在/及其子目录下查找包含zabbix的文件及文件夹,-print代表输出*/
find / -iname zabbix* -print /*在/及其子目录下查找包含zabbix(不区分大小写)的文件及文件夹,-print代表输出*/
24 软硬件信息查看
dmesg
和 查看 /proc下面的相关信息
25 文件信息查看
#less /var/log/ha-log /*简要显示ha-log文件的内容*/
#tail -f /var/log/ha-log /*显示ha-log文件的最后内容,且实时更新*/
set nu
但是,每一次你都需要执行此命令才能显示行号。
所以,如果你想默认的在启动vim的时候就显示行号,你可以编辑VIM安装目录下面的_vimrc文件
在开头添加
set nu
就可以了。以后每次在启动vim的时候,就会自动地显示行号。
对于fc6,该文件位于/etc/vimrc
<Esc>退出视图模式
在Ctrl+v 后:
<Dollar>+ A在块的每行末尾添加
I 插入
y 块抽取 p 块粘贴
c 修改
cat ha.cf | grep -v "#"
./run.sh &
30 init 解释
init 1:单用户形式,只root进行维护
init 2:多用户,不能使用net file system
init 3:完全多用户
init 5:图形化
init 6:重启
31 防火墙配置
vi /etc/sysconfig/iptables
#如果要开放哪个端口,在里面添加一条。
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
#就可以了,其中 1521 是要开放的端口号,然后重新启动linux的防火墙服务。
#停止,启动防火墙
service iptables stop --停止
service iptables start --启动
(service命令位于/sbin)
#重启后自动开启
chkconfig iptables on
#重启后不开启
chkconfig iptables off
32 磁盘信息查看
33 日志配置
系统日志请查看文件/etc/syslog.conf
34 系统硬盘找不到时的处理
bios 中设置 或者
安装 linux时使用 linux dd进行安装,来加载第三方驱动 或者
硬盘没划分,需要先划分一下硬盘
35 shell中上下翻页
上翻页:shift+PgUp
下翻页:shift+PgDn
36 在目录下查找对应的字符串
#查找字符串时可以使用'\'来代表符号
grep -r -n '\$look' *
#在当前目录及其子目录中查找字符串$look,输出时显示行号
grep -r -n -i 'look' *
#在当前目录及其子目录中查找字符串look,忽略大小写,输出时显示行号
37 方便的两个命令
nano a.txt
#用于浏览web的工具
links http://www.google.com/
38 shell中以某个用户的身份运行一条命令
在控制台中以某个用户的身份运行一条命令可以用
#例如
su -c './zabbix_agentd -c zabbix_agentd_linux.conf' zabbix
su -c ./run.sh zabbix
su会提示你输入密码,而且密码只能从键盘以交互式输入,不支
持重定向。
39 获取系统版本信息
40 windows linux 文件格式转换
>dos2unix 文件名
unix2dos
>unix2dos 文件名
41 selinux 禁用
>vi /etc/selinux/config
#将其中的SELINUX=enforcing改为SELINUX=disabled
42 用mv取代rm,将删除文件放入自己的回收站
>vi /root/.bashrc
#将alias rm='rm -i'改为
#alias rm='mv -t /root/.trash'
#2.到用户路径下创建.bashrc文件夹
>mkdir /root/.trash
43 用户组管理
>groupadd redhats
#删除组,如
>groupdel redhats
#修改组,如
>groupmod redhats
#将用户加入组
#修改/etc/group文件,如将hh用户添加到system组:
#直接在第一行system:*:0:root后添加",hh"就行了
44 selinux关闭
执行命令:setenforce 0
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
2.永久关闭
修改文件:vi /etc/sysconfig/selinux
SELINUX=disabled
45 磁盘管理
=============5:查看目标节点存储设备信息,并创建磁盘分区
找到要挂载的盘:
#fdisk -l
创建磁盘分区:
#fdisk /dev/sdb
"n"创建分区
"w"写入分区信息
=============6.格式化设备(格式化会清空所有数据,请确保所有数据为不再需要的数据)
mkfs.ext3 /dev/sde
mkfs -t ext3 /dev/sde
=============7.挂载设备
mount -t ext3 /dev/sde /mnt/iscsi
=============8.检查是否挂载成功
#df -h
补充:需要系统启动时自动挂接,需要编辑/etc/fstab,加入如下行:
/dev/sde /mnt/iscsi ext3 defaults 0 0
=============9.Linux 下查找大于100M的文件
find . -type f -size +1000000k
=============10.查看当前目录下,每个文件、文件夹所占大小。
du -h --max-depth=1 .
46 断开会话,中断用户
查看用户连接 who 断开远程用户 X为who查看到的tty序号 fuser -k /dev/pts/X 断开本地用户 X为who查看到的tty序号 fuser -k /dev/ttyX