- 安装软件:
apt-get install <appName>
whereis <appName>
: 查看软件安装位置;wget <web:url软件下载地址>
: 通过网络下载软件安装包;apt --purge remove <appName>
: 卸载软件
-
ssh
安装启动:sudo apt-get install ssh
sudo systemctl start
- 查看
ssh
启动状态:ps -aux|grep sshd
- 查看
2.1 安装 `openssh` 服务端 : `sudo apt-get inistall openssh-server`;
启动: `sudo /etc/init.d/ssh start`
查看启动状态: `ps - e |grep ssh`
- 注意: 启动完成后需要将配置文件 `/etc/ssh/ssh_config` 中的 ‘# PasswordAuthentication yes’ 前的 `#` 号删掉,然后重启服务器;
-
ip地址查看:
ifconfig
-
文件编辑:
- `i` 编辑模式; - `I`: 在当前光标所在行的行首,转换为输入模式; - `a`:在当前光标所在字符的后面,转换为输入模式; - `A`:在光标所在的行尾,转换为输入模式; - `o`:在当前光标所在行的下方,新建一行,并转为输入模式; - `O`:在当前光标所在行的上方,新建一行,并转为输入模式; - `s`:删除光标所在字符; - `r`:替换光标处字符;
esc
命令模式;
-v
VISUAL 模式(选择文字),y
结束选择;
-d
剪切行
- 光标移动:
n+
: 向下移动 n 行;n-
: 向上移动 n 行;gg
: 移动至开始;
- 删除:
dd
: 删除当前行;dG
: 删除光标之后的所有内容;
- 翻页指令:
ctrl + f
: 向下翻一页;ctrf + b
: 向上翻一页;
- 关闭文档:
x
: 保存当前文档并退出;q
: 退出;w
: 保存文档;q!
: 退出VI/VIM,不保存文档;
- 更换源
源列表文件位置:/etc/apt/sources.list
5.1 备份源列表:cp /etc/apt/sources.list /etc/apt/sources.list.bak
;
5.2 打开源文件:sudo vim /etc/apt/sources.list
;
5.3 更换源文件内容(阿里源, 想要其他的可以继续百度):
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
5.4 保存退出: esc
:x
5.4 刷新源路径:sudo apt update
;
-
查看ip地址:
ifconfig
-
重置角色密码:
sudo passwd username
-
root 远程登录:
8.1 打开 ssh 配置文件sudo vi /etc/ssh/sshd_config
8.2 注释PermitRootLogin without-password
这一句(没有就不管);
8.3 添加PermitRootLogin yes
; -
cd (change directory, 修改目录) 命令使用:
cd ~
: 跳转到当前用户的根目录;cd -
: 回跳到上一个处在的目录;cd
: 等价于cd ~
- ls 命令使用:
ls
: 查看当前目录下的文件ls <path>
: 查看<path> 路径下的文件;ls -a
: 查看当前目录下的所有文件(包括隐藏文件), 以.
开头的文件或文件夹都属于隐藏文件;ls -l
: 列出文件的详细信息;ls -al
: 列出所有文件的详细信息;ls -h
: 文件信息以KMGT的格式显示;
- 文件的详细信息 各项值所代表的含义:
-
alias
给命令取别名:alias
: 查看所有别名命令;alias la='ls -a'
: 给ls -a
命令取一个别名为la
,此时两个命令效果一致;- 在命令行中添加别名是临时的,当当前终端关闭后,别名就没有了;想要长期有效可以去修改别名配置文件;
unalias la
: 删除别名la;
-
文件夹、文件 相关命令:
mkdir name
: 创建一个名为name
的文件夹;mkdir /path1/path2/name -p
: 在path1的文件下面的 path2 文件夹,创建一个名为name的文件夹;rmdir name
: 移除一个名字为 name 的空
文件夹;touch filename
: 创建一个文件, 可以是多个;cp test..txt /path/test.txt
: 将 test.txt 文件(夹)复制到 /path/ 文件夹下面 ;cp test..txt /path/ttt.txt
: 将 test.txt 文件(夹)复制到 /path/ 文件夹下面 , 并且改名为 ttt.txt;mv test..txt /path/test.txt
: 将 test.txt 文件(夹)剪切到 /path/ 文件夹下面 ;rm -rf name
: 用来删除名为 name 的文件(夹)
-f
: 不提示,出现错误不提示;
-r
: 递归删除;*.txt
: 模糊匹配某一类文件
-rm -rf *.txt
: 删除所有
-
vim 配置文件:
/etc/vimrc
: 为所有用户设置的配置,所有用户都可以读取的配置;~/vimrc
: 为当前用户设置的配置, 只有当前用户可以读取;
-
Linux 配置文件:
- 每次打开终端时,都会执行的文件;
/etc/bashrc
: 所有用户生效;~/bashrc
: 当前用户生效 ;
- 每次打开终端时,都会执行的文件;
-
用户管理相关相关指令:
useradd <username>
: 新建一个用户, 一般需要指定-s
参数为/bin/bash
;su <username>
: 切换用户;passwd <username>
: 给指定用户设定密码;passwd
: 给当前用户设定密码;userdel <username>
: 删除用户;
--f
: 强制删除;
--r
: 同时删除家目录;whoami
: 查看当前登录的用户名;sudo
: 使用 root 权限执行命令;
- 需要将用户配置到/etc/sudoers
文件中, 才可以使用sudo
命令;
-visudo
: 快速打开/etc/sudoers
文件, 进入编辑状态;vim /etc/passwd
: 查看当前系统,所有用户的用户信息;
用户信息示例: root:x:0:0:root:/root:/bin/bash
解析: <用户名>:<用户密码:占位符>:<用户id>:<分组id>:<用户根目录位置>:<用户登录时执行的脚本>
- `vim /etc/shadow`: 系统所有用户密码文件;
用户密码示例: sshd:*:19262:0:99999:7:::
解析: <用户名>:<用户密码>:<修改日期>:<密码不可修改的天数>:<密码需要修改的期限: 天>:<修改期限前N天发出警告>:<密码过期的宽限:天>
- <用户密码> 详解:
* 空表示密码为空, 不需要输入密码就可以登录;
* “*” 号表示账户锁定;
* “!” 号表示密码已过期;
* “$1$” 表明用 MD5加密;
* “$2$” Blowfish 加密;
* “$5$” SHA-256 加密;
* “$6$” SHA-512 加密;
vim /etc/group
: 查看系统所有分组;
实例: root:x:0:
15.1 分组:
- 创建用户的时候, 系统会自动创建一个与用户同名的分组;
- groups
: 查看当前用户处在哪一个分组里面;
- groups <username>
: 查看指定用户在所在分组;
- gpasswd -a <username> <group_name>
: 将指定用户添加到指定分组当中;
- gpasswd -d <username> <group_name>
: 将指定用户从指定的分组中删除、移除;
- 有 root
权限的分组:
* ubuntu: sudo 组 | admin 组 | root 组;
* centos: wheel 组 | root 组;
-
文件(夹)权限管理
chmod
:- 参数:
o
: 其他;chmod o+w <filename>
: 给指定文件的其他用户, 添加 ‘w’ 写入权限;u
: 所有者;chmod u-w <filename>
: 给指定文件的所有者, 移除 ‘w’ 写入权限;g
: 所属组;chmod g-r <filename>
: 给指定文件的所属组(所有者组), 移除 ‘r’ 读取权限;a
: 全部;chmod a+r <filename>
: 指定文件, 所有用户, 添加 ‘r’ 读取权限;- 权限类型及其对应值:
r
: 4: 可读;w
: 2: 可写;x
: 1: ;- 实例:
sudo chmod 777 <filename>
; - 实例:
sudo chmod u=777 <filename>
; - 实例:
sudo chmod u=rwx <filename>
;
- 权限类型及其对应值:
- 参数:
-
压缩、解压:
zip <文件(夹)名> <压缩包名>
: 压缩文件、文件夹;unzip <压缩包名>
: 解压;tar
-
nginx 相关:
sudo apt install nginx
: nginx 安装;sudo systemctl start nginx.server
: 启动nginx服务;sudo systemctl stop nginx
: 关闭软件;vim /etc/nginx/nginx.conf
: nginx 全局配置文件;
-
基于Linux的python环境管理:
a.sudo pip3 install virtualenv virtualenvwrapper
: 安装python环境管理工具;
b.~/.bashrc
: 配置文件编辑(添加);export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.6 #指定新虚拟环境默认的Python版本 export WORKON_HOME=~/.envs#指定创建的新的虚拟环境保存在哪个文件夹下 source /usr/local/bin/virtualenvwrapper.sh#执行virtualenvwrapper.sh 脚本
c.
mkvirtualenv test
: 创建名为test
的虚拟环境, 存放于WORKON_HOME=~/.envs
配置的~/.envs
文件夹下;
d.workon test
: 切换为test
虚拟环境;
e.deactivate
: 退出虚拟环境;
-
|
管道:
将上一条语句的标准输出,转化为下一条语句的标准输入; -
重定向:
>
: 写入:* 如果文件不存在,则新建文件; * 如果文件存在, 则直接覆盖原文件; `sudo ps -aux > pid.txt`: 将所有查询出来的进程结果, 写入pid.txt文件中;
>>
追加:`sudo ls ./ > pid.txt`: 将 `sudo ls ./ ` 执行的结果,追加到 `pid.txt` 文件中;
- 分类:
>
等同于1>
: 标准输出,正确执行的结果;2>
: 错误输出,执行出错的结果;&>
: 所有输出: 标准输出 + 错误输出;
- 分类:
-
命令别名:
ln -s x fn1 fn2
: 给fn1
取一个别名为fn2
, 此时fn1
完全等同于fn2
;
-
安装数据库(mysql 8.0):
sudo apt install mysql-server
: ubuntu 18.4之后,系统不兼容mysql5.7;
- mysql 8.0登录:
-sudo vim /etc/mysql/debian.cnf
: 复制debian-sys-maint
用户的password;
-mysql -u debian-sys-maint -p
: 回车输入密码;
-alter user 'root'@'localhost' identified with mysql_native_password by '123456'
: 修改root
用户的登录密码;
- 之后就可以使用root
用户登录了;