Linux常用命令
ssh-keygen 生成一对公私密钥 在~/.ssh/目录下
lscpu显示cpu
lsblk 显示挂载点
df -hl 查看磁盘空间
ethtool eth1 查看网卡eth1最大速率
查看centos版本
cat /etc/redhat-release
cat /etc/issue
获取系统位数:
getconf LONG_BIT 或 uname -a 或 uname -m 或 file /sbin/init 或者 file /bin/ls
//路由
traceroute www.baidu.com
获取外网IP:
1: ifconfig
2: curl -s icanhazip.com
3: curl ifconfig.me
arch
type
type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。
type命令的使用实例:
$ type cd 系统会提示,cd是shell的自带命令(build-in)。
$ type grep 系统会提示,grep是一个外部命令,并显示该命令的路径。
$ type -p grep 加上-p参数后,就相当于which命令。
#cat /proc/version 该命令能获取Linux系统内核及gcc编译器版本;
lsmod命令:是一个小程序,用来显示文件、proc/modules的信息,也就是显示当前内核模块装载的模块
修改开机启动脚本文件/etc/rc.d/rc.local
df -hl 查看磁盘
rpm-ivhlinuxqq-v1.0.2-beta1.i386.rpm
yum install gcc-c++ 安装gcc g++
source /etc/profile
source FileName 作用:在当前bash环境下读取并执行FileName中的命令。
注:该命令通常用命令“°.”±来替代。 如:source .bash_rc 与 . .bash_rc 是等效的。
取消秘钥登录并允许root登录:
vim /etc/ssh/sshd_config
去掉PermitRootLogin yes 前面的#注释
修改 PasswordAuthentication no
为PasswordAuthentication yes
重启ssh服务或重启服务器
service sshd restart
Linux下查看用户列表:
cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more
touch f1
硬链接 ln f1 f2
软链接 ln -s f1 f3
删除f1 对f2无影响 f3失效
删除f2 对f2 , f3都无影响
删除f3 对f1 , f2都无影响
删除f1 f2 则 f3失效
删除f1 f3 对f2无影响
删除f2 f3 对f1无影响
scp -r 20141110/ root@192.168.18.240:/home/taowenfeng/script/backup/ 远程拷贝目录
scp -P 10656 -r 20141110/ root@192.168.18.240:/home/taowenfeng/script/backup/ 远程拷贝目录
-P 指定远程端口 默认22
tcpdump -w 包文件名 //抓包
tcpdump -i eth1 //对网卡1抓包
telnet 192.168.18.123 8888 查看该端口服务有没有开
在/etc/group 中的每条记录分四个字段: cat /etc/group
第一字段:用户组名称;
第二字段:用户组密码;
第三字段:GID
第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;
tar -xzf jansson-2.4.tar.gz
查看自动执行脚本
crontab -e
crontab -l
Linux 查看进程启动详细时间及记录进程启动PID ps -p 1214 -o lstart
通过秘钥远程拷贝文件
scp -i id_rsa tao.c taowenfeng@117.40.231.93:/home/taowenfeng
uptime
统计当前系统的运行情况
[root@localhost ~]# uptime
09:59:55 up 2 days, 7 min, 1 user, load average: 0.00, 0.01, 0.05
Unix 命令,显示系统已经运行了多长时间,它依次显示下列信息:当前时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
load average: 系统 1分钟,5分钟,15分钟的平均负荷
vmstat [options] [delay [count]]
Options:
-a, --active active/inactive memory
-f, --forks number of forks since boot
-m, --slabs slabinfo
-n, --one-header do not redisplay header
-s, --stats event counter statistics
-d, --disk disk statistics
-D, --disk-sum summarize disk statistics
-p, --partition <dev> partition specific statistics
-S, --unit <char> define display unit
-w, --wide wide output
-t, --timestamp show timestamp
-h, --help display this help and exit
-V, --version output version information and exit
[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 71256 92720 0 565120 0 0 1 115 22 36 1 0 99 0 0
其中
r : 运行和等待 CPU 时间片的进程数。若该值大于系统 CPU 个数,则说明 CPU 不足
b : 表示等待资源的进程数
swpd : 切换到内存交换区的内存大小(单位 KB)
free: 空闲的物理内存的大小,我的机器内存总共2G,剩余92M。
buff: Linux/Unix系统是用来存储,目录里面有什么内容,权限等的缓存
cache:直接用来记忆我们打开的文件,给文件做缓冲,把空闲的物理内存的一部分拿来做文件和目录的缓存,是为了提高 程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用
si:每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。
so:每秒虚拟内存写入磁盘的大小,如果这个值大于0,同上。
bi:块设备每秒接收的块数量(读磁盘)(kb/s)
bo:块设备每秒发送的块数量(写磁盘)(kb/s)
in:每秒CPU的中断次数,包括时间中断
cs:每秒上下文切换次数。
us:用户进程消耗 CPU 时间百分比
sy:内核进程消耗 CPU 时间百分比,sy 的值较高时,则说明内核消耗的 CPU 资源很多
id:空闲 CPU 时间百分比
wt:IO 等待 CPU 时间百分比
监控java线程数:
ps -eLf grep java进程ID wc -l
ps -eLf grep java进程ID wc -l
监控网络客户连接数:
netstat -n grep tcp grep 侦听端口 wc -l
netstat -anup 查看udp的端口
13.压缩文件
tar -czf test.tar.gz /test1 /test2
#压缩
tar-czvf***.tar.gz
tar-cjvf***.tar.bz2
#解压缩
tar-xzvf***.tar.gz
tar-xjvf***.tar.bz2
14.列出压缩文件列表
tar -tzf test.tar.gz
15.解压文件
tar -xvzf test.tar.gz
20.查看端口占用情况
netstat -tln | grep 8080 #查看端口8080的使用情况
21.查看端口属于哪个程序
lsof -i :8080
22.查看用户列表
cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more
19.使用超级管理员身份执行命令
sudo rm a.txt 使用管理员身份删除文件
文件属性
chown更改所有者
chgrp更改所属组
文件权限rwx
chmod修改权限
默认权限umask
-eq //等于
-ne //不等于
-gt//大于
-lt //小于
ge//大于等于
le //小于等于
ps -T -p <pid> 查看该进程中的线程
top -H -p <pid>
例子: ps -T -p 24033 |wc -l
ps -mp 4628 -o THREAD,tid,time 查看消耗cpu的线程
pstack 19032
who 查看已登录用户
who -b 显示 上次启动时间
who -u 查看已登录用户,显示进程ID
nslookup 检查DNS 的配置是否正确
passwd 修改密码
cat /etc/passwd 查看用户
cat /etc/shadow 查看用户(带加密的密码)
用户名:加密口令:UID:用户所属组的GID:个人信息描述:用户主目录:登陆Shell
cat /etc/group 查看用户组
cat /etc/shadow 查看用户组(带加密的密码)
用户组名称 : 用户组口令 : GID : 组成员列表
useradd 添加用户
usermod 修改用户
userdel 删除用户
gcc -Wall-Werror
vi /home/taowenfeng/.bash_history 查看该用户历史执行的命令
cat /proc/sys/fs/file-max 查看epoll 最大支持的文件描述符的数量 一般 1G内存 10万
diff --git a/sip_profiles/internal.xml b/sip_profiles/internal.xml
tracert
ss -s 查看当前网络信息统计
jmap -heap 4925 查看一下堆内存情况
strace -o server.strace -Ttt -p 16739 查看程序执行时间
pstack 进程号 查看进程内所有线程调用堆栈
多次用可查看线程是否死锁
sh start_test.sh
1.你可以使用 lsof 命令来查看某一端口是否开放。查看端口可以这样来使用,我就以80端口为例:
lsof -i:80
如果有显示说明已经开放了,如果没有显示说明没有开放
2.netstat -aptn执行看看,是否监听在0.0.0.0:3306
3.
netstat -nupl (UDP类型的端口)
netstat -ntpl (TCP类型的端口)
产生core文件:
ulimit-c
ulimit-cunlimited
ll |wc -l 统计行数
文件内容替换命令
sed -i "s/182.106.213.135/171.34.165.121/g" *.ktr
把 *.ktr 文件中的所有 182.106.213.135 全部替换成 171.34.165.121
top shift + o 选择排序
在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况:
大事务 select count 导数据
小事务 insert
ip addr add 10.1.1.230/24 dev eth0
执行命令lsof -i:5432,查看数据库端口是否启用
du -sh * 查看当前目录所有文件的大小
du -sh /ts/
df -hl
下面介绍linux下最简单的禁ping方法
首先登陆服务器终端之间执行:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
这样就可以禁ping了。如果想恢复ping可以执行命令
echo0>/proc/sys/net/ipv4/icmp_echo_ignore_all
当然,你可以直接设置iptables的配置文件,在/etc/sysconfig/iptables里面,直接修改
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT #允许ping
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j DROP #禁止ping
注意,可能不同版本的防火墙设置有所区别,这里只在RHEL 5下面测试过,并没有测试其它平台。
SSH自动断开处理
https://www.cnblogs.com/qiu18359243869/p/10828677.html
vi /etc/profile