如何对linux文件进行编译,linux编译和执行命令都有哪些?该如何实现?

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

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

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

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

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

MacOS>Linux>windows

3.

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

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

编译命令

Vi编辑器

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

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

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

efbbb37169a3cecc6fec755cfc6e6a27.png

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

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

5b7e172d55cbf194e01d636b1231a9cc.png

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

i 在当前位置前插入

I 在当前行行首插入

a 在当前位置后插入

A 在当前行行尾插入

o 在当前行之后插入一行

O 在当前行之前插入一行

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

daf09cec47dd994cd213326cac502b0e.png

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

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)

18229d6fd627234c5fb0f5c30c1be54a.png

我们通过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 rmdirmkdir

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

rmdirrmdir(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常见问答知识,就来关注我们的网站吧。

推荐阅读:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何给虚拟机上的linux系统添加虚拟硬盘

From: http://www.ezloo.com/2008/03/vmware_linux.html 给vmware虚拟机上的linux系统添加一个虚拟硬盘,并对硬盘进行分区、格式化、给分区创建文件系统,实现挂载,自动挂载! 步骤如下:保证你的linux系统处于关闭状态&a…

GB/T 17626 电磁兼容 试验和测量技术系列标准【归纳】

GB/T 17626 电磁兼容 试验和测量技术系列标准包括以下部分: GB/T 17626.1-2006 电磁兼容 试验和测量技术 抗扰度试验总论 GB/T 17626.2-2006 电磁兼容 试验和测量技术 静电放电抗干扰度试验 GB/T 17626.3-2006 电磁兼容 试验和测量技术 射频电磁场辐射抗干扰度试…

linux命令行打开写字板,在Linux操作系统中使用手写板

2009-07-28/14:24手写输入系统的出现拉近了大家与计算机之间的距离,使我们无须苦练输入法。此外,它也是绘画和平面设计爱好者手里的利器。Windows系统下使用手写板已经是司空见惯的事情了,但要在Linux中使用手写板呢?手写板和Linu…

音乐作曲类软件小记

ScordCloud cakewolk band in a box 水果 FL Studio Chordana Composer LogicX Pro转载于:https://www.cnblogs.com/passby/p/4561627.html

linux中fstab文件详解

From:http://www.winu.cn/space-14160-do-blog-id-1105.html 我们在linux中常常用mount命令把硬盘分区或者光盘挂载到文件系统中。/etc/fstab就是在开机引导的时候自动挂载到linux的文件系统。在linux中/etc/fstab的数据项如下所示:/dev/device mountpoint type…

Linux 普通用户和超级用户的切换

ubuntu16环境下。 1、输入su - 2、输入sudo passwd root,修改root密码。 3、切换普通用户 输入 su - jianwang16

winfrom 图片互传

private void button1_Click(object sender, EventArgs e)//从硬盘打开图片显示在窗体里面{OpenFileDialog op new OpenFileDialog();//造一个打开对话框DialogResult dr op.ShowDialog();//将打开对话框显示出来if(drDialogResult.OK) //如果点的是"打开"{FileStre…

linux文件权限报错实例,自定义系统service SELinux权限报错

报错:E SELinux : avc: denied { add } for serviceflashlight pid3485 uid1000 scontextu:r:system_server:s0 tcontextu:object_r:default_android_service:s0 tclassservice_manager permissive1添加权限:android\out\target\product\product-xxx\r…

Silverlight动画制作之From/To/By基本动画

Silverlight动画制作之From/To/By基本动画From/To/By基本动画其中包含了三个最重要的属性:From;To;By。From指的是对象目标属性的起始值,To指的是对象目标属性的结束值,By指的是结束状态相对于起始状态的偏移量。这里我…

NFS配置管理

From: http://www.goooogle.com.cn/Article/NFS-configuration-and-management.aspx 1. NFS概述 NFS即网络文件系统,是主机间通过网络进行文件共享的网络协议,最早由Sun公司提出的,多用于Unix操作系统(Windows中也有相应版本的实现) 。 NFS…

svn相关操作

1. add操作 svn add 操作可以添加 转载于:https://www.cnblogs.com/bufferfly/p/4566305.html

Qt中如何获得文件和文件夹的路径信息

一、添加头文件 #include <QFile> #include <QFileInfo> #include <QFileDialog> 二、具体操作 void MainWindow::ShowFilePath() {ui->textEdit->append("请选择文件夹路径...");QString FileDirPath QFileDialog::getExistingDirector…

llvm编译linux,在Linux上编译LLVM/Clang 8.0.0等全部源代码

本教程使用的操作系统是Ubuntu Linux 18.04.2 LTS版本&#xff0c;编译器是GCC 6.5.0(不用新版的原因是某些代码不支持更高的版本)&#xff0c;要编译的LLVM源代码是8.0.0。1、安装必要的软件。它们是&#xff1a;build-essential/gcc-6/g-6/cmake/swig/python-swigpk/libxml2/…

Shit和trash不是评价设计的词汇

昨天听了一个年轻人的讲座&#xff0c;讲座将敏捷上升到精神层面&#xff0c;变为一种行为模式&#xff0c;论点是&#xff0c;凡事追求快捷&#xff0c;节省时间&#xff0c;要从意识上重视这种节省&#xff0c;避免浪费&#xff0c;这就是敏捷精神。 比如&#xff0c;如果使用…

linux下tree命令详解

From:http://blog.163.com/ly_89/blog/static/186902299201161302812880/ linux下tree命令详解---linux以树状图逐级列出目录的内容命令##############################################################################################命令格式tree <选项或者是参数> …