1 Linux命令基础
1-1 shell
shell:shell是Linux系统中运行的一种特殊程序,在用户和内核之间充当“翻译官”。
用户登录Linux系统时,自动加载一个shell程序。
bash是Linux系统中默认使用的shell程序。
文件位于/bin/bash
1-2 Linux命令的分类
内部命令与外部命令的区别
内部命令 | 外部命令 |
---|---|
集成于shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于shell的一部分 | 属于shell2解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由shell加载后才能执行 |
1-3 Linux命令行
1-3-1 通用的命令行使用格式:
命令字 [选项] [参数]
# 英文字符区分大小写
命令字:是整条命令中最关键的一部分;唯一确定一条命令。
选项:短格式选项:使用“-”符号引导,多个单字符选项可以组合在一起使用;
长格式选项:使用“--”符号引导。
参数:命令字的处理对象;可以是文件名、目录名或用户名等内容;个数可以是0到多个。
1-3-2 编辑Linux命令行
编辑Linux命令行的辅助操作:
- Tab键:自动补齐
- 反斜杠“\”:强制换行
- Ctrl+U:清空至行首
- Ctrl+K:清空至行尾
- Ctrl+L:清屏
- Ctrl+C:取消本次命令编辑
1-3-3 获得命令帮助的方法
内部命令 help:查看shell内部命令的帮助信息。
命令的“--help”选项:适用于大多数Linux外部命令。
使用man命令阅读手册页:
-
使用“↑”、“↓”方向键滚动一行文本。
-
使用Page Up和Page Down键翻页。
-
按Q或q退出阅读环境。
-
按“\”键查找内容。
2 Linux的常用命令
2-1 查看及切换目录
2-1-1 pwd
pwd:显示用户当前所在的工作目录位置。
2-1-2 cd
cd:切换工作目录,将用户的工作目录更改到其他位置。
格式:cd 目标位置
cd ~:切换到家目录
cd -:切换到上一次执行cd命令之前所在的目录
cd ..:切换到上一级目录
绝对路径:以根目录为起点的路径 /
相对路径:以当前目录为起点的路径, ./ 当前目录, ../上一层目录
2-1-3 ls
ls:显示目录中内容,包括子目录和文件相关属性信息。
格式:ls [选项] [文件或目录...]
常用选项:
-
-l:以长格式显示文件和目录的详细信息,包括文件权限、所有者、大小、修改时间等。
-
-a:显示所有文件和目录,包括隐藏文件(以句点开头的文件)。
-
-A:显示所有文件和目录,不包括当前目录(.)和上级目录(..)。
-
-d:如果目录是参数,则仅显示该目录的信息,而不显示其内容。
-
-h:以人类可读的格式显示文件和目录的大小(例如,使用KB、MB或GB表示)。
-
-R:递归地显示所有子目录中的文件和目录。
-
--color:以彩色方式显示文件和目录,使得不同类型的文件可以有不同的颜色。
结合通配符:
- “?”:匹配文件名中的一个未知字符
- “*”:匹配文件名中的任意多个字符
2-1-4 alias
alias:设置别名,通过别名机制简化常用的、比较长的命令
格式:alias 命令别名 = 别名
#设置test为ls -alh的别名
alias test='ls -alh'
2-1-5 du
du:统计指定目录(或文件)所占用磁盘空间的大小
格式:du [选项] [文件或目录...]
常用选项:
- -a:统计磁盘空间时包括所有的文件,而不仅仅只统计目录。
- -h:默认以KB计数,但不显示单位,显示统计结果。
- -s:只统计所占用空间总的大小,而不是统计每个子目录、文件的大小。
#统计出/var/log目录所占用空间的大小
du -sh /var/log
2-2 创建目录和文件
2-2-1 mkdir
mkdir:创建新的空目录
格式:mkdir [选项] 目录位置及名称
mkdir -p:可以一次性创建嵌套的多层目录
#在当前目录下创建名为test的子目录
mkdir test
#创建目录/ts,在/ts目录下创建子目录work,在/ts/work目录下创建子目录/cs
mkdir -p /ts/work/cs
2-2-2 touch
touch:创建空文件,更新文件的时间标记,经常用于船舰多个新的空文件
格式:touch 文件...
#创建两个空文件,文件名分别为test1和test2
touch test1 test2
2-2-3 ln
ln:创建链接文件,为文件或目录建立连接文件,类似于Windows系统的快捷方式
链接文件类型:
- 软链接,又称符号链接
- 硬链接
格式:ln [-s] 源文件或目录... 链接文件或目标位置
-s:创建软链接
ln -s /bin/bzip2 /bin/wx/
2-3 复制、删除、移动目录和文件
2-3-1 cp
cp:复制文件,将需要复制的文件或目录重建一份,并保存为新的文件或目录。
格式:cp [选项]... 源文件或目录... 目标文件或目录
常用选项:
- -f:覆盖目标同名文件或目录时不进行提醒,直接强制复制。
- -i:覆盖目标同名文件或目录时提醒用户确认。
- -p:复制时保持源文件的权限、属主及时间标记属性不变。
- -r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。
2-3-2 rm
rm:删除文件或目录
格式:rm [选项] 要删除的文件或目录
常用选项:
-
-f:强制删除文件或目录,无需确认。使用该选项时,rm命令会直接删除目标,不会提示用户确认操作。
-
-i:交互式删除文件或目录,每次删除前都会提示用户确认。使用该选项时,rm命令在删除之前会询问用户是否确认删除操作。
-
-r:递归地删除目录及其内容。当删除目录时,必须使用该选项,否则rm命令会报错。递归删除会将目录及其所有子目录和文件一并删除。
rm -rf test/ts/
rm -i test/ts.sh
2-3-3 mv
mv:将指定的文件或目录转移位置,如果目标位置与源位置相同,则相当于执行重命名操作
格式:mv [选项] ...源文件或目录... 目标文件或目录
mv file test/
2-4 查找目录和文件
2-4-1 which
which:查找命令/文件存放目录,搜索范围由环境变量PATH决定(echo $PATH)
格式:which 命令|程序名
which -a 命令|程序名
which is
which cd
2-4-2 find
find:查找文件或目录,采用递归方式,根据目标的名称、类型、大侠奥等不同属性进行精细查找
格式:find [查找范围] [查找条件表达式]
查找范围:查找文件或子目录的目录位置。
查找条件表达式:查找条件类型。
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 根据目标文件的名称进行查找,运行使用“*”及“?”通配符 |
按文件大小查找 | -size | 根据目标文件的大小进行查找 一般使用“+”、“-”号设置超过小于指定的大小作为查找条件 常用的容量单位包括kB、MB、GB(k是小写) |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找 文件类型包括普通为念(f)、目录(d)、块设备文件(b)、字符设备文件(c)等 |
各表达式之间使用逻辑运算符:
- -a:表示而且,and
- -o:表示或者,or
使用find命令实现多个查找条件
find /opt -size +1024k -a -name "test"
find /opt -size +1024k -o -name "test"