Linux常用命令积累

kill进程和其所有子进程

父进程和其子进程都有同样的PGID[进程组ID],这个PGID即为父进程的PID。

而kill时,如果传入的PID为负值,则信号就会传给PID进程,以及所有的PGID为这个值的进程,这正好是子进程。

1
$ ps -ef | grep "test" | grep -v grep | awk '{print $2}' | xargs -I pid kill -9 -pid

这里面用到了xargs的赋值变量,其实就是替换字符串,即xargs -I pid。这里的pid即为替换字符串,将管道前的输出临时存储到pid中,后面所有出现的pid地方,都替换为管道的输出

查看Linux系统版本

1
2
3
$ uname -a
$ lsb_release -a
$ cat /proc/version

Linuxls高亮

1
2
3
4
5
6
$ vim ~/.bashrc

//添加下面这一行
alias ls='ls --color'

$ . ~/.bashrc

Ubuntu下安装make:

1
sudo apt-get install build-essential

Ubuntu下快速安装最新版Docker:

1
2
3
apt-get update
apt-get install -y curl
curl -sSL https://get.daocloud.io/docker | sh

test用户添加sudo权限的方法:

1
2
3
4
5
6
7
8
$ whereis sudoers 		//一般都在/etc/sudoers文件中
$ su - root //切换到root用户,以进行后续修改
$ chmod u+w /etc/sudoers //该文件默认没有写权限,需要添加
$ vim /etc/sudoers
找到root ALL=(ALL)ALL行
在其下方添加test ALL=(ALL)ALL
:wq
$ chmod u-w /etc/sudoers //将该文件权限恢复为默认值

添加test账户:

1
2
3
4
sudo adduser test
//添加test账户
//并创建对应的/home/username文件夹
//以及指定shell版本为/bin/bash

test账户设置密码:

1
sudo passwd test

切换账户:

1
2
3
su - test //切换到test账户,并同时切换到test账户的工作环境中
su - root //切换到root账户
su - //省略root,也同样可以切换到root账户

系统安装好后,默认没有root密码,设置或修改方式如下:

1
sudo passwd

返回上次所在路径:

1
cd -

生成SSH公私钥

一般来说,SSH公私钥为id_rsaid_rsa.pub这2个文件,位于~/.ssh目录下,如果想要使用这对公私钥,可以把id_rsa.pub文件内容提供给服务器,这样就可以使用自己的私钥文件,进行SSH连接了。

1
2
ssh-keygen 
//一路默认下去,即可在~/.ssh目录下生成一对公私钥文件

使用私钥进行SSH连接。

1
ssh -i ~/.ssh/id_rsa [email protected]