文章目录
Linux基础命令
Linux的目录结构
/
,根目录是最顶级的目录了- Linux只有一个顶级目录:
/
- 路径描述的层次关系同样适用
/
来表示 - /home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txt
ls命令
ls命令来自英文:list(列表)
功能:列出文件夹信息
语法:ls [-l -h -a] [参数]
- 参数:被查看的文件夹,不提供参数,表示查看当前工作目录
- -l,以列表形式查看
- -h,配合-l,以更加人性化的方式显示文件大小
ls -lh
- -a,显示隐藏文件
- 选项和参数可以组合使用,如
ls -alh
=ls -a -l -h
隐藏文件、文件夹
在Linux中以.
开头的,均是隐藏的。
默认不显示出来,需要-a
选项才可查看到。
pwd命令
pwd命令来自英文:print work directory
功能:输出当前所在的工作目录
语法:pwd
cd命令
cd命令来自英文:change directory
功能:切换工作目录
语法:cd [目标路径]
参数:目标路径,要切换去的目录位置,不提供默认切换到当前登录用户HOME目录
HOME目录
每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。
-
普通用户的HOME目录,默认在:
/home/用户名
-
root用户的HOME目录,在:
/root
FinalShell登陆终端后,默认的工作目录就是用户的HOME目录
相对路径、绝对路径
-
相对路径,非
/
开头的称之为相对路径相对路径表示以
当前目录
作为起点,去描述路径,如test/a.txt
,表示当前工作目录内的test文件夹内的a.txt文件 -
绝对路径,以
/
开头的称之为绝对路径绝对路径从
根
开始描述路径
特殊路径符
.
表示当前目录,比如./a.txt,表示当前文件夹内的a.txt
文件..
表示上级目录,比如../
表示上级目录,../../
表示上级的上级目录~
表示用户的HOME目录,比如cd ~
,即可切回用户HOME目录
mkdir命令
mk命令来自英文:make directory
功能:创建文件夹
语法:mkdir [-p] 参数
- 参数:被创建文件夹的路径
- 选项:-p,可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录
touch命令
功能:创建文件
语法:touch 参数
- 参数:被创建的文件路径
cat命令
功能:查看文件内容
语法:cat 参数
- 参数:被查看的文件路径
more命令
功能:查看文件,可以支持翻页查看
语法:more 参数
- 参数:被查看的文件路径
- 在查看过程中:
空格
键翻页q
退出查看
cp命令
功能:复制文件、文件夹
语法:cp [-r] 参数1 参数2
- 参数1,被复制的
- 参数2,要复制去的地方
- 选项:-r,可选,复制文件夹使用
示例:
- cp a.txt b.txt,复制当前目录下a.txt为b.txt
- cp a.txt test/,复制当前目录a.txt到test文件夹内
- cp -r test test2,复制文件夹test到当前文件夹内为test2存在
mv命令
功能:移动文件、文件夹
语法:mv 参数1 参数2
- 参数1:被移动的
- 参数2:要移动去的地方,参数2如果不存在,则会进行改名
rm命令
rm命令来自英文:remove
功能:删除文件、文件夹
语法:rm [-r -f] 参数...参数
- 参数:支持多个,每一个表示被删除的,空格进行分隔
- 选项:-r,删除文件夹使用
- 选项:-f表示force,强制删除,不会给出确认提示,一般root用户会用到
- rm命令支持通配符*,用来做模糊匹配
rm命令很危险,一定要注意,特别是切换到root用户的时候。
通过
su -root
,并输入密码切换到root用户通过
exit
退回普通用户
which命令
功能:查看命令的程序本体文件路径
语法:which 参数
- 参数:被查看的命令
find命令
功能:用于查找指定的文件
语法1:按文件名搜索:find 起始路径 -name 参数
- 路径,搜索的起始路径
- 参数,搜索的关键字,支持通配符*, 比如:
*
test表示搜索任意以test结尾的文件
语法2:按文件大小搜索:find 起始路径 -size +|-n[kMG]
- +、- 表示大于和小于
- n表示大小数字
- kMG表示大小单位,k表示kb,M表示MB,G表示GB
- 示例:
- 查找小于10kb的文件:find / -size -10k
- 查找大于100MB的文件:find / -size +100M
- 查找大于1GB的文件:find / -size +1G
grep命令
功能:过滤关键字
语法:grep [-n] 关键字 文件路径
- 选项-n,可选,表示在结果中显示匹配的行的行号。
- 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用””将关键字包围起来
- 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口
参数 文件路径,可以作为管道符的输入
wc命令
功能:统计
语法:wc [-c -m -l -w] 文件路径
- 选项,-c,统计bytes数量
- 选项,-m,统计字符数量
- 选项,-l,统计行数
- 选项,-w,统计单词数量
- 参数,文件路径,被统计的文件,可作为内容输入端口
参数 文件路径,可作为管道符的输入
管道符|
写法:|
功能:将符号左边的结果,作为符号右边的输入
示例:
cat a.txt | grep hello
,将cat a.txt的结果,作为grep命令的输入,用来过滤hello
关键字
可以支持嵌套:
cat a.txt | grep hello | grep helloworld
echo命令
功能:输出内容-类似于print
语法:echo 参数
- 参数:被输出的内容
`反引号
功能:被两个反引号包围的内容,会作为命令执行
示例:
- echo `pwd`,会输出当前工作目录
tail命令
功能:查看文件尾部内容
语法:tail [-f -num] 参数
- 参数:被查看的文件路径
- 选项:-f,持续跟踪文件修改
- 选项:-num,表示查看尾部多少行,不填默认10行
head命令
功能:查看文件头部内容
语法:head [-n] 参数
- 参数:被查看的文件
- 选项:-n,查看的行数
重定向符
功能:将符号左边的结果,输入到右边指定的文件中去
>
,表示覆盖输入>>
,表示追加输入- 示例:
echo “Hello” > test.txt
echo “world” >> test.txt
vi/vim编辑器
vi/vim是visual interface的简称,是Linux中最经典的文本编辑器
vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,还可以编辑shell程序,可以用不同颜色的字体
-
命令模式(Command mode)
命令模式下,所敲的按键都理解为命令,以命令驱动执行不同的功能,不能自由进行文本编辑 -
输入模式(Insert mode)
就是编辑模式、插入模式,此模式可以对文件内容进行只有编辑
-
底线命令模式(Last line mode)
以
:
开始,通常用于文件的保存、退出
命令模式快捷键
模式 | 命令 | 描述 |
---|---|---|
命令模式 | i | 在当前光标位置进入插入模式 |
命令模式 | a | 在当前光标位置之后进入插入模式 |
命令模式 | I | 在当前行的开头,进入插入模式 |
命令模式 | A | 在当前行的结尾,进入插入模式 |
命令模式 | o | 在当前光标下一行进入插入模式 |
命令模式 | O | 在当前光标上一行进入插入模式 |
插入模式 | esc | 任何情况下输入esc 都能回到命令模式 |
命令模式 | 键盘上,键盘k | 向上移动光标 |
命令模式 | 键盘下,键盘j | 向下移动光标 |
命令模式 | 键盘左,键盘h | 向左移动光标 |
命令模式 | 键盘右,键盘l | 向右移动光标 |
命令模式 | 0 | 移动光标到当前行的开头 |
命令模式 | $ | 移动光标到当前行的结尾 |
命令模式 | pageup(PgUp) | 向上翻页 |
命令模式 | pagedown(PgDn) | 向下翻页 |
命令模式 | / 内容 | 进入搜索模式 |
命令模式 | n | 向下继续搜索 |
命令模式 | N | 向上继续搜索 |
命令模式 | dd | 删除光标所在行的内容 |
命令模式 | ndd | n是数字,表示删除当前光标向下n行 |
命令模式 | yy | 复制当前行 |
命令模式 | nyy | n是数字,复制当前行和下面的n行 |
命令模式 | p | 粘贴复制的内容 |
命令模式 | u | 撤销修改 |
命令模式 | ctrl + r | 反向撤销修改 |
命令模式 | gg | 跳到首行 |
命令模式 | G | 跳到行尾 |
命令模式 | dG | 从当前行开始,向下全部删除 |
命令模式 | dgg | 从当前行开始,向上全部删除 |
命令模式 | d$ | 从当前光标开始,删除到本行的行尾 |
命令模式 | d0 | 从当前光标开始,删除到本行的行头 |
底线命令快捷键
模式 | 命令 | 描述 |
---|---|---|
底线命令模式 | :wq | 保存并退出 |
底线命令模式 | :q | 仅退出 |
底线命令模式 | :q! | 强制退出 |
底线命令模式 | :w | 仅保存 |
底线命令模式 | :set nu | 显示行号 |
底线命令模式 | :set paste | 设置粘贴模式 |
命令的选项
我们学习的一系列Linux命令,它们所拥有的选项都是非常多的。
比如,简单的ls命令就有:-a -A -b -c -C -d -D -f -F -g -G -h -H -i -I -k -l -L -m -n -N -o -p -q -Q -r-R -s -S -t -T -u -U -v -w -x -X -1等选项,可以发现选项是极其多的。
查看命令的帮助
可以通过:命令 --help
查看命令的帮助手册
查看命令的详细手册
可以通过:man 命令
查看某命令的详细手册