Linux常用命令

Posted by Kaka Blog on January 17, 2019

常用Shell命令

  • ulimit -a:用来显示当前的各种用户进程限制
  • uname -a:显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号
  • htop:一个 Linux 下的交互式的进程浏览器,可以用来替换Linux下的top命令
  • free -m:查看linux内存使用情况。-m 参数就是用 M显示内容使用情况
  • df -h:命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计
  • lsof -i:端口号:查看占用端口的进程
uname -a # 查看内核/操作系统/CPU信息的linux系统信息  
head -n l /etc/issue # 查看操作系统版本  
cat /proc/cpuinfo # 查看CPU信息  
hostname # 查看计算机名的linux系统信息命令  
lspci -tv # 列出所有PCI设备   
lsusb -tv # 列出所有USB设备的linux系统信息命令  
lsmod # 列出加载的内核模块   
env # 查看环境变量资源  
free -m # 查看内存使用量和交换区使用量   
df -h # 查看各分区使用情况  
du -sh # 查看指定目录的大小   
grep MemTotal /proc/meminfo # 查看内存总量  
grep MemFree /proc/meminfo # 查看空闲内存量   
uptime # 查看系统运行时间、用户数、负载  
cat /proc/loadavg # 查看系统负载磁盘和分区   
mount | column -t # 查看挂接的分区状态  
fdisk -l # 查看所有分区   
swapon -s # 查看所有交换分区  
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)   
dmesg | grep IDE # 查看启动时IDE设备检测状况网络  
ifconfig # 查看所有网络接口的属性   
iptables -L # 查看防火墙设置  
route -n # 查看路由表   
netstat -lntp # 查看所有监听端口  
netstat -antp # 查看所有已经建立的连接   
netstat -s # 查看网络统计信息进程  
ps -ef # 查看所有进程   
top # 实时显示进程状态用户  
w # 查看活动用户   
id # 查看指定用户信息  
last # 查看用户登录日志   
cut -d: -f1 /etc/passwd # 查看系统所有用户  
cut -d: -f1 /etc/group # 查看系统所有组   
crontab -l # 查看当前用户的计划任务服务  
chkconfig –list # 列出所有系统服务   
chkconfig –list | grep on # 列出所有启动的系统服务程序  
rpm -qa # 查看所有安装的软件包   
cat /proc/cpuinfo # 查看CPU相关参数的linux系统命令  
cat /proc/partitions # 查看linux硬盘和分区信息的系统信息命令   
cat /proc/meminfo # 查看linux系统内存信息的linux系统命令  
cat /proc/version # 查看版本,类似uname -r   
cat /proc/ioports #查看设备io端口  
cat /proc/interrupts # 查看中断   
cat /proc/pci # 查看pci设备的信息  
cat /proc/swaps # 查看所有swap分区的信息  
sed -n 10p file.txt # 查看文件第10行,n表示只输出匹配行,p表示Print

常用vi命令

  • 跳到文本的最后一行:按G,即shift+g
  • 跳到第一行的第一个字符:先按两次g
  • vi加密。进入vi,输入”:” + “X” 之后就提示你输入两次密码。之后:wq 保存退出。再次进入时就提示你输入密码了。如果你不想要密码了,就:X 提示你输入密码时连续按两次回车

网络问题查找

  • 查看tcp连接状态统计信息
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
  • 查看网络连接
netstat -anp
  • 查看socket
cat /proc/net/sockstat

可以通过以下途径修改Linux配置文件

vim /etc/sysctl.conf
tcp_keepalive_time = 30
tcp_keepalive_probes = 3
tcp_keepalive_intvl = 5

使生效

sysctl -p

screen常用命令

screen 命令以会话( session )为基础为用户提供终端复用功能,当用户在某一终端运行 sreen 命令时,当前终端即进入某个 screen 创建的会话,新建的会话默认拥有一个运行 shell 的窗口,用户可在该窗口中进行所需操作,并通过 screen 命令进行会话中新窗口的创建、对某个窗口进行面板划分等操作。

1、创建会话

screen -S session_name

2、退出当前会话,会话继续执行

Ctrl+A+D

3、进入会话

screen -R session_name

4、查看所有会话

screen -ls

5、删除会话

screen -S session_name/id -X quit

6、退出会话,结束会话

exit

7、窗口管理

前缀:Ctrl+A

c      //创建一个带有 shell 的新窗口并切换至新窗口
k      //关闭当前窗口(以及其中运行的程序)
d      //退出当前会话
i      //显示当前窗口的信息
w      //显示所有窗口的序号         
"      //显示所有窗口,以供选择切换
num     //num 为 0-9 之间的数字,切换至 num 对应的窗口
space / n  //切换到下一窗口( next )
backspace / p       //切换到上一窗口( previous )