Linux入门

1. 用户和组

  1. 授予普通用户sudo权限

    # root用户下操作
    chmod 640 /etc/sudoers                #给文件夹授予读写权限
    vim /etc/sudoers
    chmod 440 /etc/sudoers                #修改完毕有去除写权限
    
    user1  ALL=(ALL)  ALL                  # 需要使用自己的密码访问sudo
    user1  ALL=(ALL)  NOPASSWD:ALL          # 不需要使用自己的密码访问sudo
    
  2. 给用户添加额外用户组

    useradd -a -g wheel user1            # 授予用户user1附加组wheel使其能够通过sudo命令临时获取root权限
    groups user1                        # 查看用户user1的主用户组和附加用户组
    
  3. 创建组

    groupadd dev    # 创建用户组
    usermod -g dev user1    # 将用户的主用户组更改为dev
    

2. 全局配置

全局配置文件主要是指/etc/profile文件,通过对其配置,所有用户都能共享使用环境变量。

# 解决中文乱码问题
export LC_ALL="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"

# 修改主机名
hostnamectl set-hostname ireliaashe             # 使用这个命令会立即生效且重启也生效

3. 日志管理

3.1. 日志轮转

作用:减小日志文件大小,减轻服务器磁盘压力,提高分析效率。

# 安装rsyslog
yum install -y rsyslog

主配置文件/etc/logrotate.conf与子配置文件夹/etc/rsyslog.d/,在子配置文件夹中的符合规范的配置都能加载到进程中,日志管理生效。

第三方配置建议都放在子配置文件夹中,子配置增加或者减少不影响主进程的执行。

轮转配置的文件

以nginx为例。

cat <<EOF> /etc/rsyslog.d/nginx.conf
/usr/local/nginx/logs/access.log {
# 如果日志丢失不报错
missingok
# 每天轮转一次
daily
# 设置新的空文件权限
create 0600 root root
# 保留日志数量
rotate 7
# 轮转日志后缀(以日志为后缀)
dateext
}
EOF

强制轮转,即使未到轮转时间,也进行轮转。

# 配置文件未新增的日志轮转配置
logrotate -vf /etc/rsyslog.d/nginx.conf

配置轮转细节

常用的轮转频率:每年:yearly;每月:monthly;每周:weekly;每天:daily

不常用轮转频率:每小时:hourly;每分钟:minutely

其中每个频率后面都可以加具体的数字,以形成更加具体的组合。

4. 磁盘管理

du -h    # 显示子目录文件大小
df -h    # 查看硬盘空间大小

# 磁盘挂载,编辑文件/etc/fstab,使之开机自动挂载。
# 如果上面用的是ext3,这里也要用ext3;(/disk为挂载点)
vim /etc/fstab
/dev/vdb1 /disk ext4 defaults 0 1

5. 服务管理

yum install lsof -y
lsof -i :8080    #查看端口占用

systemctl list-unit-files    # 查看所有的开机自启项
systemctl daemon-reload    # 当开机自启配置文件发生改变时执行

systemctl start xxx.service         # 启动服务
systemctl restart xxx.service         # 重启服务
systemctl stop xxx.service         # 关闭服务

systemctl enable xxx.service        # 设置开机自启
systemctl disable xxx.service        # 取消设置开机自启

# 查询符合条件的进程ID
ps -ef | grep es.jar | grep -v 'grep' | awk '{ print $2 }' | \
# 遍历关闭对应进程
( while read args;do ( kill -9 $args);done)

# 后台启动指定服务
nohup java -jar es.jar --spring.profiles.active=dev > /dev/null 2>&1 &

6. 重定向

在Linux Shell中:

0表示标准输入,

1表示标准输出,

2表示标准错误输出。

> 默认为标准输出重定向,与 1> 相同 2>&1 意思是把 标准错误输出 重定向到 标准输出. &>file 意思是把 标准输出 和 标准错误输出 都重定向到文件file中

同时,>为新建,当源文件有数据的时候会清空,而>>为追加,如文件不存在时,二者都会创建文件。

7. 软件源

  1. 一键更换软件源

    bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)
    
  2. CentOS镜像换源

  3. CentOS 8 EOL 换源

    rename '.repo' '.repo.bak' /etc/yum.repos.d/*.repo
    wget https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo -O /etc/yum.repos.d/Centos-vault-8.5.2111.repo
    wget https://mirrors.aliyun.com/repo/epel-archive-8.repo -O /etc/yum.repos.d/epel-archive-8.repo
    yum clean all && yum makecache
    

8. 其他

  1. Arch安装kde后图形软件商店无法使用解决方案

    sudo pacman -S archlinux-appstream-data packagekit-qt5 flatpak fwupd
    
Copyright © rootwhois.cn 2021-2022 all right reserved,powered by GitbookFile Modify: 2022-11-26 20:03:31

results matching ""

    No results matching ""