本文列出基本Linux运维命令,具体参数使用各命令-h/–help现查
主机全局配置
查看操作系统信息
cat /etc/issue
cat /etc/os-release
uname -a
查看cpu信息
vim /proc/cpuinfo
环境变量
查看环境变量 env | grep
修改环境变量 vim /etc/profile
加载环境变量 source /etc/profile
设置环境变量 export
设置java环境变量
export JAVA_HOME=jdk的bin文件所在目录
export PATH=%JAVA_HOME%/bin
export CLASSPATH=%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
系统服务管理/自启
systemctl enable service-name
chkconfig service-name on/off
systemctl start name.service
service service-name start
systemctl stop name.service
service service-name stop
systemctl status name.service
service service-name status
systemctl restart name.service
service service-name restart
systemctl reload name.service
service service-name reload
查看历史执行指令
history | grep name
进程管理
查看进程
ps -ef | grep name
pstree
jps
杀死进程
kill -9 pid 按进程号杀死进程
killall procName 按进程名杀死进程
killall -0 检测进程是否存在
存储管理
磁盘分区
查看硬盘挂载/内存占用
free [param]
[-m] 以MB为单位显示
[-h] 易读模式
关闭swap机制
vim /proc/swaps 查看本机swap配置
vim /etc/fstab 查看本机swap配置
swap swapoff -a 清空已分配swap
网络管理
查看ip
ip address
ip addr show
ifconfig
查看端口
netstat [param]
-n 使用IP地址
-u 查看UDP端口号
-t 查看TCP端口号
-l 显示监听socket
-p 显示使用socket的进程
开放关闭端口号
开放端口 firewall-cmd --zone=public --add-port=80/tcp --permanent
关闭端口 firewall-cmd --zone=public -remove-port=80/tcp --permanent
本机DNS解析规则
vim /etc/hosts
查看端口映射
iptables -t nat -vnL
远程传文件
scp [param] source_arch remote_ip:remote_folder
[-r] 递归复制整个目录
curl [param] <url>
[-f] HTTP传输错误时不显示错误
[-s] 静默模式
[-S] 显示错误
[-L] 若有重定向则指向重定向页面
[-X] 构造GET或POST请求
网络性能参数调整
文件管理
路径相关
pwd 查看当前路径
cd 切换路径
. | ./ 当前路径
.. 父路径
~ 当前用户目录
/ 根目录
查看文件内容
more
cat
vim
tail
查看目录及文件
tree /dirName
ls /dirName
ls /dirName/* 递归展示所有文件下的文件
ls [param]
-l 显示文件属性详情列表
-a 显示所有文件,包含隐藏文件
创建文件
touch filename
vim filename
创建文件夹
mkdir [param] dirName
[-m] 指定权限可读可写可执行二进制数
[-p] 若目录存在不报错,父目录不存在创建父目录
删除文件
rm [param] fileName
[-r递归] 删除当前文件夹下的所有文件 rm -r *
[-f强制] 强制删除指定前缀文件 rm -rf prefix*
查找文件
find -name fileName
which firewalld
压缩解压
tar -xzvf source.tar 解压文件source.tar至当前目录
tar -czvf target.tar . 压缩当前目录文件为target.tar
[-x 反解压]
[-z gzip命令处理]
[-v 显示指令执行过程]
[-f 指定备份文件]
[-c 创建解压]
文件权限
chmod [param] [ownerLimit] [groupLimit] [otherLimit] [fileList]
[-R] 对文件夹以及其中所有文件授权
[777] 可读可写可执行 read(4) write(2) execute(1)
chmod -R 744 /dirName owner对dirName文件夹可读可写可执行,group/other只读
IO
读取输入流写入文件
tee [param]
[-a] 追加到文件末尾,而不是替换文件
[-i] 忽略中断信号
echo 'a' | tee a.txt 读取输入写入a.txt
tee a.txt b.txt 读取用户输入写入a/b两个文件
shell输入输出
read name 从输入流读入name变量
echo [param]
[-n] 不输出末尾换行符 echo -ne 'string\n'
[-e] 转换转义字符 echo -e 'str\ning'
echo $name 输出变量值
echo 'string' 输出字符串
echo $? 查看返回值
echo `cmd` 输出命令cmd执行结果
重定向
echo "aa" > a.txt 将命令执行输出aa写入文件a.txt
输入结束符
<< EOF 输入以EOF结束
<< A 输入以A结束
将END之前的内容输出到文件a.txt
cat <END > a.txt
aaa
END
管道
cmd1 | cmd2 将命令1的输出作为命令2的输入
ps -ef | grep name 过滤含有name的进程信息
安装软件
下载软件包
wget url
修改软件下载源
备份/etc/apt/sources.list.d/xxx.list文件:
cp /etc/apt/sources.list.d/xxx.list /etc/apt/sources.list.d/xxx.list.bak
修改/etc/apt/sources.list.d/xxx.list文件,加入镜像源
更新软件列表
apt-get update
更新apt-get
apt-get upgrade
查找软件版本
yum search name
安装指定软件
[-y] 安装过程中所有选项均为yes
apt-get install -y name
yum install -y name
编译源码和安装
make 编译源码,需切换到源码路径
make install [DEST_DIR=path] 安装软件,不指定默认/usr/local/bin