Ubuntu 命令(随时更新)

  1. 安装软件: apt-get install <appName>
    • whereis <appName>: 查看软件安装位置;
    • wget <web:url软件下载地址>: 通过网络下载软件安装包;
    • apt --purge remove <appName>: 卸载软件

  1. 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’ 前的 `#` 号删掉,然后重启服务器;
  1. ip地址查看: ifconfig

  2. 文件编辑:

     - `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,不保存文档;


  1. 更换源
    源列表文件位置: /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;

  1. 查看ip地址: ifconfig

  2. 重置角色密码: sudo passwd username

  3. root 远程登录:
    8.1 打开 ssh 配置文件 sudo vi /etc/ssh/sshd_config
    8.2 注释 PermitRootLogin without-password 这一句(没有就不管);
    8.3 添加 PermitRootLogin yes;

  4. cd (change directory, 修改目录) 命令使用:

    • cd ~: 跳转到当前用户的根目录;
    • cd -: 回跳到上一个处在的目录;
    • cd: 等价于 cd ~

  1. ls 命令使用:
    • ls: 查看当前目录下的文件
    • ls <path>: 查看<path> 路径下的文件;
    • ls -a: 查看当前目录下的所有文件(包括隐藏文件), 以 . 开头的文件或文件夹都属于隐藏文件;
    • ls -l: 列出文件的详细信息;
    • ls -al: 列出所有文件的详细信息;
    • ls -h: 文件信息以KMGT的格式显示;
  • 文件的详细信息 各项值所代表的含义:
    在这里插入图片描述
  1. alias 给命令取别名:

    • alias: 查看所有别名命令;
    • alias la='ls -a': 给 ls -a 命令取一个别名为 la,此时两个命令效果一致;
      • 在命令行中添加别名是临时的,当当前终端关闭后,别名就没有了;想要长期有效可以去修改别名配置文件;
    • unalias la: 删除别名la;

  1. 文件夹、文件 相关命令:

    • 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: 删除所有
  2. vim 配置文件:

    • /etc/vimrc: 为所有用户设置的配置,所有用户都可以读取的配置;
    • ~/vimrc: 为当前用户设置的配置, 只有当前用户可以读取;
  3. Linux 配置文件:

    • 每次打开终端时,都会执行的文件;
      • /etc/bashrc: 所有用户生效;
      • ~/bashrc: 当前用户生效 ;
  4. 用户管理相关相关指令:

    • 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 组;

  1. 文件(夹)权限管理 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>;
  2. 压缩、解压:

    • zip <文件(夹)名> <压缩包名>: 压缩文件、文件夹;
    • unzip <压缩包名>: 解压;
    • tar

  1. nginx 相关:

    • sudo apt install nginx: nginx 安装;
    • sudo systemctl start nginx.server: 启动nginx服务;
    • sudo systemctl stop nginx: 关闭软件;
    • vim /etc/nginx/nginx.conf: nginx 全局配置文件;
  2. 基于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: 退出虚拟环境;


  1. | 管道:
    将上一条语句的标准输出,转化为下一条语句的标准输入;

  2. 重定向:

    >: 写入:

    * 如果文件不存在,则新建文件;
    * 如果文件存在, 则直接覆盖原文件;
    `sudo ps -aux > pid.txt`: 将所有查询出来的进程结果, 写入pid.txt文件中;
    

    >> 追加:

    `sudo ls ./ > pid.txt`: 将 `sudo ls ./ ` 执行的结果,追加到 `pid.txt` 文件中;
    
    • 分类:
      • > 等同于 1>: 标准输出,正确执行的结果;
      • 2>: 错误输出,执行出错的结果;
      • &>: 所有输出: 标准输出 + 错误输出;

  1. 命令别名:

    • ln -s x fn1 fn2: 给 fn1 取一个别名为 fn2, 此时 fn1 完全等同于 fn2
  2. 安装数据库(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 用户登录了;

猜你喜欢

转载自blog.csdn.net/cc_King/article/details/127045658