首页
学习
活动
专区
工具
TVP
发布

Linux学习从入门精通

1、Linux入门 1.1、主机名配置 查看主机名 hostname 修改主机名 (重启后无效) hostname hadoop 修改主机名 (重启后永久生效) vi /ect/sysconfig...文件上传、下载 在涉及 Linux 相关的开发中,经常需要进行 linux 和 Windows 之间的文件、 安装包等上传和下载操作。 sftp 和 lrzsz 是使用比较广泛的两种方式。...Linux查找命令 3.1、grep grep 命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。...grep sshd 查找指定 ssh 服务进程 ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除 gerp 本身 ps -ef | grep sshd – c...这时就需要用到定时器功能,而在Linux系统中提供了一个类似于定时器的小工具:crontab crontab 是 Unix 和 Linux 用于设置周期性被执行的指令。

2.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

C++从入门精通——nullptr

同时,nullptr还可以与C++的智能指针(如std::unique_ptr、std::shared_ptr等)一起使用,更好地管理动态分配的内存。...在CC++中,可以使用NULL宏定义表示空指针。当使用NULL赋值给一个指针时,表示该指针不指向任何内存地址。 使用空指针可以用于以下情况: 初始化指针变量,避免野指针的问题。...二、指针空值nullptr(C++11) 指针空值nullptr是C++11引入的一种特殊的空指针常量。在以前的C++标准中,常用的空指针常量是NULL,它通常被定义为整数0或者(void*)0。...C++98中的指针空值 在良好的C/C++编程习惯中,声明一个变量时最好给该变量一个合适的初始值,否则可能会出现不可预料的错误,比如未初始化的指针。...注意: 在使用nullptr表示指针空值时,不需要包含头文件,因为nullptr是C++11作为新关键字引入的。

9110

C++从入门精通——引用(&)

C++的引用 前言 C++的引用是别名,它为已存在的对象提供了另一个名称。一旦引用被初始化指向一个对象,它就不能再指向其他对象。引用必须在声明时初始化,并且必须初始化为有效的对象或字面量。...C++11引入了右值引用和移动语义,允许更高效的资源管理和性能优化。总的来说,C++的引用是一种强大的工具,能够增强代码的可读性和性能。...因为参数是引用类型,所以对i的修改会直接影响x。...需要注意的是,引用作为函数参数时,函数内部对引用的修改也会反映函数外部的变量上。...x + y;//是可以的,和上面一样是临时变量的原因 除了类型转换之外,还有以下几种情况会生成临时变量: 函数返回值:当一个函数返回一个临时变量时,编译器会在函数结束时生成一个临时变量,并将其复制函数返回的地方

5410

C++从入门精通——this指针

C++中通过引入this指针解决该问题,即:C++编译器给每个“非静态的成员函数“增加了一个隐藏的指针参数,让该指针指向当前对象(函数运行时调用该函数的对象),在函数体中所有“成员变量”的操作,都是通过该指针去访问...在C++中,每个非静态成员函数都隐含地包含一个this指针。...四、C语言和C++实现Stack的对比 C语言实现 typedef int DataType; typedef struct Stack { DataType* array; int capacity...函数中都是通过Stack*参数操作栈的 调用时必须传递Stack结构体变量的地址 结构体中只能定义存放数据的结构,操作数据的方法不能放在结构体中,即数据和操作数据的方式是分离开的,而且实现上相当复杂一点,涉及大量指针操作...而且每个方法不需要传递Stack*的参数了,编译器编译之后该参数会自动还原,即C++中 Stack * 参数是编译器维护的,C语言中需用用户自己维护。

8310

C语言入门经典书籍_C语言从入门精通

笔者呕心沥血翻阅十几本C语言入门书,去其糟粕取其精华,推荐以下这些C语言入门经典书籍,希望你能少走弯路,走入C语言的神奇世界。...《啊哈C!思考快你一步》(191页)推荐指数:★★★★☆ 这是唯一一本实体书和电子版我都没能接触到的,或许是不够热门,网上找不到完整的pdf,连出版前的草稿版《啊哈C语言》也仅公开了一半。...不过小学生能接受的程度毕竟是有限的,本书定位是如此的低,以至于只介绍了C最浅的那部分知识,更多篇幅用来举例、增加读者的编程兴趣,简直太适合零基础入门了!...此书写得非常严 谨,必要之处还提及老版C的情况,可以说学C必看,但并不适合零基础入门,正如其第1版序中所言:“本书并不是一本有关程序设计的入门性手册,它要求读者 熟悉基本的程序设计概念,如变量、赋值语句...从头至尾使用的均是书面化的术语,并涉及逆波兰、二叉树、Unix等专业知识,还时常将C 与Fortran、Pascal语言进行比较,你若不了解这些看着一定头痛,因此K&R并不是入门的最佳选择。

3K31

C++从入门精通——缺省参数

在许多编程语言中,如Python、Java和C++等,都支持缺省参数的概念。下文将以C++为例,通过在函数定义时为某些参数指定默认值,就可以创建出可以接受可变数量参数的函数。...在 C++ 中可以分为以下几种类型: 位置参数的缺省参数 全缺省参数 void Func(int a = 10, int b = 20, int c = 30) { cout<<"a = "...<<a<<endl; cout<<"b = "<<b<<endl; cout<<"c = "<<c<<endl; } 半缺省参数 void Func(int a, int b =...10, int c = 20) { cout<<"a = "<<a<<endl; cout<<"b = "<<b<<endl; cout<<"c = "<<c<<endl...需要注意的是,在 C++ 中,缺省参数只能从右到左连续出现,即在参数列表中,缺省参数必须位于非缺省参数的右侧。 lambda表达式 在C++中,lambda表达式被用于创建匿名函数。

5710

C++从入门精通——命名空间

一、命名空间 引例 #include #include int rand = 10; // C语言没办法解决类似这样的命名冲突问题,所以C++提出了namespace...是因为在C语言中的stdlib.h中的rand函数和我们定义的变量冲突了,这种情况在C语言中我们只能通过改变参数的名字来解决这种情况,但是在C++完全不用担心这种情况,因为C++中有着命名空间namespace...namespace bit { …… } 在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。...例如,在C++标准库中,所有的标准函数和类都被定义在一个名为std的命名空间中,这样我们在使用标准库时就需要通过std::前缀来访问其中的元素。 除了C++,其他编程语言也提供了类似命名空间的机制。...通过合理地使用它们,我们可以编写出更加高效、可读和可维护的C++代码。

6410

C++从入门精通——函数重载

我们以c语言为例,关于具体的编译和链接的过程可看——C语言从入门实战——编译和链接 实际项目通常是由多个头文件和多个源文件构成,而通过C语言从入门实战——编译和链接这篇文章,我们可以知道,【当前a.cpp...由于Windows下vs的修饰规则过于复杂,而Linux下g++的修饰规则简单易懂,下面我们使用了g++演示了这个修饰后的名字。 通过下面我们可以看出gcc的函数修饰后名字不变。...采用C语言编译器编译后结果 结论:在linux下,采用gcc编译完成后,函数名字的修饰没有发生改变。...采用C++编译器编译后结果 结论:在linux下,采用g++编译完成后,函数名字的修饰发生改变,编译器将函数参数类型信息添加到修改后的名字中。...Windows下名字修饰规则 对比Linux会发现,windows下vs编译器对函数名字修饰规则相对复杂难懂,但道理都是类似的,我们就不做细致的研究了。

11310

C++从入门精通——内联函数

一、内联函数概念 为什么会出现内联函数 C语言使用宏定义编写两数交换 引例:C语言可以使用宏定义实现两数交换的功能。...在C语言中没有内联函数的概念,我们通常会使用宏定义来实现,但是宏定义的写法过于困难,如上所示的宏定义实现的交换,所以便在C++中便提出内联函数这个概念,来替代宏定义写的函数。...内联函数的优点有以下几点: 减少函数调用的开销:函数调用会涉及栈的操作、参数传递和返回值的处理等,而内联函数的代码直接嵌入调用的地方,避免了这些开销。...减少函数调用带来的代码膨胀:函数调用会导致代码中出现大量的跳转指令,而内联函数的代码直接嵌入调用的地方,可以减少跳转指令的数量,使代码更加紧凑。...提高缓存命中率:内联函数的代码嵌入调用的地方,可以减少函数调用时的跳转,使得程序的指令更加连续,更有可能被CPU缓存命中,提高程序的执行效率。

7210

Linux入门精通(十)——进程管理

当进程获得处理器而运行时 ,state的值仍然为TASK_RUNNING,并不发生改变;但Linux会把一个专门用来指向当前运行任务的指针current指向它,以表示它是一个正在运行的进程。...这个状态被应用在内核中某些场景中,比如当进程需要对磁盘进行读写,而此刻正在DMA中进行着数据内存的拷贝,如果这时进程休眠被打断(比如强制退出信号)那么很可能会出现问题,所以这时进程就会处于不可被打断的状态下...一般和"-n"选项合用,用于把 top 命令重定向文件中; -n 次数:指定 top 命令执行的次数。...如果我们想要看到所有的进程,则可以把 top 命令的执行结果重定向文件中。 不过 top 命令是持续运行的,这时就需要使用 “-b” 和 “-n” 选项了。...-c:取消同名程序,合并显示。 -h:对输出结果进行处理,高亮显示正在执行的程序。 -l:长格式显示。 -n:以 PID 大小排序。 -p:显示 PID。 -u:显示 UID 信息。

1.2K50

Linux入门精通(十二)——shell编程

shell编程 1. shell和shell脚本 1.1 shell Shell是一种具备特殊功能的程序,它是介于使用者和UNIX/Linux操作系统之核心程序 ( kernel) 之间的一个接口。...目前几乎所有的Linux系统 都支持它,将其作为应急Shell使用。 C Shell (简称csh) :C Shell由加利福尼亚大学 伯克利分校开发。...1.2 shell脚本 Shell脚本:按照一定的语法结构把若干linux命令组合在一起,实现特定的功能。 Shell 脚本是纯文本文件。 Shell 脚本通常以.sh 作为后缀名,但不是必须。...$#:传递脚本的参数的数量; $*:以"参数1参数2… "形式保存所有参数; $@:以"参数1" “参数2” …形式保存所有参数; $?...[root@VM-24-17-centos shellstudy]# read a b c 1 2 3 4 5 [root@VM-24-17-centos shellstudy]# echo ${c}

4.7K30

Linux入门精通系列之NFS

Linux 服务器端NFS 服务器的配置    以root 身份登陆Linux 服务器,编辑/etc 目录下的共享目录配置文件exports,指定共享目录及权限等。    ...  最后执行如下命令启动NFS 服务,此时NFS 会激活守护进程,然后就开始监听 Client 端的请求:   # /etc/rc.d/init.d/NFS start   用户也可以重新启动Linux...在NFS 服务器启动后,还需要检查Linux 服务器的防火墙等设置(一般需要关闭防火墙服务),确保没有屏蔽掉NFS 使用的端口和允许通信的主机,主要是检查Linux 服务器iptables,ipchains...我们首先在Linux 服务器上进行NFS 服务器的回环测试,验证共享目录是否能够被访问。...在Linux 服务器上运行如下命令:   # mount –t NFS 192.168.0.20:/home/work /mnt   # ls /mnt   命令将Linux 服务器的NFS

1.5K40

Linux入门精通系列之NFS

Linux 服务器端NFS 服务器的配置     以root 身份登陆Linux 服务器,编辑/etc 目录下的共享目录配置文件exports,指定共享目录及权限等。  ...start   最后执行如下命令启动NFS 服务,此时NFS 会激活守护进程,然后就开始监听 Client 端的请求:   # /etc/rc.d/init.d/NFS start   用户也可以重新启动Linux...在NFS 服务器启动后,还需要检查Linux 服务器的防火墙等设置(一般需要关闭防火墙服务),确保没有屏蔽掉NFS 使用的端口和允许通信的主机,主要是检查Linux 服务器iptables,ipchains...我们首先在Linux 服务器上进行NFS 服务器的回环测试,验证共享目录是否能够被访问。...在Linux 服务器上运行如下命令:   # mount –t NFS 192.168.0.20:/home/work /mnt   # ls /mnt   命令将Linux 服务器的NFS 输出共享目录挂载到

1.1K20
领券