下面小编为大家带来Linux下磁盘管理du命令使用说明linux操作系统(共含10篇),希望大家喜欢!同时,但愿您也能像本文投稿人“蝎子菜菜”一样,积极向本站投稿分享好文章。
du命令是linux中一个常用的命令,它可以很好的对机器的磁盘进行管理,du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况,统计目录(或文件)所占磁盘空间的大小,下面我来介绍用法,
功能:统计目录(或文件)所占磁盘空间的大小。
语法:du [选项][文件或目录]
参数:
-s:对每个Names参数只给出占用的数据块总数。
-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)。
-k:以1024字节为单位列出磁盘空间使用情况。
-c:最后再加上一个总计(系统默认设置)。
-l:计算所有的文件大小,对硬链接文件,则计算多次。
-x:跳过在不同文件系统上的目录不予统计。简单实例:
[yanue@server www]$ du -h --max-depth=1
676K ./avatar
7.9M ./wp-includes
6.4M ./wp-admin
18M ./wp-content
33M .使用实例:
实例1. 显示目录或者文件所占空间
du [文件或目录]实例2:显示多个文件所占空间
du [文件或目录] [文件或目录]实例3:显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和
du -c [文件或目录] [文件或目录]实例4:按照空间大小排序
du|sort -nr|more
用法实例:
1> 要显示一个目录树及其每个子树的磁盘使用情况
du /home/linux
这在/home/linux目录及其每个子目录中显示了磁盘块数。
2> 要通过以1024字节为单位显示一个目录树及其每个子树的磁盘使用情况
du -k /home/linux
这在/home/linux目录及其每个子目录中显示了 1024 字节磁盘块数。
3> 以MB为单位显示一个目录树及其每个子树的磁盘使用情况
du -m /home/linux
这在/home/linux目录及其每个子目录中显示了 MB 磁盘块数。
4> 以GB为单位显示一个目录树及其每个子树的磁盘使用情况
du -g /home/linux
这在/home/linux目录及其每个子目录中显示了 GB 磁盘块数。
5>查看当前目录下所有目录以及子目录的大小:
du -h .
“.”代表当前目录下。也可以换成一个明确的路径
-h表示用K、M、G的容易让人理解的单位显示
6>查看当前目录下user目录的大小,并不想看其他目录以及其子目录:
du -sh user
-s表示总结的意思,即只列出一个总结的值
du -h –max-depth=0 user
–max-depth=n表示只深入到第n层目录,此处设置为0,即表示不深入到子目录。
7>列出user目录及其子目录下所有目录和文件的大小:
du -ah user
-a表示包括目录和文件
8>列出当前目录中的目录名不包括xyz字符串的目录的大小:
du -h –exclude=’*xyz*’
9>想在一个屏幕下列出更多的关于user目录及子目录大小的信息:
du -0h user
-0(杠零)表示每列出一个目录的信息,不换行,而是直接输出下一个目录的信息。
10>只显示一个目录树的全部磁盘使用情况
代码如下复制代码[maple@linux ~]$
[maple@linux ~]$ du
8 ./test/links
8 ./test/dir/subdir1
8 ./test/dir/subdir2
20 ./test/dir
160 ./test
108 ./test2
1492 .
[maple@linux ~]$
[maple@linux ~]$ du -0
8 ./test/links8 ./test/dir/subdir18 ./test/dir/subdir220 ./test/dir160 ./test108 ./test21492 .[maple@linux ~]$ du -c
8 ./test/links
8 ./test/dir/subdir1
8 ./test/dir/subdir2
20 ./test/dir
160 ./test
108 ./test2
1492 .
1492 total
[maple@linux ~]$
[maple@linux ~]$ du -h
8.0K ./test/links
8.0K ./test/dir/subdir1
8.0K ./test/dir/subdir2
20K ./test/dir
160K ./test
108K ./test2
1.5M .
[maple@linux ~]$
[maple@linux ~]$ du -k
8 ./test/links
8 ./test/dir/subdir1
8 ./test/dir/subdir2
20 ./test/dir
160 ./test
108 ./test2
1492 .
[maple@linux ~]$
[maple@linux ~]$ du -sh
1.5M .
[maple@linux ~]$
[maple@linux ~]$ du -S
8 ./test/links
8 ./test/dir/subdir1
8 ./test/dir/subdir2
4 ./test/dir
132 ./test
108 ./test2
1224 .
[maple@linux ~]$
[maple@linux ~]$ du -Sh --exclude=“sub*”
8.0K ./test/links
4.0K ./test/dir
132K ./test
108K ./test2
1.2M .
[maple@linux ~]$
[maple@linux ~]$ du -h
8.0K ./test/links
8.0K ./test/dir/subdir1
8.0K ./test/dir/subdir2
20K ./test/dir
160K ./test
108K ./test2
1.5M .
[maple@linux ~]$
补充说明:du会显示指定的目录或文件所占用的磁盘空间,
参 数:
-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-D或--dereference-args 显示指定符号连接的源文件大小。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
-k或--kilobytes 以1024 bytes为单位。
-l或--count-links 重复计算硬件连接的文件。
-L<符号连接>或--dereference<符号连接> 显示选项中所指定符号连接的源文件大小。符号连接>符号连接>
-m或--megabytes 以1MB为单位。
-s或--summarize 仅显示总计。
-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。文件>文件>文件>
--exclude=<目录或文件> 略过指定的目录或文件。目录或文件>
--max-depth=<目录层数> 超过指定层数的目录后,予以忽略。目录层数>
--help 显示帮助。
--version 显示版本信息。
Windows 2003磁盘管理使用说明 本文介绍了如何在安装系统后,使用 windows 的磁盘分区功能划分尚未划分的磁盘空间 1.计划好硬盘分几个区,比如硬盘总共分3个区(包括C盘),则将光驱盘符改为F盘 点击查看大图 点击查看大图 点击查看大图 2.更改光驱盘符后划
Windows2003磁盘管理使用说明
本文介绍了如何在安装系统后,使用windows的磁盘分区功能划分尚未划分的磁盘空间
1.计划好硬盘分几个区,比如硬盘总共分3个区(包括C盘),则将光驱盘符改为F盘
点击查看大图
点击查看大图 点击查看大图 2.更改光驱盘符后划分剩余的磁盘空间,首先将所有剩余空间划分为扩展磁盘
点击查看大图 点击查看大图 点击查看大图 点击查看大图 点击查看大图 3.在扩展磁盘中划分逻辑磁盘,并重复此过程直到所有分区完成
NOTE:我们建议将所有分区格式都设置为NTFS,并执行快速格式化
点击查看大图 点击查看大图 点击查看大图 点击查看大图 点击查看大图 点击查看大图 点击查看大图 4.所有分区完成后,会有类似下图的屏幕出现,至此win2003磁盘分区完成
点击查看大图
原文转自:www.ltesting.net
copy在英文中是复制的意思,所谓复制就是原来的文件并没有任何改变,重新产生了一个内容和原来文件没有任何差别的文件,下面是copy命令的格式及及该注意的一些问题:
现在让我们来看一个例子,根目录下有一个文件叫做autoexec.bat,如果我们想将它复制一份叫做autoexec.old,就可以输入:copy autoexec.bat autoexec.old 键入dir ,除原有的autoexec.bat文件外,出现了一个autoexec.old文件,而且这两个文件的大小都一样。
如果我们想把dos目录下的edit.com复制到当前目录,就从键盘上敲入:copy c:dosedit.com (注意,省略了目的目录名和文件名),源文件名是C盘根目录下dos目录中的edit.com文件,
在这里指出了所在的驱动器及目录,而目的文件被省略了,这表示将文件复制到当前目录中,名字不变,也是edit.com。
如果你想把文件复制到另一个驱动器,比如说复制到A盘上,可以输入:copy edit.com a: (得记住往A驱动器里插磁盘哦)。
copy命令也可以使用通配符,例如要复制A盘上以K开头的所有文件,可以输入copy a:k*.*,如果要复制C盘根目录下所有扩展名是bat的文件到zht目录里,可以输入copy c:*.bat c:zht。 本文发表于bianceng.cn(学电脑)
复制文件的主要目的有两条,一是为重要的文件作一个备份,以免被删除后追悔莫及;二是在不同计算机之间交换信息,你可以将你的工作成果复制到软盘上,交给你的上司、同事,也可以把它带回家里。 最后要提一句的是,拷贝文件和复制文件是没有任何区别的,拷贝是copy的音译。
本文章来给各位同学详细介绍关于Linux系统下安装rz/sz命令及使用说明,有需要了解的朋友可进入参考,
对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地
,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令。今天,我
们就简单的讲解一下如何安装和使用rz、sz命令。
1.软件安装
root 账号登陆后,依次执行以下命令:
cd /tmp
wget www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
tar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20
./configure && make && make install
上面安装过程默认把lsz和lrz安装到了/usr/local/bin/目录下,现在我们并不能直接使用,下面创建软
链接,并命名为rz/sz:
cd /usr/bin
ln -s /usr/local/bin/lrz rz
ln -s /usr/local/bin/lsz sz
2.使用说明
sz命令发送文件到本地:
# sz filename
rz命令本地上传文件到服务器:
# rz
执行该命令后,在弹出框中选择要上传的文件即可,
说明:打开SecureCRT软件 -> Options -> session options -> X/Y/Zmodem 下可以设置上传和下载的
目录。
一.fdisk命令
fdisk是磁盘分区命令,详细命令的使用可查看相关文档
使用命令fdisk -l查看当前磁盘的分区状态
二.df命令df 是来自于coreutils 软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置;
举例:
从图中我们可看到磁盘的容量,已经使用的,可用的,已使用的百分比以及磁盘分区的挂载点其它的参数请参考 man df
定时任务常用的一个功能,详细如下:
服务的启动和停止
cron服务是linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:
Linux代码
/sbin/service crond start
/sbin/service crond stop
/sbin/service crond restart
/sbin/service crond reload
以上1-4行分别为启动、停止、重启服务和重新加载配置。
要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start 即可。
查看、编辑和删除
cron把命令行保存在crontab(cron table)文件里,这个文件通常在 /etc 目录下。每个系统用户都可以有自己的crontab(在 /var/spool/cron/ 下)。
file 使用file文件的内容作为某个用户的cron服务配置,内容会复制到cron服务的配置文件中
-u 设定某个用户的cron服务配置,一般root 用户在执行这个命令的时候需要此参数
-l 列出某个用户cron服务配置
-r 删除某个用户的cron服务配置
-e 编辑某个用户的cron服务配置,当指定crontab 不存在时新建,将使用vi打开配置文件进行编辑保存后退出,文件语法见后
crontab –v 显示上一次编辑的时间(只在某些操作系统上可用)
如当前是root身份,要查看/编辑/删除/某用户的crontab,只需在相应的命令后加上 -u USERNAME (如 crontab -e -u USERNAME )即可。
crontab文件的默认编辑器是vi,可以输入 export VISUAL=’editor’ 更改默认编辑器。
cron服务每分钟不仅要读一次 /var/spool/cron 目录内的所有文件,还需要读一次 /etc/crontab 文件。配置这个文件也能让cron执行任务。使用crontab命令是对用户级任务的配置,而编辑 /etc/crontab 文件是对系统级任务的配置。
语法说明
每行表示一个指令,即表示一项计划任务;每行由空格分隔的六个部分组成,前5部分表示定时任务的执行时间,剩余部分为定时任务要执行的命令,格式如下:
分 小时 日 月 星期 命令
Minute Hour Day Month DayOfWeek command
Minute 每个小时的第几分钟执行该任务,0-59
Hour 每天的第几个小时执行该任务,0-23
Day 每月的第几天执行该任务,1-31
Month 每年的第几个月执行该任务,1-12
DayOfWeek 每周的第几天执行该任务,0-6,0表示周日
Command 指定要执行的程序
以上前五项可使用以下四个特殊符号:
* 表示所有数值,如第一位使用* 表示每分钟
/ 表示每,如第一位使用 */5 表示每5分钟
- 表示数值范围,如第二位使用2-4表示2点到4点
, 表示离散的多个数值,如第2位使用6,8 表示6点和8点
指定“步长”:8-14/2 表示8,10,12,14
指定列表:比如 “1,2,3,4″,”0-4,8-12″
在每行的六项字段中,除了Command是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。
1)除去前五段,从第六段开始到换行符或者“%”为止,为要执行的命令。
2)默认第六段将被/bin/sh执行,除非在crontab文件中指定了非/bin/sh的SHELL变量。
3)第六段中的”%”号,除非前面加””号转交,否则,“%”号将结束命令行、换行的意义,并且其后的内容会被做为标准输入发送给前面的命令。
名称 : crontab
使用权限 : 所有使用者
使用方式 :
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
举例如下:
Every minute (* * * * *)
Every 5 minutes (*/5 * * * *)
Twice an hour (0,30 * * * *)
Once an hour (0 * * * *)
Twice a day (0 0,12 * * *)
Once a day (0 0 * * *)
Once a week (0 0 * * 0)
1st and 15th (0 0 1,15 * *)
Once a month (0 0 1 * *)
Once a year (0 0 1 1 *)
Linux代码
5 * * * * ls > /var/log.txt 指定每小时的第5分钟执行一次ls命令,并将结果保存到/var/log.txt文件
30 5 * * * ls 指定每天的 5:30 执行ls命令
30 7 8 * * ls 指定每月8号的7:30分执行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令
30 6 * * 0 ls 指定每星期日的6:30执行ls命令 [注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令 [注:“,”用来连接多个不连续的时段]
25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令 [注:“-”用来连接连续的时段]
*/15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令]
30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令,
]
cron配置文件
使用crontab命令添加完成计划任务后会在/var/spool/cron目录中生成一个用户名字的文件,文件里面就是你的计划任务,cron服务会每分钟读取一次/var/spool/cron 中的文件。
系统计划任务
还有一种方法可以添加计划任务,编辑/etc/crontab (cron服务每分钟也读取一次/etc/crontab文件。
用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:
Linux代码
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号
HOME=/ //使用者运行的路径,这里是根目录
# run-parts
#每小时执行/etc/cron.hourly内的脚本
01 * * * * root run-parts /etc/cron.hourly
#每天执行/etc/cron.daily内的脚本
02 4 * * * root run-parts /etc/cron.daily
#每星期执行/etc/cron.weekly内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly
#每月去执行/etc/cron.monthly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly
注意”run-parts”这个参数,如果去掉这个参数的话,后面就要写要运行的某个脚本名,而不是文件夹名。例如:11 2 21 10 * rm -rf /mnt/fb
以下是两个cron语句的例子(在 /etc/crontab 文件里)。前者用来晚间备份 /etc 目录,后者运行Analog程序处理服务器的统计信息。
Linux代码
12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1
52 5 * * * root /usr/local/src/analog-5.32-lh/analog >> /dev/null 2>&1
以下是cron语句中的字段与字段说明:
字段 说明
1 分钟(0-59)
2 小时(0-23)
3 日期(1-31)
4 月份(1-12;或英文缩写Jan、Feb等)
5 周几(0-6,0为周日;或单词缩写Sun、Mon等)
6 用户名(执行命令时以此用户的身份)
7 要执行的命令(路径)
现在来看第一行:
Linux代码
12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1
这条语句将在每天的凌晨3点12分 (03:12)运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。>> /dev/null 2>&1 表示把所有标准输出发送到 /dev/null(linux的回收站),把标准错误输出(2)发送到和标准输出(1)同样的地方(即 /dev/null)。运行这行命令将不会产生任何输出。
这条语句可以变得稍微复杂一点:
Linux代码
30 15 13 6 1 * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1
它将在6月13日周一的15:30 运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。
以下语句可以达到同样的效果:
Linux代码
30 15 13 Jun Mon * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1
如果你想以用户joey的身份每小时的第15分钟 运行某个程序,可以使用:
Linux代码
15 * * * * joey /usr/bin/somecommand >> /dev/null 2>&1
其中的星号(*)是通配符,表示cron将忽略这个字段。
如果你想每两小时 就运行某个程序,可以在小时字段里使用 */2 。它将会在2点,4点,6点……22点,24点运行。具体语句如下:
Linux代码
0 */2 * * * joey /usr/bin/somecommand >> /dev/null 2>&1
cron语句中还可以使用逗号(,)来指定多个时间。例如你想在每小时的15分和30分 运行某个程序,可以在分钟字段使用 15,30 :
Linux代码
15,30 * * * * joey /usr/bin/somecommand >> /dev/null 2>&1
如果你想在每月的第一周(即1号到7号)每天的指定时间 运行某个程序,可以在日期字段使用 1-7 :
Linux代码
15,30 */2 1-7 * * joey /usr/bin/somecommand >> /dev/null 2>&1
这条语句将在每月的第1-7日每两小时的15分和30分 (02:15,02:30……22: 15,22:30等)运行 /usr/bin/somecommand 命令。
如果你想在每天的16:18 执行一个脚本集合,可以把所有要执行的脚本放到一个目录中(如 /home/username/cron),可以使用:
Linux代码
18 16 * * * root run-parts /home/username/cron >> /dev/null 2>&1
如果你想保存某个程序的输出结果, 可以把 >> /dev/null 2>&1 替换为 >> /home/user/somecommand.log 2>&1 。
crontab文件的一些例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache
总结
查看当前用户的cron配置,使用 crontab -l
编辑当前用户的cron配置,使用 crontab -e
删除当前用户的cron配置,使用 crontab -r
以root身份查看/编辑/删除某用户的cron配置,在命令后加上 -u USERNAME
配置系统级的任务,编辑 /etc/crontab 文件
本文章来各位linux管理者提供一些常用的Linux系统管理常用管理命令,有需要用的朋友可收藏本文章
1.循环遍历当前目录所有的文件名包含 html.php 的文件
[org/tag/root“>root@yu1u.org/]# find . | grep ”html.php“
2.循环遍历当前目录所有的文件名包含 html.php 的文件并删除
[root@yu1u.org/]# find . | grep ”html.php“ | xargs rm -rf
3.循环遍历找出当前目录中所有后缀名为 .htm 的文件中 包含 hacker 字符的文件
[root@yu1u.org/]# grep 'hacker' `find . | grep .htm`
4.循环遍历找出当前目录中所有后缀名为 .htm 的文件并文件内容包含 hacker 字符的文件将里面的 the_old_string 用 the_new_string 进行批量替换
[root@yu1u.org/]# sed -i ”s/the_old_string/the_new_string/g“ `grep hacker -rl .`
5.找出 /www/webroot/ 目录中文件类型为 html 的文件,并进行批量压缩
[root@yu1u.org/]# find /www/webroot/ -name ”*.html“ -type f -exec gzip {} ;
6.找出网站根目录 /var/webroot 中所有截至到现在被修改过的 php 文件, -name”*.php“为查找所有php文件 -time -10为截止到现在10天
[root@yu1u.org/]# find /var/webroot -name ”*.php“ -mtime -10
7.查找php木马有可能出现的关键字eval ,shell_exec , passthru , popen,system
[root@yu1u.org/]# find /var/webroot -name ”*.php“ | xargs grep eval|more
8.查找当前tcp/ip链接状态中,状态为 EST (一些攻击的特征,当EST状态数很多的时候,服务器的负载会特别大),并降序排列,显示前 100 个链接
[root@yu1u.org/]# netstat -an | grep -i ”:80“ |grep ”EST“| awk '{print $5}' |cut -d : -f 1
| sort | uniq -c | sort -nr | awk '{if($1 > 100) {print $2}}'
9.关闭不需要的服务
[root@yu1u.org/]# for SERVICES in abrtd acpid auditd avahi-daemon cpuspeed
haldaemon mdmonitor messagebus udev-post; do chkconfig
${SERVICES} off; done
10.用tcpdump嗅探80端口的访问看看谁最高
[root@yu1u.org/]# tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.“
'{print $1”.“$2”.“$3”.“$4}' sort | uniq -c | sort -nr |head -20
11.察看哪个进程占用内存最大
[root@yu1u.org/]# ps -aux|sort -k5nr|awk 'BEGIN{print ”PID VSZ“}{print $2,$5}'|awk 'NR<3′
12.查看80端口总共有多少个链接
[root@yu1u.org/]# netstat -nat | grep -i ”80“ | wc -l
13.查看80端口连接数最多的20个IP
[root@yu1u.org/]# netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'
|sort|uniq -c|sort -nr|head -n20
14.用tcpdump嗅探80端口的访问看看谁最高
[root@yu1u.org/]# tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.“
'{print $1”.“$2”.“$3”.“$4}' sort | uniq -c | sort -nr |head -20
15.查找较多time_wait连接
[root@yu1u.org/]# netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20
16.查找较多的SYN连接
[root@yu1u.org/]# netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' |
sort | uniq -c | sort -nr | more
17.对连接的IP按连接数量进行排序
[root@yu1u.org/]# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
18.查看TCP连接状态
[root@yu1u.org/]# netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
[root@yu1u.org/]# netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}'
[root@yu1u.org/]# netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state)
print key,”t“,state[key]}'
[root@yu1u.org/]# netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,”t“,arr[k]}'
[root@yu1u.org/]# netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
[root@yu1u.org/]# netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c
最近业务需求可能需要两个web服务器间资料同步一下下,在查找同步资料的时候的发现scp命令,很方便的一个命令记录一下,
linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;
==================
scp 命令
==================
scp 可以在 2个 linux 主机间复制文件;
命令基本格式:
scp [可选参数] file_source file_target
scp命令:两个服务器之间文件复制
代码如下复制代码scp /home/space/1.html root@IP地址:/home/root/others/ #这里复制本地/home/space/1.html到远程地址的/home/root/others中,在回车之后系统会提示
[root@localhost data]# scp -r /data/rsynctest/ root@192.168.42.128:/data/rsync
The authenticity of host '192.168.42.128 (192.168.42.128)' can't be established.
RSA key fingerprint is 6d:cd:c9:6c:8d:40:aa:1c:0d:db:62:9f:63:4c:3c:b1.
Are you sure you want to continue connecting (yes/no)? yes #这里直接输入yes,然后下来输入远程用户的密码即可复制
[root@localhost data]# scp -r /data/rsynctest/ root@192.168.42.128:/data/rsync
The authenticity of host '192.168.42.128 (192.168.42.128)' can't be established.
RSA key fingerprint is 6d:cd:c9:8c:9d:40:aa:1c:0d:db:62:9f:63:4c:3c:b1.
Are you sure you want to continue connecting (yes/no)? yes
1 100% 15 0.0KB/s 00:00
1.jpg 100% 0 0.0KB/s 00:00
test.html 100% 10 0.0KB/s 00:00
从 本地 复制到 远程
======
* 复制文件:
* 命令格式:
代码如下复制代码scp local_file remote_username@remote_ip:remote_folder或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
History命令主要用于显示历史指令记录内容, 下达历史纪录中的指令 ,
1>History命令语法:
[test@linux]# history [n]
[test@linux]# history [-c]
[test@linux]# history [-raw] histfiles
参数:
n :数字,要列出最近的 n 笔命令列表
-c :将目前的shell中的所有 history 内容全部消除
-a :将目前新增的history 指令新增入 histfiles 中,若没有加 histfiles ,
则预设写入 ~/.bash_history
-r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中
-w :将目前的 history 记忆内容写入 histfiles
Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中。默认保存1000条,你也可以更改这个值。
如果你键入 history, history会向你显示你所使用的前1000个历史命令,并且给它们编了号,你会看到一个用数字编号的列表快速从屏幕上卷过。你可能不需要查看1000个命令中的所有项目, 当然你也可以加入数字来列出最近的 n 笔命令列表。
linux中history命令不仅仅让我们可以查询历史命令而已. 我们还可以利用相关的功能来帮我们执行命令。
2>运行特定的历史命令
history会列出bash保存的所有历史命令,并且给它们编了号,我们可以使用“叹号接编号”的方式运行特定的历史命令.
语法说明:
[test@linux]# [!number] [!command] [!!]
参数说明:
number :第几个指令的意思;
command :指令的开头几个字母
! :上一个指令的意思!
3>History命令实战
列出所有的历史记录:
[test@linux] # history
只列出最近10条记录:
[test@linux] # history 10 (注,history和10中间有空格)
使用命令记录号码执行命令,执行历史清单中的第99条命令
[test@linux] #!99 (!和99中间没有空格)
重复执行上一个命令
[test@linux] #!!
执行最后一次以rpm开头的命令(!? ?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行,
)
[test@linux] #!rpm
逐屏列出所有的历史记录:
[test@linux]# history | more
立即清空history当前所有历史命令的记录
[test@linux] #history -c
除了使用history命令,在 shell 或 GUI 终端提示下,你也可以使用上下方向键来翻阅命令历史(向下箭头会向前翻阅),直到你找到所需命令为止。这可以让我们很方便地编辑前面的某一条命令,而不用重复输入类似的命令。
History命令的用途确实很大!但需要小心安全的问题!尤其是 root 的历史纪录档案,这是 们的最爱!因为不小心的 root 会将很多的重要资料在执行的过程中会被纪录在 ~/.bash_history 当中,如果这个档案被解析的话,后果不堪设想!
VPS中搭建的WEB服务器,运行的时间长了,内存的使用就占用越来越高,对于小内存的VPS可能就直接使用了SWAP分区,从而影响到了系统应用程序的性能。下面是一个非常简单的清理linux内存的脚本,只要放入crontab计划任务里面定时执行就可以定期清理你的Linux服务器内存了。
代码如下复制代码#!/bin/bash
#Data is written to the disk cache
sync
#Clean Page Cache
echo 1 > /proc/sys/vm/drop_caches
sync
#Clean All Cache
echo 3 > /proc/sys/vm/drop_caches
其中/proc/sys/vm/drop_caches中的值有4个,分别为0-3:
0 – 不释放
1 – 释放页缓存
2 – 释放dentries和inodes
3 – 释放所有缓存
编写脚本并赋予脚本可执行权限放入crontab里面定期执行:
使用腾讯云到现在已经快两个月,如今,此Linux Web服务器上的环境瓶颈大概就在MariaDB数据库中,
其他性能都优化到差不多了。
补充:手工释放内存方法
代码如下复制代码sudo sh -c ”echo 1 > /proc/sys/vm/drop_caches“
sudo sh -c ”echo 2 > /proc/sys/vm/drop_caches“
sudo sh -c ”echo 3 > /proc/sys/vm/drop_caches"