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
40 获取状态码
curl -I -m 10 -o /dev/null -s -w %{http_code} www.letuknowit.com
41 查看文件系统
df -hT