2022-10-10-linux指令

1. 批量杀死多个进程的命令

$ ps -ef | grep python | cut -c 6-11 | xargs kill -9
Linux中的管道符“ ”用来隔开两个命令,管道符左边的输出会作为管道符右边命令的输入

ps -ef是查看所有进程的命令。ps是process status的缩写

grep 是过滤符号,grep name含义是所有包含”python”的进程

cut -c 6-11 是截取输入行的第6个字符到第11个字符,正好是进程号PID

xargs kill -9 其中xagrs的命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,kill -9”会强行杀掉指定进程

2. cat和vi/vim和nano区别

cat 命令是linux系统下一个文本打印的命令,用于输出一个文本的信息到控制台上,该命令的输入类似于使用word打开一个文档,但是该文档不能编辑。

vi/vim 命令是linux系统下用于文本查看、编辑的命令,不仅仅可以查看,还可以编辑。

nano 命令类似于vim命令的功能,命令语句为:nano p(打开p文件)

  • vi和vim区别 vi 不需要安装,打开代码,颜色一样(黑色) vim 需要额外安装,打开代码,用颜色区分代码

  • cat用法 cat [option] [path/to/file]...;option:-n(空行也已编号) –b (空行无编号) (1)cat和EOF简介 cat 用于显示文本文件内容,全部输出 EOF “end of file”,表示文本结束符 (2)使用 用法1.多行导入文件(新建文件或者覆盖文件内容) 在cat «EOF >abcd.txt命令 与下一个输入的EOF行之间的所有文本行都会被当做是stdin数据。

用法2.文件追加 cat « EOF » test.sh

cat log.txt | grep 'ERROR' -B 5  //前5行
cat log.txt | grep 'ERROR' -C 5  //前后5行
cat log.txt | grep -v 'ERROR'

3. 解压指令

1、.tar

解包tar xvf FileName.tar
打包tar cvf FileName.tar DirName
tar是打包不是压缩!)

2、.gz

解压1gunzip FileName.gz
解压2gzip -d FileName.gz
压缩gzip FileName

3、.tar.gz 和 .tgz

解压tar zxvf FileName.tar.gz
压缩tar zcvf FileName.tar.gz DirName
4、.zip
解压unzip FileName.zip
压缩zip FileName.zip DirName

5. scp 远程拷贝

# 拷贝整个文件夹 到本地 -r参数
scp -r root@服务器地址:/root/.pm2/logs ./
  • 如果执行报错,如下
    Host key for 服务器ip has changed and you have requested strict checking.
    Host key verification failed.
    
  • 则执行以下指令
    ssh-keygen -R 服务器ip
    
  • 下载单个文件到本地 scp -p user@ServerIp:source_dictionary_file target_dictionary scp root@192.168.0.2:/home/hellowood/wechat.jpg /User/hellowood/wechat.jpg

上传 上传单个文件 scp -p port source_dictionary_file user@ServerIp:target_dictionary_file 1 prot 默认是22,如果使用默认可以不写

scp /User/hellowood/wechat.jpg root@192.168.0.2:/home/hellowood/wechat.jpg 1 上传整个文件夹 scp -p port -r source_dictionary user@ServerIp:target_dictionary 1 scp -r /User/hellowood/tomcat root@192.168.0.2:/home/hellowood/tomcat

关于shell

牛程序员看到不爽的Shell,就会自己重新写一套,慢慢形成了一些标准,常用的Shell有这么几种,sh、bash、csh等,想知道你的系统有几种shell,可以通过以下命令查看:

cat /etc/shells
一、查看Linux系统发行版本

命令1:lsb_release -a

该命令适用于所有Linux系统,会显示出完整的版本信息,包括Linux系统的名称,如Debian、Ubuntu、CentOS等,和对应的版本号,以及该版本的代号,例如在Debian 8中将会显示代号jessie。

$ lsb_release -aNo LSB modules are available.Distributor ID: Debian Description: Debian GNU/Linux8.0 (jessie)Release: 8.0 ``Codename: jessie 命令2: cat /etc/issue

该命令适用于所有Linux系统,显示的版本信息较为简略,只有系统名称和对应版本号。

$ cat` `/etc/issueDebian GNU``/Linux 8 \n \1 命令3: cat /etc/redhat-release

该命令仅适用于Redhat系列的Linux系统,显示的版本信息也较为简略。

$ cat` `/etc/redhat-releaseCentOS release 6.0 (Final) **二、查看Linux内核版本 **

命令1: uname -a

$ uname` `-aLinux CodeBelief 3.16.0-4-amd64 ``#1 SMP Debian 3.16.7-ckt9-3~deb8ul (2015-04-24) x86_64 GNU/Linux 命令2: cat /proc/version

$ cat` `/proc/versionLinux version 3.16.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) ``#1 SMP Debian 3.16.7-ckt9-3~deb8ul (2.15-04-24) 以上就是用于查询Linux系统版本的常见命令,希望对大家有所帮助。