Linux常见命令

发布时间 2023-09-19 21:18:55作者: 爱上彩虹

基础操作

Linux关机,重启

# 关机
shutdown -h now

# 重启
shutdown -r now

# 修改服务器永久密码权限
chage -M 99999 root     linux密码永久
# 防火墙开启、关闭、重启
/etc/init.d/iptables status
/etc/init.d/iptables start
/etc/init.d/iptables stop
/etc/init.d/iptables restart

建立软连接

ln -s /usr/local/jdk1.8/ jdk

同步服务器时间

sudo ntpdate -u ntp.api.bz

后台运行命令

# 后台运行,并且有nohup.out输出
nohup xxx &

# 后台运行, 不输出任何日志
nohup xxx > /dev/null &

# 后台运行, 并将错误信息做标准输出到日志中 
nohup xxx >out.log 2>&1 &

查看命令路径

which <命令>

磁盘、文件、目录相关操作

VIM操作

#normal模式下 g表示全局, x表示查找的内容, y表示替换后的内容
:%s/x/y/g
 
#normal模式下
0  # 光标移到行首(数字0)
$  # 光标移至行尾
shift + g # 跳到文件最后
gg # 跳到文件头
 
# 显示行号
:set nu
 
# 去除行号
:set nonu
 
# 检索
/xxx(检索内容)  # 从头检索, 按n查找下一个
?xxx(检索内容)  # 从尾部检索

查看磁盘, 文件目录基本信息

# 查看磁盘挂载情况
mount

# 查看磁盘分区信息
df

# 查看目录及子目录大小
du -H -h

# 查看当前目录下各个文件, 文件夹占了多少空间, 不会递归
du -sh *

常用压缩, 解压缩命令

压缩命令

tar czvf xxx.tar 压缩目录
 
zip -r xxx.zip 压缩目录

解压缩命令

tar zxvf xxx.tar
 
# 解压到指定文件夹
tar zxvf xxx.tar -C /xxx/yyy/
 
unzip xxx.zip

cp, scp, mkdir

#复制
cp xxx.log

# 复制并强制覆盖同名文件
cp -f xxx.log

# 复制文件夹
cp -r xxx(源文件夹) yyy(目标文件夹)

# 远程复制
scp -P ssh端口 username@10.10.10.101:/home/username/xxx /home/xxx

# 级联创建目录
mkdir -p /xxx/yyy/zzz

# 批量创建文件夹, 会在test,main下都创建java, resources文件夹
mkdir -p src/{test,main}/{java,resources}

检索相关

grep

# 反向匹配, 查找不包含xxx的内容
grep -v xxx

# 排除所有空行
grep -v '^$'

# 返回结果 2,则说明第二行是空行
grep -n “^$” 111.txt    

# 查询以abc开头的行
grep -n “^abc” 111.txt 

# 同时列出该词语出现在文章的第几行
grep 'xxx' -n xxx.log

# 计算一下该字串出现的次数
grep 'xxx' -c xxx.log

# 比对的时候,不计较大小写的不同
grep 'xxx' -i xxx.log

find检索命令

# 在目录下找后缀是.mysql的文件
find /home/eagleye -name '*.mysql' -print

# 会从 /usr 目录开始往下找,找最近3天之内存取过的文件。
find /usr -atime 3 –print
  
# 会从 /usr 目录开始往下找,找最近5天之内修改过的文件。
find /usr -ctime 5 –print

# 会从 /doc 目录开始往下找,找jacky 的、文件名开头是 j的文件。  
find /doc -user jacky -name 'j*' –print

# 会从 /doc 目录开始往下找,找寻文件名是 ja 开头或者 ma开头的文件。
find /doc \( -name 'ja*' -o- -name 'ma*' \) –print

#  会从 /doc 目录开始往下找,找到凡是文件名结尾为 bak的文件,把它删除掉。-exec 选项是执行的意思,rm 是删除命令,{ } 表示文件名,“\;”是规定的命令结尾。 
find /doc -name '*bak' -exec rm {} \;

网络相关

查看什么进程使用了该端口

lsof -i:port
netstat -aon|findstr 8080 或者netstat -aonp|grep 8012

根据pid查询应用名称

yum install netstat 
yum install net-tools
netstat -aonp|grep 端口
ps axu | grep pid

监控linux性能命令

top

top -c

查看java -jar 启动命令参数

## antelope-manage.jar换成启动的jar包名
ps -ef | grep java | grep antelope-manage.jar

查看pid
jps -l | grep "cdp-bi-1.0-SNAPSHOT.jar"

查看某应用所占内存大小

1、先根据端口查询pid
sudo lsof -i:8080
2、根据pid查询内存占用大小
ps -p 1234 -o rss= | awk '{ printf("%.2f GB\n", $1/(1024*1024)) }'
3、根据pid查询应用名称
yum install netstat 
yum install net-tools
netstat -aonp|grep 端口
ps axu | grep pid