加载中...
linux-基础命令
发表于:2023-04-22 | 分类: linux
字数统计: 4.2k | 阅读时长: 14分钟 | 阅读量:

什么是虚拟文本控制台(TTY)

虚拟文本控制台又称为虚拟终端,所谓终端就是由一个输入设备和一个输出设备组成的。典型的输入设备是键盘,典型的输出设备是显示器。
这个模型模拟的是 C/S结构,Linux系统作为一个服务器在远程,我们每一个虚拟文本控制台作为一个终端连接到Linux操作系统,我们使用终端向服务器发送指令,服务器接收后执行该指令然后返回给终端供用户查看.

  • 一台Linux主机,可以同时有多个虚拟终端。一个虚拟终端可以对应一个用户登录。
  • 在我们的虚拟机环境下按Ctrl +Alt +F1-F6可以分别进入每个终端 ,也可以使用连接工具虚拟终端

Shell 简介

Shell 是一个命令解释器,它可以将用户输入的命令进行适当的解释,然后提交给内核去执行,并将执行的结果展示给用户

shell.png
用户使用终端登录到Linux后,默认情况下每个终端都会有一个shell 运行,用户就是在这个shell中给内核发送命令,并从这里查看执行结果
目前有下面4个版本的shell:

  • BASH: GNU的Bourne Again Shell,是GNU操作系统上默认的Shell. (我们使用的就是这个)
  • Bourne Shell: 贝尔实验室开发的shell
  • Korn Shell: 是对Bourne Shell 的发展,大部分内容与Bourne Shell 是兼容的
  • C Shell: 由SUN公司开发的BSD版本.

如何查看当前正在使用的SHELL ? 直接输入 echo $SHELL

Shell 的命令基本格式: 命令 [选项] [参数列表] // [] 中的内容为可选,命令与选项、参数之间要使用空格分隔,如果要执行多条命令,可以将这些命令输入在一行中,使用;(分号)分割就可以了.

命令提示符

command.png
如果登录的用户是普通用户,则命令提示符是$ , 如果登录的用户是管理员(root) 用户,则命令提示符是#
注意:** Linux 中对大小写是敏感的**

如何注销用户,退出登录: 使用 logout 命令或者 exit 命令
如何重启系统: 使用 reboot 命令或者 shotdown -r now 命令
如何关机: 使用 shotdown -h now 命令 (halt 书上有 但是实际操作中一般不用)

文件系统概述

文件系统定义: 操作系统中负责管理和存储文件信息的软件机构成为文件管理系统,简称文件系统
文件系统的组成: 文件管理相关的软件、被管理的文件、实施文件管理所需要的数据结构
文件系统的类型: 使用命令 df -T 查看文件系统

  -  XFS 是CentOS 7 默认的文件系统类型
  - EXT2 是Linux 自带的文件系统类型,Linux早期发行版本默认使用的文件系统
  - EXT3是EXT2的升级版本,加入了日志记录功能
  - EXT4 是EXT3的升级版本,优化了数据结构,做了性能提升
  - SWAP是分区交换文件
  - ISO9660是光盘文件的标准文件系统

Linux 的树形目录结构

Linux 是以树形结构来组织目录和文件,最顶层的/称为根目录。一个目录中可以包含子目录和文件
常见的Linux 文件夹及其作用

  • /bin: 系统命令(普通用户)
  • /sbin: 提权的系统命令(root用户和管理员用户)
  • /etc: 放一些系统或者软件的配置文件
  • /boot: 内核的启动与引导文件
  • /home: 系统用户的家目录
  • /lib 和/lib64: 存放运行库文件
  • /tmp: 存放临时文件的目录
  • /usr : 没啥实际意义 一般是放系统程序
  • /var : 存放一些日志和经常需要修改的文件

还有几个特殊的目录:

  • . 表示的是当前目录(相对路径)
  • .. 表示的父路径(相对路径)
  • ~ 表示的是当前登录用户的家目录
  • **- **表示的是上一次访问的目录
  • / 文件系统的根目录
  • 父目录与子目录:对于两个目录,假设A目录下包含一个目录B 则我们称B为A的子目录 ,A为B的父目录.
  • 当前工作目录: 当前我执行shell 命令的目录就为当前目录 一般是 . (查看当前工作目录命令: pwd)
  • 用户主目录(用户家目录): 一般指/home下的以当前登录用户名为文件夹名的目录 (注意root用户是特殊的)

文件名规范: 最长不超过256个字节,不能包含特殊字符和空白字符,区分大小写.
**绝对路径和相对路径: **

  • 绝对路径:总是以根目录为起点,使用完整路径表示的文件或者目录路径(没有歧义的路径)
  • 相对路径: 以当前目录为起点,可以完全表示文件或者目录的路径(受当前目录位置影响)

基本文件操作命令:

说在前面:

提高生产力的方案:

  1. 学会使用 tab 对于每一个命令 使用tab 可以快速补全
  2. 学会使用 -h 或者 –help 查看帮助文档
  3. 学会使用man 查看使用说明
  4. 一定一定一定要学会看错误输出.

创建目录:

使用 mkdir 命令来创建目录,支持同时创建一个或者多个
命令格式: mkdir [选项] 目录名称
可选项如下:

选项 描述
-m 创建目录时限定权限模式
-p 创建目录时若不存在则创建、若存在则跳过(不会覆盖)
-v 或者 –verbose 每次创建目录都显示信息

切换目录:

使用 cd 命令来切换目录,用来进入到指定目录,并使该目录变成当前目录
命令格式: cd [路径]

查看目录下文件

使用 ls 命令来查看当前目录下的文件及目录信息,该命令用来列出当前文件夹下所有文件(夹)信息。
命令格式: ls [选项] [目录名称]
可选项如下:

选项 功能说明
-a 列出目录下的所有文件,包括以 . 开头的隐含文件(all)
-d 将目录像文件一样显示,而不是显示其下的文件(directory)
-i 输出文件 i 节点的索引信息(inode)
-l 列出文件的详细信息(long)
-m 横向输出文件名,并以“,”作为分格符
-x 按列输出,横向排序
-R 列出所有子目录下的文件
-S 以文件大小排序 (Size)
-1 一行只输出一个文件 (1个文件)
–help 在标准输出上显示帮助信息

路径通配符:

  • 代表任意字符串,字符数量不限
    ?代表单个的任意字符.

创建或者更新文件

使用 touch 命令来创建/更新文件
命令 : touch 文件名
若文件不存在则会新建,若文件存在则会更新文件的最后访问时间.

复制文件/目录

使用 cp 命令来复制文件和目录
命令格式: cp [选项] 源文件 目标文件
可选项如下:

选项 功能说明
-a 保留链接、文件属性,复制目录时可递归的复制目录
-f 如果目标文件或目录已经存在,则将其覆盖,并不作提示 (force)
-i 如果目标文件或目录已经存在,则对用户进行提示,可以用字母y确认,其他字母都是否认
-r 复制目录,实现将源目录下的文件和子目录一起复制到目标目录中
-b 若目标文件存在则备份目标文件

移动/重命名文件

使用 mv 可以实现文件或者文件夹的移动和重命名
命令格式: mv [选项] 源文件 目标文件

删除文件/文件夹

rm 命令用来删除文件和文件夹,可以是一个或者多个文件夹/目录 支持通配符
命令格式: rm [选项] 目标文件/文件夹
可选项如下:

选项 功能说明
-f 强制删除文件或目录 (force)
-i 对用户进行提示,(inform)可以用字母y确认,其他字母都是否认
-r 目录删除,将指定目录下的所有文件及其子目录一并删除
-b 若目标目录存在则备份目标目录

还有一个专门用来删除文件夹的命令 rmdir , 该命令删除的对象必须是空目录,且必须在上级目录进行删除操作
命令格式: rmdir [选项] 目录
可选项:

选项 功能说明
-p 删除指定的目录树
-v –verbose 删除目录过程中输出诊断信息
–help 显示命令帮助信息

使用find 查找文件

find 命令用来按指定特征查找文件或者文件夹
命令格式: find 查找的目录 查找选项 查找选项限定值
查找选项如下:

选项 功能说明
-name 通过文件名查找文件
-user 通过用户名查找文件
-type 通过文件类型查找文件
-size 通过文件大小查找文件
-atime 通过文件的最后访问日期查找文件(单位:天)
-mtime 通过文件的最后修改日期查找文件(单位:天)
-newer 查找比指定文件更新的文件
-amin 查找在指定时间内曾被存取过的文件(单位:分钟)
-cmin 查找在指定时间内被更改过的文件(单位:分钟)
-perm 查找符合指定权限数值的文件

VIM 编辑器的使用

vim.png

  1. 使用vim 命令进入vim 编辑器(vim aa.txt 代表编辑 aa.txt文件)
  2. 刚进到vim 中默认是在命令模式
  3. 通过按下键盘的 a i o 等按键可以进入输入模式(编辑模式) 可使用上下左右移动光标
  4. 输入模式(编辑模式) 可以通过按ESC 退回到命令模式
  5. 命令模式通过输入冒号: 进入到末行模式(提示符模式)
  6. 末行模式(提示符模式)可以进行一系列的操作,完成操作后会自动退回到命令模式(部分命令不会退回)
  7. 末行模式输入包含q的指令 会退出vim
  8. 切记 不允许使用 ctrl +C 或者 ctrl +D 退出vim 也不可以直接关闭终端

查看文件内容

除了使用vim可以查看编辑文件内容以外,linux 还提供了很多用来查看文件的命令

more/less 查看文件

命令格式:
more 文件名
less 文件名
使用回车键(less 支持上下键)查看更多,空格键翻页。使用q退出查看模式,注意右下角会显示当前查看的百分比

cat 查看全部内容

cat 命令用来查看一个文件的全部内容
命令格式: cat [选项] 文件名
可选项:

选项 功能说明
-n 从1开始对所有输出的行数进行编号
-b 从1开始对所有输出的非空白行的行数进行编号
-s 当遇到连续两行以上的空白行时,用一个空白行代替

head/ tail 查看文件的头部/尾部信息

head 命令用来查看文件的前若干行
tail 命令用来查看文件的后若干行
命令格式:
head [选项] 文件名
tail [选项] 文件名
一个比较有用的命令 tail -f 文件名 一般用来查看应用执行log

grep 命令查询字符串

grep 命令可以在指定的文本中查找是否出现匹配的字符串
命令格式: grep 关键字 查找范围(文件或者标准输入)

管道与重定向

管道

有时候在操作Linux命令的时候,需要将上一个命令的执行结果作为另一个命令的输入来执行,这时我们就需要管道来做这件事。
管道符: |
命令格式: 命令1 | 命令2 | 命令3 |
使用管道命令可以将多个命令连接在一起,每一命令都独立运行,每个命令的运行结果都作为下一个命令的输入。

重定向

Linux 命令在执行的时候,正常情况下都会有输入,命令运行结束后都会有输出。输入一般是使用标准输入设备;输出使用的是标准输出设备和标准错误设备端口。

  • stdin 标识标准输入设备端口,默认是键盘
  • stdout表示标准输出设备,默认是显示器
  • stderr表示标准错误设备,默认是显示器

所谓的重定向,指的是不使用系统标准的输入、输出、错误输出进行信息(命令)的输入与输出,而是通过重定向命令重新指定输入、输出或错误输出设备。由标准端口可知,我们一共有三种重定向,分别是 输入重定向、输出重定向和错误重定向。

命令 说明
> 输出重定向。如果原来目标文件存在,则新的内容会覆盖文件中原有的内容
>> 输出重定向。如果原来目标文件存在,则新的内容会追加在原来内容的后面,不覆盖文件中的原有内容
< 输入的重定向。即命令的输入不通过键盘来完成,而通过其他的方式
2> 错误重定向
&> 输出重定向和错误重定向同时实现

与 >> 的区别是 一个是覆盖,一个是追加.

几个查看系统相关信息的命令

  • 查看Linux内核命令: uname -a 或者 uname -r
  • 查看文件系统磁盘空间: df
  • 查看某一文件夹下指定文件或者文件夹大小: du
  • 查看当前系统内存使用情况: free
  • 查看cpu的详细信息 cat /proc/cpuinfo
  • 查看正在运行的进程: top
  • 查看登录日志: last
  • 查看登录用户信息: w who whoami
  • 显示月历或者年历: cal
  • 查看当前系统时间: date

远程桌面连接:

Telnet 命令

Telnet是基于TCP/IP网络的终端模拟程序。Telnet程序运行于用户本机,将本机连接到网络中的服务器。然后通过Telnet输入的命令,就会被服务器执行,就如同直接在服务器的控制台上输入命令一样
正常应用中 telnet 一般用来确定到指定机器的指定端口是否可以访问.

SSH 协议 (Secure Shell)

SSH是支持通过网络登录其他机器。通过SSH程序,可以在远端的服务器上执行命令,也可以实现不同机器之间文件的拷贝或者移动。SSH提供强大的验证机制和安全的信息交流通道。
因为其安全特性,替代了远程登录(Remote Login,RLogin),远程Shell(Remote Shell,RSH),远程文件拷贝(Rmote Copy,RCP)等服务

提升生产力效率的方法

  • 学会使用Tab补全 在linux shell 中, 当用户在某一命令下键入的字符足以确定唯一的操作时, 可以通过按下Tab键来实现命令的自动补全(当不能确定命令唯一性时,连续两下tab 可以查看满足当前条件的全部命令)
  • 命令别名 alias , 通过使用alias 可以将一个很长的命令缩减为几个字符,例如 alias hd=’echo hello!’ , 当输入hd的时候 就相当于输入了 echo hello 【注意: alias命令 = 两边不能有空格,每次用户注销后就会失效,若不想失效可以写入.bashrc中】
  • 学会使用 history 查看历史命令: Shell自身可以记录一定数目的、以前在Shell中执行过的命令。Shell能够记录的Shell命令的个数由环境变量HISTSIZE的值所指定,该变量在配置文件/etc/profile中定义,默认值为1000。记录这些执行过的历史命令的文本文件是由环境变量HISTFILE指定的,默认情况下都是用户自己home目录下的系统文件.bash_history
上一篇:
linux-users
下一篇:
clodflare Rest API 实现动态域名更新(DDNS)
本文目录
本文目录