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

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 用于设置周期性被执行的指令。

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

    C++从入门到精通---模版

    举例: 在C语言中我们要交换两个数我们需要写一个swap函数,但是如果我们需要交换多个不同类型的数那就要写多个swap函数,那么这样大大降低了我们编程的效率,所以在C++中我们引入了泛型编程的概念,不管是函数还是类...函数模版 函数模板(Function Template)是C++中的一种机制,允许你编写通用的函数,能够处理多种不同类型的数据,而不需要针对每种类型写不同的函数。...size; int _cpacity; }; 我们来进行类的实例化 int main() { list l1; list l2; return 0; } 总结 当模板被介绍到C...在编写模板时,我们可以利用C++的强大类型系统来确保类型安全,并通过模板参数推断简化代码。总的来说,函数模板和类模板为我们提供了一种强大的工具,使得我们能够更加轻松地编写通用、高效的代码。

    25710

    C++11 从入门到精通

    TOC一、引言在C++编程中,数组是一种非常基础且重要的数据结构,它可以存储一组相同类型的元素。...在C++11标准之前,开发者通常使用C风格数组来处理数组数据,但C风格数组存在一些问题,比如无法直接进行对象赋值、无法直接拷贝、数组名会退化为指针等,这些问题给开发带来了一定的困扰。...为了解决这些问题,C++11标准引入了头文件,提供了std::array容器,它是对C风格数组的改进和封装,具有更多的功能和安全性。...本文将详细介绍std::array的相关知识,帮助小白从入门到精通。二、std::array简介2.1 定义std::array是C++11标准库提供的一个固定大小的容器,用于存储特定类型的元素序列。...七、总结std::array是C++11引入的一个非常有用的容器,它结合了C风格数组的性能和可访问性以及容器的优点,提供了一种更安全、更灵活的方式来处理固定大小的数组。

    34200

    C++从入门到精通——模板

    前言 C++模板是C++语言中的一种泛型编程技术,可以实现在编译期间生成不同类型的函数或类。通过使用模板,可以编写通用的代码,使其能够处理多种不同类型的数据。...C++模板可以分为函数模板和类模板两种类型 一、泛型编程 如何实现一个通用的交换函数呢?...如果在C++中,也能够存在这样一个模具,通过给这个模具中填充不同材料(类型),来获得不同材料的铸件(即生成具体类型的代码),那将会节省许多头发。巧的是前人早已将树栽好,我们只需在此乘凉。...template void Swap(T& left, T& right) { T temp = left; left = right; right = temp; } ps:C+...我们也可以使用auto做返回值来推,系统会自动匹配最优的 示例 对于这个函数,func(1)直接调用会出错,因为系统不能推出T的类型是什么,这时候我们必须使用显试实例化 auto做模板函数的返回值 Auto是C+

    39310

    C++从入门到精通——nullptr

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

    2.1K20

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

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

    66810

    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语言中需用用户自己维护。

    3.2K10

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

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

    3.9K31

    Linux从入门到精通的必由之路

    Linux从入门到精通的学习路线可以概括为以下几个阶段。 一、入门阶段 1.1. 了解Linux基础知识 操作系统概念:了解操作系统的基本概念和功能。...Linux发展历史:了解Linux的起源、发展历程和主要贡献者。 Linux发行版:了解常见的Linux发行版,如Ubuntu、CentOS、Fedora等,并选择一个适合自己的发行版进行安装。...安装Linux 安装Linux:选择一个适合自己的Linux发行版(如Ubuntu、CentOS等),在虚拟机或物理机上安装。 1.3....五、总结 Linux的学习是一个循序渐进的过程,从基础知识入手,逐步深入到中级和高级内容。通过系统地学习和实践,掌握Linux的各项技能,可以大大提升工作效率和技术水平。...同时,保持对新技术和新知识的关注和学习,也是成为一名Linux专家的关键。

    21710

    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.8K50

    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}

    5.5K30

    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.9K40

    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; coutc = "c<<endl; } 半缺省参数 void Func(int a, int b =...10, int c = 20) { cout<<"a = "<<a<<endl; cout<<"b = "<<b<<endl; coutc = "cC++ 中,缺省参数只能从右到左连续出现,即在参数列表中,缺省参数必须位于非缺省参数的右侧。 lambda表达式 在C++中,lambda表达式被用于创建匿名函数。

    50910

    C++从入门到精通——string类

    (size_t n, char c)用字符c来填充多出的元素空间。...另外,不同的编译器还可能配置不同的编译选项和版本,这些也可能影响到 std::string 的实现和大小。 因此,如果在不同的编译器下运行相同的代码,可能会得到不同的结果。...例五 字符串相加 class Solution { public: string addstrings(string num1, string num2) { // 从后往前相加,相加的结果到字符串可以使用...深拷贝 如果一个类中涉及到资源的管理,其拷贝构造函数、赋值运算符重载以及析构函数必须要显式给出。一般情况都是按照深拷贝方式提供。...myString; std::cout << "容量:" << myString.capacity() << std::endl; 当容器中的元素数量超过容器的容量时,容器会重新分配内存空间,将之前的元素复制到新的内存空间中

    87910

    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.4K20
    领券