关于linux入门:Linux服务器登录注销-用户和用户组管理

登录、登记# 立即关机shutdown -h now# 1分钟后,关机shutdown -h 1 # 立即重启shutdown -r now # 2分钟后,重启shutdown -r 2 #立即关机halt #立即重启reboot#把内存的数据,写入磁盘sync 不论是重启零碎还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中用户治理Linux零碎是一个多用户多任务的分时操作系统,任何一个要应用系统资源的用户,都必须首先向系统管理员申请一个账号,而后以这个账号的身份进入零碎。 用户的账号一方面能够帮忙系统管理员对应用零碎的用户进行跟踪,并管制他们对系统资源的拜访;另一方面也能够帮忙用户组织文件,并为用户提供安全性爱护。 每个用户账号都领有一个惟一的用户名和各自的口令。 用户在登录时键入正确的用户名和口令后,就可能进入零碎和本人的主目录。 实现用户账号的治理,要实现的工作次要有如下几个方面: 用户账号的增加、删除与批改。用户口令的治理。用户组的治理。增加账户useradd 选项 用户名选项: -c comment 指定一段正文性形容。-d 目录 指定用户主目录,如果此目录不存在,则同时应用-m选项,能够创立主目录。-g 用户组 指定用户所属的用户组。-G 用户组,用户组 指定用户所属的附加组。-s Shell文件 指定用户的登录Shell。-u 用户号 指定用户的用户号,如果同时有-o选项,则能够重复使用其余用户的标识号。用户名:指定新账号的登录名。 实例1 useradd –d /home/sam -m sam此命令创立了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录 /home/sam(/home为默认的用户主目录所在的父目录)。 实例2 $ useradd -s /bin/sh -g group –G adm,root gem此命令新建了一个用户gem,该用户的登录Shell是 /bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。 这里可能新建组:#groupadd group及groupadd adm 减少用户账号就是在/etc/passwd文件中为新用户减少一条记录,同时更新其余系统文件如/etc/shadow, /etc/group等。 Linux提供了集成的系统管理工具userconf,它能够用来对用户账号进行对立治理。 删除账户如果一个用户的账号不再应用,能够从零碎中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。 删除一个已有的用户账号应用userdel命令,其格局如下: userdel 选项 用户名罕用的选项是 -r,它的作用是把用户的主目录一起删除,若不加该选项则会保留家目录。 ...

March 18, 2021 · 2 min · jiezi

关于linux入门:makefile葵花宝典

什么是makefile?或者很多Winodws的程序员都不晓得这个货色,因为那些Windows的IDE都为你做了这个工作,但我感觉要作一个好的和professional的程序员,makefile还是要懂。这就如同当初有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要理解HTML的标识的含意。特地在Unix下的软件编译,你就不能不本人写makefile了,会不会写makefile,从一个侧面阐明了一个人是否具备实现大型工程的能力。因为,makefile关系到了整个工程的编译规定。一个工程中的源文件不计数,其按类型、性能、模块别离放在若干个目录中,makefile定义了一系列的规定来指定,哪些文件须要先编译,哪些文件须要后编译,哪些文件须要从新编译,甚至于进行更简单的性能操作,因为makefile就像一个Shell脚本一样,其中也能够执行操作系统的命令。makefile带来的益处就是——“自动化编译”,一旦写好,只须要一个make命令,整个工程齐全主动编译,极大的进步了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比方:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译办法。       当初讲述如何写makefile的文章比拟少,这是我想写这篇文章的起因。当然,不同产商的make各不相同,也有不同的语法,但其本质都是在“文件依赖性”上做文章,这里,我仅对GNU的make进行讲述,我的环境是RedHat Linux 8.0,make的版本是3.80。必竟,这个make是利用最为宽泛的,也是用得最多的。而且其还是最遵循于IEEE 1003.2-1992 规范的(POSIX.2)。 在这篇文档中,将以C/C++的源码作为咱们根底,所以必然波及一些对于C/C++的编译的常识,相干于这方面的内容,还请各位查看相干的编译器的文档。这里所默认的编译器是UNIX下的GCC和CC。 0.1 对于程序的编译和链接    在此,我想多说对于程序编译的一些标准和办法,一般来说,无论是C、C++、还是pas,首先要把源文件编译成中间代码文件,在Windows下也就是 .obj 文件,UNIX下是 .o 文件,即 Object File,这个动作叫做编译(compile)。而后再把大量的Object File合成执行文件,这个动作叫作链接(link)。               编译时,编译器须要的是语法的正确,函数与变量的申明的正确。对于后者,通常是你须要通知编译器头文件的所在位置(头文件中应该只是申明,而定义应该放在C/C++文件中),只有所有的语法正确,编译器就能够编译出两头指标文件。一般来说,每个源文件都应该对应于一个两头指标文件(O文件或是OBJ文件)。        链接时,次要是链接函数和全局变量,所以,咱们能够应用这些两头指标文件(O文件或是OBJ文件)来链接咱们的应用程序。链接器并不论函数所在的源文件,只管函数的两头指标文件(Object File),在大多数时候,因为源文件太多,编译生成的两头指标文件太多,而在链接时须要显著地指出两头指标文件名,这对于编译很不不便,所以,咱们要给两头指标文件打个包,在Windows下这种包叫“库文件”(Library File),也就是 .lib 文件,在UNIX下,是Archive File,也就是 .a 文件。       总结一下,源文件首先会生成两头指标文件,再由两头指标文件生成执行文件。在编译时,编译器只检测程序语法,和函数、变量是否被申明。如果函数未被申明,编译器会给出一个正告,但能够生成Object File。而在链接程序时,链接器会在所有的Object File中找寻函数的实现,如果找不到,那到就会报链接错误码(Linker Error),在VC下,这种谬误个别是:Link 2001谬误,意思说是说,链接器未能找到函数的实现。你须要指定函数的ObjectFile.              好,言归正传,GNU的make有许多的内容,闲言少叙,还是让咱们开始吧。 1 Makefile 介绍       make命令执行时,须要一个 Makefile 文件,以通知make命令须要怎么样的去编译和链接程序。       首先,咱们用一个示例来阐明Makefile的书写规定。以便给大家一个感兴意识。这个示例来源于GNU的make使用手册,在这个示例中,咱们的工程有8个C文件,和3个头文件,咱们要写一个Makefile来通知make命令如何编译和链接这几个文件。咱们的规定是:            1.如果这个工程没有编译过,那么咱们的所有C文件都要编译并被链接。 ...

March 7, 2021 · 22 min · jiezi

关于linux入门:华硕官方源码编译斐讯K2

应用工具VirtualBox 应用Ubuntu 20.04.2 LTS版本。 编译步骤参考的文章间接逐行复制了上面的命令,我理论应用时,第一行我是一个个先用man命令测试了是否曾经装置过。前面就间接复制粘贴了。装置时用过sudo apt install命令,之前看过区别,但当初遗记了。 sudo apt-get install git autoconf automake bash bison bzip2 diffutils file flex sudo apt-get install m4 g++ gawk groff-base libncurses-dev libtool libslang2 make patch perl sudo apt-get install pkg-config shtool subversion tar texinfo zlib1g zlib1g-dev git-core gettext sudo apt-get install libexpat1-dev libssl-dev cvs gperf unzip python libxml-parser-perl gcc-multilib sudo apt-get install gconf-editor libxml2-dev g++-4.7 g++-multilib gitk libncurses5 mtd-utils sudo apt-get install libncurses5-dev libstdc++6-4.7-dev libvorbis-dev g++-4.7-multilib git autopoint sudo apt-get install autogen sed build-essential intltool libelf1:i386 libglib2.0-dev xutils-dev sudo apt-get install lib32z1-dev lib32stdc++6在复制到sudo apt-get install gconf-editor libxml2-dev g++-4.7 g++-multilib gitk libncurses5 mtd-utils时,报了错,后续解决方案写在另一篇文章里装置g++ 4.7 ...

March 1, 2021 · 1 min · jiezi

关于linux入门:VirtualBox-中的Ubuntu-1604-server-与主机Windows-10文件共享

抉择Windows中的一个文件夹作为待共享的文件夹,我选的是share在VirtualBox-设置-共享文件夹,新建一个固定调配的门路,就是选中的文件夹,如下图运行虚拟机,点击设备-装置加强性能,如下图,而后把虚构机关机,在VirtualBox管理器-存储-控制器的地位能够看到第二IDE控制器主通道曾经变成了VBoxLinuxAdditions.iso,如下图从新把虚拟机开机,执行挂载 sudo mount /dev/cdrom /media/cdrom, 胜利后会提醒 mount: /dev/sr0 is write-protected, mounting read-only执行 cd /media/cdrom ,而后执行 sudo ./VBoxLinuxAdditions.run,我这提醒了Please install the gcc make perl packages from your distribution., 依照提醒执行 sudo apt install gcc perl make,装置结束后再次执行 sudo ./VBoxLinuxAdditions.run,这次顺利运行。重启虚拟机,执行 ls /media,能够看到多了一个文件夹 sf_Share ,然而目前还没有拜访权限,再执行一遍 sudo usermod -aG vboxsf $(whoami),而后重启便能够了。再次进入 /media/sf_Share,能够看到windows外面的文件了。参考https://www.cnblogs.com/adfor...

February 28, 2021 · 1 min · jiezi

关于linux入门:VirtualBox中的Ubuntu联网

上次写了一篇Xshell登录虚拟机VirtualBox中的Ubuntu办法,前面发现虚拟机中的Ubuntu没方法联网,又折腾了半天搞定后,又看到对于VirtualBox在桥接模式下无奈联网 解决方案,这个计划也没有尝试,就写写我当初应用的计划吧。 首先,将Virtualbox相应的虚拟机-设置-网络-网卡1,设置为仅主机网络;同时网卡2设置为网络地址转换,两个网卡都要勾上插入网线关上Virtualbox-治理-主机网络管理器,将DHCP服务器关掉,设置成手动配置网卡,记下其IP地址,我的是 192.168.56.1登录虚拟机,执行 sudo vi /etc/network/interfaces, 编辑网卡如下,其中enp0s3是用于主机用Xshell登录的,设置规定 address 前三段和后面第2步的IP保持一致为192.168.56,第四段不一样就行,我设置的是192.168.56.2, netmask设置为255.255.255.0, gateway设置为第二部的IP,我这就是192.168.56.1。而后设置第二个网卡enp0s8,设置成主动就好,这个网卡就是用来联网用的。这样设置完,重启虚拟机应该就能够联网了,试一下 ping baidu.com,看一下曾经能够ping通了。要留神的是,在 /etc/network/interfaces 外面,可能本来只有一个网卡,能够通过 sudo lshw -class network 查问进去另外的网卡信息。还要另外留神,两个网卡的设置要和Virtualbox外面的一一对应,如果设置完不行,能够看一下这里的serial是否和Virtualbox外面的MAC地址对应上参考文章VirtualBox下虚拟机和主机内网互通+虚拟机动态IP的网络配置VirtualBox的四种网络连接形式为VirtualBox中的Ubuntu配置双网卡

February 28, 2021 · 1 min · jiezi

关于linux入门:Xshell登录虚拟机VirtualBox中的Ubuntu方法

在官网下载Xshell,抉择Home/School版本,能够收费应用VirtualBox,设置-网络中抉择桥接网卡,界面名称抉择virtual adapter那个,如下图:在Windows零碎中,控制面板-网络和Internet-网络连接中,选中当初曾经联网的网卡(我的是WLAN)和VirtualBox Host-only network,单击右键,抉择桥接,胜利后的界面如下图:登录虚拟机中的Ubuntu零碎,装置ssh服务,执行 sudo apt install ssh装置胜利后,启动ssh服务,执行sudo service ssh start查看ip地址,执行ifconfig,如下图中的 inet addr:192.168.137.13关上Xshell,文件-新建会话,名称中填入虚拟机的名字,主机填入上一步查到的ip,端口号默认22,点击连贯,依照提醒即可连贯胜利。改成桥接模式会有一个问题,如果没有第3步桥接网络,在Ubuntu启动的时候,会在一步 a start job is running for the raise network 期待5分钟,破费很长时间。这是Linux初始化超时造成的,能够减小等待时间解决(参考 how to fix “ a start job is running for the raise network ” in ubuntu server 16.0 LTS)。

February 25, 2021 · 1 min · jiezi

关于linux入门:为了后续练习集群项目在vm中安装centos

下载centos,抉择DVD 为了进行更具体的配置抉择稍后装置: 而后始终点下一步到这个界面: 电脑是16G的内存就设置虚拟机的内存为4,8G就设置为2CPU是四核八线程,处理器就设置为数量1,每个处理器内核数量为2若是八核十六线程,处理器就设置为数量1,每个处理器内核数量为4 网络适配器就选NAT模式,不知为何我抉择桥接模式总是无奈ping通宿主机 而后点击敞开 点击开启此虚拟机 只有点这两个地位,装置地位点进去什么都不必改,网络和主机名点击关上 本人设置账号密码 剩下就是配置SSH与SFTP了

September 20, 2020 · 1 min · jiezi