Linux命令入门
Linux命令基础格式
无论是什么命令,用于什么用途,在Linux中,命令有其通用的格式:
command [-options] [parameter]
解释:
- command: 命令本身
- -options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节
- parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等
语法中的[],表示可选的意思
第一个Linux命令——ls命令
ls命令的作用是列出目录下的内容
ls [-a -l -h] [Linux路径]
解释:
- -a -l -h 是可选的选项
- Linux路径是此命令可选的参数
ls命令的参数
完整命令 | 参数 | 作用 |
---|---|---|
ls | 以平铺形式,列出当前工作目录(用户的HOME目录)下的内容 | |
ls Linux路径 | Linux路径 | 列出指定路径的内容 |
ls -a | -a | 列出全部文件(包含隐藏的文件/文件夹) |
ls -l | -l | 以列表(竖向排列)的形式展示内容,并展示更多信息 |
ls -lh | -h ps: -h 选项必须要搭配-l`一起使用 | 以易于阅读的形式,列出文件大小,如K、M、G |
以.开头的,表示是Linux系统的隐藏文件/文件夹(只要以.开头,就能自动隐藏)
ls命令选项的组合使用
语法中的选项是可以组合使用的
例如-a
和-l
可以组合应用,写法如下:
以下写法均等效,表示同时应用-l 和-a 的功能 |
---|
ls -l -a |
ls -la |
ls -al |
除了选项本身可以组合以外,选项和参数也可以一起使用
例如ls -al keduo-origin/
HOME目录和工作目录
直接输入ls命令,表示列出当前工作目录下的内容,当前工作目录是什么呢?
Linux系统的命令行终端,在启动的时候,默认会加载:
-
当前登录用户的
HOME目录
作为当前工作目录,所以ls
命令列出的是HOME目录
的内容 -
HOME目录
:每个Linux操作用户在Linux系统的个人账户目录,路径在:/home/用户名-
图中的Linux用户是
ubuntu
,其HOME目录
是:/home/ubuntu
-
Windows系统和Linux系统,均设有用户的HOME目录,如图:
-
小结
-
Linux命令的基础格式:
command [-options] [parameter]
-
ls命令的语法和作用
ls [-a -l -h] [Linux路径]
- -a列出全部内容、-l以列表展示、-h更易读的大小显示
- 参数表示要列出内容的路径,不提供即列出当前工作目录内容
-
当前工作目录和HOME目录:
- Linux终端(命令行)启动后默认价值HOME目录作为当前工作的目录
- HOME目录指:用户在系统内的专属目录
-
隐藏文件\文件夹:
- 在Linux系统中,以”.”开头的文件\文件夹会自动隐藏
- 只有通过-a选项才可以展示出来
目录切换相关命令(cd/pwd)
cd 切换工作目录
当Linux终端(命令行)打开的时候,会默认以用户的HOME目录作为当前的工作目录
cd命令,用于更改当前所在的工作目录
cd命令来自英文:Change Directory
cd [Linux路径]
解释:
- cd命令无需选项,只有参数,表示要切换到哪个目录下
- cd命令直接执行,不写参数,表示回到用户的HOME目录
pwd 查看当前工作目录
多次切换目录后,如果不知道现在身出何方,我们可以通过pwd命令,来查看当前所在的工作目录。
pwd命令来自:Print Work Directory
pwd
解释:
- pwd命令,无选项,无参数
小结
- cd命令
- cd命令可以切换当前工作目录
- 语法是:
cd [Linux路径]
- 没有选项,只有参数,表示目标路径
- 使用参数,切换到指定路径
- 不使用参数,切换工作目录到当前用户的HOME
- pwd命令
- pwd命令可以输出当前所在的工作目录
- pwd命令,没有选项,没有参数,直接使用
创建目录命令(mkdir)
mkdir命令
通过mkdir
命令可以创建新的目录(文件夹)
mkdir来自英文:Make Directory
mkdir [-p] Linux路径
解释:
- 参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可
- -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
提示:
注意:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要在HOME外操作涉及到权限问题,HOME外无法成功
小结
- mkdir命令用以创建新的目录(文件夹)
- 语法:
mkdir [-p] Linux路径
- 参数必填,表示要创建的目录的路径,相对、绝对、特殊路径符都可以使用
- -p选项的作用可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
文件操作命令part1(touch、cat、more)
touch 创建文件
通过touch命令创建文件
touch Linux路径
解释:
- touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用
cat命令 查看文件内容
可以通过cat查看文件内容
cat Linux路径
解释:
- cat没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用
more命令查看文件内容
more命令可以查看文件
与cat
的区别:
cat
是直接将内容全部显示出来more
支持翻页,如果文件内容过多,可以一页页的展示
more Linux路径
解释:
-
没有选项,只有必填参数
参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用
-
在查看过程中:
空格
键翻页q
退出查看
可运行以下命令体验:
more /etc/services # services文件为Linux系统内置文件
小结
touch命令
- 用于创建一个新的文件
- 语法:
touch Linux路径
- 参数必填,表示要创建的文件的路径,相对、绝对、特殊路径符都可以使用
cat命令
- 用于查看文件内容
- 语法:
cat Linux路径
- 参数必填,表示要查看的文件的路径,相对、绝对、特殊路径符都可以使用
more命令
- 用于查看文件内容,可翻页查看
- 语法:
more Linux路径
- 参数必填,表示要查看的文件的路径,相对、绝对、特殊路径符都可以
- 使用使用空格进行翻页,使用q退出查看
文件操作命令part2(cp、mv、rm)
cp命令复制文件文件夹
cp命令可以用于复制文件\文件夹
cp命令来自英文单词:copy
cp [-r] 参数1 参数2
解释:
- -r选项,可选,用于复制文件夹使用,表示递归
- 参数1,Linux路径,表示被复制的文件或文件夹
- 参数2,Linux路径,表示要复制去的地方
mv移动文件或文件夹
mv命令可以用于移动文件\文件夹
mv命令来自英文单词:move
mv 参数1 参数2
解释:
- 参数1,Linux路径,表示被移动的文件或文件夹
- 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
rm删除文件、文件夹
rm命令可用于删除文件、文件夹
rm命令来自英文单词:remove
rm [-r -f] 参数1 参数2 …… 参数N
解释:
- -r选项用于删除文件夹
- -f表示force,强制删除(不会弹出提示确认信息)
- 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
- 所以一般普通用户用不到-f选项
- 参数1、参数2、…、参数N 表示要删除的文件或文件夹路径,按照空格隔开
警告:
rm命令很危险,一定要注意,特别是切换到root用户的时候。
如下命令,请千万千万不要在root管理员用户下执行:
rm -rf / rm -rf /*
效果等同于在Windows上执行C盘格式化。该命令俗称删库命令。
通配符
rm命令支持通配符 *
,用来做模糊匹配
- 符号
*
表示通配符,即匹配任意内容(包含空)test*
,表示匹配任何以test
开头的内容*test
,表示匹配任何以test
结尾的内容*test*
,表示匹配任何包含test
的内容
小结
- cp命令
- 用于复制文件或文件夹
- 语法:
cp [-r] 参数1 参数2
- -r选项,可选,用于复制文件夹使用,表示递归
- 参数1,Linux路径,表示被复制的文件或文件夹
- 参数2,Linux路径,表示要复制去的地方
- mv命令
- 用于查看文件内容
- 语法:
mv 参数1 参数2
- 参数1,Linux路径,表示被移动的文件或文件夹
- 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
- rm命令
- 用于复制文件或文件夹
- 语法:
rm [-r -f] 参数1 参数2
- -r选项,可选,文件夹删除
- -f选项,可选,用于强制删除(不提示,一般用于root用户)
- 参数,表示被删除的文件或文件夹路径,支持多个,空格隔开
- 参数也支持通配符 *,用以做模糊匹配
查找命令(which、find)
which命令
前面学习的全部Linux命令,它们的本体都是二进制可执行程序,相当于Windows系统中的.exe文件。
可以通过which命令,查看命令的程序文件存放位置
which 要查的命令
find命令
按文件名查找文件
在Linux系统中,可以通过find命令去搜索指定的文件
find 路径 -name "参数"
解释:
- 路径,搜索的起始路径
- 参数,被查找文件名,支持通配符
*
来做模糊查询
按文件大小查找文件
find 路径 -size +|-n[kMG]
解释:
- 路径,搜索的起始路径
- +、- 表示大于和小于
- n表示大小数字
- kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB
示例:
查找大于1GB的文件:find / -size +1G
小结
-
which命令
- 查找命令的程序文件
- 语法:
which 要查找的命令
- 无需选项,只需要参数表示查找哪个命令
-
find命令
-
用于查找指定的文件
-
按文件名查找:
find 路径 -name "参数"
按文件大小查找:
find 路径 -size +|-n[kMG]
- 支持通配符
-
grep、wc和管道符
grep命令
可以通过grep命令,从文件中通过关键字过滤文件行
grep [-n] 关键字 文件路径
解释:
- 选项-n,可选,表示在结果中显示匹配的行的行号。
- 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用
“”
将关键字包围起来 - 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口
参数文件路径,可以作为管道符的输入
wc命令
可以通过wc命令统计文件的行数、单词数量等
wc [-c -m -l -w] 文件路径
解释:
- 选项,-c,统计bytes数量
- 选项,-m,统计字符数量
- 选项,-l,统计行数
- 选项,-w,统计单词数量
- 参数,文件路径,被统计的文件,可作为内容输入端口
参数文件路径,可作为管道符的输入
管道符|
管道符可以将管道符左边命令的结果,作为右边命令的输入
在键盘上按
shift键
+、键
(enter键
上面的键)
cat keduo.txt | grep keduo
,将keduo.txt
的结果,作为grep命令的输入,用来过滤keduo
关键字
支持嵌套使用:
cat keduo.txt | grep 一 | grep Linux
常用搭配
命令示例 | 作用 |
---|---|
`ls | grep 关键词` |
`find / -name “test” | grep “/usr/lib”` |
小结
- grep命令
- 从文件中通过关键字过滤文件行
- 语法:
grep [-n] 关键词 文件路径
- 选项-n,可选,表示在结果中显示匹配的行的行号。
- 参数,关键字,必填,表示过滤的关键字,建议使用””将关键字包围起来
- 参数,文件路径,必填,表示要过滤内容的文件路径,可作为管道符的输入
- wc命令
- 命令统计文件的行数、单词数量、字节数、字符数等
- 语法:
wc [-c -m -l -w] 文件路径
- 不带选项默认统计:行数、单词数、字节数
- -c字节数、-m字符数、-l行数、-w单词数
- 参数,被统计的文件路径,可作为管道符的输入
- 管道符
|
- 将管道符左边命令的结果,作为右边命令的输入
echo、tail和重定向符
echo命令
可以使用echo命令在命令行内输出指定内容
echo 参数
解释:
- 无需选项,只有一个参数,表示要输出的内容,复杂内容可以用””包围
温馨提示:
带有空格或\等特殊符号,建议使用双引号包围,因为不包围的话,空格后很容易被识别为参数2,尽管echo不受影响,但是要养成习惯
`反引号
功能:被两个反引号(通常也称之为飘号)包围的内容,会作为命令执行
重定向符
功能:将符号左边的结果,输出到右边指定的文件中去
>
,表示覆盖输出>>
,表示追加输出
tail命令
使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改
tail [-f -num] Linux路径
解释:
-
参数,Linux路径,表示被跟踪的文件路径
-
选项,-f,表示持续跟踪文件修改
可以按
ctrl键 + C键
退出跟踪 -
选项, -num,表示,查看尾部多少行,不填默认10行
head命令
使用head命令可以查看文件头部内容
head [-n] 参数
解释:
- 参数:被查看的文件
- 选项:-n,查看的行数
小结
- echo命令
- 在命令行内输出指定内容
- 语法:
echo 输出的内容
- 无需选项,只有一个参数,表示要输出的内容,复杂内容可以用””包围
- **`**反引号符
- 被`包围的内容,会被作为命令执行,而非普通字符
- 重定向符
>
,将左侧命令的结果,覆盖写入到符号右侧指定的文件中>>
,将左侧命令的结果,追加写入到符号右侧指定的文件中
- tail命令
- 查看文件尾部内容,并可以持续跟踪
- 语法:
tail [-f -num] Linux路径
- -f:持续跟踪
- -num:启动的时候查看尾部多少行,默认10
- Linux路径,表示被查看的文件
- head命令
- 查看文件头部内容
- 语法:
head [-n] 被查看的文件
- -n,查看的行数