常用
切换 shell
# 查看所有终端类型
cat /etc/shells
# 切换
chsh -s /bin/sh
设置用户密码
passwd 用户名
文件/文件夹
mkdir 新建文件夹
rmdir 删除文件夹
vim --> i --> esc --> :wq! 修改文件并保存
路 pwd 查看文件夹具体径
tar
-c 创建新的文档。
-v 显示详细的 tar 处理的文件信息
-f 要操作的文件名
-z 调用 gunzip 操作
-x 解压文件
-r 表示增加文件,把要增加的文件追加在压缩文件的末尾
-t 表示查看文件,查看文件中的文件内容
常用:
tar -zvxf 解压.gz 文件
rpm
rpm -ivh (--badreloc 强制指定安装目录)(--relocate 指定安装目录) 安装
rpm -Uvh 升级
rpm -e 反安装
rpm -qpi 查询安装包详细信息
rpm -qf 查询文件属于哪个安装包
rpm -qpl 查询软件会向系统写入哪些文件
rpm -qa | grep XXX(moudle name) 查看安装包是否被安装
查看 java 进程
jps
-q:只输出进程 ID
-m:输出传入 main 方法的参数
-l:输出完全的包名,应用主类名,jar 的完全路径名
-v:输出 jvm 参数
-V:输出通过 flag 文件传递到 JVM 中的参数
whereis 查找文件
whereis
-b 只查找二进制文件。
-B<目录> 只在设置的目录下查找二进制文件。
-f 不显示文件名前的路径名称。
-m 只查找说明文件。
-M<目录> 只在设置的目录下查找说明文件。
-s 只查找原始代码文件。
-S<目录> 只在设置的目录下查找原始代码文件。
-u 查找不包含指定类型的文件。
mysql 命令
启动
service mysql start
systemctl start mysqld.service
关闭
service mysql stop
systemctl stop mysqld.service
重启
service mysql restart
systemctl restart mysqld.service
登录 mysql -u 用户名 -p 用户密码
切换数据库 use mysql;
导入 sql 文件在 mysql 执行 mysql -u root -p dbname < filename.sql
其他命令:https://www.cnblogs.com/roadone/p/9834997.html
postgresql 命令
登入数据库
# -h 连接 IP -d 用户名 -U 数据库名
psql -h 127.0.0.1 -d postgres -U postgres
通过命令行
# 重新设置用户(dif)密码
\password dlf
# 导入 sql 在数据库中(exampledb)执行 ps:数据库外执行
psql exampledb < user.sql
# 导入 sql 在当前数据库中执行
\i aaa.sql
# 列出数据库名
\l
# 切换数据库
\c 数据库名
# 列出表名
\d 数据库
# 查看所有表
\dt
# 得到表结构
\d 表名
# 显示字符集
\encoding
# 显示所有用户
\du
# 查看所有存储过程
\df (\df+ name)
通过 SQL 语句
# 列出数据库名
select datname from pg_database;
# 列出表名
select tablename from pg_tables where tablename not like 'pg%' and tablename not like 'sql_%' order by tablename;
# 得到当前 db 中所有表的信息(这里 pg_tables 是系统视图)
select * from pg_tables;
# 得到所有用户自定义表的名字
# 这里"tablename"字段是表的名字
# "schemaname"是 schema 的名字
# 用户自定义的表,如果未经特殊处理,默认都是放在名为 public 的 schema 下
select tablename from pg_tables where schemaname='public';
# 创建 schema
create schema myschema;
# 创建用户
create user $username with password '*****';
# 将数据库所有权限授权给用户
grant all privileges on database $databasename to $username;
# 将 schema 所有权限授权给用户
grant all privileges on schema $schemaname to $username;
# 授权用户 schemaname 下所有表查询权限
grant select on all tables in schema $schemaname to $username;
# 将$schemaname 以后新建的表默认授权 select 给$username
alter default privileges in schema $schemaname grant select on tables to $username;
# 通用 sql
*创建数据库:
create database [数据库名 ];
*删除数据库:
drop database [数据库名 ];
*创建表:
create table ([字段名 1] [类型 1] ;,[字段名 2] [类型 2],......<,primary key (字段名 m,字段名 n,...)>;);
*在表中插入数据:
insert into 表名 ([字段名 m],[字段名 n],......) values ([列 m 的值 ],[列 n 的值 ],......);
*重命名一个表:
alter table [表名 A] rename to [表名 B];
*在已有的表里添加字段:
alter table [表名 ] add column [字段名 ] [类型 ];
*删除表中的字段:
alter table [表名 ] drop column [字段名 ];
*重命名一个字段:
alter table [表名 ] rename column [字段名 A] to [字段名 B];
*给一个字段设置缺省值:
alter table [表名 ] alter column [字段名 ] set default [新的默认值 ];
*去除缺省值:
alter table [表名 ] alter column [字段名 ] drop default;
*可以使用 pg_dump 和 pg_dumpall 来完成。比如备份 sales 数据库:
pg_dump drupal>/opt/Postgresql/backup/1.bak
远程拷贝
复制文件
将本地文件拷贝到远程
# scp 文件名 用户名@计算机 IP 或者计算机名称:远程路径
# 本地 192.168.1.8 客户端
scp /root/install.* root@192.168.1.12:/usr/local/src
从远程将文件拷回本地
# scp 用户名@计算机 IP 或者计算机名称:文件名 本地路径
# 本地 192.168.1.8 客户端取远程服务器 12、11 上的文件
scp root@192.168.1.12:/usr/local/src/*.log /root/
复制文件夹
将本地文件夹拷贝到远程
# scp -r 目录名 用户名@计算机 IP 或者计算机名称:远程路径
# test1 为源目录,test2 为目标目录,zhidao@192.168.0.1 为远程服务器的用户名和 ip 地址
scp -r /home/test1 zhidao@192.168.0.1:/home/test2
从远程将文件夹拷回本地
# scp -r 用户名@计算机 IP 或者计算机名称:目录名 本地路径
# zhidao@192.168.0.1 为远程服务器的用户名和 ip 地址,test1 为源目录,test2 为目标目录
scp -r zhidao@192.168.0.1:/home/test2 /home/test1
防火墙操作
查看防火墙状态
systemctl status firewalld
active(running):开启状态,正在运行中
inactive(dead):关闭状态,未在运行
开启防火墙
systemctl start firewalld
没有任何提示,表示开启成功
关闭防火墙
systemctl stop firewalld
添加端口
# 添加端口 8089(--permanent 表示永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=8089/udp --permanent
# 这个命令必须运行,才能加载成功
firewall-cmd --reload
查看端口开启情况
firewall-cmd --zone=public --query-port=8089/udp
删除防火墙 8086 端口
firewall-cmd --zone=public --remove-port=8086/tcp --permanent
firewall-cmd --reload
tree 命令
brew install tree
tree
-a 显示所有文件和目录。
-A 使用 ASNI 绘图字符显示树状图而非以 ASCII 字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件或目录的更改时间。
-f 在每个文件或目录之前,显示完整的相对路径名称。
-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上”*”,”/”,”=”,”@”,”|”号。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件或目录名称。
-I<范本样式> 不显示符合范本样式的文件或目录名称。
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
-p 列出权限标示。
-P <范本样式> 只显示符合范本样式的文件或目录名称。
-q 用”?”号取代控制字符,列出文件和目录名称。
-s 列出文件或目录大小。
-t 用文件和目录的更改时间排序。
-u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
-x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。
文档信息
- 本文作者:Lewin
- 本文链接:https://lewinz.com/wiki/linux-command-summary/
- 版权声明:自由转载-非商用-非衍生-保持署名