Linux基本使用(Ubuntu)
1. Linux背景知识
Linux是一个操作系统,和Windows是并列的关系。
1.1 Linux发行版
Linux严格意义上来说,只是一个"操作系统内核"。
一个完整的操作系统=操作系统内核+配套的应用程序。
由于Linux是一个完全开源免费的内核,因此有些公司/开源组织又基于Linux内核,提供了不同的配套程序,这就构成了不同的"发行版"。
1.2 关于Linux我们学习什么
基础命令
Linux虽然也有图形化界面,但是在服务器/嵌入式设备上往往都是通过命令行的方式操作的。因此学习Linux命令就是使用Linux的重要基础。
2.Linux环境搭建
2.1 使用云服务器
1.直接在浏览器上面搜云服务器(阿里云、腾讯云等)对学生还有优惠。
2.右侧操作系统选择Ubuntu LTS。
3.购买完成之后,可以直接在控制台中找到自己买的服务器,点进去之后能够看到服务器的IP地址。
4.设置root密码:点击更多->重置密码
2.2 使用终端软件连接到Linux
2.2.1 什么是终端软件
终端软件是一类工具软件,可以和远程的主机简历网络连接,从而对主机进行一些操作。
XShell
Putty
MobaXTerm
Item2
SecureCRT
我们使用的是XShell
2.2.2 下载安装XShell
下载地址:https://www.xshell.com/zh/free-for-home-school/
XShell提供了两种授权方式
企业版:收费
家庭/教育版:免费
我们选择家庭/教育版即可。
2.2.3 使用XShell登陆主机
在XShell终端下输入:
ssh 服务器外网ip地址
ip为腾讯云后台页面看到的外网IP。
如果网络通常,将会提示输入用户名密码。输入即可正确登录。
登陆失败的原因
1.为输入用户的用户名和密码
2.IP输入错误
3.确认安装的是Ubuntu(安装其他的操作系统,比如windows server,确实无法登陆)
4.是否设置了初始密码
5.服务器是否启动
6.通过控制台登录
7.询问客服
3. Linux常用命令
ls
语法:ls[选项][目录或者是文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
-a 列出目录下的所有文件,包括以.开头的隐含文件。
-d 将目录像文件一样显示,而不是显示其下的文件。如:ls -d 指定目录。
-k 以k字节的形式表示文件的大小。ls -alk 指定文件。
-l 列出文件的详细信息。
-r 对目录反向排序。
-t 以时间排序。
-R 列出所有子目录下的文件。(递归)
举例:ls -l
pwd
语法:pwd
功能:显示用户当前所在的目录
举例:pwd
cd
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
语法:cd目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
返回上级目录:cd ..
进入用户加目录:cd ~
返回最近访问目录:cd -
认识Linux目录结构
Linux是一个树形目录结构。
几个特殊的目录:
/ 称为根目录
. 成为当前目录
.. 称为当前目录的上级目录
绝对路径 vs 相对路径
形如:/user/share/tomcat/logs/ 以根目录开头的,称为绝对路径。
形如:./logs以.或者..开头的,称为相对路径。
使用ctrl + c 重新输入
如果命令或者目录敲错了,可以 ctrl + c 取消当前的命令。
touch
语法:touch[选项]...文件...
功能:touch命令参数可以更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
举例: touch test.txt
cat
语法:cat[选项][文件]
功能:查看目标文件的内容
常用选项:-n对输出的所有行编号 cat test.txt
mkdir
语法:mkdir [选项] dirname..
功能:在当前目录下创建一个名为"dirname" 的目录
常用选项:-p,--parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立那些尚不存在的目录,即一次可以创建多级目录。
举例:mkdir -p test/test1
rm
语法:rm[-f -i -r -v][dirName/dir]
功能:删除文件或目录
常用选项
-f 即使文件属性为只读,亦直接删除。
-i 删除前逐一询问确认
-r 删除目录及其下所有文件
举例:rm test.txt
cp
语法:cp[选项] 源文件或目录 目标文件或目录
功能:复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
常用选项:
-f 强制复制文件或目录,不论目的文件或目录是否已经存在。
-i 覆盖文件之前先询问用户。
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。
-R 递归处理,将指定目录下的文件及子目录一并处理。
举例:cp test1.txt test2.txt
mv
语法:mv[选项] 源文件或目录 目标文件或目录
功能:
1.视mv命令中第二个参数类型的不同,mv命令将文件重命名或将其移至一个新的目录中。
2.当第二个参数是文件时,mv命令完成文件的重命名,此时源文件只能有一个,他将所给的源文件或目录重命名为给定的目标文件名。
3.当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
常用选项:
1.-f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
2.-i:若目标文件已经存在时,就会询问是否覆盖
举例:mv test1.txt test2.txt
tail
语法:tail[必要参数][选择参数][文件]
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:
1.-f:循环读取
2.-n<行数> 显示行数
举例:tail -10 test1.txt
vim
vim是一个知名的文本编辑器。使用vim可以进行文本编辑了。
vim就相当于Windows的记事本。只不过功能比记事本强大一些。
1)创建文件/打开文件
vim[文件名]
2)进行插入模式
vim打开文件后默认是普通模式。普通模式下键盘按键表示一些特殊功能的快捷键。
使用i建可以进入到插入模式,然后就可以像记事本一样正常编辑了。
3)保存
再插入模式下不能保存文件,需要先回到普通模式。按下Esc回到普通模式
在普通模式下 :w,按回车即可保存文件
4)退出
在插入模式下不能退出,需要先回到普通模式。
退出时,分为以下情况:
1.文件未修改:输入:q,再按下回车,即可退出。
2.文件修改并保存:使用 :wq 同时执行保存退出。
3.文件修改,但不保存:使用 :wq! 进行强制退出。
grep
语法:grep[参数]...[文件]...
功能:用于查找文件中是否包含指定字符串,并显示对应的行。
选项:
-n<行数> 显示的行数。
-w全字匹配,要求整个单词都完全相同的结果才能匹配出来,而不仅仅是一个单词的一部分。
-r递归查找。可以搜索多级目录下的所有文件。
--color高亮查找到的结果。
--include指定查找某些文件。
--exclude指定排除某些文件。
举例:grep "hello" Hello.java
ps
语法:ps[参数]...
功能:用于查看当前系统上运行的进程
选项:
a显示⼀个终端的所有进程
u以用户为主的格式来显示程序状况
x显示所有程序,不止是会话中的进程
e显示所有进程,包括系统守护进程
f显示完整格式输出
举例:
ps aux 显示系统上的所有进程
ps aux | grep "进程名"
ps aux | grep "进程id"
nestat
语法:nestat[参数]
功能:查看系统上的网络状态
选项:
-a显示所有正在或不在侦听的套接字
-n显示数字形式地址而不是去解析主机、端口或用户名
-p显示套接字所属进程的PID和名称
举例:
netstat -anp
netstat -anp | grep "进程号"
netstat -anp | grep "端口号"
管道
管道是一种很古老的进程间通信方式。在Linux指令中可以使用 | 作为管道标记
意思是将前一个指令标准输出的内容,作为第二个指令的标准输入的内容
举例:
ps -ef | grep "java"
ps -ef | head -10
tail -f log.txt | grep "Exeception"