Linux使用笔记(持续更新)
创建用户
useradd 选项 用户名
参数说明:
选项:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
添加一个新用户
sudo useradd -s /bin/bash -m name
然后为该账户添加密码:
sudo passwd username
赋予用户sudo权限
sudo usermod -aG sudo username
(-G代表加入group,-a代表append,也就是不会影响原来的组,如果单独使用-G会将用户从原来的组踢出)
这种方式是将用户添加到sudo用户组,可以通过:
sudo cat /etc/group
查看各个用户组下面的用户,找到sudo行
如果要取消用户的sudo权限,只要移出用户组就行,也就是需要将用户移到自己的用户组。
sudo usermod -G 用户组名 用户名
-G的含义是把用户添加到指定的用户组,但是会自动从其他组中删除。
-a的含义是追加,但不会从其他组中删除。
删除用户
userdel -r sam
其中-r代表将用户的目录也一起删除
修改用户默认shell
添加新用户的默认shell是sh,改成bash比较好用
如果在useradd的时候没有加-s参数,那么可以修改/etc/passwd
里面的每一行都是一个用户,例如:
zhao.wuz:x:1003:33::/home/zhao.wuz:/bin/sh
将后面的/bin/sh改成/bin/bash即可
远程ssh隧道
如果我们在外网想要访问内网的服务器,有两种方式
第一种是通过在内网服务器所在局域网的路由器添加端口转发,当然前提是路由器有外网IP。
第二种是通过ssh隧道,也就是在内网服务器上搭建一个隧道通向自己的电脑。因为这个隧道是在内网服务器上搭建的,所以下面所说的的remote主机就是自己的主机。
ssh -N -f -R X:Y:Z remote_addr
-N 不需要执行任何命令,只需做端口转发
-f 在后台运行
-R 远程端口
X 远程主机的端口
Y:Z 本地主机的IP:PORT
remote_addr : 远程主机的user@ip
需要注意的是ssh隧道是基于ssh 的,因此remote主机上的22端口必须开放
例如:
ssh -N -f -R 8898:127.0.0.1:8888 user@ip
也就是将本机的8888端口搭建隧道到外网主机的8898端口
此时我们自己的电脑就是外网主机,只需要访问自己的8898端口,就会自动转到内网服务器的8888端口。
压缩与解压缩
tar命令
解包:tar zxvf filename.tar
打包:tar czvf filename.tar dirname
gz命令
解压1:gunzip filename.gz
解压2:gzip -d filename.gz
压缩:gzip filename
.tar.gz 和 .tgz
解压:tar zxvf filename.tar.gz
压缩:tar zcvf filename.tar.gz dirname
压缩多个文件:tar zcvf filename.tar.gz dirname1 dirname2 dirname3.....
bz2命令
解压1:bzip2 -d filename.bz2
解压2:bunzip2 filename.bz2
压缩:bzip2 -z filename
.tar.bz2
解压:tar jxvf filename.tar.bz2
压缩:tar jcvf filename.tar.bz2 dirname
bz命令
解压1:bzip2 -d filename.bz
解压2:bunzip2 filename.bz
.tar.bz
解压:tar jxvf filename.tar.bz
z命令
解压:uncompress filename.z
压缩:compress filename
.tar.z
解压:tar zxvf filename.tar.z
压缩:tar zcvf filename.tar.z dirname
zip命令
解压:unzip filename.zip
压缩:zip filename.zip dirname
linux软连接(python)
有时候我们想要命令行输入python的时候默认调用python3,可以通过软链接实现。
创建一个python链接指向python3
ln -s python3 /usr/bin/python
批量kill进程
sudo kill 9 $(ps -aux | grep keyword | awk '{print $2}')
vim编辑文件权限问题
vim编辑文件时可能会遇到权限问题:E212:无法写入文件,此时可以把wq保存指令换成
w ! sudo tee %