- 很高心您打开了本篇博客;
- 本篇是Linux专栏札记中的第三篇;
- 在第一篇中我们梳理好了配置虚拟机和linux的环境的图文札记;
一,Linux基础介绍和配置环境。2024年最新完整图文安装详细步骤 VMware虚拟机和CentOS操作系统。以及如何配置Linux连接互联网详细步骤。-CSDN博客
- 在第二篇中我们梳理了一些liunx系统常用的命令,比如路径相关,文件相关,压缩和解压相关,查看和查找相关,打印,管道符,重定向,通配符等相关命令;
二,Linux常用命令介绍一。 ls、cd、pwd、mkdir、touch、cp、mv、rm-rf、cat、less、more、tar、zip、which、find、grep、wc等用法-CSDN博客
- 本篇继续。主要内容:linux系统常用命令介绍;
- 主要作用:让我们操作linux系统像操作windows系统一样顺手;
- 内容简介:linux常用的快捷键,vim编辑器,用户和用户组相关指令,权限相关,软件安装相关,yum更换国内镜像源,任务管理器(服务器,进程,内存,磁盘)相关。
目录
一,快捷键相关操作
1,常用的快捷键
- 同时按ctrl+c组合键, 可以强制退出;
- 同时按ctrl+d组合键, 可以退出用户,直到登出。可以用这个快捷键临时切换用户;
- 同时按ctrl+a组合键 或者home键,可以回到当前命令的开头;
- 同时按ctrl+e组合键 或者end键,可以去当前命令的结尾;
- 同时按ctrl+l组合键,可以清空当前终端内容;
- 按箭头↑或者↓可以上下滚动获取历史输入命令;
2,常用的快捷命令
- 输入history命令可以查看截至当前输入的所有命令记录;
[root@node1 ttt]# histoey
- 输入clear命令 也可以清空当前终端内容;
[root@node1 ttt]# clear
二,vim编辑器相关命令
1,VI简介
- VI是“visual interface"的简称。visual interface翻译就是可视化界面;
- VI是 "Visual interface" 的简称, 是Linux中最经典的文本编辑器;
- VI不是一个排版程序,他不想word那样可以对字体,格式段落进行排版,他只是一个文本编辑器;
- VI可以理解为windows上的txt文件;
- VI没有菜单,只有命令;
2,vim简介
- VIM是VI的改良版,增加了很多功能和特性;
- VIM支持多种颜色方案,语法高亮,自动缩进等功能,可以提高编程效率;
- VIM兼容全部VI命令;
- VIM兼容全部操作系统;
3,VIM编辑器的使用
使用vim编辑器的基本流程
1,进入
如果文件不存在,回自动创建该文件。[root@node1 ttt]# vim 4.txt
如果使用vi编辑器
[root@node1 ttt]# vi 4.txt
2,命令模式
输入上述指令之后,我们就进入了vim编辑器的命令模式
3,输入模式
按键盘的 i件 我们就可以进入输入模式了
这样我们就可以通过光标位置,输入任何想输入的数据了,比如这里我们输入了python
4,底行模式
按键盘的冒号键: 通常我们会使用shift+: 组合键盘 来按出冒号键
然后进入底行模式,在底行模式输入:
- 按q 回车,退出不保存;
- 按wq 回车,保存并退出;
- 按q! 回车,强制不保存退出;
- 按wq! 回车,强制保存退出
5,三种模式的关系
- 命令模式(command mode)。命令模式下,所敲的按键,编辑器都会理解为命令,以命令驱动执行不同的功能。此模型下,不能只有的进行文本编辑;
- 输入模式(insert mode)。输入模式下,也就是所谓的编辑模式或者叫做插入模式,可以自由的进行文本编辑;
- 底行模式(last line mode)。以冒号:开始,通常用于文件的保存和退出;此模式下不能进行为了本编辑。
6,快速体验
- 快速体验 使用:vim hello.txt,编辑一个新文件,执行后进入的是命令模式;
- 在命令模式内,按键盘 i ,进入输入模式;
- 在输入模式内输入:linux命令梳理.;
- 输入完成后,按esc回退会命令模式;
- 在命令模式内,按键盘 : ,进入底线命令模式;
- 在底线命令内输入:wq,保存文件并退出vi编辑器;
7,命令模式下的常用命令
模式 | 命令 | 描述 |
命令模式 | i | 在当前光标进入输入模式 |
命令模式 | a | 在光标位置之后 进入输入模式 |
命令模式 | I | 在当前行的开头进入输入模式 |
命令模式 | A | 在当前行的结尾 记录输入模式 |
命令模式 | o | 在当前光标的下一行进入输入模式 |
命令模式 | O | 在当前光标的上一行进入输入模式 |
命令模式 | ZZ | 在命令模式保存并退出 |
命令模式 | ↑ 或者k | 向上移动光标 |
命令模式 | ↓或者j | 向下移动光标 |
命令模式 | ←或者h | 向左移动光标 |
命令模式 | →或者l | 向右移动光标 |
命令模式 | 0 | 移动到光标当前行的开头 |
命令模式 | $ | 移动到光标当前行的结尾 |
命令模式 | PaUp | 向下翻页 |
命令模式 | PaDn | 向下翻页 |
命令模式 | / | 进入搜索模式 |
命令模式 | n | 向下继续搜索 |
命令模式 | N | 向上继续搜索 |
命令模式 | dd | 删除光标所在行的内容 |
命令模式 | ndd | n是数字,表示删除当前光标线下的n行 |
命令模式 | yy | 复制当前行 |
命令模式 | nyy | n是数字,表示复制当前行和下面的行数 |
命令模式 | p | 粘贴复制的内容 |
命令模式 | u | 撤销修改 |
命令模式 | gg | 跳到首行 |
命令模式 | G | 跳到行尾 |
命令模式 | dG | 从当前行开始,向上全部删除 |
命令模式 | dgg | 从当前开始,向上全部删除 |
命令模式 | d$ | 从当前光标开始,删除到本行的结尾 |
命令模式 | d0 | 从当前光标开始,删除到本行的开头 |
8,底行模式下的常用命令
底行模式 | :q | 退出。不保存 |
底行模式 | :wq | 保存并退出 |
底行模式 | :q! | 强制退出 |
底行模式 | :w | 保存,不退出 |
底行模式 | : set number | 显示行号,下次需要重新设置 |
底行模式 | :10 | 把光标移动到第10行,也可以指定其他数字 |
底行模式 | / 字符串 | 搜索查找指定的字符串,找到后回高亮 |
底行模式 | :wq! | 强制保存退出 |
三,用户和用户组相关命令
1,超级用户和普通用户简介
无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。 在Linux系统中,拥有最大权限的账户名为:root(超级管理员)。它拥有无上的权力。
- 换句话所,linux系统中支持多个用户在同一时间内登录‘
- 不同用户可以执行不同的事情,并且互相不受影响。
- 不同用户具有不同的权限,每个用户在权限内允许的范围可以完成不同更多事情。
- 拥有最大的权限的账户名为 root 他是超级管理员,拥有至高的权限;
- 普通用户在许多地方的权限是有限的,他们的权限是root管理员赋予的;
- 每个普通用户在自己的home目录下,拥有最高权限;
2,用户组简介
- 用户组是一组用户的集合,由管理员定义;
- 定义用户组作用是为了更加方便的管理用户和授予权限;
- 同一组用户内所有的成员都具有相同的权限;
3,用户与用户组的关系
- 每一个用户至少属于一个用户组,哪怕这个组只有它一个人;
- 每一个用户也可以同时属于多个用户组;
- 用户组定义了用户的访问权限,决定了用户可以自行哪些操作,访问哪些目录或者文件等等;
- 用户的增删改查的或者读(read),写(write),执行(execute)都来用户组赋予;
- 用户组的权限来自超级管理员赋予。
4,管理员创建用户命令
要在linux系统中管理用户,需要用root超级管理员用户登录系统。
1,添加用户
用户名是用来登录用户的账号
useradd 用户名
2,添加用户的选项
语法:
useradd 【选项】 用户名
- -c 是comment的简写,指定一段注释性描述;
- -d 目录 是directory的缩写,指定用户的主目录;
- -m 是main的缩写,如果用户主目录不存在可以同时使用-m选项,可以创建主目录;
- -g 是group的缩写,指定用户所属的用户组。
5,管理员设置用户的密码
语法 passwd 是password的简写。
passwd 用户名
示例:
[root@node1 ttt]# useradd fm1 [root@node1 ttt]# passwd fm1 更改用户 fm1 的密码 。 新的 密码: 无效的密码: 密码少于 8 个字符 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 [root@node1 ttt]#
6,管理员查看用户信息
语法
cat /etc/用户名
示例:
[root@node1 ttt]# cat /ect/fm1
fm1:x:1002:1002::/home/fm1:/bin/bash
字段解释:
- 用户名。fm1 是用户登录系统时,使用的用户名;
- 密码。x 默认是不可见。是登录时使用的密码;
- UID。1002 用户的标识号;
- GID。1002 用户组的标识号;
- 注释性描述。例如,存放用户全名等信息;
- home目录。用户登录系统的默认目录,也就是这个用户的家目录;
- 命令解释器,用户使用shell,默认时bash。
通过 getent passwd 命令也可以查看所有用户信息。
7,删除用户的命令
语法 userl 【-r】 用户名
[root@node1 ttt]# userdel -r fm1
-r参数时递归删除。如果不使用-r,删除用户的时候,它的home目录会保留。
8,超级用户和普通用户的区别
- 在liunx系统中,最大的权限是root超级用户;
- 普通用户的权限,一般在自己的home目录内是不受限的;
- 普通用户一但出了自己的home目录外,大多数权限只有读和执行的权限,无写入的权限
9,切换不同用户的命令
语法 su 【-l】 用户名
示例:
[root@node1 ttt]# su fanmeng [fanmeng@node1 ttt]$ su root 密码: [root@node1 ttt]#
- -l选项 是可选的,用来标识切换用户之后是否加载环境变量。
- 超级管理员用户切换到普通用户不需要输入密码;
- 普通用户切换到超级管理员用户需要输入密码,并且会被记录;
10,回退用户
语法 exit命令
示例:
[root@node1 ttt]# exit exit [fanmeng@node1 ttt]$
- 使用exit命令可以回退到上一个用户;
- 使用ctrl+d 组合按键,也可以回退到上一个用户。
11,普通用户行驶超级用户的权限命令 sudo
- 前提是得知root用户的密码;
- 不建议长期使用root用户,避免带来系统损坏;
- 普通用户得知root用户密码之后可以使用sudo命令行驶root用户的权限
示例:
密码: [root@node1 ttt]# useradd fm1 [root@node1 ttt]# su fm1 [fm1@node1 ttt]$ sodu /root bash: sodu: 未找到命令 [fm1@node1 ttt]$ sudo /home 我们信任您已经从系统管理员那里了解了日常注意事项。 总结起来无外乎这三点: #1) 尊重别人的隐私。 #2) 输入前要先考虑(后果和风险)。 #3) 权力越大,责任越大。 [sudo] fm1 的密码:
并非所有的用户都有权力使用sudo指令,需要root用户给普通用户配置sudo认证,并且普通用户使用sudo行驶的越权命令都会被记录下来。
12,为普通用户配置sudo认证
切换到root用户,执行visudo命令,会自动打开vim编辑器
[root@node1 ttt]# visudo
在文本的最后配置
用户名 ALL=(ALL) NOPASSWD:ALL
其中最后的NOPASSWD:ALL 表示使用 sudo命令,无需输入密码。通常一般并不会设置这个。 13,查看普通用户和超级用户的命令
1,id 用户名
语法
[root@node1 ttt]# id fm1 uid=1002(fm1) gid=1002(fm1) 组=1002(fm1)
如果uid 是0 那说明该用户是超级管理员用户
[root@node1 ttt]# id root uid=0(root) gid=0(root) 组=0(root)
2,whoami
语法
whoami命令可以查看当前用户的用户名,但是不能直接判断用户是否是管理员
[root@node1 ttt]# whoami root [root@node1 ttt]# su fm1 [fm1@node1 ttt]$ whoami fm1
3,命令行的提示符号 #或者$
- #和$符号通常用来表示不同用户的级别和权限;
- $符号一般出现在非特权用户的命令提示符中,表示当前用户没有超级root的权限;
- # 该符号一般出现在超级用户root的命令提示符中,表示当前用户拥有最高权限;
四,用户组的管理
- 用户组是一组用户的集合,由管理员定义;
- 目的就是方便的管理和授权用户的权限;
- 同一组用户都有相同的访问权,这些访问权来自组的权限设置;
- 要在linux系统中管理用户组,需要以root用户身份登录系统
1,查看用户组
语法 cat
[fm1@node1 ttt]$ cat /etc/group
通常在末尾
2,创建用户组
语法 group 用户组名
[root@node1 ttt]# groupadd fm_group
3,删除用户组
语法 groupdel 用户组名
[root@node1 ttt]# groupdel fm_group
4,修改用户组
1,将用户添加到一个附加组中
语法 usermod -aG 用户组名 用户名
[root@node1 ttt]# usermod -aG fm_group1 fanmeng
2,将用户设置为指定组
语法 usermod -G 用户组名 用户名
[root@node1 ttt]# usermod -G fm_group1 itcast
五,权限相关命令
1,认识文件的权限
输入 ll
[root@node1 /]# ll
2,文件的权限详细说明
- - 表示文件;
- d 表示文件夹;
- l 表示链接;
- r 代表读 。读的权限包括:查看文件和目录内容;
- w 代表写。写的权限包括:修改文件,在文件夹内创建,删除,修改等操作;
- x 代表执行。执行的权限包括:可以把文件当作程序执行,可以更改工作目录到此文件夹;
- - 无权限。
3,chmod 修改权限控制
- chmod 是change model的缩写;
- 在linux系统中,chmod是用来修改文件或目录的权限的命令;
- 通常只有对文件,目录的所属用户,或者root权限的用户才能使用;
- 通过chmod命令可以对以下三种给权限进行设置和变更;
- 文件的所有者 user 拥有读,写,执行权限 rwx;
- 同组用户 group 拥有 读,写,执行权限 rwx;
- 其他用户 others 拥有 读,写,执行的权限 rwx。
4,chmod命令的使用
语法:chmod 【选项】 模式 文件名/文件夹。
选项 -R,表示递归修改。
文件名/文件夹,指定的文件或者目录。
1,通过字母法,修改文件/目录的权限
示例:
[root@node1 aa]# ll 总用量 0 -rw-r--r-- 1 root root 0 7月 13 15:11 100.txt [root@node1 aa]# chmod u=rwx,g=rx,o=r 100.txt [root@node1 aa]# ls 100.txt [root@node1 aa]# ll 总用量 0 -rwxr-xr-- 1 root root 0 7月 13 15:11 100.txt [root@node1 aa]# ^C [root@node1 aa]# chmod ugo=rwx 100.txt [root@node1 aa]# ll 总用量 0 -rwxrwxrwx 1 root root 0 7月 13 15:11 100.txt [root@node1 aa]# chmod u-r,g-w,o-rx 100.txt [root@node1 aa]# ll 总用量 0 --wxr-x-w- 1 root root 0 7月 13 15:11 100.txt [root@node1 aa]# chmod u-r,g-w,o+rx 100.txt [root@node1 aa]# ll 总用量 0 --wxr-xrwx 1 root root 0 7月 13 15:11 100.txt
2,通过字母法,修改文件/目录的权限
- 数字方法,遵循8421码;
- 8421码是一种BCD(Binary-Coded Decimal)编码方式,即二进制编码的十进制数。
- 它是一种将十进制数转换为二进制数的方法,其中每一位的权值分别为8、4、2、1,因此得名8421码。
- 我们的数字方法就是遵循 8421码 ,但是去掉了8;
- 权限用3个数字代替;
- r是4,w是2,x是1;
- 6就是 4+2 也就是 rw-;
- 7就是4+2+1 也就是 rwx;
- 3就是 2+1 也就是 -wx;
- 5就是4+1 也就是 r-x;
示例:
[root@node1 aa]# ll 总用量 0 --wxr-xrwx 1 root root 0 7月 13 15:11 100.txt [root@node1 aa]# chmod 777 100.txt [root@node1 aa]# ll 总用量 0 -rwxrwxrwx 1 root root 0 7月 13 15:11 100.txt [root@node1 aa]# chmod 731 100.txt [root@node1 aa]# ll 总用量 0 -rwx-wx--x 1 root root 0 7月 13 15:11 100.txt [root@node1 aa]#
5,chown命令的使用
- 在linux系统中,chown是一个用户更改文件或者目录所有者的命令;
- 它可以把文件或者目录的所有权转移到另外以一个组中;
- 通常只有文件或者目录的所有者,或者是root权限的用户才能使用;
- chown,是change owner的简写。
1,语法
chown 【选项】 用户名:组名 文件/目录
- 用户名和组名。可以是任何有效的linux的用户或者组名的名称;
- 文件/目录。要修改其所有权的文件或者目录名称;
- 选项 -R 递归的更改目录下面的子文件夹中所有文件所有者。
示例
[root@node1 aa]# ll 总用量 0 -rwx-wx--x 1 root root 0 7月 13 15:11 100.txt 您在 /var/spool/mail/root 中有新邮件 [root@node1 aa]# chown fm1 100.txt [root@node1 aa]# ll 总用量 0 -rwx-wx--x 1 fm1 root 0 7月 13 15:11 100.txt [root@node1 aa]# chown fm1:fm1 100.txt [root@node1 aa]# ll 总用量 0 -rwx-wx--x 1 fm1 fm1 0 7月 13 15:11 100.txt [root@node1 aa]# chown root 100.txt [root@node1 aa]# ll 总用量 0 -rwx-wx--x 1 root fm1 0 7月 13 15:11 100.txt
六,软件安装相关命令
操作系统安装软件由许多种方式,一般分为:
1,常见安装包
- windows:exe,msi,或者解压即用的文件;
- linux:rpm,deb,源码编译安装;
2,软件的来源
- windows:应用商店,各大软件的官网
- linux:软件包管理器 yum 【适合的系统 centos,fedora,redhat】
- linux:是用rpm安装,不会安装依赖性文件
3,rpm安装
由于rpm安装不会安装依赖性文件,经常会导致软件安装失败,所以我们采用yum安装方式。
4,yum安装
- yun全称 yellowdog updater modified;
- 它可以以自动化的方式管理软件包;
- 在使用yum下载,安装,升级和删除RPM软件包,可以自动处理依赖关系;
- yum命令需要root权限,普通用户可以使用sudo提权;
- yum命令需要联网;
语法:yum 【-y】 【install | remove | search】 软件名称
操作:
- 选项 -y,自动确认,无需手动确认安装或者卸载过程;
- search 搜索安装列表中,有没有需要的安装包;
- install 安装rpm软件包;
- remove 卸载;
- update 更新;
- check-updae 检查是否由可用的更新rpm软件包;
- list 列出系统中已经安装的和可以安装的包。
示例:
# 列出系统中已经安装的和可以安装的包 yum list # yum search在yum源搜索指定的包 yum search wget # 安装wget yum -y install wget # 卸载wget yum -y remove wget
5,yum更换国内镜像源
- 数据源:yum数据源是指yum软件包管理器用于查找可安装软件包的服务器仓库;
- 在linux中,默认情况下已经配置了一些官方的yum数据源,可以直接使用;
- 由于网络状态,这些数据源是国外的诸多因素影响,我们直接使用起来会非常的缓慢;
- 所以我们需要切换yum数据源更换为国内的镜像站。
1,国内的镜像站:
- 1,清华大学开源软件镜像站
- 2,CentOS镜像使用帮助 (163.com)
- 3,阿里云镜像
2,切换国内镜像源
查看我们当前的数据源
yum repolist
查看我们已经安装完毕的数据源
yum list
进入 /etc/tum.repos.d/ 文件里面去操作
第一步,备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
第二步 使用wegt下载
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
第三步 清除缓存
yum clean all
第四步 生成新的
yum makecache
6,使用yum 安装常用的软件
示例
1.yum命令在线安装tree程序
[root@binzi~]# yum -y install tree
2.yum命令在线安装lrzsz上传和下载工具
[root@binzi~]# yum -y install lrzsz
3.yum命令在线安装ntpd网络时间服务
[root@binzi~]# yum -y install ntp
七,任务管理器相关命令
1,服务相关命令systemctl
- 系统内置的服务均可被称为 systemctl;
- 使用systemctl命令可以控制服务开启,关闭,自启动;
语法:
systemctl start 或者stop或者status或者enable或者disable 服务名称
选项:
- start 开启;
- stop 关闭;
- disable 禁止开机启动;
- enable 开机自启动;
- starus 查看状态
举例:
1,查看服务器开启状态
systemctl status firewalld.service
2,关闭防火墙
systemctl stop firewalld.service
3,禁止主网络服务器开机自启
systemctl disable NetworkManager
4,设置防火墙开机自启动
systemctl enable firewalld.service
5,查看网络状态
systemctl status NetworkManager
2,进程相关命令
- 程序运行在操作系统中,是被操作系统所管理的;
- 为管理运行的程序,每一个程序在运行的时候,都会被操作系统注册为系统的一个进程;
- 并且会为每一个进程都分配一个仅的:进程id (PID)
1,语法 ps-ef
通过ps -ef可以查看当前的进程信息
ps -ef
2,选项
- -e 显示出全部进程;
- -f 以完成格式化的形式展示全部信息;
3,介绍
上图从左到右分别:
- UID 进程所属的用户id;
- PID 进程的进程ID;
- PPID: 进程的父ID(启动此进程的其他进程);
- C:此进程的cup占用百分比;
- stime 进程的启动时间;
- TTY 启动此进程的终端序号,如显示? 表示非终端启动;
- TIEE 进程占用的cpu时间;
- CMD 进程对应的名称或启动路径或者启动命令
4,进程通常通过管道符 配合grep使用
查看tail命令的信息
[root@node1 aa]# ps -ef |grep tail root 19096 13941 0 15:48 pts/0 00:00:00 grep --color=auto tail
查看带有30001关键字的进程信息
[root@node1 aa]# ps -ef |grep 300001 root 19122 13941 0 15:49 pts/0 00:00:00 grep --color=auto 300001
5,结束进程 kill -9
相当于在windows任务管理器 关闭进程
kill -9 tail
6,使用px -aux 查看
[root@node1 aa]# ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 191012 3956 ? Ss 09:18 0:05 /usr/lib/systemd/systemd --switched-r root 2 0.0 0.0 0 0 ? S 09:18 0:00 [kthreadd] root 4 0.0 0.0 0 0 ? S< 09:18 0:00 [kworker/0:0H] root 6 0.0 0.0 0 0 ? S 09:18 0:00 [ksoftirqd/0] root 7 0.0 0.0 0 0 ? S 09:18 0:00 [migration/0]
3,内存相关命令
通过top 命令查看cpu,内存的使用情况
top
按q或者ctrl+c 退出。
4,磁盘相关命令
通过df命令 可以查案磁盘的使用情况
1,使用df查看
语法:
[root@node1 aa]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 12M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 50G 14G 37G 28% / /dev/mapper/centos-home 46G 33M 46G 1% /home /dev/sda1 1014M 153M 862M 16% /boot tmpfs 378M 0 378M 0% /run/user/0
选项 -h 可以更加人性化的查看。
2,使用free查看
语法
[root@node1 aa]# free -h total used free shared buff/cache available Mem: 3.7G 399M 2.8G 11M 481M 3.0G Swap: 3.9G 0B 3.9G
选项 -h 可以更加人性化的显示。
八,思维导图笔记
1,常用的快捷键
2,vim编辑器
3,用户和用户组
4,用户和用户组的权限
5,软件安装
6,任务管理器
谢谢观看,linux常用命令有很多很多。本篇札记依旧是梳理了linux中最常用的部分