Linux常用命令

1. 文件操作相关命令

1.1 文件&目录 (cd、find、touch、mkdir)

cd folder: 进入指定目录
cd ..: 返回上一级目录
find / -name fileName: 在整个文件系统中查询文件
find /path/to/search -name "example.txt": 指定目录下查找文件
touch fileName: 创建文件
mkdir folder: 创建目录
mkdir -p /a/b/c: 依次创建目录

1.2 复制(cp)

cp a b: 在当前目录下, 将a文件复制一份并命名为b
	- cp xxx.jar xxx.jar.bak
cp /path/to/a /path/to/dir: 将指定目录下的a文件复制到指定目录下

1.3 重命名&移动(mv)

mv a b: 在当前目录下, 重命名a为b
mv /path/to/a /path/to/dir: 将指定目录下的a文件移动到指定目录下
mv * /path/to/dir: 将当前目录下的所有文件移动到指定目录

1.4 清空文件&删除文件/目录(rm)

清空名为 log_file.log 的日志文件(文件不会被删除):
	truncate -s 0 log_file.log
	> log_file.log
	
删除文件xxx.log:
	rm xxx.log: 删除xxx.log
	rm -r /folder: 递归删除目录及其所有内容,包括子目录和文件
	rm -rf /folder: 强制递归删除目录及其内容,且不提示确认(如 rm -rf /*)

1.5 解压缩文件(zip、unzip、tar)

- .zip文件
	zip -r file.zip: 压缩整个文件夹下的所有文件
	zip -r folder filename.zip: 指定压缩后的文件名
	unzip file.zip: 解压a.zip文件
	unzip file.zip -d /path/to/dir: 将文件解压缩至指定的的目录

- file.tar
	tar -xvf file.tar
		参数解释:
			- x: 表示解压文件
			- v: 表示显示详细信息
			- f: 表示指定要解压的文件

- file.tar.gz
	tar -zxvf file.tar.gz: 解压缩文件到当前目录下
		- 参数解释:
			- z: 这个选项告诉 tar 使用 gzip 来解压缩文件. tar.gz 文件是先用 tar 创建的, 再用 gzip 压缩的
			- x: 这个选项告诉 tar 从存档中提取文件
			- v: 这个选项是详细模式, 意味着 tar 会显示每个被处理的文件的名字. 它可以帮助用户看到当前处理的进度
			- f: 表示要处理的文件名是紧随其后的参数 (file.tar.gz)

1.6 查看文件内容(cat、head、tail)

cat fileName: 查看文件内容

head -n 20 xxx.log: 查看开头20行日志
tail -f xxx.log: 实时查看文件末尾, ctrl + c 退出
tail -n 200 xxx.log: 实时查看最后200行日志
tail -n 200 xxx.log | less: 分页查看最后200行日志, 可以使用pageUp,pageDn滚动
tailf -n 500 xxx.log : 打印最后500行日志,并且持续跟踪日志
- head、tail在查看日志信息的时候较常用

2. 防火墙(firewalld-cmd)

2.1 开启关闭防火墙

systemctl status firewalld, firewall-cmd --state: 查看防火墙状态

systemctl stop firewalld: 暂时关闭防火墙
systemctl disable firewalld: 永久关闭防火墙

systemctl start firewalld: 开启防火墙

firewall-cmd --zone=public --add-port=8080/tcp --permanent: 开放指定端口(例8080)
firewall-cmd --zone=public --remove-port=8080/tcp --permanent: 关闭指定端口(例8080)

firewall-cmd --reload: 立即生效
firewall-cmd --zone=public --list-ports: 查看开放的端口

2.2 设置防火墙访问策略

允许指定的 IP 地址通过指定的 TCP 端口访问系统: firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="ip" port port="xxx" protocol="tcp" accept'

拒绝所有尝试通过指定 TCP 端口的连接: firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="xxx" protocol="tcp" reject'

查看当前防火墙配置的所有规则和设置: firewall-cmd --list-all

移除之前添加的允许指定 IP 通过指定 TCP 端口访问的规则: firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="ip" port port="xxx" protocol="tcp" accept'

移除之前添加的拒绝所有尝试通过指定 TCP 端口连接的规则: firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" port port="xxx" protocol="tcp" reject'

	+ firewall-cmd: 命令用于管理和配置 firewalld 防火墙
	+ --permanent: 使更改永久生效
	+ --add-rich-rule & --remove-rich-rule: 添加和移除详细规则
	+ rule family="ipv4": 规则适用于 IPv4 协议
	+ source address="ip": 指定源地址为 ip 的主机
	+ port="xxx": 指定目标端口为 xxx
	+ protocol="tcp": 使用的协议是 TCP
	+ accept: 允许这个连接
	+ reject: 拒绝这个连接
	+ --list-all: 列出当前所有配置的防火墙规则

3. 系统相关

3.1 查看系统信息

cat /etc/redhat-release: 查看版本号(CentOS)
uname -r: 查看内核版本
hostnamectl: 所有信息, 包括版本号和内核版本

3.2 查看某个进程(netstat、ps)

netstat -anp | grep 8085: 一般用来查看8085端口是否被占用
	(win中: netstat -an | findstr :8085)
ps -ef | grep java: 查看所有与 java 相关的进程信息
ps aux | grep xxx.jar: 查看指定 JAR 文件相关的进程信息
kill -9 <pid>: 强制终止进程的命令, 用于无法正常终止的进程. 使用时需谨慎, 尽量尝试其他信号让进程有机会进行清理和正常退出
kill -15 <pid>: 请求进程正常终止, 可以被进程捕获和处理, 用于要求进程终止并进行清理操作(默认信号)

3.3 查看目录大小(du、df)

du -sh /path/to/dir: 查看指定目录
du -sh .: 查看当前目录
du -sh * | sort -hr: 显示当前目录下每个文件和子目录的大小, 并按大小进行排序
df -h: 查看磁盘信息(-h根据大小适当显示, 输出的大小单位会以 KB、MB、GB 等易于理解的方式呈现)

3.4 查看时间&时区

date: 查看系统时间
timedatectl: 查看时区
timedatectl set-timezone Asia/Shanghai: 设置时区

3.5 定时任务(crontab)

crontab -l: 查看当前的任务
crontab -e, vim /etc/crontab: 可直接设置定时任务

4. 远程操作相关

4.1 远程连接(ssh)

ssh username@hostname: (ssh 用户名@密码, 连接远程服务器, 默认端口22)
ssh -p username@hostname: 指定端口连接
- 更改服务端口: 编辑 /etc/ssh/sshd_config 文件并重启ssh服务

4.2 远程传输文件(scp)

从当前服务器拷贝文件到远程服务器:
	- scp local_file remote_username@remote_ip:remote_folder
	- scp local_file remote_username@remote_ip:remote_file
	(命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名)
从远程服务器拷贝文件到当前服务器:
	- scp local_file remote_ip:remote_folder
	- scp local_file remote_ip:remote_file
	(命令执行后需要输入用户名和密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名)

从当前服务器拷贝目录到远程服务器:
	- scp -r local_folder remote_username@remote_ip:remote_folder
	- scp -r local_folder remote_ip:remote_folder
	(将本地目录复制到远程指定目录下)
从远程服务器拷贝到当前服务器:
	scp -r 远端服务器账号@IP:源目录  目标路径
	例: scp -r root@x.x.x.x:/home/source_file/data/SHFG /opt/mqq/Gwtest

5. 软连接

5.1 创建一个软连接(ln)

ln -s target_path link_path: target_path是要指向的文件或者目录, link_path是链接文件本身路径
例: ln -s /usr/local/bin/myapp ~/bin/myapp-link
	(/usr/local/bin/myapp创建一个名为~/bin/myapp-link的软连接)

5.2 删除一个软连接

rm -rf 软链接名字
例: rm -rf myapp-link

5.3 修改软连接

ln -snf 新的源文件或目录 目标文件或目录
例: ln -snf /new_source_file/file ~/bin/myapp-link
	(将myapp-link的链接目录改成/new_source_file/file)

6. 编辑器(vi、vim)

vim编辑器共有三种模式:命令模式、编辑模式、末行模式
模式间切换:

  • 命令模式下, 输入 : 后进入末行模式, i 进入编辑模式
  • 编辑模式下, esc 回到命令模式

vim常用命令:

显示行号: ":set number"	/ ":set nu"
隐藏行号: ":set nonumber"

搜索关键字: "/"
查找下一个: "n"
查找上一个: "N"
光标到当前行末: "$"
光标到当前行第一个非空字符串: "^"

保存: ":w"
退出: ":q"
保存退出: ":wq"
强制退出: ":q!"
光标移动到顶端: "gg"
光标移动到末端: "G"
取消高亮: ":noh"

7. 运行jar包

前台启动: java -jar xxx.jar > log.log 2>&1
后台启动: nohup java -jar xxx.jar > log.log 2>&1 &
	(Windows 后台运行jar: javaw -jar xxx.jar > C:\Path\To\Log\output.log 2>&1)
  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值