Linux常用基本命令
Linux基本命令
Shell
- Linux系统中运行的一种特殊程序
- 在用户和内核之间充当“翻译官”
- 用户登录Linux系统时,自动加载一个Shell程序
- Bash是linux系统中默认使用的shell程序,文件位于bin/bash中
shell在用户和内核之间充当翻译官,接收用户输入的命令,解释命令然后传递给系统内核执行,系统内核再调用硬件资源
Linux命令的分类
内部命令与外部命令的区别
内部命令 | 外部命令 |
---|---|
集成于shell解释程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于shell的一部分 | 属于shell解释程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道对应文件的位置,由shell加载后才能执行 |
查看内部命令
- help
- enable
- type 命令
- enable -n //禁用内部命令
- enable //激活内部命令
Linux命令行的格式
命令字 | 选项 | 参数 |
---|---|---|
整条命令中最关键的一部分 | 短格式选项:使用 -+字母(组合) | 命令字的处理对象 |
唯一 确定一条命令 | 长格式选项:使用:- -+单词 | 可以是文件名,目录(路径)名或用户名等内容 |
– | – | 个数可以是零到多个 |
编辑Linux命令行
Tab键 | 自动补全 |
---|---|
反斜杠“\” | 强制换行 |
ctr+u | 清空至行首 |
ctr+k | 清空至行尾 |
ctr+L | 清屏 |
ctr+c | 取消本次命令编辑 |
ctr+a | 切换至行首 |
ctr+e | 切换至行尾 |
获得命令帮助的方法
- 内部命令help:查看shell内部命令的帮助信息
- 命令的–help:适用于大多数linux外部命令
使用man命令总计手册页(百度)
- 使用上下方向键滚动一行文本
- 使用pageup和pagedn键翻页
- 使用Q或q键退出阅读环境
- 使用“/”键查找内容,n键向下查找,N键向上查找
查看当前工作目录:pwd
切换工作目录:cd //将用户的工作目录更改到其他位置
格式 | 说明 |
---|---|
cd 目标位置 | 切换到目标位置 |
cd~/cd | 若不指定目标位置,切换至当前用户的宿主目录 |
cd - | 切换到上一次执行 cd 命令之间所在的目录 |
root用户家目录在/root中
home家目录在home中
相对路径的表现形式
表现形式 | 说明 | 示例 |
---|---|---|
直接使用目录名或文件名 | 表示当前工作目录中的子目录,文件位置 | grub.conf |
以一个点号“.”号开头 | 表示以当前的工作目录作为起点 | ./grub.conf |
以两个点号“. .”号开头 | 表示以当前目录的上一级目录作为起点 | …/vmlinuz |
以“~用户名”形式开头 | 表示以指定用户的宿主目录作为起点 | ~teacher |
以“~”形式开头 | 表示以当前用户宿主目录作为起点 | ~ |
列表显示目录内容——ls
- 显示目录中内容,包括子目录和文件相关属性信息
- 常用选项
-l | 长格式(Long) 显示文件和目录的列表 |
---|---|
-a | 显示所有(all)子目录和文件的信息 |
-A | 与-a选项的作用类似 ,当前目录的". "和表示父目录的“…” 不会显示 |
-d | 显示目录(Directory) 本身的属性 |
-h | 以更人性化(Human) 的方式显示目录或文件的大小 |
–color | 在字符模式中以颜色区分不同的文件 |
-i | 显示文件和目录的inode号 |
- 结合通配符
? | 代表任意一个字符,有且只有一个字符 |
---|---|
* | 代表任意一个字符,可以是0个,1个,多个 |
【】 | 表示可以匹配字符组中的任意一个字符 【abc】 【a-z】 |
设置别名——alias
-
通过别名机制简化常用的,比较长的命令
alias 命令别名=‘命令’ -
设置myls为ls-alh的别名
alias myls=‘ls - alh’ ,别名是 myls
-
取消别名:unalias
统计目录及文件空间占用情况——du
- 统计指定目录(或文件)所占用磁盘空间的大小
du 【选项】 【文件或目录…】 - 常用选项
选项 | 说明 |
---|---|
-a | 统计磁盘空间占用时所有的文件 |
-h | 以更人性化的方式(默认以KB计数)显示出统计结果 |
-s | 统计所占用空间总大小 |
–max-depth=n | 统计所有小于等于第n层的目录的总大小 |
–max-depth=1,一层一层去排查
创建新目录——mkdir
-
创建新的空目录
mkdir 【选项】 目录位置及名称…
【-p】一次性创建嵌套的多层目录
- 在opt目录下嵌套创建8.9文件
创建空文件 ——touch命令
- 更新文件的时间标记
- 用于创建多个新的空的文件
- touch 【文件】
- 创建a,aa,bb文件
创建链接文件——ln
1…
为文件或目录建立链接文件,类似于Windows系统的快捷方式
2…
链接文件类型
- 软链接(又称为符号链接)
创建软链接:In [-s]源文件或目录…链接文件或目标位置
创建软链接源文件路径要使用绝对路径
软链接示意图
-
硬链接
创建2.txt硬链接
ln /root/1.txt 2.txt
-
硬链接示意图
-
软链接与硬链接的区别
文件类型 | 软链接文件 | 硬链接文件 |
---|---|---|
删除源文件后 | 失效 | 仍然可用 |
使用范围 | 适用于文件或目录 | 仅适用于文件 |
保存位置 | 与源文件可在不同系统 中 | 与源文件必须在同一个系统中 |
与源文件的关系 | 相当于快捷方式 | 相当于给文件起个别名 |
inode号码 | inode号码不同 | inode号码相同 |
注:当一个文件拥有多个硬链接时,对文件内容修改,会影响到所有文件名但是删除一个文件名,不影响别的文件名的访问。删除一个文件名,只会使得"硬链接数"减1。
复制文件或目录——cp
- 将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
- cp 【选项】…源文件或目录…目标文件或目录…
- 常用选项:-f,-i,-p,-r
-f | 覆盖目标同名文件或目录时不进行提醒,而直接强制复制 |
---|---|
-i | 覆盖目标同名文件或目录时不进行提醒,而直接强制复制 |
-p | 复制时保持源文件的权限、属主及时间标记等属性不变 |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
注:不要直接删除系统中已有的目录或配置文件,以避免出现意外故障
删除文件或目录——rm
- 删除指定目录或文件
rm 【选项】要删除的文件或目录… - rm的常用选项
-f | 删除文件或目录时不进行提醒,而直接强制删除 |
---|---|
-i | 删除文件或目录时提醒用户确认 |
-r | 删除目录时必须使用此选项,表示递归删除整个目录树 |
移动文件或目录——mv
-
将指定文件或目录转移位置
如果目标位置与源文件位置相同,相当于执行重命名操作 -
mv 【选项】 …源文件或目录…目标文件或目录
mv命令只能对单个文件重命名,可使用rename命令批量修改文件名
rename旧字符新字符目标文件
例: rename jpg gif *.jpg
查找命令文件存放位置-which
- 搜索范围由环境变量PATH决定
- which命令|程序名 // 默认当找到第一个目标后不再继续查找
- which -a命令|程序名 //在所有搜索路径中查找
- 使用which查找内部命令时,将找不到对应的程序
查找文件或目录——find
- 作用:采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找各表达式之间使用逻辑运算符:-a表示而且(and);-o表示或者(or)
- 格式: find 【查找范围】 【查找条件表达式】
- 常用查找条件类型
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用“*" 及"?” 通配符 |
按文件大小查找 | -size | 根据目标文件大小查找,一般使用“+” “-”号设置超过或小于指定大小作为查找条件,常用容量单位包括KB,MB,GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件类型查找,文件类型包括普通文件(f) 、目录(d) 、块设备文件(b) 、字符设备文件©等块设备文件(b) :成块读取数据的设备(硬盘,内存,光驱)字符设备文件© :按单个字符读取数据的设备(键盘,鼠标) |
1… 使用find命令实现多个查找条件
- -a:表示而且(and)
- -o:表示或者
2…find的exec用法
- exec后面跟的是linux命令,命令以“;”结束,由于各个系统中;号有不同意义,因此会在;前加上“\”
- find命令找到当前目录下的所有普通文件,在exec中用ls - l 命令将它们列出来
find ./ - name “vm” -exec ls - l {} ;
找到当前目录下以vm命名的文件,并用长格式显示出来