记录一下最近经常使用到的一些linux命令。

设置启动文本界面

Centos 8

1
systemctl set-default TARGET.target

例如,命令行模式

1
systemctl set-default multi-user.target

图形模式:

1
systemctl set-default graphical.target

is not in the sudoers file 解决

首需要切换到root身份

1
$ su -

注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还是当前用户的环境变量,用"su -“命令将环境变量也一起带过去,就象和root登录一样。

然后,执行命令visodu,注意:vi和sudo之间没有空格。

1
#visudo

1、移动光标,到最后一行 2、按a,进入append模式 3、输入

1
your_user_name ALL=(ALL)  ALL

4、按Esc 5、输入“:w”(保存文件) 6、输入“:q”(退出)

这样就把自己加入了sudo组,可以使用sudo命令了。

Linux安装htop

htop是我自己很喜欢用的一款linux下的服务器运行状态查看工具,比top更加直观,而且功能更加欠打。然而,在不同的linux发行版本,可能存在当前资源仓库没有 htop 资源,所以需要先添加资源。 确认自己当前资源是否存在 htop 执行

1
yum search htop

当不存在,则添加仓库源,启动epel源

1
yum -y install epel-release

注:EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。然后就正常安装htop了

1
yum -y install htop

Centos8设置hostname

可以使用nmtui命令,但是有的发行版没有预装nmtui,就用不了这个命令了。

1
sudo nmtui

命令执行后选择,Set system hostname。

Centos防火墙开放某些端口

可以停掉防火墙,但太简单粗暴了。

1
service firewalld stop

可以使用下面的命令,开放某些端口。

查看所有开启的端口:

1
firewall-cmd --list-ports

注:启动防火墙后,默认没有开启任何端口,需要手动开启端口

防火墙开启端口访问:

1
firewall-cmd --zone=public --add-port=80/tcp --permanent

命令含义: –zone #作用域 –add-port=80/tcp #添加端口,格式为:端口/通讯协议 –permanent #永久生效,没有此参数重启后失效

注:开启后需要重启防火墙才生效 ,重启命令为:

1
firewall-cmd --reload

远程执行linux脚本

远程执行linux脚本的时候,要加上 & 让其后台执行,不然连接断开了,脚本是无法正常执行完成的。

1
2
## 最后的要加上 &,不然可能无法执行完成
ssh pi@%host% "cd %remote% ; ./restart.sh &"

设置时区

  • 查看当前的时区
1
2
3
4
5
timedatectl
#也可:
ls -l /etc/localtime
# 也可:
cat /etc/timezone
  • 查看可用时区
1
timedatectl list-timezones
  • 设置时区
1
sudo timedatectl set-timezone ****/****

例如:

1
sudo timedatectl set-timezone Asia/Shanghai