前言
我们都知道不管是Linux系统还是windows系统,它们都有命令行模式,这项技术使得我们可以通过一些相关字符去操作当前的操作系统。字符操作也是操作系统最原始的操作方式,图形化界面操作虽然降低了学习成本,更方便操作,但大多数时候操作效率还是没有命令行操作效率高。
Shell
在讲命令行之前我们先看看Shell。Linux命令行就是由Shell提供的。Shell其实是所有命令行程序的统称,而CentOS系统中默认使用的shell程序就是bash,它是linux系统中运行的一种特殊程序,其文件位于/bin/bash,用户在登录linux系统时,系统就会自动加载一个shell程序,在用户和内核之间充当“翻译官”。
这里要跟Shell 脚本(shell script)区分开,Shell 脚本是一种为 shell 编写的脚本程序,业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。
Linux命令概述
Linux命令的分类
- linux命令分内部命令和外部命令,外部是由第三方独立的程序提供的,比如vim,而内部命令就是由sell提供,比如常用的cd、mkdir、pwd等。
值得注意的是Linux系统将存放外部命令、程序的目录默认添加到 “搜索路径”中,当使用位于这些目录中的外部命令时,用户不需要指定具体的位置(相当于windows中的修改环境变量,以便我们使用)
命令行的格式
命令字 [选项] [参数]
-
命令字是固定的
-
Linux命令环境中,对英文字符的处理是严格区分大小写的。
-
参数:命令字的处理对象,可以是文件名、目录(路径)名或用户名等内容,个数可以是零到多个。
-
辅助操作
- Tab键:可以提供选项补全命令
- Ctrl+c:停止进程
- Ctrl+U:删除光标之前的内容
- Ctrl+K:删除光标之后的内容
- Ctrl+L:清空你的终端屏幕
- Ctrl + A:该快捷键将移动光标到所在行首
- Ctrl + E:移动光标到行尾
- Ctrl + Y:粘贴使用 Ctrl+U 和 Ctrl+K 快捷键擦除的文本
获得命令帮助的方法
- 使用help命令 查看内部命令
help cd
- 使用 --help命令 查看外部命令
vim --help
- 使用man查看手则页
man who
目录和文件的基本操作
基本的常用操作有:
- 查看及切换目录
- 创建目录和文件
- 复制、删除、移动目录和为文件
- 查找目录和文件
查看及切换目录
-
pwd显示用户当前所在的工作目录位置
[root@localhost~]# pwd
/root
-
cd将用户的工作目录更改到其他位置
使用 mkdir 命令创建 runoob 目录
[root@www ~]# mkdir runoob
使用绝对路径切换到 runoob 目录
[root@www ~]# cd /root/runoob/
使用相对路径切换到 runoob 目录
[root@www ~]# cd ./runoob/
表示回到自己的家目录,亦即是 /root 这个目录
[root@www runoob]# cd ~
表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思;
[root@www ~]# cd ..
注:相对路径的表现形式
表现形式 | 说明 | 示例 |
---|---|---|
直接使用目录名或文件名 | 当前工作目录中的子目录、文件的位置 | grub.conf |
以一个点号“."开头 | 以当前的工作目录作为起点 | ./grub.conf |
以两个点号“…”开头 | 以当前目录的上一级目录(父目录)作为起点 | …/vmlinuz |
以“~用户名”形式开头 | 以指定用户的宿主目录作为起点 | ~teacher |
-
ls 列出目录
选项与参数:
- -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来
- -d :仅列出目录本身,而不是列出目录内的文件数据
- -l :长数据串列出,包含文件的属性与权限等等数据
- -h:显示文件大小
将家目录下的所有文件列出来(含属性与隐藏档)
-
alias命令
通过别名机制简化常用的、比较长的命令
alias 命令别名=命令
eg. alias myls=‘ls - alh’
若想取消别名定义,则用unalias myls
-
du 统计目录及文件空间占有情况
du [选项] [文件或目录…]
选项 示例 -a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 -h 显示出目录或文件的大小(K、M),默认的大小单位为千字节(KB) -s 只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小
创建目录和文件
-
mkdir 创建新的目录
mkdir [选项] 目录位置及名称
eg. mkdir -p /home/{A,B}/abc
以上命令为在home下创建A,B两个文件夹及在其中创建abc文件夹 -
touch
更新文件的时间标记
经常用于创建多个新的空文件
touch 文件…
-
ln 为文件或目录创建链接文件(相当于windows的快捷方式)
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
ln -s (创建软链接) [源文件或目录] [链接目标文件或目录位置](要用绝对路径)
Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
复制、删除、移动目录和文件
-
cp 即拷贝文件和目录
cp [选项]… 源文件或目录 目标文件或目录
选项 说明 -f 覆盖目标同名文件或目录时不进行提醒,直接强制复制 -i 覆盖目标同名文件或目录时提醒用户确认 -p 复制时保持源文件的权限、属主及时间标记等属性不变 -r 复制目录时必须使用此选项,表示递归复制所有文件及子目录 -
rm 删除指定的文件或目录
rm [选项] 要删除的文件或目录…
选项与参数:
- -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
- -i :互动模式,在删除前会询问使用者是否动作
- -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
-
mv 移动目录或文件
mv [选项]… 源文件或目录… 目标文件或目录
选项与参数:
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
- -u :若目标文件已经存在,且 source 比较新,才会升级 (update)
查找目录和文件
-
which 查找命令或文件存放目录,搜索范围由环境变量PATH决定
which 命令|程序名
which -a 命令|程序名eg.
which ls
which cd -
find 采用递归的方式,根据目标的名称、类型、大小等不同属性进行精细查找
find [查找范围] [查找条件表达式]
查找类型 关键字 说明 按名称查找 -name 根据目标文件的名称进行查找,允许使用“*”及“?”通配符 按文件大小查找 -size 根据目标文件的大小进行查找一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件常用的容量单位包括 kB(注意 k 是小写)、MB、GB 按文件属主查找 -user 根据文件是否属于目标用户进行查找 按文件类型查找 -type 根据文件的类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等块设备是指成块读取数据的设备(如硬盘、内存等),字符设备是指按单个字符读取数据的设备(如键盘、鼠标等) 各表达式之间使用逻辑运算符文章来源:https://www.toymoban.com/news/detail-450955.html
-a”表示 而且(and)
件类型查找** | -type | 根据文件的类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等块设备是指成块读取数据的设备(如硬盘、内存等),字符设备是指按单个字符读取数据的设备(如键盘、鼠标等) |各表达式之间使用逻辑运算符
-a”表示 而且(and)
“-o”表示 或者(or)
eg.
find /boot -size +1024k -a -name “vmlinuz*”
find /boot -size +1024k -o -name “vmlinuz*”文章来源地址https://www.toymoban.com/news/detail-450955.html
到了这里,关于Linux shell常用命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!