Loading

Linux 常用操作

基础命令

ls -lhd
ls *.gif

cp a.txt b.txt
cp -r a b

cat a.txt
cat -n a.txt

ln a.txt link-a.txt # 创建硬链接, 类似于 cp 但是会同步更新
ln -s a.txt link-a.txt # 创建软链接, 类似于一个快捷方式, 源文件删除后软链接会失效


which ls # 查找命令安装路径
whereis ls # 查找命令的二进制文件、源码和帮助页文件

find *.txt
find /var/lib/docker/ -name 'test.file' -type f

grep aaa a.txt -n

tar -ztf a.tar.gz # 查看压缩文件内容
tar -zcf a.tar.gz a/ # 创建压缩文件
tar -zxf a.tar.gz # 解压文件

adduser/useradd # 添加用户

su xtyuns # 切换登录用户

userdel [-r] <username> # 删除指定用户

groupadd <groupname> # 添加用户组
groupdel <groupname> # 删除用户组

groups # 查看当前用户所属的用户组列表

usermod -g <newGroupName> <userName> # 修改用户所属组

chmod <target>[+-=]<auth> <file> # 修改文件权限
chmod a+r a.txt
# r => 4, w => 2, x => 1

chown <user> <file> # 修改文件所属者
chgrp <group> <file> # 修改文件所属组

ps -aux # 查看进程列表
ps -ef | grep java

top # 以活动方式查看进程

kill -9 <pid> # 强制结束进程

# 查看 ip 信息
ip addr
ifconfig
hostname -i


# > 输出重定向
# < 输入重定向
# >> 输出追加
# << 输入追加
echo hello > a.txt
echo world >> a.txt
cat <<EOF > a.txt
hello
newline
EOF

unzip
-v / -l  # 插件压缩包内容
-d        # 解压到指定目录下


netstar -tunlp  # 查看端口占用情况
firewall-cmd --list-ports  # 查看已开放端口
firewall-cmd --state  # 查看防火墙状态
systemctl stop firewalld.service  # 关闭防火墙

将解压缩安装的软件加入到环境变量中

vim /etc/profile

# xtyuns: add software bin dir
for i in /usr/local/lib/*; do
    if [ -d $i/bin/ ]; then
        PATH=$i/bin/:$PATH
    fi
done

在没有编辑器的情况下替换 Debian 软件源

sed -i.bak 's;http://\(deb\|security\).debian.org;https://mirrors.tuna.tsinghua.edu.cn;g' /etc/apt/sources.list

注意:

  1. -i 后边的内容将作为原文件的后缀进行文件备份
  2. s 表示进行内容替换
  3. ; 是内容替换的分隔符, 这个符号可以自定义任意字符, 最好选一个匹配模式中没有的字符, 否则还需要对匹配模式中出现的该字符进行转义
  4. sed 中的匹配模式需要对正则元字符进行转义, 而对于/.之类的普通字符不需要转义(和普通的正则匹配转义规则完全相反)

磁盘占用情况分析

查看磁盘使用率

df -h

查找大文件

du -hs /* | sort -hr | head -n 5

重复执行上一条命令

apt update
sudo !!

终端快捷键

以下快捷键的本质是向终端输入控制字符或发送信号

Ctrl+C:通常用于中断进程或操作
Ctrl+Z:通常用于挂起一个进程使其处于暂停状态
Ctrl+D:表示文本的结束或退出当前终端

Ctrl+H:表示退格键(Backspace)
Ctrl+W:表示删除光标前的一个单词
Ctrl+M:表示回车键(Carriage Return)

Ctrl+A:表示将光标移动到文本的开头
Ctrl+E:表示将光标移动到文本的末尾

Ctrl+B:表示光标左移一个字符
Ctrl+F:表示光标右移一个字符

Ctrl+K:表示清除到行末
Ctrl+U:表示清除到行首

Ctrl+P:表示上一行输入
Ctrl+N:表示下一行输入

Ctrl+L:表示清屏或刷新屏幕

在 Ubuntu 18.04 LTS 中安装 MySQL 5.7

# 移除已有的软件包
sudo apt purge mysql*
# 更新软件仓库列表
apt update

# 查询仓库中存在的 mysql 软件包
apt search ^mysql
# 安装 MySQL
sudo apt install -y mysql-server mysql-client
# 初始化信息(在 MySQL 5.7 中这里设置的密码不会生效)
sudo mysql_secure_installation
# 本地直接登录 MySQL, 因为默认的 root 用户使用 auth_socket 认证, 无需密码
sudo mysql -uroot
# 在 MySQL 中修改本地 root 用户密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

# 创建一个用于远程登录的用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

FLUSH PRIVILEGES;
# 修改 MySQL 配置文件, 开启远程登录
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 将 bind 127.0.0.1 注释掉, 并保存退出

# 重启 MySQL 服务即可生效
systemctl restart mysql
posted @ 2021-10-25 20:41  xtyuns  阅读(16)  评论(0编辑  收藏  举报