Linux学习笔记 - 常用技巧

零、远程登录

ssh 用户名@ip地址
ssh user@host  //以用户名user 登录 主机host
ssh host // 本地用户名与远程用户名一致,登录时可以省略用户名
ssh -p 22 user@host //可以指定端口,示例为22,即默认端口

 

一、管道符“|”作用

“|”是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连接都不会影响他的运行。

注意:当我们用 & 运行的程序是守护进程时,我们断开终端后这个守护进程会继续在后台运行。如果这个进程不是守护进程时,当我们断开终端后,这个进程也跟着断开停止运行了。

 

十二、文件内容查看

查看文件类型

1、file命令:
file file_name

 

查看文件内容

查看全部文本内容:

1、cat命令
cat file_name
#输出所有文本内容

3、cat -n file_name
#文本内容所有行加上行编号输出

3、cat -b file_name
#文本内容非空行加上行编号输出

 

分页查看文本内容:

1、more命令(常用的分页工具)
more file_name

2、less命令(more升级版分页工具)
less file_name

#显示行加-N参数,less -N file_name
#更多命令及使用方法查看less --help或man less

 

查看部分文件内容

head 命令:显示文件开头一些行的内容,默认显示文件前10行

1,查看显示文首内容 head -n [number] file_name ,显示文首多少行内容
head -n 100 file_name

#显示文首一百行内容
#或不加-n,head -100 file_name也是显示文尾100行内容

4、输出文首最后的多少个字节
head -c 10 file_name

 

tail 命令:显示文件最后一些行的内容,默认显示文件后10行

1、查看显示文尾内容 tail -n [number] file_name ,显示文尾多少行内容
tail -n 100 file_name

#显示文尾一百行内容
#或不加-n,tail -100 file_name也是显示文尾100行内容
2、当文件增长时输出追加的数据,比如日志时时生成,(crtl+c终止显示)
tail -f log_file

3、加-f参数显示追加是数据时可以与-s参数配置,睡眠几秒在进行追加显示
tail -f -s 10 log_file

#查看日志内容,10秒刷新一次

4、输出文尾最后的多少个字节
tail -c 10 file_name

 

 

 

参考资料:

Linux su命令

linux下查看端口占用 

Linux ss命令详解

Linux中查看进程状态信息

ps -ef|grep详解

Linux unZip/Zip的安装及使用

Windows下使用CMD/Powershell通过SSH协议远程连接Linux服务器

linux 远程连接ssh提示IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY解决

Linux下文件或文件夹的复制(拷贝)

tar命令参数详解

Linux之nohup命令

linux查看文件内容常用命令

posted @ 2020-07-27 20:54  风过无痕521  阅读(130)  评论(0编辑  收藏  举报