1. nmon监控
nmon -f -t -s 10 -c 60 -m /home/wuchen
-f 按标准格式输出文件
-t 输出中包括占用率较高的进程
-s 1 每1秒进行一次数据采集
-c 60 一共采集60次
2. 压缩/解压缩
2.1 tar
压缩 tar -zcvf count_result.tar.zip *.txt
解压 tar -zxvf count_result.tar.zip -C ./cllog (指定目录)
2.2 rar
将/etc 目录压缩为etc.rar 命令为:
rar a etc.rar /etc
将etc.rar 解压 命令为:
rar x etc.rar 或 unrar -e etc.tar
2.3 gzip
Linux压缩(保留源文件)的方法:
gzip –c filename > filename.gz
Linux解压缩(保留源文件)的方法:
gunzip –c filename.gz > filename
24.zip
解压(指定目录):
unzip -o xxx.zip -d ./
3. netstat
netstat -nl|grep 8088 查看端口号是否被占用
netstat -a 显示所有socket包括正在监听
-l 显示有在Listen的服务状态
-n 以网络IP地址代替名称,显示网络连接情形
-p 显示建立相关连接的程序名和PID
-t 显示TCP协议的连接情况
-u 显示UDP协议的连接情况
-s 显示每个协议的统计
-b 显示再创建每个连接或监听端口时涉及的可执行程序
-c 每个1秒就重新显示一遍
4. iptables
//禁用端口
iptables -I INPUT -s 15.94.0.208 -p tcp --dport 1210 -j DROP
//打开端口
iptables -I INPUT -s 15.94.0.208 -p tcp --dport 1210 -j ACCEPT
总结:
//操作前先备份iptables
cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak20190731
//禁用1210端口
iptables -I INPUT -p tcp --dport 1210 -j DROP
iptables -I INPUT -s 15.94.0.208 -p tcp --dport 1210 -j ACCEPT
//将规则保存到iptables中
service iptables save
//重启iptables
service iptables restart
//查看iptables内容
cat iptables
//查看当前规则
iptables -L INPUT --line-numbers
//清理规则(1是规则序号)
iptables -D INPUT 1
5. fio
--随机写
fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=psync -bs=4k -size=2G -numjobs=1 -runtime=120 -group_reporting -filename=/hdfsdata/2/fio_test1 -name=fio_randwrite_test
--顺序写
fio -direct=1 -iodepth=128 -rw=write -ioengine=psync -bs=4k -size=2G -numjobs=1 -runtime=120 -group_reporting -filename=/hdfsdata/2/fio_test2 -name=fio_write_test
--随机读
fio -direct=1 -iodepth=128 -rw=randread -ioengine=psync -bs=4k -size=2G -numjobs=1 -runtime=120 -group_reporting -filename=/hdfsdata/2/fio_test3 -name=fio_randread_test
--顺序读
fio -direct=1 -iodepth=128 -rw=read -ioengine=psync -bs=4k -size=2G -numjobs=1 -runtime=120 -group_reporting -filename=/hdfsdata/2/fio_test4 -name=fio_read_test
结果:
ARM ST1200MM0009 1.089 TB SAS
随机写(IOPS) 867 顺序写(BW) 177 MB/s
随机读(IOPS) 273 顺序读(BW) 202 MB/s
X86 TOSHIBA MG04ACA400N 3.637 TB SATA
随机写(IOPS) 1595 顺序写(BW) 114 MB/s
随机读(IOPS) 179 顺序读(BW) 122 MB/s
6. 释放缓存
echo 3 >/proc/sys/vm/drop_caches
7. 磁盘挂载
7.1 临时挂盘
mkdir -p /hdfsdata/7
--格式化
mkfs -t ext4 /dev/sdo
--挂载
mount /dev/sdo /hdfsdata/7
7.2 永久挂盘
[root@dgpzp4avkmbjbcgn-0319515 ~]# blkid
/dev/vda1: UUID="c45fd23f-2d60-4474-9e8d-1e329573fb26" TYPE="swap"
/dev/vda2: UUID="cd57b66f-58d9-4a4c-8acd-f5b51fb0bfc7" TYPE="ext4"
/dev/vdb: UUID="a514f895-73f0-4811-b4e4-852d4e9a2837" TYPE="ext4"
[root@dgpzp4avkmbjbcgn-0319515 ~]# mkfs.ext4 /dev/vdb
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
13107200 inodes, 52428800 blocks
2621440 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2199912448
1600 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[root@dgpzp4avkmbjbcgn-0319515 ~]# vim /etc/fstab
[root@dgpzp4avkmbjbcgn-0319515 ~]# reboot
8. 追踪路由
tracert 117.62.152.59
1 <1 毫秒 <1 毫秒 <1 毫秒 10.1.25.254
2 3 ms 3 ms 3 ms 100.112.128.1
3 7 ms 6 ms 6 ms 222.190.2.69
4 12 ms 3 ms 4 ms 117.62.152.59
9. 安装rpm包
安装:
rpm -ivh foo-1.0-l.i386.rpm
卸载:
rpm -e foo
升级:
rpm -Uvh foo-2.0-l.i386.rpm
10. 加载参数顺序
在刚登录Linux时,首先启动 /etc/profile 文件,
然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,用户主目录下文件的执行的顺序为:
~/.bash_profile -> ~/.bash_login -> ~/.profile
如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件
因为在 ~/.bash_profile文件中一般会有下面的代码:
if [ -f ~/.bashrc ] ; then
. ./bashrc
fi
~/.bashrc中,一般还会有以下代码:
if [ -f /etc/bashrc ] ; then
. /etc/bashrc
fi
所以,~/.bashrc会调用 /etc/bashrc文件。最后,在退出shell时,还会执行 ~/.bash_logout文件。
执行顺序为: /etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout
(1) /etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2) /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。
(3) ~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。
(4) ~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(5) ~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。
(6) ~/.bash_profile: 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
11. 软/硬链接
11.1 硬链接(hard link)
A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块(文件)只有在inode节点链接数减少为0的时候才会被系统回收。
11.2 软链接(soft link)
A是B的软链接(A和B都是文件名),A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名(可以根据这个找到B的目录项)。A和B之间是“主从”关系,如果B被删除了,A仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。
11.3 主要区别、限制:
硬链接
a.不能对目录创建硬链接,原因有几种,最重要的是:文件系统不能存在链接环(目录创建时的".."除外,这个系统可以识别出来),存在环的后果会导致例如文件遍历等操作的混乱(du,pwd等命令的运作原理就是基于文件硬链接,顺便一提,ls -l结果的第二列也是文件的硬链接数,即inode节点的链接数)
b:不能对不同的文件系统创建硬链接,即两个文件名要在相同的文件系统下。
c:不能对不存在的文件创建硬链接,由原理即可知原因。
软链接
a.可以对目录创建软链接,遍历操作会忽略目录的软链接。
b:可以跨文件系统
c:可以对不存在的文件创建软链接,因为放的只是一个字符串,至于这个字符串是不是对于一个实际的文件,就是另外一回事了
ln 语法格式
硬链接:ln 源文件 链接名
软链接:ln -s 源文件 链接名
注意: 链接的源文件路径要写绝对路径否则会报错(no such file or diretory)