2_1 Linux基础操作
文章目录
- 2_1 Linux基础操作
- 0. 参考
- 1. 装机后的一些小命令查看系统的信息
- 2. 基础命令
- 2.1 初识基本命令
- 2.2 日期和时间
 
- 3. 帮助命令
- 4. 关机、重启
- 5. 设置主机名
- 6. rm删除
- 7. 软件包的管理RPM、 YUM
- 8. IP知识
- 9. 查看一些linux的信息
- 10. 命令行快捷键
- 11. 光盘挂载
- 12. 归档及压缩
- 1 .tar、gzip、bzip2
- 2. zip和unzip
 
- 13. find查找文件
- 1. find基础
- 2. find高级
 
- 14. 软硬链接
- 15. 系统进度
- 16. 登录用户查看
- 17. Linux内核定义的事件紧急程度
- 18. 破解root密码
 
0. 参考
https://www.linuxcool.com/rpm
1. 装机后的一些小命令查看系统的信息
-  cat(concatenate files and print):其功能是在终端设备上显示文件内容。 - 语法:cat 参数 文件名
- cat /etc/redhat-release #参看红帽系统的版本信息
- cat /etc/os-release
- cat /proc/meminfo #查看内存信息
- cat /proc/partitions #查看分区信息
- cat /etc/shadow 是 Linux 系统中存储用户加密密码的文件,每行对应一个用户的加密信息。该文件只有系统管理员 root 用户可以访问。
 
-  uname(UNIX name):其功能是查看系统主机名、内核及硬件架构等信息。如果不加任何参数,默认仅显示系统内核名称(相当于-s参数)的作用。 - 语法:uname 参数
- uname -a:显示系统所有信息
- uname -r:显示内核发行版本号
- uname -s:显示内核名称
- uname -n:显示主机名
 
-  lsb_release (Linux Standard Base release):功能是用于查看LSB版本信息,帮助Linux系统运维人员快速了解系统情况。 
-  free:功能是显示系统内存使用量情况,包含物理内存和交换内存的总量、使用量、空闲量情况。 - 语法:free 参数
- free -h
 
-  who:功能是用于显示当前登录用户信息,包含登录的用户名、终端、日期时间、进程等信息,帮助运维人员了解当前系统的登入用户情况。 - 语法:who 参数
- who -r:显示当前运行级别
- who -a:显示所有信息
 
-  whoami(Who am i):其功能是用于显示当前用户名 
-  init(initialize):其功能是切换系统运行级别。 - 语法:init 参数
 参数 功能 0 关机 1 单用户 2 多用户 3 完全多用户模式 4 无功能 5 图形化界面 6 重启 
-  runlevel:命令是读取/var/run/utmp/文件或指定的其他文件,检索其中最近的运行级记录,显示系统先前与当前的运行级, 
-  ifconfig(network interfaces configuring):其功能是显示或设置网络设备参数信息。 
-  tty(Teletype(电传打字机)):打印出当前终端的名字 
2. 基础命令
2.1 初识基本命令
-  id:查看用户与用户组信息。UID是用户身份的唯一识别码,GID是用户组唯一的识别码。 - -u 显示用户的ID(UID)
 
-  终端 - 物理终端:/dev/console
- 虚拟终端:tty
- 伪终端:pts
 
-  查看shell - echo $SHELL
- cat /etc/shells
 
-  修改终端提示符(PS1) - 列出PS1:echo $PS1
- 修改PS1:vim /etc/profile.d/env.sh
- 或者修改家目录下的 .profile文件
 
-  pstree:pstree命令来自英文词组“display a tree of processes”的缩写,其功能是用于以树状图形式显示进程信息,帮助管理员更好地了解进程间的关系。 
-  type:判断是内/外命令 
 -a 显示所有包含名称为 NAME 的可执行文件的位置;包括别名、内建和函数。
-  help:列出内部命令清单 
-  enable:用来启动或关闭shell的内建命令。 
 -n 关闭指定的shell的内建命令(不加-n可重新启动关闭的指令)
 -all 显示shell所有关闭与启动的指令
-  which:查看外部命令在磁盘上的路径 
-  whersis: 查看外部命令在磁盘的位置及其help文档路径 
-  echo $PATH:查看当前环境变量 
-  hash:管理命令运行时查询的哈希表。(命令缓存) - -r 清空缓存
- -l 显示hash表中的命令
 
-  alias(别名):设置命令名信息 - -p 显示系统中的已有的命令别名
- 设置一个别名举例子:alias cdnet=‘cd /etc/sysconfig/network-scripts’
- 个人用户永久生效配置/home/.bashrc
- 所有用户生效:/etc/.bashrc
- 删除别名:unalias
- 别名与内部命令冲突时:比如有个echo的别名 
    - 以下方式启用内部命令
- \echo
- ‘echo’
- /bin/echo
 
 
-  命令的执行顺序: 
别名->内部命令->外部hash表->外部$PATH
15. 取消或结束命令的执行 * ctrl+c * ctrl+d-  一行多条命令:’ ; '分割 - 如 learn@192:~$ :who;ls -l;date
 
-  多行执行一条命令:’ \ '分割 
-  lshw:列出硬件信息 
-  hexdump(hexadecimal dump):其功能是以多种进制格式查看文件内容。 - -b 八进制显示
- -c 使用单字节字符显示
 
-  显示语言编码 - echo $LANG
- localectl set-locale LANG=zh_CN.UTF-8
- localectl set-locale LANG=en_us.UTF-8
- localectl:用于查询与修改系统的本地化(locale)与键盘布局的设置。
 
-  w:w命令来自英文单词“who”的缩写,其功能是用于显示已登录用户的信息。 
-  rpm:redhat package manager的缩写,中文译为“红帽软件包管理器”,其功能是在Linux系统下对软件包进行安装、卸载、查询、验证、升级等工作,常见的主流系统(如RHEL、CentOS、Fedora等)都采用这种软件包管理器,推荐用固定搭配“rpm-ivh 软件包名”安装软件,而卸载软件则用固定搭配“rpm -evh 软件包名”,简单好记又好用。 
-  fg 启动由ctrl+z暂停的进程 - fg命令来自英文单词“foreground”,中文译为“前景”,其功能是用于将作业放到前台运行。在Linux系统中可以使用bg命令将作业放到后台运行,同理也能够使用fg命令将已经在后台运行或被挂起的作业放回前台终端继续运行。
 
-  wc (word count):统计文件的字节数、单词数、行数。 - -c 统计字节数
- -l 统计行数
- -m 统计字符数
- -w 统计单词数
 
2.2 日期和时间
-  系统时间和硬件时间 - 系统时间:date
- 硬件时间(root用户下):hwclock,clock
 -s 系统以硬件为准
 -w 硬件以系统为准
- 同步与远程服务器的时间:ntpdate
 
-  timedatectl: l命令来自英文词组time date control的缩写,其功能是设置系统时间与日期。 
3. 帮助命令
- whatis
- command --help
- man and info
- /usr/share/doc
- 查官网信息
-  whatis:用于查询一个命令执行什么功能(简单介绍),并将查询结果打印到终端上。 
-  在whatis没有输出到终端时,需要使用mandb命令:man用于初始化或手动更新通常由man维护的索引数据库缓存,缓存包含与手动页面系统的当前状态相关的信息,其中存储的信息由mandb实用程序用于提高其速度和功能。 
-  查看内/外命令帮助 - 内:help command / man bash
- 外:command --help
 
-  详细查看 man 
4. 关机、重启
- 关机:halt、poweroff
- 重启:reboot
- 关机或者重启:shutdown
 -r 重启
 -h 关机
 -c 取消
5. 设置主机名
- 临时修改:hostname
- 彻底修改:hostnamectl set-hostname
- 修改文件:vim /etc/hosts 或者 vim /etc/hostname
6. rm删除
-  rm:其功能是删除文件或目录,一次可以删除多个文件,或递归删除目录及其内的所有子文件。 -r 递归删除 
 -f 强制删除不提示
 -d 仅删除空目录
 -v 显示删除的执行过程
7. 软件包的管理RPM、 YUM
- RPM软件包管理
| 封包类型 | 说明 | 
|---|---|
| rpm软件包 | .rpm,适用于RetHat系列 | 
| deb软件包 | .deb,适用于Debian系列 | 
| 源代码软件包 | .tar.gz、.tar.bz2 压缩包提供,包含程序的原始代码文件 | 
| 其他 | install.sh、setup、*.bin、*.pl等 | 
- RPM包的一般安装位置
| 文件类别 | 默认安装位置 | 
|---|---|
| 普通执行程序 | /usr/bin or /bin | 
| 服务器程序、管理工具 | /usr/sbin or /sbin | 
| 配置文件 | /etc or /etc/软件名 | 
| 日志文件 | /var/log/ or /var/log/软件名/ | 
| 程序文档、man手册页 | /usr/share/doc or /usr/share/man | 
-  显示是否安装了rpm软件 - rpm:i旁边有q就是查询information的意思,没有q就是install的意思
- 安装:rpm -ivh 软件包名
- 卸载:rpm -evh 软件包名
 - rpm -q 软件名 (不是软件包名)查看软件是否安装了
- rpm -ql 软件名 查看这个软件在安装时将文件放在了那些目录下
- rpm -qpl rpm包(run目录下的包) 还没安装,如果安装的话会安装啥
- rpm -qpi rpm包 还没安装,显示软件包的信息
- RPM-GPG-KEY-redhat-release 红帽签名(/run/media/learn/RHEL-8-0-0-BaseOS-x86_64)
- 导入红帽签名文件: rpm --import /run/media/learn/RHEL-8-0-0-BaseOS-x86_64/RPM-GPG-KEY-redhat-release
 
-  rpm命令无法解决依赖关系,yum可以解决依赖关系 - yum(yellowdog updater modified) 
    - 基于RPM包构建的软件更新机制
- 自动解决软件包依赖关系
- 所有软件包由集中的YUM软件仓库提供
 
 
- 仓库清单:/run/media/learn/RHEL-8-0-0-BaseOS-x86_64/AppStream/repodata
- yum工作流程 
    - yum–>读取/etc/yum.repos.d/*.repod配置文件内容–>从而找到仓库的具体位置
 
- 查看仓库信息:yum repolist -v
- yum安装: yum install 软件名 (-y 不用再询问,我默认yes)
- yum卸载: yum remove 软件名 (-y,不用再询问,我默认yes)
 
- yum(yellowdog updater modified) 
    
[]                 #名字--仓库标识
name=              #仓库描述信息
baseurl=           #仓库位置url
enable=            #能不能用 1可用,0不可用
gpgcheck=          #是否检查红帽签名 1检查,0不检查
gpgkey=            #仓库的签名文件路径
8. IP知识
-  TCP/IP协议简介 - TCP/IP是最广泛支持的通信协议集合 
    - 包括大量internet应用中的标准协议
- 支持跨网架构、跨操作系统平台的通信
 
- 主机与主机之间通信的三要素 
    - ip地址(ip address)
- 子网掩码 (subnet mask)
- ip路由(ip router)
 
 
- TCP/IP是最广泛支持的通信协议集合 
    
-  IP地址的概括 - 作用:唯一用来标识一个节点的网络地址
- 地址组成:8+8+8+8,32位;为网络位+主机位
 
-  IP地址的概括 - ip的分类 
    - A:1~127 255.0.0.0
- B:128~191 255.255.0.0
- C:192~223 255.255.255.0
- D(组播):224~239
- E(科研):240~254
- 127.0.0.1 常做本机回环地址
 
 
- ip的分类 
    
-  交换机:将多个主机连再一起,可以实现通信 
-  DHCP动态主机配置协议(配置好再使用) 
-  DNS域名系统,作用是将域名解析成IP地址 
-  路由器:解决不同网络的通信,这里延申出网关的概念, 
-  网关(gateway):从一个网络连接到另外一个网络的“关口”;通常是一台路由器,或者防火墙/接入服务器;例如路由器两端的网关为**“192.168.1.255”,“192.168.2.255”**。 
9. 查看一些linux的信息
- 查看硬件信息:lshw
- 查看硬盘信息:lsblk
- 查看cup信息:lscpu
- 查看内存信息:cat /proc/meminfo
- 查看网络信息:ifconfig
- 查看主机名:hostname
- 查看系统信息:uname -a
10. 命令行快捷键
- ctrl+c:结束正在运行的命令
- Esc+. 或者 Alt+. :黏贴上一个命令的参数
- ctrl+l:清空整个屏幕
- ctrl+u:从光标处清空至行首
- ctrl+w:往回删除一个单词(以空格界定)
11. 光盘挂载
- 现在是临时挂载操作
- 虚拟机光驱设备:/dev/cdrom (这是个软连接,连接到sr0)----> /dev/sr0
- linux挂载光盘文件过程:光盘—>光驱设备—>访问点(目录)
0. 挂载的意义:让目录成为设备的访问点
1. 创建空目录:mkdir /dvd
2. 挂载:mount /dev/cdrom /dvd
3. 卸载:umount /dvd
4. 注意事项:
    * 卸载:当前所在的路径是挂载点目录 
5. mount直接敲mount查看挂载点
12. 归档及压缩
1 .tar、gzip、bzip2
- tar是归档及压缩工具
- 语法格式:tar [参数] 打包文件名 源文件
| 参数 | 含义 | 
|---|---|
| -c | 生成档案文件,创建打包文件 | 
| -v | 列出归档解压的详细过程,显示进度 | 
| -f | 指定档案文件名称,f后面一定是.tar文件,所以必须放在最后 | 
| -t | 列出档案中包含的文件 | 
| -x | 解开档案文件 | 
| -C(大写) | 指定路径 | 
| -z | 调用.gz格式工具进行压缩处理 | 
| -j | 调用.bz2格式工具进行压缩处理 | 
| -J | 调用.xz格式工具进行压缩处理 | 
-  tar归档操作:只进行打包/解包 - tar -cvf 创建归档文件
- tar -xvf 解除归档文件
- tar -tvf 查看归档文件内容
 
-  tar压缩操作:即打包又压缩 - tar -czvf 生成 .tar.gz
- tar -cjvf 生成 .tar.bz2
- tar -cJvf 生成 .tar.xz
 
2. zip和unzip
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
- 压缩文件:zip -r 目标文件(没有扩展名) 源文件
- 解压文件:unzip -d 解压后目录文件 压缩文件
13. find查找文件
1. find基础
- 语法:find [目录] [条件]
- 常用条件: 
  - -type 类型(f、d、l)
- -name ”文档名称“
- -size +|-文件大小(k、M、G)
- -user 用户名(所有者)
- -mtime 修改时间
 
2. find高级
- find 高级使用:额外操作 
  - find /boot -size +10M -exec cp {} /mnt ; 
    - 额外操作的开始:-exec
- 额外操作的结束:;
- 前面find命令查找的数据:{}
 
 
- find /boot -size +10M -exec cp {} /mnt ; 
    
14. 软硬链接
- 软链接
- 格式:ln -s /路径/源数据 /路径/快捷方式名称
- 软链接优势:可以针对目录与文件制作快捷方式,支持跨分区
- 软链接缺点:源数据消失,快捷方式失效
- 硬链接
- 格式:ln /路径/源数据 /路径/快捷方式的名称 #硬链接
- 硬链接优势:源数据消失,快捷方式仍然有效
- 硬链接缺点:只能针对文件制作快捷方式,不支持支持跨分区
15. 系统进度
- pstree
pstree查看进程(Processes Tree)    
•常用命令选项
    -p:列出对应进程的PID编号 
    -a:显示完整的命令行   
systemd(PID永远为1):所有进程的父进程(上帝进程)
[root@localhost ~]# pstree     #显示正在运行的所有进程
[root@localhost ~]# pstree  -p lisi #显示lisi用户开启的进程
bash(9609)───vim(9656)
[root@localhost ~]# pstree  -a  lisi   
bash
  └─vim haha.txt
[root@localhost ~]# pstree  -ap  lisi
- ps
ps — Processes Snapshot
    –格式:ps  [选项]...
•常用命令选项
    –aux:显示当前终端所有进程(a)、当前用户在所有终端下的进程(x)、以用户格式输出(u)
    -elf:显示系统内所有进程(-e)、以长格式输出(-l)信息、包括最完整的进程信息(-f)
•ps  aux 操作
    –列出正在运行的所有进程,显示进程信息非常详细
•ps  -elf 操作
    –列出正在运行的所有进程,显示进程父进程信息
    –PPID为父进程的PID
- top
top 动态的查看工具
    –格式:top  [-d  刷新秒数]  [-U  用户名]
    [root@localhost ~]# top   -d   1
    按大写P进行CPU排序
    按大写M进行内存排序   
- pgrep —— Process Grep
pgrep — Process Grep
    –用途:pgrep  [选项]...  查询条件
    •常用命令选项
    -l:输出进程名,而不仅仅是 PID
    -u:检索指定用户的进程
    -x:精确匹配完整的进程名 
- 干掉进程
–Ctrl+c 组合键,中断当前命令程序
–kill  [-9]  PID... 、kill  [-9]  %后台任务编号
–killall  [-9]  进程名...
-pkill    [-9]  查找条件   #包含就算
- 控制进程
进程的前后台调度                         
•&符号:正在运行的状态放入后台
•Ctrl + z 组合键
    –挂起当前进程(暂停并转入后台)
•jobs 命令
    –查看后台任务列表
•fg 命令
    –将后台任务恢复到前台运行
•bg 命令
    –激活后台被挂起的任务
16. 登录用户查看
- users、who、w 命令 
  - 查看已登录的用户信息,详细度不同
 
- last、lastb 命令 
  - 查看最近登录成功/失败的用户信息
 
17. Linux内核定义的事件紧急程度
- 分为 0~7 共8种优先级别
- 其数值越小,表示对应事件越紧急/重要
| 0 EMERG(紧急) | 会导致主机系统不可用的情况 | 
| 1 ALERT(警告) | 必须马上采取措施解决的问题 | 
| 2 CRIT(严重) | 比较严重的情况 | 
| 3 ERR(错误) | 运行出现错误 | 
| 4 WARNING(提醒) | 可能会影响系统功能的事件 | 
| 5 NOTICE(注意) | 不会影响系统但值得注意 | 
| 6 INFO(信息) | 一般信息 | 
| 7 DEBUG(调试) | 程序或系统调试信息等 | 
18. 破解root密码
前提:必须是服务器的管理者,涉及重启服务器
-  重启系统,进入 救援模式 -  [root@A ~]# reboot 
-  开启虚拟机A,在此界面按e键 
  
-  在linux16该行,将此行的ro修改为rw ,然后空格输入 rd.break 
  
-  按 ctrl x 启动,会看到switch_root:/# 
 
-  
-  切换到硬盘操作系统环境 - chroot /sysroot #切换环境,切换到硬盘操作系统的环境
 
-  重新设置root的密码 
sh-4.2# echo   1    |    passwd   --stdin    root
- 如果SELinux是强制模式,才需要SELinux失忆,其他模式不需要让SELinux进行失忆
sh-4.2# touch   /.autorelabel    #让SELinux失忆
或者可以修改SELinux运行模式,修改成宽松模式即可
sh-4.2# vim   /etc/selinux/config #查看SELinux开机的运行模式
- 强制重启系统完成修复
sh-4.2# reboot   -f     #-f强制重启系统










![[office] excel表格中双击鼠标左键有什么快捷作用- #经验分享#媒体](https://img-blog.csdnimg.cn/img_convert/7a4a60abf7bd144b6b85b8a69cba98ab.jpeg)








