零、远程登录
ssh 用户名@ip地址
一、管道符“|”作用
“|”是Linux管道命令操作符,简称管道符。 使用此管道符“|”可以将两个命令分隔开,“|”左边命令的输出就会作为“|”右边命令的输入,此命令可连续使用, 第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
二、关闭执行中的命令
Ctrl + C 终止 是强制中断程序的执行,进程已经终止。
Ctrl + Z 是将任务中止(暂停的意思),但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行。
Ctrl + S 挂起
Ctrl + Q 解挂
Ctrl + D 退出Shell
三、切换用户
su 命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
#语法 su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
四、防火墙
#1、开启防火墙 systemctl start firewalld #2、停用防火墙 systemctl stop firewalld #3、禁用防火墙 systemctl disable firewalld #4、开放指定端口 firewall-cmd --zone=public --add-port=8848/tcp --permanent 命令含义: --zone #作用域 --add-port=8848/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效 #5、重启防火墙 firewall-cmd --reload #6、防火墙状态 systemctl status firewalld
五、端口号
yum install lsof #1、用于查看某一端口的占用情况 lsof -i:端口号 #2、用于查看指定端口号的进程情况 netstat -tunlp | grep 端口号 #3、ss命令 ss -lnt #4、查看当前所有tcp端口 netstat -ntlp #5、用于查看指定端口号的进程情况 netstat -ntulp | grep 端口号
通过端口查看进程
netstat -nap | grep 端口号 # -p 显示端口进程
#示例 #命令: netstat -nap | grep 8081 #结果: tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 9836/nginx
六、进程
#列出与本次登录有关的进程信息 ps -l #查询内存中进程信息 ps -aux #查询***进程的详细信息 ps -aux | grep *** #查看内存中进程的动态信息 top #杀死进程 kill -9 pid
通过pid查看占用端口
netstat -nap | grep 进程pid
示例
#查看nginx进程pid: 命令: ps -ef | grep nginx 结果: root 9836 1 0 Jul11 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx nobody 9841 9836 0 Jul11 ? 00:00:09 nginx: worker process #通过nginx进程pid查看占用端口(进程pid为9836) 命令: netstat -nap | grep 9836 结果: tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 9836/nginx tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 9836/nginx tcp 0 0 0.0.0.0:8082 0.0.0.0:* LISTEN 9836/nginx tcp 0 0 0.0.0.0:8083 0.0.0.0:* LISTEN 9836/nginx
七、文件上传下载
#安装 yum install -y lrzsz #下载文件 sz filename #上传文件 rz
八、文件移动复制
cp dir1/a.doc dir2 #表示将dir1下的a.doc文件复制到dir2目录下 cp -r dir1 dir2 #表示将dir1及其dir1下所包含的文件复制到dir2下 cp -r dir1/. dir2 #表示将dir1下的文件复制到dir2,不包括dir1目录 cp -r dir1/. ./ #复制文件到当前目录, ./表示当前目录 #说明:cp参数 -i:询问,如果目标文件已经存在,则会询问是否覆盖
重命名
mv AAA BBB #表示将AAA改名成BBB
移动
命令格式:mv [-fiv] source destination 参数说明: -f:force,强制直接移动而不询问 -i:若目标文件(destination)已经存在,就会询问是否覆盖 -u:若目标文件已经存在,且源文件比较新,才会更新 如将/test1目录下的file1复制到/test3 目录,并将文件名改为file2,可输入以下命令: mv /test1/file1 /test3/file2
九、网络http
#文件传输 curl #文件下载 wget
十、解压缩
zip、unzip
#安装zip工具 yum install -y unzip zip #压缩mydata目录 zip -r mydata.zip mydata #直接解压 unzip mydata.zip #验证zip包是否完整 unzip -t mydata.zip #查看压缩包里面的内容 unzip -v mydata.zip
tar
#解压 tar.gz 后缀的文件
tar -zxvf filename
#解压 tar.xz 后缀的文件
tar xf node-v12.18.3-linux-x64.tar.xz
参数说明
-c :建立一个打包文件; -x :解开一个打包文件; -t :查看 tar包里面的文件; (特别注意,在选择参数时,c/x/t仅能存在一个,不可同时存在,因为不可能同时压缩与解压缩。) -z :打包后用gzip压缩,生成.tar.gz文件; -j :打包后用zip2压缩,生成.tar.bz2文件; -v :压缩的过程中显示文件; -f :使用文件名,请留意,在f之后要立即接文件名,不要再加其它参数; -p :保持原文件的属性; -P :使用绝对路径来压缩; -N :设定日期(yyyy/mm/dd),比后面接的日期还要新的文件才会被打包进新建的文件中; --exclude FILE:在打包的过程中,不要将FILE打包。
十一、保持jar后台运行
#问题:直接用java -jar xxx.jar,当退出或关闭shell时,程序就会停止掉。以下方法可让jar运行后一直在后台运行。 #1.在末尾加入 & 符号 java -jar xxx.jar & #2.完成以下3步,退出SHELL后,jar服务一直在后台运行。 (1)执行java -jar xxx.jar后 (2)ctrl+z 退出到控制台,执行 bg (3)exit #3.将java -jar xxxx.jar 加入 nohup &中间,也可以实现 nohup java -jar xxxx.jar &
nohup是永久执行的意思,而 & 是指在后台运行。就是指,用nohup运行的命令或程序可以永久的执行下去,和用户终端没有关系,例如我们断开ssh连接都不会影响他的运行。
注意:当我们用 & 运行的程序是守护进程时,我们断开终端后这个守护进程会继续在后台运行。如果这个进程不是守护进程时,当我们断开终端后,这个进程也跟着断开停止运行了。
参考资料:
Windows下使用CMD/Powershell通过SSH协议远程连接Linux服务器
linux 远程连接ssh提示IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY解决