Linux 命令
# Linux 命令
# 常用
# 清楚缓存释放内存
# 清除缓存
sync && echo 3 > /proc/sys/vm/drop_caches
# 查看工具安装目录
rpm -ql xx
# 如:rpm -ql nginx
# 防火墙
# 查看防火墙状态
firewall-cmd --state
# 开启 firewalld.service服务
service firewalld start
# 重启 firewalld.service服务
service firewalld restart
# 关闭 firewalld.service服务
service firewalld stop
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 开放端口号5901-5905
firewall-cmd --permanent --zone=public --add-port=5901-5905/tcp
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 查看防火墙规则
firewall-cmd --list-all
# 解除端口占用
# 查看端口是否被占用(8080 为端口号)
netstat -anp | grep 8080
# 查看端口占用进程(8080 为端口号)
fuser -v -n tcp 8080
# 结束占用端口的进程 (12345 为进程号)
kill -s 9 12345
# 通过链接下载文件
# wget http://xxx 下载文件
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.5.tgz
# 测试网速
Speedtest.net强大而知名的全球宽带网络速度测试网站,采用Flash载入界面,Alexa世界排名非常高,Speedtest.net在全球有数百个测试节点,国内有测速节点几十个。作为一款在线并且可视化的网速测试工具。使用方法简单,无需下载、安装Speedtest.net还推出了命令行下测速工具speedtest.py 就能够实时测试网速。
# 1. 下载 speedtest
wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
# 2. 赋予可执行权限
chmod +x speedtest.py
# 3. 运行
./speedtest.py
# 查看 speedtest 所有命令
./speedtest.py --help
# 用户相关
# 添加用户
useradd xx
# 修改用户密码 不加用户名直接更改自己的密码
passwd (用户名)
# 查看当前的账户 显示的格式为:
# 登录用户名 登录终端(tty:本地登录 pts:远程终端) 登录时间 ip地址
who
# 文件相关
# 返回上一级目录
cd ..
# 返回上次所在的目录
cd -
# 显示工作路径
pwd
# 查看目录中的文件
ls
# 查看目录中的文件
ls -F
# 显示文件和目录的详细资料
ls -l
# 显示隐藏文件
ls -a
# 显示包含数字的文件名和目录名
ls *[0-9]*
# 创建文件并编辑
vi/vim xx
# 查看文件内容
cat xx
# 删除文件
rm xx
# 创建文件夹
mkdir xx
# 删除目录'
rmdir xx
# 强制删除文件/文件夹并且不提示确认
rm -rf xx
# 创建一个目录树
mkdir -p /tmp/dir1/dir2
# 重命名/移动 一个目录
mv dir1 new_dir
# 复制一个文件
cp file1 file2
# 复制一个目录下的所有文件到当前工作目录
cp dir/* .
# 复制一个目录到当前工作目录
cp -a /tmp/dir1 .
# 复制一个目录
cp -a dir1 dir2
# 复制一个目录及子目录
cp -r dir1 dir2
# 创建一个指向文件或目录的软链接
ln -s file1 lnk1
# 创建一个指向文件或目录的物理链接
ln file1 lnk1
# 创建一个gzip格式的压缩包
tar -cvfz archive.tar.gz xxx
# 解压一个gzip格式的压缩包
tar -zxvf archive.tar.gz
# 上传下载
# 检查是否安装sz rz
rpm -qa | grep rz # 上传
rpm -qa | grep sz # 下载
# 安装lrzsz软件
yum install -y lrzsz # CentOS
apt-get install -y lrzsz # Ubuntu
# 文件上传
rz
rz -be
# 使用rz会有两个问题: 上传中断、上传文件变化(md5不同)。解决办法如下:
# -b: 用binary的方式上传下载, 不解释字符为ASCII。
# -e: 强制escape所有控制字符, 比如Ctrl+x, DEL等。
# 文件下载
# 1. 下载一个文件
sz filename
sz xx.txt
# 2.下载多个文件
sz filename1 filename2
# 3.下载dir目录下的所有文件,不包含dir下的文件夹
sz dir/*
# 文件搜索
# 开始进入根文件系统搜索文件和目录
find / -name file1
# 搜索属于用户 'user1' 的文件和目录
find / -user user1
# 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
find /home/user1 -name \*.bin
# 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -atime +100
# 搜索在10天内被创建或者修改过的文件
find /usr/bin -type f -mtime -10
# 搜索以 '.rpm' 结尾的文件并定义其权限
find / -name \*.rpm -exec chmod 755 '{}' \
# 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
find / -xdev -name \*.rpm
# 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
locate \*.ps
# 显示一个二进制文件、源码或man的位置
whereis halt
# 显示一个二进制文件或可执行文件的完整路径
which halt
# 文件的权限
使用 "+" 设置权限,使用 "-" 用于取消
# 显示权限
ls -lh
# 将终端划分成5栏显示
ls /tmp | pr -T5 -W$COLUMNS
# 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmod ugo+rwx directory1
# 删除群组(g)与其他人(o)对目录的读写执行权限
chmod go-rwx directory1
# 改变一个文件的所有人属性
chown user1 file1
# 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chown -R user1 directory1
# 改变文件的群组
chgrp group1 file1
# 改变一个文件的所有人和群组属性
chown user1:group1 file1
# 把目录和下面所有文件的权限
chmod -R 777 testdir
# 系统相关
# 查看系统版本
cat /etc/redhat-release
# 查看磁盘信息
df -lh
# 显示机器的处理器架构
arch
uname -m
# 显示正在使用的内核版本
uname -r
# 显示硬件系统部件 - (SMBIOS / DMI)
dmidecode -q
# 罗列一个磁盘的架构特性
hdparm -i /dev/hda
# 在磁盘上执行测试性读取操作
hdparm -tT /dev/sda
# 显示CPU info的信息
cat /proc/cpuinfo
# 显示系统日期
date
# 显示2007年的日历表
cal 2007
# 设置日期和时间 - 月日时分年.秒
date 041217002007.00
# 将时间修改保存到 BIOS
clock -w
# 重启 now (为时间是定时 20:00) (为数字是多少分钟后)
reboot
shutdown -r now
# 进程相关
# 查看所有
ps -ef
# 查询某个进程
ps -ef |grep xx
# linux 下 取进程占用 cpu 最高的前10个进程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
#linux 下 取进程占用内存(MEM)最高的前10个进程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
# 杀死进程
kill -9 PID 杀死某个进程