Ubuntu 图形化界面 和 命令行模式 相互切换
级别设置
-- 进入 命令行模式
sudo systemctl set-default multi-user.target (级别 3)
-- 重启操作系统
reboot
-- 进入 图形化界面
sudo systemctl set-default graphical.target (级别5)
设置 root 超级用户的密码
sudo passwd root
会提示输入密码
确认密码
切换 账户
su 账户
目录的常见操作
查看目录的信息 ls
ls : 以列表的形式展示所有的内容
ls -l : 显示目录下,文件的详细信息
ls -la : 显示目录下,文件的详细信息 (显示隐藏的文件)
===> ll
ls -ld : 显示某一个目录的 详细信息
man 命令 : 是用来学习 linux 某个命令的帮助命令
创建目录 mkdir
mkdir 目录
mkdir -p 目录 (创建多层级的目录)
删除目录/文件 rmdir (不常用) , rm (常用)
rm -i : 删除的时候,进行提示
rm -f : 不进行提示、忽略不存在的文件
rm -r : 删除目录 (目录下的文件一块被删除)
rm -d : 删除空目录
rm -rf : 强制删除某一个目录
rm -rf / : (禁用) 、删库跑路
创建文件 touch , vi/vim (文本编辑器)
touch 文件名 : 文件不存在 (常用)
touch -c 文件名: 修改文件的时间戳,如果文件不存在,则什么都不做
touch -a 文件 : 修改访问的时间
查看文件中的内容
more -n 文件名 :一次显示 n行数据, Enter 每次多一行, 空格键每次多一页
cat 文件 : 查看文件
cat -n 文件 : 查看文件,并显示 行号
nl 文件 : 查看文件, 并显示行号
tail -f 文件 : 时时刻刻动态监控文件的新增的内容
vi / vim 查看
vim 编辑器
- 命令模式
- 输入模式
- 底线命令模式
命令模式
- vim 编辑器 启动后,自动会进入 命令模式
命令模式下常见的命令
-
dd : 删除 光标 所有的 一行数据
- 20xx : 删除 光标所在的行以下的20行数据
-
x : 光标后,删除一个字符
-
X : 光标前,删除一个字符
-
d$ : 从光标位置,删除到 这一行的末尾
-
yy : 复制光标所在的一行的数据
- 3yy : 复制光标所在的一行的数据以下的3行
-
p : 将复制的内容,粘贴到 光标的 下一行
-
P : 将复制的内容,粘贴到 光标的 上一行
-
. : 重复上一个动作
-
G : 光标快速移动到文档的底部
-
gg : 光标快速移动到文档的头部
-
/搜索的内容 : 从光标位置向下进行检索数据
-
?搜索的内容 : 从光标位置向上检索数据
-
n / N : 配合 搜索的结果 进行上下检索,搜索完后,按enter 代表搜索结束,才能用 n/N
输入模式常见命令
从命令模式,切换到输入模式
- i : 在光标的所在位置的前面 进行插入
- a : 在光标的所在位置的后面 进行插入
- o : 在光标所在的位置的下一行进行插入
从输入模式,切换到 命令模式 esc
底线命令模式
从命令模式 ,切换到 底线命令模式 用 :
- :w : 将内容写入到磁盘,进行存储,按 enter 后,仍旧处于 命令模式
- :w! : 强制性写入磁盘,主要针对只读文件
- :q : 退出 vim 编辑器(没有对 文件进行修改,或者已保存)
- :q! : 强制退出 vim 编辑器 (如果文件被修改,而不想保存)
- :wq : 保存并退出
- :wq! : 强制保存并退出
- : set nu : 编辑文件的时候,显示 行号
文件/目录的常见操作
-
pwd : 查看当前所在的目录
-
cp : 把 一个文件 复制到 另一个位置
cp 文件 某一个位置/某一个文件
-- 把 ~/soft/a.txt 拷贝到 ~ 目录下
cp ~/soft/a.txt ~
cp -r 目录 某一个目录
-- 把 soft 目录,拷贝到 ato 目录
cp -r ~/soft ~/ato
- mv : 把一个文件 移动到 另一个位置
mv source dict
- ln : 创建一个软链接
ln -s target link_name
target : 目标
link_name : 软链接的名字
创建一个软链接 (window 快捷方式)
文件/文件夹的属性
drwxrwxrwx 2 root root 4096 Dec 14 2012 bin
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。
d : 代表目录
- : 代表文件
l : 代表软连接
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合
r : 代表 读 , r = 4
w : 代表 写 , w = 2
x : 代表 可执行, x=1
第一组: 代表 文件拥有者 的权限
第二组: 代表 文件所属组 的权限
第三组: 代表 其他用户 的权限
更改文件的权限 chmod
chmod 777 a.txt --- 7 = 4 + 2 + 1
-- 将 a.txt 拥有者设置为 读写权限, 组成员 读权限, 其他用户 无权限
chmod 640 a.txt
chmod -R 777 app : 将 app 及其 app目录下所有的文件全部设置为 777
u : 拥有者
g : 所属组
o : 其他用户
a : 代表 u + g + o
chmod u+rx a.txt : 给 a.txt 的拥有者,添加 r 和 x 权限
chmod g-r a.txt : 将 a.txt 所属组 对应的 r 权限 去掉
添加组/用户 groupadd, adduser, useradd
-- 添加一个 组
sudo groupadd test01
-- 删除一个 组
sudo groupdel test01
-- 创建一个 admin账户, 并设置了 该账户的主目录
sudo useradd -g test01 -d /home/admin -m admin
-- 创建一个禁止登录的账户 (安装服务的比较常用)
sudo useradd -s /bin/false admin (ubuntu)
sudo useradd -s /sbin/nologin admin (centos)
-- 把一个 用户 和 组进行关联
adduser 用户 组
# 查询 admin 用户的信息
id admin
-- 删除用户
userdel -r admin
-- 给 admin 设置密码
sudo passwd admin
usermod : 用来修改用户
groupmod : 用来修改组
更改文件所属的用户/组 chown
-- 修改 a 的 拥有者 为 root
chown root /a
-- 修改 a的拥有者 和 所属组 都为 root
chown root:root /a
-- 递归的修改某个文件/文件的所有信息
chown -R root:root /a
常见的 命令
- whereis python : 会从 / 下 查找所有和 python 相关的 文件
- find / -name 名字 : 从 / 位置 根据 名字 查询 相关的 文件
tar.gz (linux 的压缩文件)
解压 :
tar -zxvf xxxxxx.tar.gz -C 解压的位置
- z : 通过gzip指令处理备份文件
- x : 从备份文件中还原文件, 解压
- v : 显示解压执行过程
- f : 指定文件
注意 : -f 必须写在后面
压缩
tar -zcvf xxxx.tar.gz 压缩的文件的路径多个用 空格 分割
进程中相关的命令
free 查看内存的使用状态
free -s sec : 每间隔多久显示一次 内存的使用状态
top : 查看进程状态
ps -ef | grep 某个服务
ps -aux| grep 某个服务
PS : 两个目的
-
- 检查某个服务是否启动
-
- 获取某个进程的进程号
kill : 杀死某个进程
kill -9 pid : 强制杀死某个进程
检查某个服务是否启动
- ps 查看某个进程的信息
- netstat -ano | grep 端口号 : 检测端口号是否被占用
mysql : 3306
sshd : 22
在 linux 安装 MySQL 服务器
centos : yum install
ubuntu : apt install
sudo apt-get install mysql-server
安装成功后,root 默认不能登录,
原因是 mysql.user表中 plugin = auto_socket
关闭 mysql 服务器 sudo systemctl stop mysql
通过 mysqld -nt --skip-grant-tables
修改root 账户信息
注意: 该命令 需要 在 /var/run/ 下 创建一个 mysqld 文件夹,并且设置 所属用户
chown -R mysql:mysql /var/run/mysqld
修改 root 对应的信息
update mysql.user set host = '%' , plugin='mysql_native_password',
authentication_string = password('新密码') where user = 'root';
查看 mysqld 进程 ps -ef|grep mysqld
杀死 mysqld 进程 kill -9 对应的进程号
启动 mysql 服务器 sudo systemctl start mysql
完成上述操作后,即可正常 操作 链接 mysql
PS : mysql 默认只能在本地进行连接,如果需要在 其他服务器中进行连接
找到 /etc/mysql/mysql.conf.d/mysqld.cnf
并修改 配置文件
注释 掉 bind = 127.0.0.1
并保存
重启 mysql 服务器 sudo systemctl restart mysql
redis (非关系型数据库)服务器的安装
sudo apt install redis
启动 redis 的命令 /usr/bin/redis-server — mysqld
客户端连接 redis服务器的命令 redis-cli — mysql
redis 的 配置文件 /etc/redis/redis.conf 中
sudo systemctl stop redis
sudo systemctl start redis
sudo systemctl restart redis