Linux 从购买云服务器到 Hello World

环境安装

为什么要购买云服务器

  1. 首先云服务器环境配置简单,可以提供多人使用,符合实际开发场景,可以作为我们学习环境进行仿真。

  2. 其次重装方便,学习成本低。

  3. 最后对于我们学生来说,选用最便宜的套餐就足够使用。同时,以学生的身份购买服务器,优惠力度大。

登录云服务器

使用ssh客户端即可登录。以XShell举例,只需新建会话,填写用户名(初始默认是root)和密码。然后主机填写云服务器的公网IP即可。登录之后就可以看到Linux字符界面。

操作系统定位

在这里插入图片描述
计算机是一个层状结构,最底层是硬件。每种硬件对应一种驱动程序,驱动程序控制硬件工作。往上就是操作系统,负责软硬件资源管理的软件。再往上就是用户层,主要由用户级软件组成。

LInux 基本指令

指令说明
lsls 用来显示当前目录中有哪些文件。显示的内容为所有文件的文件名。ls -l可以展示文件的详细信息。ls -a 可以显示额外的隐藏文件。通常在Linux中配置文件是对用户隐藏起来,防止误操作。ls -d [目录]。 只显示目录信息,不显示目录下详细信息。ls -R [目录] 递归式显示目录及子目录信息。
pwd显示当前所在路径。
cd更改所在目录。. 表示当前目录,…表示上级目录。但是cd …无法一直返回到上级目录,因为最上层的目录为 / (根目录)。因为在 Linux 中,目录是以树这种数据结构组成的。而 / 位于最顶层,所以叫做根目录。采用这种结构的目的就是为了便于查找文件。其次,从根节点到任一叶子节点的路径是唯一的。这样就能唯一标识任一文件。
mkdirmkdir -p [目录/目录]递归式创建目录。
rmdir只能删除空目录。
rmrm -r [非空目录] 递归删除非空目录。rm -rf [非空目录] 强制递归删除非空目录。
man查看手册,man [卷号] 查找内容,不写卷号,默认从第一卷查找。
cp拷贝内容。拷贝非空目录,需加 -r 选项。
mv剪贴。重命名。
cat查看文件内容。
cp拷贝。-r将目录中的文件递归拷贝。
more分页显示,不支持上翻。
less分页显示,支持上翻。
>输出重定向。
>>追加重定向。
<输入重定向。
管道(|)传输数据。head -110 file.txt | tail - 10 将file.txt的前110行数据作为tail指令输入,输出给tail指令。
date显示日期:date +%Y/%m%d:%H:%M:%S。-d @ 秒数 现在时间和计算机元年的相差多久。
cal日历。
findfind 路径 -name 寻找文件名,在指定路径找指定文件名。
grep在文本中查找匹配字符。grep 匹配字符 文本。
file查看文件类型。
zip压缩。
unzip解压缩。
adduser 用户名添加用户。
passwd 用户名设置用户名密码。
userdel删除用户。-r 删除用户的同时,删除用户家目录。
su普通用户切换成root。如果只是单纯的想提升当前指令权限,直接带上sudo
su 普通用户root用户切换成普通用户。

权限管理

所谓权限,是指一件事情,是否允许某人去做。在下图中,有3个文件,一个root目录。每个文件对应一条信息。第一个字符表示文件类型。紧接着rwx表示权限为可读可写可执行。然后第一个用户名文件所有者,第二个用户名表示文件所属组,这两种角色对应两个不同的读、写、执行权限,剩下的一组就是其它用户的权限,即不属于该组,也不是该用户。需要注意的是,文件有可执行权限不代表就能执行。
在这里插入图片描述

相关指令

指令说明
chmod修改文件权限
chmod u-r test.c给文件所有者去掉读权限
chmod u+rwx test.c给文件所有者加上读、写、可执行权限
chmod g-r test.c给文件所属组去掉读权限
chmod o-r test.c给其他人去掉读权限
chgrp修改文件所属组
chown修改文件所有者

需要注意的是,在创建文件时,文件的默认权限是由umask决定的。但凡在umask中出现的权限位,都不应该出现在。即用默认的权限“与”~umask(取反的umask)。下图umask为022,root目录默认权限为777(一个目录要想进行读写操作必须先要保证是可执行的),777&( ~022)=111 101 101 即rwxr-xr-x。

在这里插入图片描述

关于粘滞位

粘滞位(Sticky bit),又称作粘着位,是Unix文件系统权限的一个旗标。 最常见的用法在目录上设置粘滞位,如此以来,只有目录内文件的所有者或者root才可以删除或移动该文件。 如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件。

基础开发工具

yum

在Linux中安装软件有三种方式:

  1. 源码安装
  2. 通过rpm安装包安装
  3. 包管理工具安装

yum就是centos下的包管理工具,它可以帮助我们很方便地从包服务器下载并安装软件。需要注意的是,任何时刻,只能有一个yum进行安装。

相关指令
指令说明
yum list查询所有已安装和可安装的软件包。
yum remove 包名使用 yum 卸载软件包时,会同时卸载所有与该包有依赖关系的其他软件包,即便有依赖包属于系统运行必备文件,也会被 yum 无情卸载,带来的直接后果就是使系统崩溃。
yum lis 包名安装软件包。

vim

三种模式切换

vim编辑器有三种模式,分别是:底行模式、命令模式和插入模式。其中,底行模式和插入模式两者无法进行直接切换,必须先切换成命令模式,再进行两种模式的切换。无论在哪种模式,按esc即可返回到命令模式。命令模式转换成底行模式需要按:。命令模式转换成插入模式可以按aio。其中,i进入输入模式后,将会在当前光标前插入字符,a将会在当前光标的下一个字符前插入字符,o将会在当前光标的下一行开始输入字符。
在这里插入图片描述

命令模式下的指令

熟练掌握命令模式下的指令能够帮助我们提高编码效率。

指令说明
$光标移动到当前行行末
^光标移动到当前行行首
G光标移动到末行行首
gg光标移动到首行行首
yy复制当前行
p换行粘贴
nyy从光标当前行开始,复制n行
np换行粘贴n行
u撤销
ctrl+u恢复撤销
dd删除光标所在行(剪切)
ndd+p剪切n行,并粘贴
shift+`大小写切换
w以单词为单位,光标向前跳转
b以单词为单位,光标向后跳转
x删除光标所在字符
nx删除当前光标及往后的n个字符
X删除光标前一个字符
nX删除光标前的n个字符
r替换当前光标所在的字符
nr替换当前光标及光标之后的n个字符
shift+r进入替换模式
底行模式下的指令
指令说明
set nu打开行号显示
set nonu关闭行号显示
w保存
q退出
!强制执行
!+命令不退出vim执行命令
vs+文件名分屏显示文件
ctrl w+w切换分屏

gcc 编译指令

指令说明
gcc -E 源文件 -o 生成文件名预处理:头文件展开、去注释、宏替换、条件编译
gcc -S 源文件 -o 生成文件名将C代码编译成汇编
gcc -c 源文件 -o 生成文件名将汇编文件转换成目标文件
gcc 源文件 -o 生成文件名链接

gdb 调试

需要注意的是,在Linux中,c程序编译生成的可执行程序是release版本。要想生成debug版本的可执行程序,要在编译指令加上-g选项。之后,运行gdb+可执行程序即可调试。

调试指令说明
l显示代码和行号
r运行代码
b+行号在该行打断点
info b查看断点
n逐过程调试
s逐语句调试
p+变量/&变量查看变量内容/地址
display 变量变量常显示
undisplay 变量编号取消变量常显示
until+行号跳转至任意一行
finish直接运行完对应的函数
continue跳转到下一个断点

make和makefile

makefile包括了make所需要的依赖关系和依赖方法。当执行make时,会执行对应makefile中的指令。makefile中的格式为目标:依赖,紧接着是换行,tab,编写从依赖到目标的指令。当依赖项变多时,也可以用一些自动变量代替。

字符说明
$@表示依赖关系中的目标文件
$^表示依赖关系中依赖文件列表
$<表示依赖关系中第一个依赖文件
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Schuyler Hu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值