Linux的基本使用

1.Linux的背景

1.1什么Linux

Linux是⼀个操作系统.和Windows是"并列"的关系.

1.2Linux系统的优势

  1. 开源(意味着免费,便宜)

  2. 稳定(Linux可以运⾏很多年,都不会发⽣重⼤问题)

  3. 安全(Linux只有管理员或者特定⽤⼾才能访问Linux内核)

  4. ⾃由(不会被强加商业产品和服务)

  5. 社区⽀持(Linux在全球社区都⾮常活跃和使⽤⼴泛,有很多志愿者在线帮⼤家解决问 题)

1.3我们学习Linux什么

基础命令

Linux虽然也有图形化界⾯,但是在服务器/嵌⼊式设备上往往都是通过命令⾏的⽅式操作的.因此学习Linux命令就是使⽤Linux的重要基础.使⽤命令相⽐于使⽤图形界⾯主要有以下好处:

1• 节省系统资源:运⾏图形界⾯需要让系统付出⼀些额外的资源开销.尤其是对于配置⽐较低的嵌⼊式设备,这⼀点⾄关重要.

2•节省⽹络带宽:如果通过⽹络访问服务器,使⽤图形界⾯需要传输⼀帧⼀帧的图像,⽽使⽤命令只需要传输简单的字符串.

3• 便于批量执⾏任务:可以通过⼀些"脚本"代码(⽐如LinuxShell)来批量执⾏⼀些任务,完成⼀些简单的编程⼯作.(⽐如定时备份⽂件,删除⽂件等).

Windows也有命令(也就是cmd),只是对于普通⽤⼾来说很少使⽤.

系统编程&⽹络编程

1.Linux⾃⾝提供了⼀些API,供程序猿调⽤来完成⼀些更复杂的编程任务(⽐如⽂件操作,多线程编程, socket编程等).

但是由于Java跨平台的特性,这部分功能已经被Java⾃⾝封装好了(流对象,Thread对象,Socket对象等).所以这部分内容我们不必再学习了.

部署JavaWeb项⽬

我们⾃⼰写的web程序,要想让其他的⽤⼾能够访问,就需要发布到服务器上.这是我们接下⾥重点学习的内容.

2.服务器的部署

对于这次学习,我准备购买腾讯云的服务器,购买一个服务器进行学习,

3.购买之后我们使用Xshell终端软件连接到linux

4.linux常见的命令

1.LS

语法:ls[选项][⽬录或⽂件]

功能:对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信息。

常⽤选项: • -a列出⽬录下的所有⽂件包括以.开头的隐含⽂件。

• -d将⽬录象⽂件⼀样显⽰,⽽不是显⽰其下的⽂件。如:ls‒d指定⽬录

• -k 以 k字节的形式表⽰⽂件的⼤⼩。ls ‒alk指定⽂件

• -l列出⽂件的详细信息。

• -r对⽬录反向排序。

• -t以时间排序。

• -R列出所有⼦⽬录下的⽂件。(递归)

2.pwd

语法:pwd

功能:显⽰⽤⼾当前所在的⽬录

3.cd

Linux系统中,磁盘上的⽂件和⽬录被组成⼀棵⽬录树,每个节点都是⽬录或⽂ 件。

语法:cd⽬录名

功能:改变⼯作⽬录。将当前⼯作⽬录改变到指定的⽬录下.

linux目录结构

linux是一个树形的目录

⼏个特殊的⽬录:

• /称为根⽬录

• .称为当前⽬录

• ..称为当前⽬录的上级⽬录

绝对路径vs相对路径

形如: /usr/share/tomcat/logs/ 以根⽬录开头的,称为绝对路径.

形如: ./logs 以 . 或者 .. 开头的,称为相对路径.

使⽤tab键补全

我们敲的所有的Linux命令,都可以使⽤tab键来尝试补全,加快效率.使 ⽤ctrl+c重新输⼊

如果命令或者⽬录敲错了,可以ctrl+c取消当前的命令

4.touch

语法:touch[选项]...⽂件...

功能:touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者 新建⼀个不存在的⽂件

5.cat

语法:cat[选项][⽂件]

功能:查看⽬标⽂件的内容

常⽤选项: • -n对输出的所有⾏编号

6.mkdir

语法:mkdir[选项]dirname...

功能:在当前⽬录下创建⼀个名为"dirname"的⽬录

常⽤选项:

• -p,--parents可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选 项后,系统将⾃动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多级⽬录

举例: # 递归建⽴多个⽬录 mkdir --p test/test1

7.vim的使用(重要)

  1. 打开文件 vim [⽂件名]

2)进⼊插⼊模式

vim打开⽂件后默认是普通模式.普通模式下键盘的按键表⽰⼀些特殊功能 的 快捷键.(例如按下j并不是输⼊字⺟"j",⽽是表⽰光标往下移动⼀⾏). 需 要进⼊插⼊模式才能进⾏⽂本编辑.

使⽤i键可以进⼊到插⼊模式.(左下⻆提⽰--INSERT--)然后就可以像记 事本⼀样正常编辑了.

3)保存

在插⼊模式下不能保存⽂件,需要先回到普通模式.按下 Esc 回到普通 模式.在普通模式下输⼊ :w ,再按下回⻋,即可保存⽂件.

4)退出

在插⼊模式下不能退出,需要先回到普通模式.退出时,分以下情况:

①⽂件未修改:输⼊ :q ,再按下回⻋,即可退出

②⽂件修改并保存:使⽤ :wq 同时执⾏保存和退出.

③⽂件修改,但不希望保存:使⽤:wq! 进⾏强制退出

8.rm

语法:rm[-f-i-r-v][dirName/dir]

功能:删除⽂件或⽬录常⽤选项:

• -f即使⽂件属性为只读(即写保护),亦直接删除

• -i删除前逐⼀询问确认

• -r删除⽬录及其下所有⽂件

9.cp

语法:cp [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录

功能:复制⽂件或⽬录

说明:cp指令⽤于复制⽂件或⽬录,如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的⽬录,则它会把前⾯指定的所有⽂件或⽬录复制到此⽬录中。若同时指定多个⽂件或⽬录,⽽最后的⽬的地并⾮⼀个已存在的⽬录,则会出现错误信息

常⽤选项:

• -f或--force强⾏复制⽂件或⽬录,不论⽬的⽂件或⽬录是否已经存在

• -i或--interactive覆盖⽂件之前先询问⽤⼾

• -r递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理

• -R或--recursive递归处理,将指定⽬录下的⽂件及⼦⽬录⼀并处理

举例:cp test1.txt test2.txt

注意:复制,复制目录需要-r 同时就能够递归的把内容复制到其他地方

10. mv

语法:mv[选项]源⽂件或⽬录⽬标⽂件或⽬录

功能:

  1. 视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其移⾄⼀个新的⽬录中。

  2. 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。

  3. 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源⽂件均移⾄⽬标⽬录中。

常⽤选项

• -f:force强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖

• -i:若⽬标⽂件(destination)已经存在时,就会询问是否覆盖!

11.man(查看手册)

12.grep

语法:grep[参数]...[⽂件]...

功能:⽤于查找⽂件中是否包含指定字符串,并显⽰对应的⾏.

这个意思就是把txt中包含aaa的行显示出来

选项:

• -n<⾏数>显⽰的⾏数

• -w全字匹配.要求整个单词都完全相同的结果才能匹配出来,⽽不仅仅是⼀个单词的⼀部分.

• -r递归查找.可以搜索多级⽬录下的所有⽂件.

• --color⾼亮查找到的结果

• --include指定查找某些⽂件

• --exclude指定排除某些⽂件

13.ps

语法:ps[参数]...

功能:⽤于查看当前系统上运⾏的进程

选项:

• a显⽰⼀个终端的所有进程

• u以⽤⼾为主的格式来显⽰程序状况

• x显⽰所有程序,不⽌是会话中的进程

• e显⽰所有进程,包括系统守护进程

• f显⽰完整格式输出

| 叫做管道 能够把多个命令连接到一起,把前一个命令的输出,作为后一个命令的输入

14.netstat

语法:netstat[参数]...

功能:查看系统上的⽹络状态.

选项:

• -a显⽰所有正在或不在侦听的套接字

• -n显⽰数字形式地址⽽不是去解析主机、端⼝或⽤⼾名

• -p显⽰套接字所属进程的PID和名称


相关推荐
aidroid9 分钟前
git github仓库管理
linux·运维·docker
学习3人组26 分钟前
集群服务器主机实现主机名与IP绑定
运维·服务器·tcp/ip
三朝看客29 分钟前
k8s自动清理pod脚本分享
linux·docker
2407-2 shw1 小时前
weblogic CVE-2018-2894 靶场攻略
java·运维·服务器·安全·weblogic
xiaobai12 31 小时前
集群聊天服务器项目【C++】(六)MySql数据库
服务器·数据库·c++
奇点 ♡1 小时前
【线程】线程的控制
linux·运维·c语言·开发语言·c++·visual studio code
安科瑞刘鸿鹏2 小时前
分布式光伏发电系统如何确保电能质量达到并网要求?
服务器·网络·分布式·嵌入式硬件·能源
学习3人组2 小时前
CentOS安装Hadoop系列
linux·hadoop·centos
Length-vision2 小时前
Linux入门学习:Linux调试器gdb使用
linux·学习
技术不支持3 小时前
WSL2+Ubuntu 22.04搭建Qt开发环境+中文输入法
linux·运维·服务器·qt·ubuntu