linux常用命令

每个Linux文件具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)

 -rwxr-xr-x

第一位表示文件类型,-表示文件,d表示目录

2-4位表示文件所有者的权限,u权限

5-7位表示文件所有者所属组成员的权限,g权限

8-10位表示所有者所属组之外的用户的权限,o权限  

2-10位的权限总和有时称为a权限

权限编辑:Linux文件权限 - devgis - 博客园

查询系统信息:

查询内核版本:cat /proc/version

查询发行版:cat /etc/redhat-release

【linux】查看Linux系统版本信息的几种方法_老马农的博客-CSDN博客_linux查看系统版本

cd -          #回到上次所在目录
cd !$          #把上个命令的参数作为输入
cd           #回到主目录
cd ~         #同样也是回到主目录

curl -l 访问地址    可以验证访问服务通不通

递归更改文件所属用户:chown -R 用户名  文件名或目录名
递归更改文件所属用户组:chown -R :用户组名  文件名或目录名
上述更改必须基于root用户

切换到root用户:sudo -i,切回普通用户:exit  

切换用户su username ,root切换到普通用户不需要密码

使用堡垒机登录另一台机器:先用sudo -i 提权,再ssha 目标主机IP

查看文件大小  ls -lh filepath

Linux查看文件大小的几种方法_天糊土的博客-CSDN博客_linux查看文件大小

查看JVM情况:jmap -heap pid

生成dump文件:记一次JVM内存满了的问题处理经过_普通网友的博客-CSDN博客_jvm内存满了

查看端口被哪个进程占用,获得pid: sudo lsof -i 端口号
查看进程:ps -ef|grep pid
查看所有环境变量:env

#!/bin/bash是指此脚本使用/bin/bash来解释执行,#!/bin/bash只能放在第一行,如果后面还有#!,那么只能看成是注释,当前面命令执行有问题时,bash继续执行下面命令
#!/bin/sh:当前面命令执行有问题时,bash不执行下面命令
https://blog.csdn.net/weixin_41783910/article/details/108005170

echo:打印

usage()函数用法:https://zhuanlan.zhihu.com/p/173740752,$0是运行的命令名,$1,……是参数

cat命令表示查看,而cat <<EOF命令表示将进行输入,直到以EOF终止符来结束输入(最后的新行)。EOF必须写在一行的头部

# 获取shell脚本所在目录的绝对路径:DIR=$(cd "$(dirname "$0")";pwd)

&  表示任务在后台执行,如要在后台运行redis-server,则有  redis-server &

&& 表示前一条命令执行成功时,才执行后一条命令 ,如 echo '1‘ && echo '2'

| 表示管道,上一条命令的输出,作为下一条命令参数,如 echo 'yes' | wc -l,再如ps aux | grep nginx

|| 表示上一条命令执行失败后,才执行下一条命令,如 cat nofile || echo "fail"

pwd -L,--logical,显示当前的路径,有连接文件时,直接显示连接文件的路径,(不加参数时默认此方式)

pwd -P,--physical,显示当前的路径,有连接文件时,不使用连接路径,直接显示连接文件所指向的文件。 当包含多层连接文件时,显示连接文件最终指向的文件

【Linux命令】工作目录切换命令(pwd,cd,ls)

pushed--popd  压入、取目录栈

$@  表示所有参数

export可用于查看或者设置环境变量,但仅在当前登录终端有效

如 export name="John"

unzip /package/../...zip  目标目录     //解压到目标目录,不加目标目录则解压到当前目录

启动jar包并传参:java -cp 绝对路径.....jar com.ibm....入口类  args[0]  args[1]……

拷贝远程文件:scp -r file 远程用户名@远程机器ip:远程文件路径

[ -f FILE ] 如果 FILE 存在且是一个普通文件则返回为真

$JAVA_HOME,是指JAVA_HOME的环境变量,取shell中定义的变量时也要用$

Linux中$()和${}区别

$( )中放的是命令,相当于` `,例如todaydate=$(date +%Y%m%d)意思是执行date命令,返回执行结果给变量todaydate,也可以写为todaydate=`date +%Y%m%d`;
${ }中放的是变量,例如echo ${PATH}取PATH变量的值并打印,也可以不加括号比如$PATH

a=/home/wls/.....

echo ${b:-$a}  //如果b为空就返回a

export a   //设置或者显示环境变量

top  //动态查看CPU资源运行情况

top -b -n >> a.txt   记录n次top写到a.txt中

Mem  物理内存,根据PID可查看是哪个程序占用大  VIRT RES

一般情况下,$var与${var}是没有区别的,但是用${ }会比较精确的界定变量名称的范围

${a/b/c}  //将变量a中的b全部替换为c,开头一个正斜杠为只匹配第一个字符串,两个正斜杠为匹配所有字符

zip -d 压缩文件路径  文件 //从压缩文件内删除指定文件

结构体

if [ ..... ]; then

fi

sh a.sh   //启动脚本

. /vars.sh //加载脚本,说明说下

shell脚本查询pid进程并杀掉(注意使用双引号不要用单引号):Linux-shell 脚本获取pid,并kill_飘然渡沧海的博客-CSDN博客

执行a.shell时先加载b.shell可以如下使用,比如定义一些会话级的环境变量

在linux下,.(点)+(空格)+可执行文件 == source+(空格)+可执行文件,表示在当前shell环境执行后面的命令或脚本,不加点号默认是新开一个shell执行的。它从指定的shell 文件中读入所有命令语句并在当前进程中执行。
如:. /home/test.sh 等同于 source /home/test.sh。

用source执行的脚本所做的任何改变会影响当前shell(如其中有用cd改变目录,脚本执行完后目录就变掉了),如果没用source,就不会影响当前shell。

如果不想更改文件的执行权限,又想执行此文件,可以采用(点号+空格+可执行文件名)的形式来执行一个脚本(当然,只有root用户才可以这么做)

rm -rf 路径/*   删除路径下所有文件

删除shell脚本整行:dd

Esc+u表示回退一步 https://www.csdn.net/tags/MtzakgysNzczMTMtYmxvZwO0O0OO0O0O.html

cp  源路径   目标路径

cp -r  的作用是递归,可复制目录,如果复制目录必须加此选项。

cp -R 的作用仅仅是复制目录。

不过cp -r 和-R命令功能上是等价的。不加-r或者-R的时候,只输入命令cp时只拷贝文件,不拷贝文件夹

复制并创建目录

mkdir -p /data/beifen/2021/07/20 && cp -r seeyon /data/beifen/2021/07/20

遍历文件

cd .....某个目录

for fileName in 'ls'

do

   ....

done

sed -i '1d' file.txt  //删除第一行

linux调用入参太多怎么处理?

可以使用类似

neo4j-admin import --force \

         --id-type=INTEGER \

         --a=a1 \

         ....

         --delimiter '|'

dev/null的用法 linux /dev/null 的用法详解 - 叶新东博客 chn520.cn

BASH_SOURCE用法:linux shell dir,Bash Shell 常见脚本命令: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"详解..._不训的黑暗的博客-CSDN博客

tr 命令用于转换或删除文件中的字符Linux tr命令 | 菜鸟教程

expr命令:Linux expr命令 | 菜鸟教程

echo ${#array[@]}   # 获取数组中的元素个数linux数组操作,shell数组使用_Nerd Muscle的博客-CSDN博客

获取当前文件所在目录路径:basepath=$(cd `dirname $0`; pwd)

https://www.csdn.net/tags/MtjaAg5sNDYxMzYtYmxvZwO0O0OO0O0O.html

windows编辑的shell脚本换行和linux不一样,需要通过ue做转换  dos--unix

启动jar包传参并且指定日志输出目录

nohup java -jar xxx.jar > xxx.log 2>&1 & --运行jar包并将日志写入到xxx.log中

tail -f xxx.log  --查看日志文件

linux启动jar包指定日志输出目录下,linux 启动jar包 指定yml配置文件和输入日志文件..._weixin_35662019的博客-CSDN博客

查看日志前10行,后10行

head -10 filename   tail -10 filename

Linux下查看日志常用命令_qq_39935684的博客-CSDN博客_linux查看日志文件最新10行

查找关键字 Linux命令--日志文件里面查找关键字_普通网友的博客-CSDN博客_linux查询关键字

grep -i “train” log.log|head -10    //包含关键字的只取前十个

kill -9杀不掉进程怎么办,可以杀掉父进程:linux中kill命令杀不掉进程怎么办-linux运维-PHP中文网

Ctrl+z和Ctrl+c的区别,以及如何恢复暂停、进程

Linux后台进程管理以及ctrl+z(挂起)、ctrl+c(中断)、ctrl+\(退出)和ctrl+d(EOF)的区别_l841209的博客-CSDN博客_linux任务管理器快捷键

启动jar包参数太多换行 用  \

shell 参数换行 & shell 输出换行的方法_51CTO博客_shell 换行

df -h  查看磁盘空间

chmod -R 777 xxx    表示 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)

批量修改文件名:Linux下批量修改文件名方法 (转) - 知乎

查看文件行数:wc 文件名

替换文本中所有字符串:sed -i 's/<search_str>/<target_str>/g' <file_path>

替换第一行内容:https://www.csdn.net/tags/MtzakgzsOTQ2MzktYmxvZwO0O0OO0O0O.html

Shell中的查找和替换的sed命令_神云瑟瑟的博客-CSDN博客_sed 查找替换

1个shell脚本启动多个jar

Linux shell脚本,按顺序批量启动多个jar包,批量启动spring cloud的jar包 - 走看看K

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值