05Linux 第一天 shell入门

时间:2024-03-23 16:30:01

三、Linux目录介绍三、Linux目录介绍

05Linux 第一天 shell入门

/:表示的是根的意思

/bin:(binary)存放的是一些二进制文件,但是在Linux中二进制文件是可以被执行的。这个目录中的命令文件是给普通用户使用(非超级管理员用户)。

/etc:Linux下所有的配置文件都会存放到etc目录。

/home:是所有非root用户家目录的一个集合。

/root:root用户的家目录。

/sbin:sbin表示super bin(shell bin),里面同样也类似于bin目录,也存放了一些二进制文件,只不过这些命令只能是让超级管理员去运行

/usr:存放着一些用户自己安装的软件,其实类似于windows下的Program Files目录。

/var:(variable)存放着Linux下的一些日志文件,在实际开发的时候有一些公司也习惯把Apache或者nginx的站点目录也会放到这个目录中。

四、命令行(shell,壳)

了解:常见的shell。

Csh、tcsh、zsh、bash

 

在Linux中如何打开命令行界面?

打开方式:在Linux中的任意一个空白的地方(不要点着图标),右键然后选择【在终端中打开】,会看到一个类似于下面界面的窗口:

05Linux 第一天 shell入门

命令行符号介绍:

05Linux 第一天 shell入门

关于用户身份标记说明:

在Linux中#表示超级管理员身份,$符号表示普通用户

 

五、基本命令(重点)

通用语法格式:# 指令名称 [选项] [操作的目标]

假设:让小明去楼下超市买清风牌的餐巾纸和农夫山泉牌矿泉水。

1、简单命令

1.1、ls指令

语法1:#ls [路径]

表示列出指定路径下的文件夹和文件的名字,如果路径没有指定则列出当前路径下的(list)

例如:在root用户的家目录中输入ls命令,则会看到以下的效果:

05Linux 第一天 shell入门

05Linux 第一天 shell入门

要求列出/home的文档的名称。

#ls /home

05Linux 第一天 shell入门

语法2:#ls -l [路径]

表示以列表的形式列出指定路径下的文件夹和文件的名字

例如:使用ls –l的命令列出当前用户家目录中的文件夹和文件信息

05Linux 第一天 shell入门

语法3:#ls -la [路径]

表示以列表的形式列出指定路径下的文件夹和文件名(包含隐藏文件,all

例如:在当前用户的家目录中输入ls –la命令可以查看全部的文件夹和文件名,并且包含了隐藏文件(特点是以“.”开头的名字

05Linux 第一天 shell入门

1.2clear指令

表示的含义:清空当前屏幕中全部的命令(其实质是没有清空,只不过是顶到上面去了

语法:#clear

05Linux 第一天 shell入门

等效于快捷键:ctrl + L

1.3su指令

作用:切换用户(switch user)。

语法:#su 需要切换到的用户名(用户名可以不写,则表示切换到root用户)

例如:

1、从root用户切换到admin用户。

#su admin

05Linux 第一天 shell入门

2、从admin用户切换到root用户。

#su root

05Linux 第一天 shell入门

等价于:

#su

 

通过上述两个命令的操作发现一个结论:

当切换到的用户权限如果比当前用户的权限低,可以直接切换,不需要密码;反之,如果从低往高切换则要求输入被切换到的账户对应的密码。

1.4cd指令

作用:切换目录(change directory)。

语法:#cd 需要切换到的路径(路径可以是相对路径,也可以是绝对路径)

路径可以写也可以不写,不写则表示切换到当前用户的家目录。

例如:

1、从root用户家目录中切换到admin用户的家目录中

#cd /home/admin

05Linux 第一天 shell入门

提示:在切换路径或者后期打开一个文件的时候可以多建议使用tab键(可以自动补全命令路径)。

 

2、切换用户切换到admin用户,然后从admin用户的家目录使用cd切换到root的家目录

#su admin

#cd /root

05Linux 第一天 shell入门

结论: 低级用户没有权限访问高级用户相关的资源

 

关于路径:

路径分为相对路径和绝对路径。

相对路径是相对当前路径的一种表现形式。

特点:只要不是以“/”开头的就是相对路径。

绝对路径是直接从“根”开始的一种路径形式。

特点:以“/”开头的路径称之为绝对路径。

 

案例:从root用户家目录中切换到admin用户的家目录中,要求以相对路径形式书写。

#cd ../home/admin

分析:

当前路径:/root

目标路径:/home/admin

1.5pwd指令

作用:打印当前的工作路径(print working directory)

例如:在当前用户的家目录中使用pwd命令。

05Linux 第一天 shell入门

2、文档的操作命令

2.1、创建文件

命令:touch

语法:#touch路径

例如:

1、在当前路径下创建一个文件名字叫php2018.txt。

# touch php2018.txt

05Linux 第一天 shell入门

2、在磁盘根目录下创建文件php2018.txt。

# touch /php2018.txt

05Linux 第一天 shell入门

2.2、创建文件夹

命令:mkdir [make directory]

语法:#mkdir 文件夹路径

例如:在root的桌面上创建一个php69的文件夹

#mkdir php69

05Linux 第一天 shell入门

问题:

#mkdir index.php创建的是什么?  【文件夹】

 

问题:

在上述的指令执行的基础上行,执行#touch index.php,创建的是什么?【什么都没有】

2.3、复制

命令:cp (copy)

语法:#cp [-r] 需要复制的文档 需要保存的位置

选项说明:

-r:表示递归。如果复制的是文件夹,则-r就不是选项,是必须要加的。

问题:文档在复制的过程中,其名称一般是否变化? 【不变,数量变化】

 

案例1:需要使用root用户,将根下的php2018.txt复制到admin用户的家目录下

#cp /php2018.txt /home/admin/

05Linux 第一天 shell入门

案例2:将桌面上(当前目录)的php69文件夹复制到admin的家目录下

#cp php69 /home/admin/

05Linux 第一天 shell入门

2.4、移动/剪切/重命名

命令:mv (move)【剪切+粘贴】

语法:#mv 需要操作的文档 新的文档的位置

 

案例:【移动/剪切】将admin家目录下的php2018.txt,移动到root家目录下。

问题:移动操作会影响什么? 【路径变化,数量不变,名称不变

#mv /home/admin/php2018.txt /root/

05Linux 第一天 shell入门

案例2:【重命名】将root下的php2018.txt重命名为php.doc。

问题:重命名操作会影响什么? 【名称变,路径不变,数量不变

#mv /root/php2018.txt /root/php.doc

05Linux 第一天 shell入门

2.5、删除

命令:rm (remove)

语法:#rm [-rf] 需要删除的文档

选项说明:

-r:表示递归

-f:force,表示强制,没有删除确认提示

案例1:删除root下的php.doc

05Linux 第一天 shell入门

案例2:删除root下的php文件夹

05Linux 第一天 shell入门

面试题:

请问使用root用户“#rm -rf /”这个命令能不能执行?

答:从语法上讲,该指令可以执行,表示递归删除根,但是这个操作很危险,不建议执行。

05Linux 第一天 shell入门

3、文档的查看指令

3.1、tail指令

作用:查看一个文件的末n行

语法:#tail -n 文件的路径

说明:-n可以不写,不写,默认表示10行。

案例:使用tail指令查看root/install.log文件的末5行和末10行

#tail -5 /root/install.log

#tail /root/install.log 等价于 #tail -10 /root/install.log

05Linux 第一天 shell入门

3.2、head指令

作用:查看文件的头n行

语法:#head -n 文件的路径

注意:如果不指定-n则默认头10行

案例:使用head指令查看root/install.log文件的头5行和头10行

#head -5 /root/install.log

#head /root/install.log 等价于   #head -10 /root/install.log

05Linux 第一天 shell入门

3.3、cat指令

作用:查看某个文件的全部内容(将内容全部输出在命令行中)【正序】

语法:#cat 文件路径1  文件路径2  文件路径3 …

案例:使用cat指令输出install.log文件内容

#cat /root/install.log

3.4、tac指令

作用:查看某个文件的全部内容(倒序的)

语法:#tac 文件路径1  文件路径2  文件路径3…

案例:使用tac指令输出install.log文件内容

#tac /root/install.log

3.5、vim指令

作用:打开一个文件,显示内容

语法:#vim 文件路径

 

例如:打开/root/install.log

#vim /root/install.log

 

退出输入“:q”按下回车即可。

 

4、关机重启指令

4.1、reboot指令

作用:重启计算机

语法:#reboot

 

注意:部分情况下(除非自开机以来只有当前一个普通用户登录过)普通用户无法执行reboot指令

05Linux 第一天 shell入门

4.2、shutdown指令

作用:关机

语法:#shutdown -h 时间

时间常见的值:

now:(shutdown -h now),表示立即关机

+m:(m表示minutes数字),例如+5,则表示五分钟之后关机

 

4.3、halt指令

作用:关机(关闭内存)

语法:#halt

 

 

六、扩展(1)

1、ctrl+a

在命令行中可以使用ctrl+a,来进行光标的快速定位:可以将命令行中的光标从其他的位置快速移动到行首。【ahead】

2、ctrl+e

在命令行中可以使用ctrl+e,来进行光标的快速定位:可以将命令行中的光标从任意位置快速定位到行末。【end】

 

3、↑和↓键

在命令行输入的位置可以按下↑来查看之前的执行命令历史,可以按下↓来翻到最新的命令执行历史。【即使远程终端断开连接,下次连接上依然可以使用】

 

4、将命令执行结果保存到文件中去(重点)

按照下面的语法:

#需要执行的命令 > 需要保存到的文件路径 【覆盖写】

或者

#需要执行的命令 >> 需要保存到的文件路径 【追加写】