linux编译和执行命令都有哪些?该如何实现?

TheDisguiser 2020-05-30 17:25:45 java常见问答 8039

我们知道,Linux是比如手机、平板电脑、路由器、台式计算机计算机设备的核心,它们都使用着Linux系统。以现在来说,一个合格的开发者必须要对Linux有一定的了解,那么,下面就跟小编一起来看看Linux是如何编译及执行的吧。

一、为什么我们要使用Linux?

1.与Windows、MacOS相比,它既实惠,又强大

2.大环境下都是服务器上安装Linux系统所以项目最终是跑在线上的Linux服务器上

这里顺带提一下操作系统的鄙视链:

MacOS>Linux>windows

3. 因为MacOS是一款界面精美,又兼备Linux强大命令行的类Unix操作系统。它和Linux一样都是基于Unix开发的,要说它唯一的缺点,就是贵。

二、Linux编译及执行命令详解

编译命令

Vi编辑器

Linux下编译需要使用到编辑器,vi既可以查看文件也可以编辑文件。

三种模式:命令行、插入、底行模式。

命令行模式在左下角没有显示或显示文件名。在命令行模式下可直接通过摁指定键执行一些操作

linux编译和执行

切换到命令行模式:按ESC键;

插入模式在左下角有"-- INSERT --"的字样,插入模式既是编辑模式,注意编辑完后如果要执行命令记得按ESC回到命令行模式

linux编译和执行

切换到插入模式:按i、o、a键

i 在当前位置前插入

I 在当前行行首插入

a 在当前位置后插入

A 在当前行行尾插入

o 在当前行之后插入一行

O 在当前行之前插入一行

底行模式的左下角会有一个:(冒号)。底行模式可通过输入指定字母敲击回车执行一些操作

linux编译和执行

切换到底行模式:按":"(冒号);

vi常用操作命令

打开文件:vi filename

退出

输入:q 未修改可直接退出

输入:w 保存

输入:wq 保存并退出

输入:q! 放弃修改强制退出

输入:e! 放弃修改重新打开原来文件

输入ZZ也可以保存并退出

删除

x 每按一次删除光标所在后面的一个字符

X 大写的x,每按一次删除光标所在前面的一个字符

dd 删除光标所在行

......

复制粘贴

yw 将光标所在处到字尾字符复制

yy 复制光标所在行

p 粘贴到光标所在处

回复上一次操作:

类似windows中的ctrl+z的操作

u

显示行号

:set nu

执行命令

切换目录命令cd

cd命令用来切换目录。cd命令可让用户在目录切换,前提是有足够权限 和windows中的切换目录命令一样都是cd,不过要注意,Linux中的cd后面都有一个空格 cd app 切换到app目录(前提是当前目录下有需要切换的目录) cd .. 切换到上一层目录 cd / 切换到系统根目录 cd ~ 切换到用户主目录(~是home路径,对于超级管理员而言,home路径就是root目录) cd - 切换到上一个所在目录 cd /etc/sysconfig/network-scipts 切换到指定路径下的目录

列出文件列表:ls ll dir

ls

ls(list)用来显示当前目录下的内容,配合参数的使用,能以不同的方式显示目录内容 格式:ls 【参数】 【路径或文件名】 在linux中以“.”开头的文件都是隐藏文件 常用:

ls

ls -a 显示所有文件或目录(包括隐藏文件)

ls -l 使用详细格式列表(缩写成ll)

linux编译和执行

我们通过ll查询文件列出的文件列表,我们发现前面有这么一截由共10个英文或-组成的字段,这里介绍一下这10个字母/符号的作用:

例如:lrwxrwx---

第一个符号表文件类型

"-"表示文件;"d"表示文件夹;"l"表链接文件

后面九位,每三位分为一段,一共三段,每段的三位分别为r(读取)、w(写入)、x(执行);第一段代表建立此文件的用户的权限,第二段代表建立此文件的用户的所属组的权限,第三段代表其他用户的权限,哪项为空代表则表示没有这个权限。

比如例子中的"lrwxrwx---"则表示这是个链接文件,创建此文件的用户拥有读写执行的权限,创建此文件的用户所属的组也有读写执行的权限,但其他用户没有任何权限。

解读一下ll显示的结果列表分别是什么意思

比如:

-rwxr--r--. 1 root root 422 Nov 28 10:40 TestText

第一个栏位(-rwxr--r--)就是文件类型及权限

第二个栏位(1)是所含文件个数,如果是文件就肯定是1,如果是文件夹就显示此文件夹包含几个文件(这里注意,一般目录默认就是2,因为包括一个代表当前目录的.和表示上级目录的..这两个会占据两个文件数)

第三个栏位(root【第一个】)表示该文件或目录的拥有者

第四个栏位(root【第二个】)表示所属的组(group)

第五个栏位(422)表示文件或文件夹大小,byte(字节)为单位

第六个栏位(Nov 28 10:40)表示最后一次修改时间。按照月份、日期、时间的顺序

第七个栏位(TestText)就是文件/文件夹名了

(dir和ls列出列表比较相近,常用的还是ls)

创建目录和移除目录命令:mkdir rmdir

mkdir
mkdir(make directory)命令可用来在当前目录下创建子目录或指定目录下创建目录,并设置权限。
mkdir test 在当前路径下新建名字为test的文件夹
mkdir /home/test 在/home目录下新建目录test
mkdir -p ParentTest/SonTest 级联创建ParentTest目录和SonTest目录
mkdir -m 777 allTest 
在当前路径下新建名为allTest的目录,并设置权限为创建者可读写执行,创建者所属组可读写执行,其他用户可读写执行。

关于mkdir -m设置权限

前面提到,在使用ll查询文件列表的时候提到了Linux在权限上分为ugo(user创建者,group创建者所属组,other其他用户)三种角色,每个角色又分为rwx(read读取write写入eXecute执行)三种权限。因为计算机只识别二进制数据,所以把一个角色的权限用0或1来表示,如000,110,再转换成10进制表示,111(读写执行均有权限),再转成10进制表示,111=7,然后三种用户的权限排列起来,如700,775等。所以使用mkdir命令要创建目录并同时设置权限的话,则在-m后面接由三个十进制的数字组成的数字来表示相对应角色权限分配。

十进制的数字表示:

7 = rwx =可读,可写,可执行
6 = rw- =可读,可写,不可执行
5 = r-x =可读,不可写,可执行
4 = r-- =可读,不可写,不可执行
3 = -wx =不可读,可写,可执行(极其诡异)
2 = -w- =不可读,可写,不可执行
1 = --x =不可读,不可写,可执行
0 = --- =不可读,不可写,不可执行

这里常用的是1 、2 、4 、5 、7

例如:700 权限分配就是:创建者拥有读写执行的权限,与创建者同组的其他用户以及与创建者不同组的其他用户均没有权限,也就是这个目录为创建者独享

一般常用的是755和775

rmdir

rmdir(remove directory)命令用来删除空的子目录
rmdir test 删除test目录(前提必须rmdir为空)
rmdir -p test/test1 若删除test1目录后上级目录test也为空则连同上级目录一起删除

浏览文件命令cat more less

cat

用于显示文件的内容。

格式:cat 【参数】 <文件名>

cat TestText
cat -n TestText 由1开始对所有输出行标号
cat -b TestText 与-n作用类似,不过对空白行不编号
它会把文件内容一次性全部展示出来,如果文件内容超过一个画面长度则需要使用Linux中翻页快捷键shift+PageUp和shift+PageDown来进行翻页

more

一般用于上述所说的,显示内容会超过一个画面长度的情况。按空格键显示下一个画面。回车显示下一行内容。

按q键退出查看。

more TestText

*空格显示下一页数据 回车显示下一行的数据

less

用法和more类似,q键退出查看。空格显示下一页数据。回车显示下一行

不同的是,less可以通过方向键↑、↓键或者PgUp、PgDn键来控制。

*tail

tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用户显示文件后几行的内容。

用法:

tail -10 /etc/passwd 查看后10行数据
tail -f catalina.log *动态查看日志

这里-f这个参数很重要,tail看上去只是显示文件的后几行内容,但如果加上-f这个参数之后,它能够动态显示日志文件。我们学习Linux最终是让我们能够在Linux端部署tomcat,然后发布项目到tomcat上,而在tomcat启动的日志信息是会刷新的,所以这个tail -f的操作很重要很有用,能够及时根据tomcat启动动态加载日志信息。而省去了使用其他浏览命令逐次逐次执行刷新的繁琐

此时要想暂停刷新,使用ctrl+s暂停终端。 若想继续终端,使用ctrl+q。 若想退出tail命令,直接使用ctrl+c。

以上就是今天的所有内容了,想了解更多java常见问答知识,就来关注我们的网站吧。

推荐阅读:

linux优点有哪些?linux和Windows的区别是什么?

linux是什么?linux通用命令有哪些?

linux常用命令全集, 常用的20个命令有哪些?