个人知识库 个人知识库
首页
关于
  • C语言
  • CPlusPlus
  • Linux
  • PHP
  • Nginx
  • MySQL
  • Redis
  • Docker
  • Kubernetes
  • SRS
阅读
常用工具
  • 分类
  • 标签
  • 归档
GitHub

Agnes001

坚持是一件很伟大的事业
首页
关于
  • C语言
  • CPlusPlus
  • Linux
  • PHP
  • Nginx
  • MySQL
  • Redis
  • Docker
  • Kubernetes
  • SRS
阅读
常用工具
  • 分类
  • 标签
  • 归档
GitHub
  • C语言

  • CPlusPlus

  • Lua技术栈

  • edoyun

  • 内存管理

  • 数据结构

  • 网络编程

  • Linux

    • Linux基础
      • lsof命令
      • lsof、ps、netstat区别与使用
    • 系统编程

    • 基础命令
    • itcast
    • 文件io
    • gdb
    • Ubuntu安装eclipse
    • gcc安装
    • 系统编程
    • linux内核多线程
  • 池化技术

  • 操作系统

  • python

  • 编程技术
  • Linux
Agnes001
2021-08-30

linux-base

#

  1. 软件包管理工具 apt sudo apt update 更新软件列表,存放可下载安装的软件及版本,若有新的软件版本更新,安装最新的
  2. tldr和man一样,查看命令说明,比man更简便
sudo apt install tldr
sudo apt remove tldr
  • man还可以查看函数
  • man -k 按关键字查询
  • man -k printf 查找命令和描述中包含关键字的命令
  • man -f printf 查找命令在哪一章中
  • 配置了zsh,会自动补全,如果需要删掉,ctrl+k删除光标后的所有字符串 ctrl+d一个字符一个字符删 ctrl+u 删除整行 ctrl+c不执行当前行
  1. vim文本编辑器
# 普通模式
/mail  # 搜素mail
h      # 左 
j      # 下
k      # 上
l      # 右
  1. centos安装man
yum install -y man man-pages man-pages-overrides
  1. 通过修改配置文件 首先是设置全局环境变量,对所有用户都会生效:

1、/etc/profile: 此文件为系统的每个用户设置环境信息。当用户登录时,该文件被执行一次,并从 /etc/profile.d 目录的配置文件中搜集shell 的设置。一般用于设置所有用户使用的全局变量。 2、/etc/bashrc: 当 bash shell 被打开时,该文件被读取。也就是说,每次新打开一个终端 shell,该文件就会被读取。

对单个用户生效:

1、~/.bash_profile 或 ~/.profile: 只对单个用户生效,当用户登录时该文件仅执行一次。用户可使用该文件添加自己使用的 shell 变量信息。另外在不同的LINUX操作系统下,这个文件可能是不同的,可能是 ~/.bash_profile, ~/.bash_login 或 ~/.profile 其中的一种或几种,如果存在几种的话,那么执行的顺序便是:~/.bash_profile、 ~/.bash_login、 ~/.profile。比如 Ubuntu 系统一般是 ~/.profile 文件。 2、~/.bashrc: 只对单个用户生效,当登录以及每次打开新的 shell 时,该文件被读取。

此外,修改 /etc/environment 这个文件也能实现环境变量的设置。 /etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。 注:系统是先执行/etc/environment,再执行/etc/profile

以修改/etc/profile 为例:

PATH="$PATH:/root/.config/composer/vendor/bin" export PATH

执行 source /etc/profile 使其立即生效。

# lsof命令

http://blog.itpub.net/31397003/viewspace-2147485

# lsof、ps、netstat区别与使用

查看端口占用

netstat -an | grep 8080
lsof -i:8080

区别: netstat:用于显示各种网络相关信息,如网络连接、路由表、接口装填

netstat -a(add) #显示所有选项,默认不显示listen相关
netstat -t(tcp) #仅显示tcp相关选项
netstat -u(udp) #仅显示udp相关选项
netstat -n      #拒绝显示别名,能显示数字的全部转化成数字
netstat -l      #仅列出有在listen的服务状态
netstat -p      #显示简历相关链接的程序名
netstat -r      #显示路由信息,路由表
netstat -e      #显示扩展信息,例如uid等
netstat -s      #按各个协议进行统计
netstat -c      #每隔一个固定时间,执行该netstat命令

lsof:(列出打开文件lists openfiles) 能看到pid和用户(由控制权限,只能看到本用户),可以找到哪个进程占用了这个端口

lsof /etc/passed                    #哪个进程在占用/etc/passed   
lsof /dev/hda6                      #哪个进程在占用hda6
lsof /dev/cdrom                     #哪个进程在占用光驱
lsof -c sendmail                    #查看sendmail进程的文件使用情况  
lsof -p 30297                       #显示哪些被pid为30297的进程打开
lsof -D /tmp                        #显示所有在/tmp文件夹中打开的instance和文件的进程
lsof -u1000                         #查看uid为1000的用户的进程的文件使用情况
lsof -utony                         #查看用户tony的进程的文件使用情况
lsof -u^tony                        #查看不是用户tony的进程的文件使用情况
lsof -i                             #显示所有打开的端口
lsof -i:80                          #显示所有打开80端口的进程
lsof -i -U                          #显示所有打开的端口和UNIX domain文件
lsof -i UDP@[url]www.alidia.com:123 #显示哪些进程打开了到www.alidia.com的UDP的123端口的链接
lsof -i tcp@ahaha.ks.edu.tw:ftp -r  #不断查看目前ftp连接的情况

显示瞬间进程的状态 ps:(process) 查看有终端控制的所有进程

ps -ef | grep worf
ps aux a代表all,x显示没有终端控制的进程
编辑此页
#Linux basic
结构化网络消息
概述

← 结构化网络消息 概述 →

Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式