Linux常用命令总结
查看哪个进程在占用端口:lsof
1 | $ sudo lsof -i:(端口号) |
结束进程:kill
1 | $ sudo kill 进程PID |
ip
show / manipulate routing, devices, policy routing and tunnels 1
$ ip link
iwconfig
iwconfig - configure a wireless network interface 1
$ iwconfig
netstat - 跟踪网络
用法: netstat -[atunlp]
参数: * -a : 将目前系统上所有的连接、监听、Socket数据都列出来 * -t : 列出tcp网络数据包的数据 * -u : 列出udp网络数据包的数据 * -n : 不列出进程的服务名称,以端口号(port number)来显示 * -l : 列出目前正在网络监听的服务 * -p : 列出该网络服务的进程PID
ps -将某个时间点的进程运行情况选取下来
用法: 1
2
3ps aux # 查看系统所有的进程数据
ps -lA # 同上
ps axjf # 连同部分进程树的状态
参数: * -A : 所有进程均显示出来,与-e具有同样的作用 * -a : 不列出与terminal有关的所有进程 * -u : 有效用户(effective user)相关的进程 * x : 通常与a这个参数一起使用,可以列出较完整信息 * 输出格式规划: * l : 较长、较详细地将该PID的信息列出 * j : 工作的格式(job format) * -f : 做一个更为完整的输出 >常用: * ps -l : 只查看自己bash程序的所有进程 * ps aux : 查看所有系统运行的程序
top -动态查看进程变化
用法:
top [-d 数字] | top [-bnp]
参数: * -d : 后面可以接秒数,就是整个进程界面更新的秒数。默认是5秒 * -b : 以批次的方式执行top,通常会搭配数据流重定向来将批处理的结果输出成文件 * -n : 与-b搭配,意义是,需要进行几次top的输出结果 * -p : 指定某些个PID来进行查看检测 >在top执行过程中可以使用以下按键: * ? : 显示在top中可以输入的按键命令 * P : 以CPU的使用资源排序显示 * M: 以内存的使用资源排序显示 * N : 以PID来排序 * T : 由该进程使用的CPU时间积累排序 * k : 给予某个PID一个信号 * r : 给予某个PID重新制定一个nice值 * q : 离开top
scp - 安全复制,用于不同的linux之间
用法:
scp [-vCP46] 文件名1 远程用户名@IP地址:文件名2
参数: * -v : 显示进度、查看连接,认证或是匹配错误 * -C : 使能压缩 * -P : 选择端口 * -4 : 强制使用ipv4地址 * -6 : 强制使用ipv6地址
wget - 下载文件工具
用法: wget [options] url
部分参数: * -V : 显示wget的版本并退出 * -d : 显示Debug信息 * -x : 强制建立与服务器上一样的目录 * -r : 递归地下载服务器上所有的文件和目录(包括网站内指向的地址) * -l n: n为数字,为递归下载的层数 * -c : 断点续传 * -i : 批量下载,后面接txt文件,把每个url写成一行 * --http-user=USER, --http-passwd=PASS : 访问限制网站所需的账号密码 * -t : 尝试下载重复次数 * -O : 指定下载目录和文件名 * -nc : 不要覆盖已存在文件 * -N : 只下载比本地文件新的文件 * -T : 设置超时时间 * -b : 启动转入后台执行
curl - url下载工具
用法: curl [options1] url1 [options2] url2 ….
参数: * -o : 后接文件名,将文件保存为指定文件名的文件中 * -O : 使用url中默认文件名保存到本地 * -L : 进行重定向 * -C : 断点续传 * --limit-rate : 后面接数字,限制最大下载速度 * -u username[ : passwd ]: 需要授权时提供账号【密码】 * -T : 将本地文件上传至ftp服务器上
ifconfig - 获取/修改网络接口配置信息
用法: ifconfig [网络设备] [参数]
参数: * up : 启动指定网络设备/网卡 * down : 关闭指定设备/网卡 * arp : 设置网卡是否支持arp协议 * -a : 显示全部接口信息 * -s : 显示摘要信息 * add : 给指定网卡配置ipv6地址 * del : 删除指定网卡的ipv6地址 * address : 为网卡配置ipv4地址
ssh - SSH客户端
常用方法: * ssh host : 不加任何选项参数,直接加服务器地址 * ssh -l : 指定用户 host 用指定用户名登陆 * ssh host -p 端口号 : 指定端口 * ssh -C host : 请求压缩发送/接收的数据 * ssh -v host : 打开调试模式 * ssh -b source destination: 绑定源地址 * ssh -F 配置文件 : host 使用指定配置文件 * ssh -X user@host : 启用X11 Forwarding
apt-get
apt-get update
: 在修改/etc/apt/sources.list
或/etc/apt/preferences
之后运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的apt-get install packagename
: 安装一个新软件包apt-get remove packagename
: 卸载一个已安装的软件包(保留配置文档)apt-get remove --purge packagename
: 卸载一个已安装的软件包(删除配置文档)apt-get autoremove packagename
: 删除包及其依赖的软件包apt-get autoremove --purge packagname
: 删除包及其依赖的软件包+配置文件,比上面的要删除的彻底一点dpkg --force-all --purge packagename
: 有些软件很难卸载,而且还阻止了别的软件的应用,就能够用这个,但是有点冒险。apt-get autoclean
: apt会把已装或已卸的软件都备份在硬盘上,所以假如需要空间的话,能够让这个命令来删除您已卸载掉的软件的备份apt-get clean
: 这个命令会把安装的软件的备份也删除,但是这样不会影响软件的使用。apt-get upgrade
: 可以使用这条命令更新软件包,apt-get upgrade
不仅可以从相同版本号的发布版中更新软件包,也可以从新版本号的发布版中更新软件包,尽管实现后一种更新的推荐命令为apt-get dist-upgrade
。apt-get -u upgrade
: 这个选项让APT显示完整的可更新软件包列表。APT会下载每个软件包的最新更新版本,然后以合理的次序安装它们。注意在运行该命令前应先运行apt-get update
更新数据库,更新任何已安装的软件包。