【Linux】常用命令总结

本文详细介绍了Linux系统的基本操作如路径查看、环境变量设置、资源限制、用户管理等,还包括网络配置、IP工具、NFS挂载、防火墙控制、SSH服务、docker容器操作以及一些杂项问题的解决方案。
摘要由CSDN通过智能技术生成

一、基本操作类

1、linux关机

#重启
reboot
#关机
shotdown
#直接断电
poweroff

2、pwd

查看当前路径

3、设置环境变量和取消

(1)用export命令

export PATH=/usr/local/bin:$PATH
[root@center ansible-2.7.5]# echo $PATH
/usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

#取消环境变量
unset NEUWARE_HOME

#添加库路径
export LD_LIBRARY_PATH=/home/lib:$LD_LIBRARY_PATH

但是这种方法只会对当前用户及当前命令行窗口生效,退出后就会丢失

(2)编辑修改.bashrc文件

​​​​​​​vim /root/.bashrc 
#在最后一行添上:
export PATH=/usr/local/bin:$PATH

这种方法只会对当前用户生效,需重启系统

(3)编辑修改profile文件:

vim /etc/profile
export PATH=/usr/local/bin:$PATH

4、ulimit

用于配置进程所占用的资源

   -a  显示目前资源限制的设定。 
   -c <core文件上限>  设定core文件的最大值,单位为区块。 
   -d <数据节区大小>  程序数据节区的最大值,单位为KB。 
   -f <文件大小>  shell所能建立的最大文件,单位为区块。 
   -H  设定资源的硬性限制,也就是管理员所设下的限制。 
   -m <内存大小>  指定可使用内存的上限,单位为KB。 
   -n <文件数目>  指定同一时间最多可开启的文件数。 
   -p <缓冲区大小>  指定管道缓冲区的大小,单位512字节。 
   -s <堆叠大小>  指定堆叠的上限,单位为KB。 
   -S  设定资源的弹性限制。 
   -t <CPU时间>  指定CPU使用时间的上限,单位为秒。 
   -u <程序数目>  用户最多可开启的程序数目。 
   -v <虚拟内存大小>  指定可使用的虚拟内存上限,单位为KB。

例如;设置core文件大小

ulimit -c unlimited

5、who

查看当前用户

w
who

6、watch

周期性的执行给定的命令

watch [OPTIONS] COMMAND
-d, --differences [PERMANENT]高亮显示最近两次更新之间的差异。-d cumulative 选项会把变动过的地方(不管最近的那次有没有变动)都高亮显示出来
-n, --interval SECONDS指定监测间隔,单位秒。默认 2s,不能低于 0.1s
-p, --precise尝试精确地按照指定的间隔进行一次命令监视
-t, --no-title关闭 watch 命令在顶部的时间间隔、命令、当前时间的输出
-b, --beep被监测的命令退出码非零时发出哔哔声
-e, --errexit被监测的命令发生错误时 watch 停止更新,并在按键之后退出
-g, --chgexit被监测的命令输出发生变化时退出 watch
-c, --color解释 ANSI 颜色和样式序列
-x, --exec将命令传递给 exec(2) 而不是 sh -c
-h, --help显示帮助信息并退出
-v, --version显示版本信息并退出

#例如:
watch -n1 cnmon

7、grep

-n      添加行号作为后缀
-r      递归查找
-i      忽略大小写
-E      以正则表达式进行检索
例如:
ps -A | grep -Eir 'srpc|name|pipeline'

根据条件检索杀进程
ps -A| grep -E 'name|lau|srpc|pipeline'|grep -v grep|awk '{print $1}'|xargs kill -9

对于defunct僵尸进程,需要杀掉父进程
ps -ef| grep -E 'sim|lau|srpc|pipeline'|grep -v grep|more|awk '{print $3}'|xargs kill -9

循环执行
while true; do top -bn 1|grep -E "shrd|nic" | grep -v grep; sleep 1; done

8、su

su命令可以获取root权限,如果切换失败,报错:authentication failure,使用下列命令解决

root@usr sudo passwd root
Enter new UNIX password:                             
Retype new UNIX password:                                  
passwd: password updated successfully
root@usr sudo root

9、查看linux版本号

lsb_release -a

10、创建密钥

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

生成的密钥在~/.ssh/目录下,id_rsa为私钥,用于本机认证,id_rsa.pub为公钥,用于远程服务器认证。

11、~目录和/目录的区别

/目录是指当前系统的根目录

~目录是指当前用户的目录,相当于/home/cur_user/

二、网络相关类

 1、ifconfig 显示网络接口配置信息

(1)查看当前网络

ifconfig -a

(2)网络启动和暂停

ifconfig enp0s3 up

ifconfig enp0s3 down

ifconfig lo 127.0.0.1 up #启动回环地址

(3)设置ip地址

ifconfig enp0s3 192.168.1.103 broadcast 192.168.1.255

如果这种方式设置重启后失效,可以使用下面方法设置

cd /etc/netplan/
vi 00-installer-config.yaml
#将enp0s3的网络信息设置如下
enp0s3:
      dhcp4: true
      addresses: [192.168.1.103/24]
      nameservers: 
         addresses: [114.114.114.114,8.8.8.8]

#设置后执行下面命令生效
sudo netplan apply

2、ip网络工具

1、基本用法

#查看所有ip,以网卡分组
ip address
ip a
#查看路由
ip route
ip r
#查看内核中记录的ARP表
ip neigh
ip n

3、mount挂载NFS

(1)服务端

sudo apt-get install nfs-kernel-server
sudo vim /etc/exports
#在exports文件中添加要挂载的路径
/home *(rw,sync,insecure,no_subtree_check,no_root_squash)
sudo service nfs-kernel-server restart

(2)客户端

mount -t nfs -o nolock -o tcp 192.168.1.103:/home/ /mnt/

4、关闭防火墙

#输入以下命令以停止防火墙服务:

sudo systemctl stop ufw.service

#输入以下命令以禁用防火墙服务:

sudo systemctl disable ufw.service

#最后,输入以下命令以确认防火墙服务已关闭:

sudo ufw status

5、安装和重启SSH服务

#安装
sudo apt-get install sshd
#或者
sudo apt-get install openssh-server
#重启
service sshd restart
systemctl restart sshd.service

6、virtual box虚拟机睡眠后无法使用网络

sudo ifconfig enp0s3 down
sudo ifconfig enp0s3 up

三、性能相关类

1、/proc/meminfo

查看内存最简单的方法

cat /proc/meminfo
cat /proc/<pid>/statm
cat /proc/<pid>/status

2、free

对meminfo的信息做个概述

free -h

3、htop

命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。列表可以水平及垂直滚动。

4、memstat

可以查看进程数据段、共享库的内存占用

memstat -p pid

5、ps

实时显示各个进程的内存占用情况,CPU使用率

#序列化显示并排序
ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu

6、top

实时统计运行中进程占用的资源

四、内存相关

1、cat

cat /proc/130006/status


VmPeak:     表示进程所占用最大虚拟内存大小
VmSize:      表示进程当前虚拟内存大小
VmLck:       表示被锁定的内存大小
VmHWM:    表示进程所占用物理内存的峰值
VmRSS:     表示进程当前占用物理内存的大小(与procrank中的RSS)
VmData:     表示进程数据段的大小
VmStk:       表示进程堆栈段的大小
VmExe:      表示进程代码的大小
VmLib:       表示进程所使用共享库的大小
VmPTE:      表示进程页表项的大小

2、pmap

#打印进程123物理内存大于200kB的信息
pmap -x 123 | awk '{if($3>200) print $0}'

3、共享内存相关

#清除共享内存
ipcs -m | grep '^0x' | awk '{print $2}' | xargs -n 1 ipcrm -m

五、docker相关

docker 容器的启动和停止有以下几种方式:

1、查看容器

#查看运行的容器列表
docker ps -a
#查看当前系统中存在哪些镜像
docker images

 2、启动一个新的容器

docker run命令用于创建并启动一个新的容器。例如,运行下面的命令可以创建并启动一个新的 Nginx 容器:


docker run -d --name my-nginx nginx

3、 启动一个已停止的容器

命令docker start命令用于启动已经停止的容器。例如,运行下面的命令可以启动名为 my-nginx 的容器:


docker start my-nginx

4、 停止正在运行的容器:

docker stop 命令用于停止正在运行的容器。例如,运行下面的命令可以停止名为 my-nginx 的容器:


docker stop my-nginx

5、 重启容器:

docker restart 命令用于重启容器,即先停止再启动容器。例如,运行下面的命令可以重启名为 my-nginx 的容器:


docker restart my-nginx

6、 暂停容器:

docker pause 命令用于暂停容器中的所有进程。例如,运行下面的命令可以暂停名为 my-nginx 的容器:


docker pause my-nginx

7、恢复容器:

docker unpause 命令用于恢复容器中的所有进程。例如,运行下面的命令可以恢复名为 my-nginx 的容器:


docker unpause my-nginx

8、 停止并删除容器:

docker rm 命令用于停止并删除容器。例如,运行下面的命令可以停止并删除名为 my-nginx 的容器:


docker rm -f my-nginx
docker rmi nginx

六、杂项

1、段错误没有生成core文件

查看core file size,可通过ulimit -c size 设置大小。

ulimit -a 

如果还没有生成core文件,运行以下命令再重新运行程序

sudo bash -c "echo core > /proc/sys/kernel/core_pattern "

2、查看PCIE设备信息:lspci

报错:bash: lspci:未找到命令

解决办法:

apt-get install lspci

报错:E: 无法定位软件包 lspci

解决办法:

apt-get install pciutils

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值