-
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 用户组管理
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
> 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