系统相关
查询系统版本
uname -a
cat /proc/version
cat /etc/issue
lsb_release -a
sudo passwd root #修改密码
sudo shutdown -h now #关机
磁盘相关
# 查看当前目录下一级子文件和子目录占用的磁盘容量
du -lh --max-depth=1
du -h -x --max-depth=1
# 查看挂载情况,磁盘空间
df -h
# 挂载目录
mount -t nfs 172.26.136.183:/mydata/uploadfile /usr/local/www/uploadfile
权限相关
# 赋权777
chmod -R 777 work
# 赋权可执行
chmod -x run.sh
chmod u+x file.sh
文件目录
# 统计当前文件夹下文件的个数,包括子文件夹里的
ls -lR|grep "^-"|wc -l
# 复制目录下所有文件,忽略.svn
rsync --exclude=.svn source/. target/ -rv
# 文件查找
find path expression
# 按照文件名查找
find / -name httpd.conf #在根目录下查找文件httpd.conf,表示在整个硬盘查找
find /etc -name httpd.conf #在/etc目录下文件httpd.conf
find /etc -name '*srm*' #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
find . -name 'srm*' #表示当前目录下查找文件名开头是字符串‘srm’的文件
find /(查找范围) -name '查找关键字' -type d:查找目录
端口
# 查看端口占用
netstat -tunlp |grep 6379
# 查看端口占用
netstat -tln | grep 8083
# 端口被哪个进程占用
lsof -i :8083
工具
ab
# 发起一万个请求
ab -n 10000 http://www.baidu.com
网络工具nethogs
# 查看进行网络带宽情况
nethogs
解压缩
tar
# 打包目录,但不压缩,-zcvf gz压缩
tar -cvf target.tar source/.
# 压缩
tar zcvf FileName.tar.gz DirName
# 解压 tar包
tar -xvf file.tar
# 解压tar.gz
tar -xzvf file.tar.gz
# 解压tar.gz到固定目录
tar zcvf file.tar.gz -C /root/
解压zip
unzip abc.zip -d abc
gzip、gunzip 压缩、解压
gzip filename
# 制定路径并保留源文件
gzip -c filename >newfilename
# 在当前目录解压文件,该方法会删除源文件
gunzip abc.sql.gz
# 解压到指定目录,保留源文件,覆盖abc.sql,使用 >> 追加到abc.sql
gunzip -c abc.sql.gz > abc.sql
批量
for f in *.zip; do unzip $f; done
#
#
```shell
# 查看线程
ps -T -p <PID>
# 这样可以看到指定的进程产生的线程数目
ps -mq PID
日志
# 搜索日志,并打印行号
grep -rn 'keyword' stdout.log
# 打印75-81行的内容
sed -n '75,81p' error.2018-08-10.log
# 查询catalina.out日志文件中的关键词为2016-04-13 11:26:00的日志信息
# grep的-A, -B, -C选项分别可以显示匹配行的后,前,后前多少行内容
# catalina.out : 检索的文件 可以是目录 ./
# |more : 以分页的形式查看
grep -C 10 '2016-04-13 11:26:00' catalina.out |more
# &操作查询日志
# 显示既匹配 pattern1 又匹配 pattern2 的行。
grep pattern1 files | grep pattern2
# 或 查询日志
grep -E '123|abc' filename // 找出文件(filename)中包含123或者包含abc的行
egrep '123|abc' filename // 用egrep同样可以实现
awk '/123|abc/' filename // awk 的实现方式
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行