linux-base
#
- 软件包管理工具 apt sudo apt update 更新软件列表,存放可下载安装的软件及版本,若有新的软件版本更新,安装最新的
- 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不执行当前行
- vim文本编辑器
# 普通模式
/mail # 搜素mail
h # 左
j # 下
k # 上
l # 右
- centos安装man
yum install -y man man-pages man-pages-overrides
- 通过修改配置文件 首先是设置全局环境变量,对所有用户都会生效:
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显示没有终端控制的进程