查看服务器侦听情况,使用:netstat -an | grep LISTEN
查看服务器已建立的连接,使用:netstat -an | grep ESTABLISHED
netstat -an|grep 80|wc -l
查看服务器已建立的连接,使用:netstat -an | grep ESTABLISHED
netstat -an|grep 80|wc -l
netstat -nlp|grep httpd
vmstat:显示当前的内存使用情况
ifconfig -a:查看所有网络设置信息
cat -n 文件 或是cat -A 文件
ls -l | grep ^d匹配目录
grep f$ 文件=cat 文件|grep f$ 查看以f 结尾的。
\{n\}用来匹配出现的次数。
awk -f选项(默认是空格)+‘命令’+文件
kernel 是系统的核心,它与硬件打交道,而shell是我们与kernel打交道的工具
df -a df -HT du -sh
dd把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转
例1:要把一张软盘的内容拷贝到另一张软盘上,利用/tmp作为临时存储区。把源盘插入驱动器中,输入下述命令:
vmstat:显示当前的内存使用情况
ifconfig -a:查看所有网络设置信息
cat -n 文件 或是cat -A 文件
ls -l | grep ^d匹配目录
grep f$ 文件=cat 文件|grep f$ 查看以f 结尾的。
\{n\}用来匹配出现的次数。
awk -f选项(默认是空格)+‘命令’+文件
kernel 是系统的核心,它与硬件打交道,而shell是我们与kernel打交道的工具
df -a df -HT du -sh
dd把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转
例1:要把一张软盘的内容拷贝到另一张软盘上,利用/tmp作为临时存储区。把源盘插入驱动器中,输入下述命令:
$ dd if =/dev/fd0 of = /tmp/tmpfile
拷贝完成后,将源盘从驱动器中取出,把目标盘插入,输入命令:
$ dd if = /tmp/tmpfile of =/dev/fd0
软盘拷贝完成后,应该将临时文件删除:
1,t 权限是粘着位,例:TMP目录下,任何人都有读写执行权限,但是不是任何人对里边的可写权限的文件就可以删除呢,当然不是了,这个就是粘着位的做用,只有所有者才有权删除自已的文件,当然,ROOT除外
2,关于文件安全的另一种权限,
i权限 也就是不可修改权限 例:chattr u+i aaa 则aaa文件就不可修改,无论任何人,如果删除就用u-i就好了
a权限 也就是只追加权限, 对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加。方法和i权限一样加
如果想要看某个文件是不是有这个权限,用lsattr filename就行了
目录的权限将会覆盖该目录中文件的权限
2,关于文件安全的另一种权限,
i权限 也就是不可修改权限 例:chattr u+i aaa 则aaa文件就不可修改,无论任何人,如果删除就用u-i就好了
a权限 也就是只追加权限, 对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加。方法和i权限一样加
如果想要看某个文件是不是有这个权限,用lsattr filename就行了
目录的权限将会覆盖该目录中文件的权限
$ rm /tmp/tmpfile
例3:将文件sfile拷贝到文件 dfile中。
例3:将文件sfile拷贝到文件 dfile中。
$ dd if=sfile of=dfile
fdformat 格式化软盘fdformat [-n] device
fdformat 格式化软盘fdformat [-n] device
VI
nG——跳转命令。n为行数,该命令立即使光标跳到指定行。
n 是跳N行,与nG有区别
dd删除正行
i、a、r——在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)
/abc向前查询abc
?abc向后查询abc
G 跳至文件尾
gg 跳至文件头
nG——跳转命令。n为行数,该命令立即使光标跳到指定行。
n 是跳N行,与nG有区别
dd删除正行
i、a、r——在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)
/abc向前查询abc
?abc向后查询abc
G 跳至文件尾
gg 跳至文件头
Ctrl+G——光标所在位置的行数和列数报告。
usermod -G wheel centospub ← 将一般用户 centospub 加在管理员组wheel组中
echo test | mail root ← 发送测试邮件给root
gunzip 来解压带gz结尾的文件。
wget +网址是个好东东。
yum -y install httpd ← 在线安装httpd
vi /etc/httpd/conf/httpd.conf
vi /var/www/html/index.html
要叫APACHE支持HTTPS,必须安装MOD-ssl.
vi /etc/sysconfig/iptables 修改防火墙规则。
usermod -G wheel centospub ← 将一般用户 centospub 加在管理员组wheel组中
echo test | mail root ← 发送测试邮件给root
gunzip 来解压带gz结尾的文件。
wget +网址是个好东东。
yum -y install httpd ← 在线安装httpd
vi /etc/httpd/conf/httpd.conf
vi /var/www/html/index.html
要叫APACHE支持HTTPS,必须安装MOD-ssl.
vi /etc/sysconfig/iptables 修改防火墙规则。
这个时候需要导入一个GPG-KEY
rpm --import /usr/share/rhn/RPM-GPG-KEY
part / --fstype ext3 --size 1 --grow --maxsize 20000
part swap --size 1 --grow --maxsize 2408
part /data --fstype ext3 --size 1 --grow
part swap --size 1 --grow --maxsize 2408
part /data --fstype ext3 --size 1 --grow
mysql:
yum -y install mysql-server
yum -y install php-mysql
vi /etc/my.cnf
mysql -u root
select user,host,password from mysql.user; ← 查看用户信息
set password for root@localhost=password('在这里填入root密码'); ← 设置root密码
set password for root@'sample.centospub.com'=password('在这里填入root密码'); ← 设置root密码
grant all privileges on test.* to centospub@localhost identified by '在这里定义密码'; ← 建立对test数据库有完全操作权限的名为centospub的用户
create database test; ← 建立名为test的数据库
use test ← 连接到数据库
create table test(num int, name varchar(50)); ← 在数据库中建立表
insert into test values(1,'Hello World!'); ← 插入一个值到表中
select * from test; ← 查看数据库中的表的信息
update test set name='Hello Everyone!'; ← 更新表的信息,赋予新的值
delete from test where num=1; ← 删除表内的值
drop table test; ← 删除表
show tables; ← 查看表信息
drop database test; ← 删除名为test的数据库
revoke all privileges on *.* from centospub@localhost; ← 取消centospub用户对数据库的操作权限
delete from mysql.user where user='centospub' and host='localhost'; ← 删除centospub用户
flush privileges; ← 刷新,使以上操作生效
mysqladmin的配置: mv phpMyAdmin-2.7.0-pl2/ /var/www/phpmyadmin
安装php-mbstring,让phpmyadmin能够正确识别字符串
改时间:
??date -s HH:MM:SS (更改时间,其中HH、MM、SS分别为时、分、秒)
clock -w(写入Cmos)
时间同步ntpdate ntp1.nl.net
clock -w(写入Cmos)
时间同步ntpdate ntp1.nl.net
定义非官方库:
vi /etc/yum.repos.d/dag.repo ← 建立dag.repo,定义非官方库
vi /etc/yum.repos.d/dag.repo ← 建立dag.repo,定义非官方库
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
[root@sample ~]# rpm --import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt ← 导入非官方库的GPG
yum list|more
你直接修改~/.bashrc文件/home/username/.bashrc来设置ALIAS。例如:
alias zm='cd /home/name/Desktop/'
alias zm='cd /home/name/Desktop/'
arp -s 网关IP 网关物理地址
CRON命令:
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
比如说root查看自己的cron设置:crontab -u root -l
比如说root查看自己的cron设置:crontab -u root -l
再例如,root想删除fred的cron设置:crontab -u fred -r
在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
这个格式的前一部分是对时间的设定,后面一部分是要执行的命令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:
分钟 (0-59)
小時 (0-23)
日期 (1-31)
月份 (1-12)
星期 (0-6)//0代表星期天
除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。以下举几个例子说明问题:
每天早上6点
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。
每两个小时
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 command line
1月1日早上4点
0 4 1 1 * command line
每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。
sudo 的使用
vi /etc/sudoers或是visudo都可以编写。
tcpdump命令:
查看日志:
645 more tv.2006-11-08.log.1 | grep 404
646 more tv.2006-11-08.log.1 | grep 404 | more
647 more tv.2006-11-08.log.1 | grep " 404 " | more
ps -ef | grep java
cd /var/www/cgi-bin/
ps -efL | grep java | wc -l
645 more tv.2006-11-08.log.1 | grep 404
646 more tv.2006-11-08.log.1 | grep 404 | more
647 more tv.2006-11-08.log.1 | grep " 404 " | more
ps -ef | grep java
cd /var/www/cgi-bin/
ps -efL | grep java | wc -l
/etc/hosts和/etc/resolv.conf查看dns.
ntp的配置:
rpm-qa|grep ntp
vi /etc/ntp.conf
chmod -R 700 /etc/rc.d/init.d/*
这样便仅有root可以读、写或执行上述所有脚本文件
如果你不想任何人能够用su作为root,可以编辑/etc/pam.d/su文件
1.阻止ping
如果没人能ping通你的系统,安全性自然增加了。为此,可以在/etc/rc.d/rc.local文件中增加如下一行:
echo 1>/proc/sys/net/ipv4/
icmp_echo_ignore_all
这样便仅有root可以读、写或执行上述所有脚本文件
如果你不想任何人能够用su作为root,可以编辑/etc/pam.d/su文件
1.阻止ping
如果没人能ping通你的系统,安全性自然增加了。为此,可以在/etc/rc.d/rc.local文件中增加如下一行:
echo 1>/proc/sys/net/ipv4/
icmp_echo_ignore_all
linux 下超级终端的用法:MINICOM
minicom -s 进入配置截面
1 minicom启动后,先按Ctrl+A键,再按Z键(注意不是连续按,Ctrl+A松开后才按Z),进入主配置界面
2 按“O”进入配置界面
3 按上下键选择Serial port setup,进入端口设置界面,这里有几个重要选项改为如下值:
(在Change which setting后按哪个字母就进入哪项的配置,如按A进行端口号配置。)
A————Serial Device :/dev/ttyS0 (端口号使用串口1)
E————BPS/par/bits :/115200 8N1 (波特率)
F,E硬件流,软件流都改为NO,若要使用PC 机的串口2 来接板子的串口1 做监控,改为:/dev/ttyS1即可。
4.选好后按ESC键退出,选择Save setup as df1保存退出,以后只要启动minicom就是该配置,无需再做改动。
iptraf是一款linux环境下,监控网络流量的一款绝佳的免费小软件,特别是安装到防火墙上,与iptables一起工作,监控流经防火墙的网络异常,效果非常好。
kernelpanic是内核恐慌的意思。
Netconsole是内核驱动中的一个module,可以将内核中的printk消息封装成UDP数据包发送到指定的的接收服务器上,这样可以大大方便我们对kernel panic情况的跟踪分析。
Netconsole是内核驱动中的一个module,可以将内核中的printk消息封装成UDP数据包发送到指定的的接收服务器上,这样可以大大方便我们对kernel panic情况的跟踪分析。
监控软件:
1 . nagios
2. ntop
3.AWStats
sed 和scp的用法:
Linux发展到今天,很多功能已经可以在可视化的界面中来完成。不过在很多情况下,命令还是非常有用的,特别是Linux系统管理员可以通过命令发送系统休息、布告栏信息、公共信息的方式与其他用户沟通。
设置登录提示
/etc/motd文件的用途
/etc/motd?即message?of?today(布告栏信息),每次用户登录时,/etc/motd文件的内容会显示在用户的终端。系统管理员可以在文件中编辑系统活动消息,例如:管理员通知用户系统何时进行软件或硬件的升级、何时进行系统维护等。如果shell支持中文,还可以使用中文,这样看起来更易于了解。/etc/motd?缺点是,现在许多用户登录系统时选择自动进入图形界面,所以这些信息往往看不到。
/etc/motd?即message?of?today(布告栏信息),每次用户登录时,/etc/motd文件的内容会显示在用户的终端。系统管理员可以在文件中编辑系统活动消息,例如:管理员通知用户系统何时进行软件或硬件的升级、何时进行系统维护等。如果shell支持中文,还可以使用中文,这样看起来更易于了解。/etc/motd?缺点是,现在许多用户登录系统时选择自动进入图形界面,所以这些信息往往看不到。
/etc/issue文件的用途
/etc/issue文件的使用方法与/etc/motd文件相差不大,它们的主要区别在于:当一个网络用户或通过串口登录系统上时,/etc/issue的文件内容显示在login提示符之前,而/etc/motd内容显示在用户成功登录系统之后。
/etc/issue文件的使用方法与/etc/motd文件相差不大,它们的主要区别在于:当一个网络用户或通过串口登录系统上时,/etc/issue的文件内容显示在login提示符之前,而/etc/motd内容显示在用户成功登录系统之后。
使用write命令
用户可以使用write命令给其他在线用户发送消息。格式:
#write username [tty]
#write username [tty]
在Shell提示符号输入write,username指接受发送信息的用户名。如果一个用户多次登录到系统, tty参数指定要发送的终端。使用write发送信息的前提条件是该用户已经登录到系统。否则会出现以下提示:
#write cjh
write:cjh is not logged in
#write cjh
write:cjh is not logged in
可以使用who命令查询登录用户名称。接着可以输入要发送的信息。当输入完毕后,键入EOF表示信息结束,用Crtl+D组合键发送信息。输入内容会出现在用户的屏幕上,同时通信中止。
如果在网络上可以使用write命令在username后加入主机名称或域名,建立网络通信。如果要和cao主机上的bj用户通信使用命令:
#write bj@cao
如果在网络上可以使用write命令在username后加入主机名称或域名,建立网络通信。如果要和cao主机上的bj用户通信使用命令:
#write bj@cao
可以使用rusers命令列出所有局域网上的登录用户。
wall命令
如果想要发送一条信息给系统中所有用户,可以使用wall命令,wall表示:write all。输入wall,然后编辑信息,如果shell支持可以使用中文。然后使用Crtl+D组合键发送信息。这样系统所有登录用户的桌面会收到信息。如果在网络上,可以使用rwall命令把信息发送到局域网上所有的用户。
talk命令
talk命令可以和另一个登录系统用户实现双向对话。系统管理员输入信息,用户也可以输入自己的信息。双方都可以看到交流时的屏幕信息。格式:
#talk username
#talk username
一个例子:
#talk b
#talk b
对方屏幕显示:
Message from Talk_Daemon@www.cao.com at 7:18 ...
talk: connection requested by b@www.cao.com.
talk: respond with: talk b@www.cao.com
然后进入talk分屏界面,双方输入的信息。会出现的对方的屏幕。
Message from Talk_Daemon@www.cao.com at 7:18 ...
talk: connection requested by b@www.cao.com.
talk: respond with: talk b@www.cao.com
然后进入talk分屏界面,双方输入的信息。会出现的对方的屏幕。
用户完成会话后使用Crth+C断开连接。和write一样可以使用在username后加入主机名称或域名,建立网络会话连接。
mesg 命令
用户可以阻止其他用户给自己发送消息打断工作,使用mesg n命令禁止其他用户发送消息。当别人试图再使用write给他发送信息时,发送者将会看见提示:
用户可以阻止其他用户给自己发送消息打断工作,使用mesg n命令禁止其他用户发送消息。当别人试图再使用write给他发送信息时,发送者将会看见提示:
#write: user has messages disabled on pts/n?
但是超级用户可以给任何用户发送消息,即使用户使用mesg n命令。要恢复接受信息输入:
mesg -y
mesg -y
Linux服务器运行的软件主要是开源软件,而且都在不停升级,稳定版和测试版交替出现。如果你是一个Linux网管员,你经常需要上相应的网站看,是否有补丁,是否有了bug fix,是否需要升级。网络管理员还要给用户提供安全服务。对用户要定期发送安全信息,是让用户具有安全意识。通过使用以上命令可以更好帮助管理用户。
硬连接指向的是节点(inode),而软连接指向的是路径(path)
硬链接文件有两个限制
1、不允许给目录创建硬链接;
2、只有在同一文件系统中的文件之间才能创建链接。
对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。这时,系统就“忘记”了它曾经是硬链接文件。而把他当成一个普通文件。修改其中一个,与其连接的文件同时被修改
硬连接这一方面能够节约大量磁盘空间,同时可以保证两个文件能同步更新。
而复制就不一样。
2、只有在同一文件系统中的文件之间才能创建链接。
对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。这时,系统就“忘记”了它曾经是硬链接文件。而把他当成一个普通文件。修改其中一个,与其连接的文件同时被修改
硬连接这一方面能够节约大量磁盘空间,同时可以保证两个文件能同步更新。
而复制就不一样。
可以使用命令“whereis 命令名”来查找其路径。
SUDO的使用:
liming ALL=(ALL) ALL
这个条目使得用户liming作为超级用户访问所有应用程序,如用户liming需要作为超级用户运行命令,他只需简单地在命令前加上前缀sudo。因此,要以root用户的身份执行命令format,liming可以输入sudo /usr/sbin/useradd sam
SUDO的使用:
liming ALL=(ALL) ALL
这个条目使得用户liming作为超级用户访问所有应用程序,如用户liming需要作为超级用户运行命令,他只需简单地在命令前加上前缀sudo。因此,要以root用户的身份执行命令format,liming可以输入sudo /usr/sbin/useradd sam
如果您想对一组用户进行定义,可以在组名前加上%,对其进行设置,如:
%cuug ALL=(ALL) ALL
%cuug ALL=(ALL) ALL
- 上一篇:linux lvs and heartbeat
- 下一篇:tcpdump
发表评论: