IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> LINUX命令行 -> 正文阅读

[系统运维]LINUX命令行

一、 访问命令行

因为内核不提供和用户的交互功能,所以需要一个程序提供这种功能,这种程序分为两 种:命令行(CLI) 和 图形界面(GUI)。

linux 下流行的图形桌面:

  • GNOME:C 语言开发,使用 gtk 库
  • KDE:C++语言开发,使用 qt 库
  • XFCE:嵌入式,轻量级桌面

linux 下常用的命令行程序:

  • bash:redhat 默认 shell,开源,基于 GPL
  • dash,ubuntu 默认 shell

1、 shell
在类 UNIX 中,提供 CLI 的交互程序,我们统称为 shell。

 **1.1、打开一个 shell**
 打开一个终端就打开一个 shell 
 得到一个命令行界面,就触发一个 shell
 
**1.2、命令行提示符** 
当触发一个 shell,就可以得到一个提示符。 
登陆用户名@主机名 当前目录 
 - #表示是 root 用户  
 - $表示是普通用户   
 - 方括号里的提示符是由 PS1 变量展示

2、 终端
用户和主机进行交互的设备,我们称为终端。

2.1、物理终端
 - 一个键盘、一个鼠标、一个显示器就是一个物理终端  
 - 设备文件:/dev/console

2.2、虚拟终端
 - tty:直接连接的终端。附加在物理终端之上,以软件方式虚拟出来的终端  
 - 设备文件:/dev/tty*
 
2.3、模拟终端
 - pts:纯软件实现的终端,与图形终端窗口或远程登陆会话相关的终端。比如:在图形 界面下打开的 terminal,使用 SSH、telnet等远程打开的界面。  
 - 设备文件:/dev/pts/*

注意:

  • 系统启动过程中,以物理终端提供
  • 系统启动之后,就以虚拟终端提供

2.4、虚拟终端切换
如果有图形环境,共有 6 个控制台,图形界面运行在第一个;文本界面运行在第二至第六 个。
如果没有图形环境,则只有 5 个虚拟控制台,全是文本界面。

切换控制台的命令:Ctrl+Alt+Fn (n=1~6)

 - 查看当前终端设备:tty 
 - 查看有哪些用户登陆到当前系统:who 
 - 在 tty2 上显示 hello: echo hello > /dev/tty2

3、 命令行
命令 【选项】 【参数】

 - 执行的 Shell 命令中最多有三部分:命令、选项、参数。 
 - 每部分需要使用空格隔开。
 - 键入完命令,确认执行时,按 Enter键,系统会执行相关操作,显示相关的输出,然 后显示下一个 Shell 的提示符。

3.1、命令

 - 所谓命令就是一个可执行文件,文件本身包含了可执行的程序代码  
 - 输入命令,按 Enter键,就是将这个程序提交给内核,由内核分配资源将其运行起来。 运行中的程序,我们称为进程。
 - 最左边,必须是一个命令

3.2、选项

 - 用于启用或关闭命令的某个或某些功能  
 - 短选项:-表示,可合并使用  
 - 长选项:--表示,一般不可合并使用

3.3、参数

 - 命令作用的对象,向命令提供数据。

注意:

 - 命令,选项,参数中间使用空格隔开 
 - 多选项之间、多参数之间,使用空格隔开 
 - 一行执行多个命令,使用分号(;)隔开 
 - 当命令太长,可使用反斜杠(\)将 Enter 键转义,告知 Shell 仅为换行,而非执行命令

3.4、在 shell 中有两类命令

  • 内建命令:shell 自带,找不到,比如:cd 命令,使用 which cd 是找不到的

  • 外部命令:非 shell自带,外部的一个可执行文件

  • 别名:如 ll,等同于 ls -l --color

     - 查看一个命令的类型,是内建还是外部:type cd  
     - 查找 ls 命令可执行文件在哪儿:which ls 
     - 查找关键字文件在哪儿:whereis ls
    

3.5、PATH 变量

查看 PATH 变量的值 :echo $PATH

 - 执行命令时,就会在这个 PATH 变量指定的路径,从左到右去寻找,一直到找到为止,如果没找到,会提示找不到这个命令 shell
   搜寻到的外部命令的路径,会被缓存下来,下次就不用再去搜了

查看缓存的命令

 - hits,表示命中次数,也就是被执行了多少次 hash

清除所有缓存

 - 比如:将 ls 程序文件移到/usr/bin 目录下,如果有缓存存在,还会到/bin/下去找 ls 这个命令,找不到就会报错,这时,就需要清一下缓存,重新去搜寻 hash -r

4、 Linux 内核
查看 linux 内核版本的命令:

 - uname -a  
 - uname -r

5、 命令演示
关闭计算机,它的使用权限是超级用户。

 - -h,关机后关闭电源
 - -c,取消目前正在执行的关机程序:shutdown
 - 马上关机: shutdown -h 0
 - 3:40 开始关机:shutdown -h 3:40

注意:

  • 使用直接断掉电源的方式来关闭 Linux 系统,这是十分危险的。因为Linux 与 Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用 shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且 login 指令会被冻结,即新的用户不能再登录。

      - 就是调用 shutdown -h :halt 
      - 重新启动计算机,它的使用权限是系统管理者: reboot 
      - 退出系统,它的使用权限是所有用户: exit
    

6、 Alias

 - 查看当前全部alias:alias  
 - 给 cp 命令设置一个别名,当我们执行 cp 命令时,实际执行的 cp -i 命令 
 - cp,默认覆盖不提醒,加上-i 选项,表示提醒:alias cp='cp -i' 
 - 在命令前面加上“\”,表示不使用别名,就使用最原始的 cp 命令:\cp 
 - 删除别名:unalias cp

7、 TAB 补全
输入命令、选项、参数时,可以通过 tab 键补全功能来减轻输入压力。键入的内容如果足够使其唯一,按一次 tab 键即可补全,如果键入的内容不够使其唯一,按两次 tab 键,即可以显示以键入的字符为开头的所有命令。

 - 查询有没有安装 bash-completion 这个软件包:rpm -qa |grep bash-completion

8、 命令历史记录

  • 在每个用户的家目录,都有自己的历史记录件:.bash_history

  • 登陆 shell时,会从登陆用户的家目录中,读取.bash_history 文件。

  • 登陆后,执行的命令历史记录,会先记录到缓存中

  • 登出时,会将缓存中的历史记录,以追加方式写到.bash_history 文件中。

      - 查看历史命令记录:history  
      - 立即将缓存中的记录,写回文件:history -a  
      - 清除历史:history -c history
      - 命令输出的条数:echo $HISTSIZE  
      - 历史文件路径:echo $HISTFILE
      - 命令历史文件记录历史的条数:echo $HISTFILESIZE
      - 调用历史记录中对应编号的命令:!数字 
      - 调用历史记录中最近的一个以指定字符串开头的命令:!字符串 
      - 可以上下查阅历史记录:上、下箭头 
      - 在当前命令行中左右移动光标:左、右箭头 
      - 在历史记录列表中搜索某一模式的命令:ctrl+r
    

9、 快捷键

 - 光标定位到命令行首:ctrl+a 
 - 光标定位到命令行尾:ctrl+e 
 - 将光标处前面的内容清除:ctrl+u 
 - 将光标处后面的内容清除:ctrl+k 
 - 跳到命令行中前一字的开头:ctrl+左箭头 
 - 跳到命令行中下一字的末尾:ctrl+右箭头 
 - 截断进程:ctrl+c
 - 清空屏幕:ctrl+l

SSH客户端:

  1. Putty --开源软件,企业中最受欢迎
  2. Xshell --仅限个人(或学校)免费使用,企业不可用
  3. mobaxterm --企业可用,半开源
  4. SecureCRT–不开源,企业和学校都不可用

连接方式 ——IP:Port socket (套接字)

给PAHT变量赋值,添加一个/root路径

 - #PATH=$PATH:/root

干掉一个变量(在内存中清除)

 - #unset PATH

查看网络状态

 - #nmcli

查看上一条命令执行的状态(成功返回0,失败返回非0)

 - #echo $?
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-17 12:19:55  更:2021-07-17 12:21:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 16:52:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码