Linux 实用命令表
命令
查找文件
find / -name "xxxx*" //全系统查找 xxxx 开头的文件
删除整个目录
rm -rf dir* //删除 dir 目录及内部所有文件, -r 递归 -f 强制
移动一个文件/目录,也可用于重命名
mv a b //a 移动到 b
软链
ln -s <source_file> <link_file>
查看文件夹大小
du -sh //查看当前文件夹大小
df -hl //查看系统磁盘大小以及使用情况 请注意若有挂载磁盘 则业务要放到挂载磁盘目录内
重启
shutdown -r now //立即重启
设置完全的读写权限
chmod 777 -R * //给当前目录及子目录所有文件设置读写权限
Zip压缩与解压
zip -r xxxx.zip xxxxxx //将xxxxxx目录及子目录文件压缩至xxxx.zip内
unzip xxxx.zip //解压xxxx.zip
wget下载资源
wget https://download.redis.io/releases/redis-6.0.8.tar.gz //下载到当前目录
Tar解压
tar -zxvf tarname.tar.gz //解压到当前目录
互传文件
使用scp/rsync传输文件
该命令将被弃用,但其语法类似cp命令因此还是可以用的
如下命令在主机使用(非远程服务器),其中ip_address为远程服务器信息
$ scp username@ip_address:/home/username/filename . #下载文件
$ scp filename username@ip_address:/home/username/filename #上传文件
$ scp -r source_dir username@ip_address:/home/username/target_dir #上传目录
该命令即将弃用可用 rsync 来替换
$ rsync username@ip_address:/home/username/filename . #下载文件
$ rsync filename username@ip_address:/home/username/filename #上传文件
$ rsync -r source_dir username@ip_address:/home/username/target_dir #上传目录
使用sshfs构建远程目录实现文件传输
主机安装sshfs,Windows我不知道,因为Windows推荐使用类似Filezilla传输工具更方便,该方法适合在两个Linux服务器上互传文件
$ yum install sshfs
创建一个专门的远程目录
$ mkdir mount_dir
挂载
$ sshfs username@IP_address:path_to_dir mount_dir
这样将文件复制到该目录或者从该目录拿出来就跟本地计算机一样了
$ cp local_file mount_dir
使用完一定要卸载
$ umount mount_dir
CentOS 防火墙firewall
firewall-cmd --list-all # 查看防火墙规则
firewall-cmd --reload # 加载规则,新配置的需要 reload 才能生效
firewall-cmd --add-port=3306/tcp --permanent # 开放 3306 端口
Ubuntu 防火墙
sudo ufw status
sudo ufw enable
sudo ufw disable
sudo ufw allow <port>/<protocol> # sudo ufw allow 22/tcp
sudo ufw deny <port>/<protocol> # 拒绝
sudo ufw delete <rule> # 删除规则
# 允许和拒绝某个IP
sudo ufw allow from <ip_address>
sudo ufw deny from <ip_address>
生成SSH
ssh-keygen -t rsa -C "这里换上你的邮箱"
SSH用户安全配置
配置Linux系统只允许特定用户进行远程登录
$ vim /etc/ssh/sshd_config
#添加下面信息 仅允许 root administrator 两个用户远程访问
AllowUsers root administrator
#重启ssh
$ service sshd restart
修改特定用户密码
sudo su
passwd 用户名
Ubuntu 允许root管理员远程登录
sudo vim /etc/ssh/sshd_config
# 修改下面
#PermitRootLogin prohibit-password
# 为
PermitRootLogin yes
sudo systemctl restart ssh