Linux基础命令

1.Linux的目录结构

 Linux的目录结构是一个树型结构

Windows系统可以拥有多个盘符,如C盘、D盘、E盘等

Linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面。

Linux路径的描述方式

使用  / 来表示

/usr/Local/hello.txt

出现在开头的 / 表示为 根目录

出现在后面的 / 表示为 层次关系

课后练习:

请根据语言描述,写出对应的Linux路径

1.在根目录下有一个文件夹test,文件夹内有一个文件hello.txt,去描述文件的路径

/test/hello.txt

2.在根目录下有一个文件star.txt,去描述文件的路径

/star.txt

3.在根目录下有一个文件夹itcast,在itcast文件夹内有文件夹star,在star文件夹内有文件hello.txt,请描述文件的路径。

/itcast/star/hello.txt 

2.Linux命令入门

 2.1 什么是命令、命令行

命令: 即Linux操作指令,是系统内置的程序,可以以字符化的形式去使用。

命令行:即Linux终端,可以提供字符化的操作页面供命令执行。

2.2 Linux命令的基础格式

command [-options]  [parameter]

command : 命令本身

-options :命令的一些选项,可以通过选项控制命令的行为细节。

parameter : 命令的参数,多数用于命令的指向目标等(多数为文件路径)。

注:语法中[],表示可选的意思。 

示例:

ls -l /home/itheima         ls是命令本身,-l是选项,/home/itheima是参数

这条命令的含义是以列表的形式,显示/home/itheima目录内的内容

2.3 ls命令的参数和选项

2.3.1 ls命令

作用:列出目录下的内容

语法:ls [-a -l -h] [Linux路径]

-a 显示隐藏文件(以 .开头的文件或文件夹默认被隐藏)

-l 以列表(竖向排列)的形式展示内容,并展示更多内容。

-h 显示文件的大小单位(h必须和l一起使用

可以混搭使用

以下写法的功能都是-a 和-l 的功能

ls -la

ls -al

ls -l -a 

2.3.2 HOME目录

每一个用户在Linux系统的专属目录,默认在:/home/用户名

2.3.3 当前工作目录 

 Linux命令行在执行命令的时候,需要一个工作目录,打开命令行程序(终端)默认设置工作目录在用户的HOME目录

3 目录切换相关命令(cd/pwd)

3.1 cd (Change Directory)切换工作目录

语法 :cd [Linux路径] 

cd   Linux路径 切换到该路径目录下
cd 回到用户的HOME目录

 3.2 pwd(Print Work Directory) 查看当前工作目录

语法:pwd

课后练习

请使用cd命令并结合ls命令,任意在Linux文件系统内探索。并尝试找出名字叫做games的文件夹在哪里。

Linux基础命令_第1张图片

4 相对路径、绝对路径和特殊路径符

4.1 绝对路径

根目录为起点,描述路径的一种写法,路径描述以 / 开头。

4.2 相对路径

当前目录为起点,描述路径的一种写法,路径描述无需以 / 开头.。

4.3 特殊路径

特殊路径符 含义 示例
. 当前目录 cd ./Desktop
.. 上一级目录 cd .. 或 cd ../..
~ 用户的HOME目录 cd ~ 或 cd ~/Desktop

 Linux基础命令_第2张图片

 ./test/hello.txt 或 test/hello.txt

../test/hello.txt

~/test/hello.txt

5 创建目录命令(mkdir)

 mkdir (Make Directory)

语法: mkdir [-p] Linux路径

参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可。

-p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录。

注意:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要在HOME外操作涉及到权限问题,HOME外无法成功。

 

mkdir -p ~/itacst/itheima/nice/666 

6 文件操作命令part1(touch、cat、more)

 6.1 touch 创建文件

语法:touch Linux路径

touch命令无选项,参数必填,表示在该路径下创建文件。

6.2 cat 查看文件内容

语法:cat Linux路径

cat同样没有选项,只有必填参数:被查看的文件路径,相对、绝对、特殊路径符都可以使用。

6.3 more 查看文件内容(支持翻页)

语法:more Linux路径

同样没有选项,只有必填参数:被查看的文件路径,相对、绝对、特殊路径符都可以使用。

在查看的过程中

按空格下一页

按B上一页

按回车下一行

按q退出查看

7 文件操作命令part2(cp、mv、rm)

7.1 cp 复制文件或文件夹

语法:cp [-r] 参数1 参数2

-r选项,可选,用于复制文件夹使用,表示递归

参数1,Linux路径,表示被复制的文件或文件夹

参数2,Linux路径,表示要复制去的地方

示例

 将当前目录下的test.txt文件复制到当前文件夹的test2.txt

cp test.txt test2.test

 将当前目录下的test文件夹复制到当前目录下的test2文件夹

cp -r test test2 

 7.2 mv 移动文件或文件夹

语法:mv 参数1 参数2

参数1        Linux路径,表示被移动的文件或文件夹

参数2        Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在

 示例

将当前目录下的test.txt移动到当前目录的test2.txt(若当前目录下无该文件,则起到改名的效果)

mv test.txt test2.txt

 在用户的家目录中,将text.txt移动到Desktop文件夹中

cd                                进入家目录

mv test.txt Desktop      

 7.3 rm 删除文件或文件夹

语法:rm [-r -f] 参数1 参数2 ... 参数N

-r 选项   删除文件夹

-f 选项 表示force , 强制删除(不会弹出确认信息)

        1)普通用户删除内容不会弹出提示确认信息,只有root用户删除内容会有提示

        2)所以一般普通用户用不到-f选项

参数1 参数2 ... 参数N 表示删除的文件或文件夹路径,按照空格隔开

rm命令支持通配符 * , 用来模糊匹配

符号*表示通配符,即匹配任意内容(包括空)

test*,表示匹配任何以test开头的内容

*test,表示匹配任何以test结尾的内容

*test*,表示匹配任何包含test的内容

示例 

经典的删库跑路

rm -rf /*           或     rm -rf /

 删除所有以test开头的文件或文件夹

rm -r test*

注意:加上-r选项不是只删除符合条件的文件夹,而是符合条件的文件夹和文件都删除。 

8 查找命令(which、find)

 8.1 which 查找命令的程序文件

因为每个命令的本质就是一个程序,

当你输入 which ls 系统会输出ls的程序文件位置 

8.2 find 查找指定文件(支持通配符)

8.2.1 find 按文件名查找文件 

语法1:find 起始路径 -name "被查找文件名"

示例

全屏搜索文件名为test的文件(注意:Ctrl+C 可强制退出全盘搜索

find / -name "test"

全屏搜索文件名中含有test的文件

find / -name "*test*"

find 按文件大小查找文件

语法2:find 起始路径 -size +|- [KMG]

+、-     表示大于和小于

        表示大小数字

KMG    表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB

示例 

查找小于10kb的文件 

 find / -size   -10k

查找大于100MB的文件 

 find / -size   +100M

查找小于10kb的文件 

 find / -size   +1G

Linux基础命令_第3张图片

find / -name "*centos*"

find /usr -size +100M

9 grep、wc和管道符

 9.1 grep 从文件中通过关键字过滤文件行

 语法: grep [-n] 关键字 文件路径

-n           选项,可选,表示在结果中显示匹配的行的行号。

关键字    参数,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用""将关键字包围起来。

文件路径 参数,必填,表示要过滤内容的文件路径,可作为内容输入端口

 示例

 Linux基础命令_第4张图片

9.2 wc 做数量统计 

语法:wc [-c -m -l -w] 文件路径

-c                         选项 , 统计bytes数量

-m                        选项,统计字符数量

-l                          选项,统计行数

-w                        选项,统计单词数量

文件路径              参数,被统计的文件,可作为内容输入

若什么选项都没有加上

wc 文件路径

则默认输出行数、单词数、字符数

9.3 管道符  |

 语法: 命令1  |   命令2

将命令1的结果,作为命令2的参数输入

如:        cat test.txt  | grep "what"

 

查找/user/bin的名为gtf的文件或文件夹 

 ls /user/bin  |  grep gtf

 嵌套用法

cat test.txt  |  grep test  |  grep can

Linux基础命令_第5张图片

cat test.txt | grep "itcast" | wc -l

cat test.txt | grep "itheima" | wc -w

10 echo和重定向符

10.1 echo

 语法: echo 输出的内容

无需选项,只有一个参数,表示要输出的内容,复杂内容可以用""包围

示例

 在终端上显示:Hello Linux

echo Hello Linux                或                echo "Hello Linux"

 注意:带有空格或\等特殊符号,建议使用双引号包围。

10.2 反引号  '

 被  '  包围的内容,会被作为命令执行,而非普通字符

10.3 重定向符

>         将左侧命令的结果,覆盖写入到符号右侧指定的文件中

>>       将左侧命令的结果,追加写入到符号右侧指定的文件中

示例

echo "test" > test.txt

 

echo "Hi boy"  > test.txt  , 再次执行,覆盖内容

 

echo "Hi girl"  >> test.txt  ,再次执行,使用>>追加新内容

 Linux基础命令_第6张图片

10.4 tail 

查看文件尾部内容,并可以持续跟踪。常用于查看操作日志,报错日志等 

语法: tail [-f  -num] Linux路径

Linux路径          参数,表示被跟踪的文件路径

-f                        选项,表示持续跟踪

-num                  选项,表示查看尾部多少行,不填默认10行

Linux基础命令_第7张图片

echo "我当前的工作目录是:'pwd'"  > work.txt

echo "test" >> work.txt

tail -f work.txt

11 vi编辑器

11.1 vi\vim编辑器介绍 

vi 是visual interface 的简称,是Linux中最经典的文本编辑器

vim是vi的加强版。兼容了vi的所有指令,不仅能编辑文本,而且具有shell程序编辑的功能,可以通过不同颜色的字体辨别语法的正确性,极大方便了程序的设计和编辑性。

11.2 vi\vim编辑器的三种工作模式

Linux基础命令_第8张图片

命令模式(Command mode)

命令模式下,所敲的按键编辑器都理解为命令,以命令驱动不同的功能。

此模式下,不能自由进行文本编辑。

 输入模式(Insert mode)

也就是所谓的编辑模式、插入模式。

此模式下,可以对文件内容进行自由编辑。

底线命令模式(Last line mode)

 以:开始,通常用于文件的保存、退出。

11.2.1 命令模式

 如果需要通过vi\vim编辑器编辑文件,输入如下命令

vi 文件路径

vim 文件路径        一般直接使用vim,因为vim兼容vi的所有功能

 注意:1)如果文件路径表示的文件不存在,那么此命令会用于编辑新文件。

             2)如果文件路径表示的文件存在,那么命令用于编辑已有文件。

示例

vim test.txt        若文件不存在,会自动创建新文件并进入命令模式

再点击  i  ,进入输入模式

对内容进行编辑,输入this a test

点击Esc,退出输入模式,进入命令模式

在命令模式下,输入:进入底线命令模式

在底线命令模式下,输入:wq ,进行保存并退出

命令模式快捷键

以下为在命令模式下,各种进入输入模式的快捷键 

模式 命令 描述
命令模式 i 在当前光标位置进入输入模式
命令模式 a 在当前光标位置之后进入输入模式
命令模式 I (大写i ) 在当前行的开头,进入 输入模式
命令模式 A 在当前行的结尾,进入输入模式
命令模式 o 在当前光标下一行进入输入模式
命令模式 O 在当前光标上一行进入输入模式
输入模式 Esc 任何情况下点击Esc都能回到命令模式

 以下还有一些命令模式下的快捷键

命令 描述 命令 描述
键盘上、键盘k 向上移动光标 dd 删除光标所在行的内容
键盘下、键盘j 向下移动光标 ndd n是数字,删除当前光标向下n行
键盘左、键盘h 向左移动光标 yy 复制当前行
键盘右、键盘L 向右移动光标 nyy n是数字,复制当前行和下面的n行
0 移动光标到当前行的开头 p 粘贴复制的内容
$ 移动光标到当前行的结尾 u 撤销修改
pageup(PgUp) 向上翻页 ctrl+r 方向撤销修改
pagedown(PdDn) 向下翻页 gg 跳到首行
/ 进入搜索模式 G 跳到行尾
n 向下继续搜索 dG 从当前行开始,向下全部删除
CTRL+n 向上继续搜索 dgg 从当前行开始,向上全部删除
d$ 从当前光标开始,删除到本行的结尾 d0 从当前光标开始,删除本行的开头

 11.2.3 底线命令模式

 注意:点击Esc可退回命令模式。

以下为底线命令模式下的一些常用命令: 

:wq 保存并退出
:q 仅退出
:q! 强制退出
:w 仅保存
:set nu 显示行号
:set nonu 取消行号显示
:set paste 设置粘贴模式
:set nopaste 取消粘贴模式

你可能感兴趣的:(Linux,linux,运维,服务器)