一般来说要设置 Linux 系统的环境变量只需要在 /etc/profile (全局) 或者 ~/.bashrc (单个用户) 即可。但是对于 LANG 变量来说,有时候你即使在所有这些初始化脚本里面 export 过了,LANG 的值还是纹丝不动。实际上,你需要去修改/etc/sysconfig/i18n 文件里面的内容
十六、查看机器IP
查看linux机器IP命令:ifconfig
十七、目录下所有文件合并输出到一个文件
例如:将a.txt b.txt c.txt合并输出到d.txt命令:cat a.txt b.txt c.txt >d.txt或cat *.txt >d.txt(要求该目录下txt文件只有a.txt,b.txt,c.txt)
十八、将一个文件分割为多个文件
split 命令功能说明:切割文件。
语法:split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]
补充说明:split可将文件切成较小的文件,预设每1000行会切成一个小文件。
参数:
-<行数>或-l<行数> 指定每多少行就要切成一个小文件。
-b<字节> 指定每多少字就要切成一个小文件。支持单位:m,k
-C<字节> 与-b参数类似,但切割时尽量维持每行的完整性。
--help 显示帮助。
--version 显示版本信息。
[输出文件名] 设置切割后文件的前置文件名,split会自动在前置文件名后再加上编号。
例如:split -b 100m filename
十九、等待命令
sleep amount[units]
units:默认为秒(s),m表示分钟,h表示小时,d表示天
二十、统计某进程占用的CPU/内存等状态信息并输出
pidstat -u -r -d -p 888 10 >888.txt &
-u:占用CPU
-r:占用内存
-d:I/O
10:10秒统计一次
-p 888:待检测的进程pid
并在后台输出至888.txt
二十一、linux下快速删除大量文件
假如你要在linux下删除大量文件,比如100万、1000万,像/var/spool/clientmqueue/的mail邮件,像/usr/local/nginx/proxy_temp的nginx缓存等,那么rm -rf *可能就不好使了。
rsync提供了一些跟删除相关的参数
rsync --help | grep delete
--del an alias for --delete-during
--delete delete files that don't exist on the sending side
--delete-before receiver deletes before transfer (default)
--delete-during receiver deletes during transfer, not before
--delete-after receiver deletes after transfer, not before
--delete-excluded also delete excluded files on the receiving side
--ignore-errors delete even if there are I/O errors
--max-delete=NUM don't delete more than NUM files
其中--delete-before 接收者在传输之前进行删除操作
可以用来清空目录或文件,如下:
1、先建立一个空目录 /data/blank
mkdir /data/blank
2、用rsync删除目标目录 /var/spool/clientmqueue/
rsync --delete-before -d /data/blank/ /var/spool/clientmqueue/
这样目标目录很快就被清空了
又假如你有一些特别大的文件要删除,比如nohup.out这样的实时更新的文件,动辄都是几十个G上百G的,也可以用rsync来清空大文件,而且效率比较高
1、创建空文件
touch /data/blank.txt
2、用rsync清空文件
rsync -a --delete-before --progress --stats /root/blank.txt /root/nohup.out
【选项说明】:
--delete-before 接收者在传输之前进行删除操作
--progress 在传输时显示传输过程
-a 归档模式,表示以递归方式传输文件,并保持所有文件属性
-H 保持硬连接的文件
-v 详细输出模式
--stats 给出某些文件的传输状态
tips:
当SRC和DEST文件性质不一致时将会报错
当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件
当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录
最重要的是,它的处理速度相当快,处理几个G的文件也就是秒级的事
最核心的内容是:rsync实际上用的就是替换原理
二十二、查看某类文件的总大小
du -b *2013* |awk '{sum=sum+$1} ; END{ print sum/1024/1024 }'
以M为单位,查看匹配正则表达式 *2013* 所有文件的总大小
二十三、在linux下获取时间字符串
命令 date
# 以yyyymmdd格式输出2天之前这个时刻的时间
$ date +%Y%m%d --date='2 days ago'
删除匹配时间为昨天的正则表达式的文件:test.sh
#!/bin/bash
day=$(date +%Y%m%d --date='1 days ago')
rm *$day*
二十四、查看linux机器连接数
1、查看apache连接数量
ps -ef | grep httpd | wc -l
2、查看发请求数及其TCP连接状态
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
3、查出哪个IP地址连接最多
netstat -na|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r +0n
netstat -na|grep SYN|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -r +0n
4、linux做nat 服务器,查看穿过服务器的当前连接数
cat /proc/slabinfo | grep ip_conn | grep -v ip_conntrack_expect | awk '{print $2}'