Linux常见的命令

    技术2022-07-10  163

    Ubuntu 图形化界面 和 命令行模式 相互切换

    级别设置

    -- 进入 命令行模式 sudo systemctl set-default multi-user.target (级别 3) -- 重启操作系统 reboot -- 进入 图形化界面 sudo systemctl set-default graphical.target (级别5)

    设置 root 超级用户的密码

    sudo passwd root 会提示输入密码 确认密码 切换 账户 su 账户

    目录的常见操作

    / 代表 linux 磁盘的根~ 代表 当前用户 的 根 , 用户的根 默认的位置 是 /home/用户名$ 代表当前是 普通用户

    代表当前是 管理用户

    切换目录 cd切换到上一级目录 cd …

    查看目录的信息 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
    Processed: 0.036, SQL: 9