文章目录
前言
记录总结一些比较基础但很实用的linux命令,都是在各种场景下实操验证过,堪称初学者干货,持续更新,嘿嘿~
温馨提示:老鸟请在此处绕路
一、查看服务器配置、资源、内存相关
查看核心数:lscpu
RAM: free -h
硬盘: lsblk
查看linux系统版本: lsb_release -a
该命令有些版本不能用,可使用: cat /proc/version
查看系统内存情况: df -h
查看每个文件夹占用内存情况: du -sh *
二、常用文件操作
创建目录: mkdir xxx 或 mkdir -p aaa/bbb(递归创建)
删除目录: rm -rf aaa(递归强删,小心使用)
复制目录: cp -r aa(源) bb(目标) 或 cp -r aa/* bb
查看创建修改时间(详细): stat aaa
更改所有者: chown -R appdev:appdev aaa(目录) (-R表示递归)
更改权限: chmod 777 file (r、w、x权重4、2、1)
或 chmod ugo+r file
查找文件: find / -name nginx
移动目录(剪切):
mv aaa(源) bbb(目标)
命令格式 | 运行结果 |
---|---|
mv source_file(文件) dest_file(文件) | 将源文件名 source_file 改为目标文件名 dest_file |
mv source_file(文件) dest_directory(目录) | 将文件 source_file 移动到目标目录 dest_directory 中 |
mv source_directory(目录) dest_directory(目录) | 目录名 dest_directory 已存在,将 source_directory 移动到目录名 dest_directory 中;目录名 dest_directory 不存在则 source_directory 改名为目录名 dest_directory |
mv source_directory(目录) dest_file(文件) | 出错 |
注:Linux系统下挂载点只表示当前目录挂载的内存,与上下级目录容量并无包含关系,这点与windows不同。
三、ssh相关操作及scp命令
1.ssh相关
添加或修改ssh端口
vi /etc/ssh/sshd_config, 把Port: 22注释拿掉,在下一行增加: Port: 9020
之后重启服务:
systemctl restart sshd.service 就ok
(若无法使用systemctl命令, 使用service sshd restart)
2.scp
scp -P 9020 -r [源文件路径] root@[IP]:[目标路径]
四、一些防火墙操作
防火墙操作比较复杂,在命令上,service命令、systemctl命令和linux发行版本有关,在管理方式上,存在iptables和firewalld两种方式管理,linux发行版本有关。有些情况并未解决,下述操作只适用于普遍情况。
systemctl-firewalld:
开启防火墙: systemctl start firewalld
关闭防火墙: systemctl stop firewalld
查看防火墙状态: systemctl status firewalld
systemctl-iptables:
#查看防火墙的状态
systemctl status iptables.service
#停止防火墙
systemctl stop iptables.service
#启动防火墙
systemctl start iptables.service
#重启防火墙
systemctl restart iptables.service
#重载防火墙等价于restart
systemctl reload iptables.service
#禁止开机启动防火墙
systemctl disable iptables.service
#开机启动防火墙
systemctl enable iptables.service
service-iptables:
#查看防火墙状态
service iptables status
#启动防火墙
service iptables start
#停止防火墙
service iptables stop
#重启防火墙
service iptables restart
#重载防火墙
service iptables reload
例如开启80端口:
vi /etc/sysconfig/iptables
#加入如下代码
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重新加载配置文件:
firewall-cmd --reload(或systemctl restart iptables)
上述命令有时候不好使,可通过命令添加端口:
/sbin/iptables -l INPUT -p tcp --dport 80 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
查看效果:
/etc/init.d/iptables status
开放端口:
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
参数说明:
参数 | 说明 |
---|---|
-A | 添加一条INPUT的规则 |
-p | 指定是什么协议(TCP/UDP) |
–dport | 就是目标端口,当数据从外部进入服务器为目标端口 |
–sport | 数据从服务器出去,则为数据原端口 |
-j | 就是指定是ACCEPT接受或阻止DROP |
保存配置:
service iptables save
或
/etc/rc.d/init.d/iptables save
重启服务:
service iptables restart
或
systemctl restart iptables.service
五、常用压缩、解压操作
压缩: tar -zcvf test.tar.gz a.c
解压: tar -zxvf test.tar.gz
六、查看端口占用
lsof -i:20880
七、Linux用户操作
查看所有用户: cat /etc/passwd
查看用户是否设置密码: sudo passwd -S username
密码锁定,解锁账户: sudo passwd -u username
给用户设置新密码: passwd username
八、定时任务
查看某用户下的定时任务:
切换到该用户下,
crontab -l
设置定时任务:
crontab -e, 粘进去即可
总结
以上就是本阶段的一个小结,本文仅仅介绍了一些基本的Linux命令,还有一些问题并未解决(比如防火墙那里,有些情况还是无法解决),后续将会继续更新,欢迎各位大佬评论区交流指正。