前言
本文详细介绍了linux系统中的基本操作命令,重点讨论了常用命令例如:ls、pwd、cd、mkdir、touch、cp、rm、mv等。文章展示了这些基本操作命令的使用方法和案例,方便初学者进行学习和讨论。
1、shell的概念
1.1 什么是shell
人与人之间的沟通需要通过语言或者肢体语言来沟通,像我们平时遇到国人会用普通话进行沟通,遇到国外的会用英语来沟通一样,我们输入的命令(敲代码)本质就是用计算机能够理解的语言来与计算机对话,让计算机理解我们的意思并执行我们的命令。而shell在我们与linux之间充当了翻译官的角色,把用户输入的命令进行解析再传递给系统内核执行。我画了图便于大家理解。

shell
1.Linux系统中运行的一种特殊程序
2.在用户和内核之间充当翻译官
3.用户登录Linux系统是自动加载一个Shell程序
4.Bash是Linux系统中默认使用的Shell程序
5.文件位于/bin/bash
2、linux命令基础
2.1 linux命令的分类
linux命令可以分成两大类:内部命令 & 外部命令
内部命令:内部命令被构建在shell之中。当执行shell命令行,内部命令行的执行速度非常快。这是因为没有其他的进程因为执行者条命令而被创建。比如说,当我们执行“cd”命令时,没有进程被建。在执行过程中只是简单的改变当前的目录

外部命令:外部命令并没有被构建在shell中。这些可执行的外部命令保存在一个独立的文件当中当一个外部命令被执行时,一个新的进程即被创建同时命令被执行。比如说,当我们执行“ls”(通常保存在/bin目录下)命令时,然后,bin/ls被执行

type + 命令字:查看是内部还是外部命令
具体如下图所示

2.2 linux命令的格式
通用的命令行使用格式
## 命令字 {选项} {参数}
## 示例
[root@localhost /]# ls -d /root/
- 命令字
- 整条命令中最关键的一部分
- 唯一确定一条命令
- 选项
- 短格式选项:使用 - 符号引导,通常引导一个字母(ps:多个单字符可以组合使用,例如:ls -lh)
- 长格式选项:使用- -符号引导,通常引导一个完整的单词
- 参数
- 命令字的处理对象
- 可以是文件名、目录(路径)名或用户名等内容
- 个数可以是零到多个
2.3 编辑Linux命令行的辅助操作
这里是一些常用的快捷键,也欢迎大家补充哦
- tab:自动补齐
- 反斜杠:强制换行
- ctrl+u:清空至首行
- ctrl+k:清空至行尾
- ctrl+L:清屏
- ctrl+c:取消
2.4 获得命令帮助的方法
- 内部命令help
- 查看Shell内部命令的帮助信息
- [root@localhost /]# help cd
- 命令的- -help选项
- 适用于大多数Linux外部命令
- [root@localhost /]# ls --help
- 使用man命令阅读手册页
- 使用↑、↓方向键滚动一行文本
- 使用Page Up和Page Down键翻页
- 按Q或q键退出阅读环境
- 按\键查找内容
- [root@localhost /]# man cd
man ls | col -b > lshelp.txt
## 在Linux里看使用手册会不方便阅读
## 这里有条命令,可以把手册里的内容转到txt文件中,后续可以把文件下载下来,方便自己阅读
## 解释:
## 管道: 用竖杠符号"|"表示,用于将前面命令的屏幕输出结果作为后面命令的操作对象(输入)
## col: 用于过滤文本中的一些特殊字符
## 重定向输出: 用大于符号">"表示,前面的命令成功执行以后,将输出结果保存到">"号后边指定的文件中
3、目录与文件的基本操作
3.1 查看当前工作目录—pwd

3.2 切换工作目录—cd
cd这个命令平时使用的比较多,下面介绍了基本使用方法
cd /home #后面跟绝对路径,切换到home目录
cd ./home #后面跟相对路径,切换到home目录
cd ~ #切换到当前用户的家目录
cd #切换到当前用户的家目录
cd ~user #切换到某个用户的家目录,只有root才行,别的用户只能在自已家
cd - #切换到上一次执行操作的目录
cd .. #切换到上一层目录(父目录)
cd ../.. #切换到父目录的父目录
- 绝对路径
- 绝对路径是从根目录开始的完整路径,它指向文件或目录的确切位置,无论当前工作目录在哪里,你都可以直接使用这个路径来访问该文件
- 相对路径
- 相对路径 是相对于当前工作目录的路径。它不从根目录开始,而是从当前目录或另一个指定的目录开始
- 区分方法:只要从根开头的都是绝对的,其余的都是相对的。
3.3 列表显示目录内容—ls
- ls 查看当前路径下的所有文件和目录
- ls -l 将文件信息属性详细列出,也可以直接使用“ll”(ps:设置了别名)
- ls -R 递归显示,比如一个目录下还有文件,则把那个文件也一起列出
- ls -d 查看目录本身信息,不显示目录下的内容
- ls -i 显示inode值(inode值出现问题会无法更改日记)
- ls -h 友好显示(文件的大小可显示)
- ls -a 遍历所有文件及目录,包括隐藏文件
- ls -A 跟-a唯一的不同是不列出当前目录和上一层目录(不包括.和…的文件)





3.4 设置别名—alias
需要临时修改别名以便于使用,格式为:alias(空格)命令名=‘别名’
alias //查看系统当前所有可用别名
例:alias “cqnet”=“systemctl restart network”
删除别名
格式:unalias 别名1
例:unalias cqnet



3.5 统计目录及文件空间占用情况—du
统计指定目录所占磁盘空间的大小
du【选项】【文件或目录…】
- 常用选项
- -a 统计磁盘空间占用时包括所有的文件,而不仅仅只同级目录
- -h 以更人性化的方式显示出统计结果
- -s 只统计所占用空间总的大小而不是统计每个子目录文件的大小



3.6 创建新目录—mkdir
- mkdir【选项】目录位置及名称
- -p:一次性创建嵌套的多层目录
- 例:mkdir -p 0807/0808/0809
- 可配合使用通配符进行批量创建
- 例:mkdir jiang{1…9}
- -p:一次性创建嵌套的多层目录



3.7 创建空文件—touch
- touch [文件名]
- touch [文件名] [文件名]

3.8 创建链接文件—ln
为文件或目录建立链接文件,类似于快捷方式
- ln -s 创建软链接,相当于创建一个快捷方式
- ln 创建硬链接,相当于复制了一份副本


3.9 复制文件或目录—cp
源文件复制到目标文件
cp【选项】 源文件或目录 目标文件或目录
- 常用选项
- -f 覆盖目标同名文件或目录时不进行提醒,直接强制复制
- -i 覆盖目标同名文件或目录时提醒用户确认
- -p 复制时保持源文件的权限、属主及时间表及等属性不变
- -r 复制目录时必须使用此选项,表示递归复制所有文件及子目录


3.10 删除文件—rm
-i 删除文件或目录时提醒用户确认
-r 删除目录时必须使用此选项,表示递归删除整个目录树
-f 删除文件或目录是不进行提醒而直接强制删除


3.11 移动文件或目录—mv
格式: mv [选项] 源文件或目录 目标文件或目录

3.12 查找命令/文件存放目录—which
which 命令用于查找 Linux 命令程序并显示所在的具体位置
其搜索范围主要由用户的环境变量 PATH 决定(可以执行“echo $PATH”命令查看)
这个范围也是 Linux 操作系统在执行命令或程序时的默认搜索路径

3.13 颜色区别以及通配符
- 颜色区别
- 白色数据文件 TXT
- 绿色 可执行文件
- 黄色 块设备文件
- 红色 压缩包
- 蓝色 文件夹
- 天蓝色 连接文件(快捷方式)
- 通配符
- “?”匹配一个字符
- “*” 匹配所有非隐藏的字符无论多长多短
- {1…10}:1到10
- {a…z} ;a b c…z
- {A…Z} :A B C …Z
- 【123】:取其中之一;有就显示没有也无所谓
- 【a-z】:范围需要注意
- 【0-9】:匹配数字范围(0123456789)
- \:转义符,表示原来的意思
- [[:lower:]] :小写字母表示 a-z
- [[:upper:]] : 大写字母表示A-Z
- [^zhou] :匹配列表中的所有字符以外的字符
- [[:diqit:]] :任意数字,相当于 0-9

总结
本篇文章介绍了12种linux常用的命令:pwd、cd、ls、alias、du、mkdir、touch、ln、cp、rm、mv、which。里面包含了文件/目录的增删改查,也是我们平时工作常用的操作。特别提醒,在使用rm -rf 删除命令之前要做好备份哦!

被折叠的 条评论
为什么被折叠?



