Linux学习笔记(一)

VM的网络适配器

  • 桥接模式(B):直接连接物理网络。VM上的Linux能和其所在局域网的主机进行通信,但容易造成IP冲突
  • NAT模式(N):用于共享主机的IP地址。网络地址转换方式:VM上的Linux可以访问外网,且不会造成IP冲突,相当于VM和win10形成了一个新的子局域网
  • 仅主机模式(H):与主机共享的专用网络。VM上的Linux是一个独立的主机,不能访问外网
  • 实现VM和win10共享文件夹,首先要安装好vmtools工具,教程传送门:https://www.cnblogs.com/acgoto/p/11570188.html
    。但是在实际公司开发中,文件的上传下载(个人推荐使用WinSCP软件)是需要使用远程方式完成的。安装好vmtools工具后在E盘下新建一个文件夹myShare,同时创建一个新的文件hello.txt并往里写一些内容,接下来只需按教程设置即可。
  • 键入命令:vmware-hgfsclient,查看共享目录是否已经设置成功。
  • 手动挂载共享目录:在/mnt/hgfs目录下创建myShare文件夹,然后键入命令:vmhgfs-fuse .host:/myShare /mnt/hgfs/myShare/进行手动挂载,其中myShare是共享文件夹名,/mnt/hgfs/myShare/是挂载目录名。键入命令:cat hello.txt查看hello.txt文件内容。我们往hello.txt文件里添加一些内容,然后到win10下查看文件内容。到这里手动挂载已经成功,但这种挂载每次关机就会失效,我们还是得重新执行一次挂载命令。
  • 自动挂载共享目录:键入命令:vim /etc/fstab打开文件,往里添加一条挂载信息.host:/myShare /mnt/hgfs/myShare/ fuse.vmhgfs-fuse allow_other,defaults 0 0,保存文件并退出。
  • 键入命令:mount -a,使刚刚写入的挂载信息立即生效。如果该目录已经挂载了东西,会提示下面的内容,到此共享文件夹设置完毕!
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option

一句经典的话:在Linux世界里,一切皆文件!!!

Linux目录结构
  • Linux目录功能

/:Linux目录有且仅有一个根目录。
/bin:存放常用的二进制可执行命令,如ls,mv等,通常与/usr/bin内容一样。
/dev:存放与设备有关的特殊文件,如/dev/fd0代表软盘,/dev/cdrom代表光盘。
/media:linux系统会自动识别一些设备,例如U盘光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/opt:存放安装软件包的目录。如安装ORACLE数据库就可放到该目录下。默认为空。
/etc:存放系统管理和配置的文件,如用户的账号、密码以及系统的主要设置。
/home:为用户设置的主目录,如john的主目录是/home/john,用~表示。
/lib:标准程序设计库,或动态链接共享库,其作用类似于Windows里的DLL文件。
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/sbin:系统管理命令,存放系统管理员程序,如fdisk、mount等。
/boot:存放Linux核心启动关闭系统有关的文档
/root:系统管理员的主目录
/mnt:其他文件系统的挂载点
/var:系统预先设置的工作目录,如各种服务的日志文件收发的邮件等。
/proc(一般别动):虚拟目录,是系统内存的映射,通过访问该目录获取系统信息
/tmp:公用的临时文件存储点
/srv(一般别动):service的缩写,该目录存放一些服务启动之后需要提取的数据。
/sys(一般别动):这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统。
/selinux [security-enhanced linux](360):SELinux是一种安全子系统,它能控制程序只能访问特定文件
/usr:最庞大和最主要的目录之一,要用到的应用程序和文件几乎都在这个目录,类似于Windows下的program files目录
其中包括:
/usr/bin:应用程序
/usr/sbin:超级用户的管理程序。
/usr/local:存放本地增加的命令。这是给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。
/usr/lib:存放常用动态链接库软件包的配置文件
/usr/src:保存Linux内核的源代码,编译内核时必须用到。
/usr/share:Linux的说明文档。
/usr/include:Linux下编程需要的头文件。


  • 所有的 Linux 系统都会内建vi文本编辑器

vi 和vim常用的三种模式

  • 正常模式:以 vim 打开一个档案就直接进入的默认模式。在此模式中, 可以使用『上下左右』按键来移动光标,可以使用『删除字符』或『删除整行』来处理档案内容,也可以使用『复制、贴上』来处理你的文件数据。
  • 插入模式:一般按i进入编辑模式
  • 命令模式:在此模式中, 可以完成读取存盘替换离开vim显示行号等操作!

vi和vim模式的相互切换

  • 正常模式下输入: 或者/进入命令模式,例如:(存盘::wq), (退出::q),(强制退出::q! )。按i或者a进入编辑模式
  • 命令模式下按Esc键回到正常模式
  • 编辑模式下按Esc键回到正常模式

vi 和vim快捷键

正常模式下,拷贝当前行:yy;拷贝当前行向下的5行:5yy粘贴:按p
正常模式下,删除当前行:dd ,删除当前行向下的5行:5dd
查找文件中某个关键字,命令模式下:/关键字--->回车--->查找--->输入n查找下一个关键字
设置文件的行号,正常模式下::set nu;取消文件的行号:set nonu
快速到达文档的最末行,正常模式下:按G最首行:按gg
撤销刚输入的内容 ,回到正常模式:按u
将当前光标移动到第30行,正常模式下:set nu--->30 shift+g


  • 立即关机:shutdown -h now(root用户使用)。参数-h:关机后不重新启动。
  • 设置1分钟之后自动关机:shutdown -h 1
  • 立即停止然后重新启动linux:shutdown -r now。参数-r:关机后立即重新启动。
  • 重启计算机:reboot
  • 立刻关机:halt
  • 把内存的数据同步到磁盘:sync
  • 切换到某个用户:su - 用户名,返回到原来的用户:exit
  • 退出远程登陆(注销用户):logout

su root 和 su - root 的区别

  • su默认切到 root,即su只能获得root的执行权限,不能获得环境变量
  • su -是切换到root用户并获得root的环境变量及执行权限。
  • 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。

  • Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。以下几个都只能在root系统管理员下执行。
  • 添加用户:useradd 用户名。默认创建的用户家目录名和用户名一致。
  • 给新创建的用户指定家目录:useradd -d 指定新的目录名 新的用户名。此种方法中目录名和用户名可以不一致。
  • 给用户指定或修改密码:passwd 用户名
  • 删除用户但保留家目录:userdel 用户名
  • 删除用户以及用户主目录:userdel -r 用户名。参数-r:删除用户登入目录以及目录中所有文件。参数-f:强制删除用户(甚至当用户已经登入 Linux 系统时此选项仍旧生效)。
  • 查询用户信息:id 用户名。例如:id root:uid=0(root) gid=0(root) 组=0(root),依次表示为用户id号,所在组的id号,组名。当用户不存在时,返回( no such user)“无此用户”。
  • 查看当前登录用户:whoamiwho am I
  • 用户组:类似于角色,系统可以对有共性的多个用户进行统一的管理:groupadd 组名
  • 删除组:groupdel 组名
  • 添加用户时指定所属组:useradd –g 用户组 用户名。注意:此时指定的用户组必须存在!
  • 修改用户的组:usermod –g 用户组 用户名

用户和组的相关文件

  • /etc/passwd文件:用户(user)配置文件,记录用户的各种信息。 每行的含义: 用户名:密码口令:用户标识号:组标识号:注释性描述语句::主目录:登录Shell(对应的shell解析器)
  • /etc/group文件:组(group)配置文件,记录Linux包含各个组的信息。每行含义:组名: 组的密码口令: 组标识号: 组内用户列表(被隐藏)
  • /etc/shadow文件:口令配置文件(包含密码和登录信息,是加密文件)。每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

Centos7的7个运行级别:

0 :关机(poweroff.target)
1 :单用户【找回丢失密码】(rescue.target)
2:多用户状态无网络服务(multi-user.target)
3:多用户状态有网络服务(multi-user.target)
4:系统未使用保留给用户(multi-user.target)
5:图形界面(graphical.target)
6:系统重启(reboot.target)

  • 查看当前的运行级别:runlevel
  • 查看系统默认的运行级别:systemctl get-default
  • 运行级别之间的切换:init 级数
  • 修改系统默认的运行级别:systemctl set-default 级别名.target
  • 面试题:CentOS 6 & 7 忘记root密码的修改方法。提示:进入单用户运行级别后不用输入口令即可登入root用户:https://www.linuxidc.com/Linux/2018-01/150211.htm

帮助指令

  • man [命令或配置文件](功能:获得帮助信息),例如:man ls
  • help 命令(功能描述:获得shell内置命令的帮助信息),例如:help cd

你可能感兴趣的:(Linux学习笔记(一))