--- 查找文件
find / -name filename.txt 根据名称查找/目录下的filename.txt文件。
find . -name "*.xml" 递归查找所有的xml文件
find . -name "*.xml" |xargs grep "hello world" 递归查找所有文件内容中包含hello world的xml文件
grep -H 'spring' *.xml 查找所以有的包含spring的xml文件
find ./ -size 0 | xargs rm -f & 删除文件大小为零的文件
ls -l | grep 'jar' 查找当前目录中的所有jar文件
grep 'test' d* 显示所有以d开头的文件中包含test的行。
grep 'test' aa bb cc 显示在aa,bb,cc文件中匹配test的行。
grep '[a-z]\{5\}' aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
--- 查看一个程序是否运行
ps –ef|grep tomcat 查看所有有关tomcat的进程
--- 终止线程
kill -9 19979 终止线程号位19979的线程
--- 查看文件,包含隐藏文件
ls -al
--- 当前工作目录
pwd
--- 复制文件
cp source dest 复制文件
cp -r sourceFolder targetFolder 递归复制整个文件夹
scp sourecFile romoteUserName@remoteIp:remoteAddr 远程拷贝
--- 创建目录
mkdir newfolder
--- 删除目录
rmdir deleteEmptyFolder 删除空目录 rm -rf deleteFile 递归删除目录中所有内容
--- 移动文件
mv /temp/movefile /targetFolder
--- 重命令
mv oldNameFile newNameFile
--- 切换用户
su -username
--- 修改文件权限
chmod 777 file.java //file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行
--- 压缩文件
tar -czf test.tar.gz /test1 /test2
--- 列出压缩文件列表
tar -tzf test.tar.gz
--- 解压文件
tar -xvzf test.tar.gz
--- 查看文件头10行
head -n 10 example.txt
--- 查看文件尾10行
tail -n 10 example.txt
--- 查看日志类型文件
tail -f exmaple.log //这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)。
--- 使用超级管理员身份执行命令
sudo rm a.txt 使用管理员身份删除文件
--- 查看端口占用情况
netstat -tln | grep 8080 查看端口8080的使用情况
--- 查看端口属于哪个程序
lsof -i :8080
--- 查看进程
ps aux|grep java 查看java进程
ps aux 查看所有进程
--- 以树状图列出目录的内容
tree a
ps:Mac下使用tree命令
--- 文件下载
wget http://file.tgz mac下安装wget命令
curl http://file.tgz
--- 网络检测
ping
--- 远程登录
ssh userName@ip
--- 打印信息
echo $JAVA_HOME 打印java home环境变量的值
--- java 常用命令
java javac jps ,jstat ,jmap, jstack
--- 其他命令
svn git maven
--- linux命令学习网站:
/
--- 修改机器名
更改/etc/sysconfig下的network文件,在提示符下输入vi/etc/sysconfig/network,然后将HOSTNAME后面的值改为想要设置的主机名,在提示符下输入reboot命令,重新启动服务器。
--- 解压nginx日志
现在nginx日志用gzip压缩,文件以gz结尾。
解压命令:gzip-d压缩文件名
不解压,直接查看压缩文件内容,命令:gunzip-c压缩文件名
--- 测试磁盘的读写
time有计时作用,dd用于复制,从if读出,写到of。if=/dev/zero不产生IO,因此可以用来测试纯写速度。同理of=/dev/null不产生IO,可以用来测试纯读速度。bs是每次读或写的大小,即一个块的大小,count是读写块的数量。
纯写速度:timeddif=/dev/zeroof=/var/testbs=8kcount=10000
纯读速度:timeddif=/var/testof=/dev/nullbs=8k
--- linux端口连接范围>>>>>用于向外连接的端口范围
cat/proc/sys/net/ipv4/ip_local_port_range
net.ipv4.ip_local_port_range=102465000
--- 修改打开文件最大数,vi/etc/security/limits.conf,加入以下两行
*softnofile402400
*hardnofile480000
然后重新登录即可使用命令ulimit-a查看到修改。在这之前启动的进程仍旧使用以前的配置,之后启动的进程使用最新配置
用ulimit-n2048修改只对当前的shell有效,退出后失效
--- tcp连接复用和快速回收
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_keepalive_time=1200表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
net.ipv4.ip_local_port_range=102465535表示用于向外连接的端口范围。缺省情况下过窄:32768到61000,改为1024到65535。
net.ipv4.tcp_max_syn_backlog=16384
表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_tw_buckets=180000
表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。默认为180000,可适当增大该值,但不建议减小。对于Apache、Nginx等服务器,以上几行参数的设置可以很好地减少TIME_WAIT套接字数量,但是对于Squid,效果却不大。此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。
net.ipv4.tcp_keepalive_time=180
net.ipv4.tcp_keepalive_intvl=15
net.ipv4.tcp_keepalive_probes=2
net.ipv4.tcp_fin_timeout=5
nf_conntrack:tablefull,droppingpacket.
--- 查看NS提供商
NStrace@8.8.8.8
--- 指定NS解析域名
nslookup
--- sz/rz安装
(1)编译安装
root账号登陆后,依次执行以下命令:
1
cd/tmp
2
wgethttp://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
3
tarzxvflrzsz-0.12.20.tar.gz&&cdlrzsz-0.12.20
4
./configure&&make&&makeinstall
上面安装过程默认把lsz和lrz安装到了/usr/local/bin/目录下,现在我们并不能直接使用,下面创建软链接,并命名为rz/sz:
1
cd/usr/bin
2
ln-s/usr/local/bin/lrzrz
3
ln-s/usr/local/bin/lszsz
(2)yum安装
root账号登陆后执行以下命令:
1
yuminstall-ylrzsz