欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux常用命令总结

程序员文章站 2022-05-07 09:47:23
...
1、python -m SimpleHTTPServer
 
   启动一个HTTP服务器,显示本目录文件
 
2、mtr baidu.com
 

我们大多数都熟悉ping和traceroute。那对于把两个命令的功能合二为一的mtr命令呢。
如果mtr没在你的机子上安装,apt或者yum需要的包。
sudo apt-get install mtr (On Debian based Systems)
# yum install mtr (On Red Hat based Systems)
现在运行mtr命令,开始查看mtr运行的主机和baidu.com直接的网络连接。

 
3、tree
    以树式的格式得到当前文件夹的结构。
 
4、strace
 
5、netstat -natp |grep nginx
   查看nginx进程号 
 

1 tar打包、解包
打包tar czvf mig_20100310.tar.gz  mig >/dev/null
解包tar xzvf  comm_20100310.tar.gz
 
2 free -m 以MB为单位显示内存使用情况。 
 
3df -h 以可读性较高的方式来显示磁盘信息
 
4 uname -a 显示系统信息
 
5unzip
mkdir mini2
unzip -d mini2 mini2.zip
 
6 rpm -ivh foo-1.0-1.i386.rpm foo 安装rpm包
 
7 创建组添加用户
groupadd oinstall
groupadd dba
cd /
mkdir -p /u01/oracle   创建oracle安装目录,并把oracle安装到这个目录
useradd -g oinstall -G dba -d /u01/oracle oracle  创建oralce用户 所属组oinstall 附属组为dba
chown -R oralce:oinstall /u01 改变u01所属组
 
以root身份登陆,执行:passwd修改密码。useradd 用户名,添加用户。 
具体的如下: 
#passwd root 
输入root密码,输入两便。 
 
8 查看某个目录下的字符串
find . -name "*.jsp" |xargs grep "refresh"
 
9 Linux统计目录下文件个数及代码行数
 
统计cn目录下,php文件数量:
find cn/ -name "*.php" |wc -l
 
统计cn目录下所有php文件代码行数。
find cn/ -name "*.php" |xargs cat|wc -l
wc -l `find ./ -name "*.php"`|tail -n1
 
统计a目录下所有php文件代码行数,过滤了空行
find /a -name "*.php" |xargs cat|grep -v ^$|wc -l
 
zcat info.log.2011-09-06.gz  | grep '新密码:512125' |wc -l
 
创建用户
useradd -G SSHGroup,EnableSU pengkunj
 
10 linux路由跟踪traceroute
 
 
11 权限
id :查看用户的组
uid=3747(test) gid=3747(test) groups=0(root),48(apache),3747(test),
可以看到有apache组。
  
ll:查看目录的权限   (在web目录的上级目录中输入)
drwxr-xr-x 12 apache apache    4096 Oct 21 17:56 web
可以看到drwxr-xr-x,前三个是用户,第二个是组,第三个是其他用户。其中组是只有读和执行权限,没有写权限。
 
chmod:为组增加权限 (在web目录的上级目录中输入)
sudo chmod -R g+w web/   
(g+w:g是组,w是追加写权限)
 
chown:修改文件的属主
sudo chown -R apache web/
如果一个文件输入ll看到所有者是root用户,想修改为apache用户,可以使用chown权限。
 
chgrp:修改文件的所属组
sudo chgrp -R apache web/
如果一个文件输入ll看到所有者是root用户,想修改为apache用户,可以使用chgrp命令。
 
 
12 查看外网ip
curl -s http://whatismyip.org
wget http://members.3322.org/dyndns/getip
 
13 scp 远程复制 
scp -P 12008 mis@192.168.5.52:/home/mis/soft/apache-tomcat-6.0.35.tar.gz /home/mis/soft/
 
14 *.gz
     gzip -d filename.gz (或gunzip filename.gz) 解压,但要注意,用此命令解压,会删除原文件。(filename换成相应文件名)
如果想保留原文件,用
zcat filename.gz > filename
 
15 dstat
      执行dstat -cdlmnpsyt   5      可以得到非常全面的系统资源利用情况
 
16 删除用户所属的多个组中的一个组
   gpasswd -d user group
   gpasswd -d mis SSHGroup
 
17 对目录有只读权限
   chmod -R +rx mis
 
18 对指定目录进行打包
 tar -czvf YingMu.tar /home/YingMu/ --exclude /home/YingMu/03389.com 
 
19 把目录下每个文件分别打包
ls |grep Mms |xargs -i  tar zcvf {}.tar.gz {}
 
20 grep 多个条件 条件之间为或的关系
 
21 find ./ -name "*.c" | xargs cat | wc -l  查看当前目录源文件行数
 
22 curl http://ifconfig.me  查看公网ip
 
23 shell访问url
  curl -i "http://192.168.5.56/mis/ws/gateway/mt.do?username=sa003&password=yyyyyy&productId=2549&phones=******&content=login.jsp_no_access"
 
24 在需要的机器上:
 
25 不能访问域名
    vi /etc/hosts
   增加一条:192.168.5.56    www.baidu.com
 
26 vi 中如何在每行行首或行尾插入指定字符串
行首 :%s/^/your_word/
行尾 :%s/$/your_word/
 
27 find . -mtime +5 |xargs rm
   删除5天以前的日志
   mtime参数的理解应该如下:
-mtime n 按照文件的更改时间来找文件,n为整数。
n表示文件更改时间距离为n天, -n表示文件更改时间距离在n天以内,+n表示文件更改时间距离在n天以前。
例如:
-mtime 0 表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件。
-mtime 1 表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件。
-mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件
-mtime -1 表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件
 
28 rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps
   强制删除已安装程序及其关联
  
 
29 whereis python |xargs rm -frv
   删除所有残余文件 ##xargs,允许你对输出执行其他某些命令
 
30 svn启动
   svnserve -d -r /usr/svn/              启动
   htpasswd -b /usr/svn/usr beizi beizi  添加用户 密码
 
31 memcached
   ./memcached -d -m 512 -u root -l 192.168.0.116 -p 11211 -c 256 -P /tmp/memcached.pid
 
32 war解压

    使用unzip解压war包。

  unzip -d 指定目录

    unzip -oq common.war -d common

 
33 du -sh 目录名/*
   du -sh 目录名/* |sort
 
34 find .|xargs grep -ri "IBM" -l
 
35 find
find ./ -mtime 5 -exec ls -l {} \;
 
36 统计nginx独立ip
     cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l
 
37 查看占用时长url
 cat access_bbs.log | awk '{print $4,$NF}'|awk -F'"' '{print $1,$2}'|sort -k2 -rn|head -10 
 cat duia.access.log | awk -F " " '{print $11,$NF}' | tr '"' ' ' | sort -nr -k 2 | more
 cat duia.access.log | awk -F " " '{print $7,$NF}' | tr '"' ' ' | sort -nr -k 2 | more
 
grep syncVideoHistory  www.duia.com.access.log |awk -F " " '{print $4,$7,$NF}' | tr -d '"' | sort -nr -k 3 |more
 
cat temp.log |tr -d '"' | sort -nr -k 3 | more
 
cat mars.log | awk '{print $7,$NF}' |awk -F "|" '{print $NF,$1}' | sort -nr |more
 
cat api.duia.com.access.log|awk -F " " '{print $4,$7,$NF}' | tr -d '"' | sort -nr -k 3 |more
 
cat api.sina.com.access.log|awk -F " " '{print $4,$7,$NF}' | tr -d '"' | sort -nr -k 3 |awk '$3 > 1 {print}'| sort -k 2 | more > big2.log
cat api.sina.com.access.log|awk -F " " '{print $4,$7,$NF}' | tr -d '"' | sort -nr -k 3 |awk -F " " '{$3 > 1}' |more
 
38 显示前20个最频繁的请求
  ngxtop -l sina.access.log -n 20
  显示请求最多的客户端IP地址
  ngxtop -l sina.access.log --group-by remote_addr
  显示状态码是404的请求
    ngxtop -i 'status == 404'print request status
 
39 grep 'duibaApp\|duiaApp\|usersApp' www.sina.com.access.log
 
40 获取状态码
     curl -I -m 10 -o /dev/null -s -w %{http_code}  www.letuknowit.com
 
41 查看文件系统
     df -hT