Linux学习
目录
一、基本介绍
二、目录结构
三、Linux远程登录
四、vi和vim的使用
五、开机、重启和用户登录注销指令
六、用户和用户组管理
七、实用指令---运行级别和找回root密码
一、基本介绍:
linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录 “/” ,然后在此目录下再创建其他的目录
Linux世界中,一切皆文件
二、目录结构
/bin:
bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot:
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:
这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt:
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件。
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux:
这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv:
该目录存放一些服务启动之后需要提取的数据。
/sys:
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:
这个目录是用来存放一些临时文件的。
/usr:
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/usr/bin:
系统用户使用的应用程序。
/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:
内核源代码默认的放置目录。
/var:
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。
总结:
- linux的目录中有且只有一个根目录
- linux的各个目录存放的文件是规划好的,不要乱放文件
- linux以文件的形式管理我们的设备,一切皆文件
- linux各个目录下存放什么内容,要熟悉
- 记得目录树
三、Linux远程登录
Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器。这时我们就需要远程登录到Linux服务器来管理维护系统。
所需软件: XShell(用以远程登录Linux) Xftp(用以远程上传和下载文件的软件)
注意需要Linux开启一个 sshd 服务,默认在22端口
开启方式:命令行中输入 setup -----> 选择 System services ------->找到sshd
安装完Xhsell(安装过程很简单),进行远程登录:
安装完Xftp,这里协议选 SFTP,这样端口号才是22,用户名写上root
连接成功
linux是中文的话,可能会有乱码问题,确定后刷新即可
四、vi和vim的使用
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
一些常用实例:
- 拷贝当前行 : 在命令模式下,定位到想拷贝的行,输入 yy ,然后输入 p 即可,拷贝的行在被拷贝行的下一行
- 拷贝当前行的下面 n 行:在命令模式下,定位到想拷贝的行,输入 nyy,然后输入 p 即可,拷贝的行在被拷贝行的下一行
- 删除当前行:在命令模式下,定位到想删除的行,输入dd 即可
- 删除当前行向下的 n 行:在命令模式下,定位到想删除的行,输入 ndd 即可
- 在文件中查找某个单词:在命令模式下, 输入 /查找的单词 ,回车查找 输入 n 查找下一个
- 显示文件的行号或取消行号:底线命令模式下 :set nu(显示) set nonu(取消)
- 到达文档开始或者结尾: 在命令模式下, gg(开始) G(结尾)
- 撤销动作: 在命令模式下, 输入 u
- 将光标移动到指定行: 显示行号(:set nu)-----> 输入 行号 ------> 输入 shift + g
五、开机、重启和用户登录注销指令
开机&重启指令:
shutdown -h now :立即关机
shutdown -h 1: 一分钟后关机
shutdown -r now: 立即重启
halt: 关机
reboot: 立即重启
sync: 将内存中的数据同步到磁盘中
当我们要关机或者重启时,都应该先执行 sync 指令,把内存中的数据同步到磁盘中,防止数据丢失
用户的登录和注销:
logout : 注销
六、用户和用户组管理
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
Linux用户至少需要属于一个组
添加用户
useradd [可选选项] 用户名
参数说明:
-
选项:
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
-
用户名:
指定新账号的登录名。
细节说明:
当用户创建成功后,会自动的创建和用户同名的家目录,也可以通过 useradd -d 指定目录 新的用户名,给新创建的用户指定家目录
设置或修改密码:passwd 用户名
删除用户
userdel 用户名
两种删除方法:
① 删除用户xh,但保留家目录
② 删除用户xm以及用户家目录: userdel -r xm
查询用户信息:id 用户名
切换用户
su - 用户名
添加用户组
groupadd 组名
添加用户到指定组
useradd -g 组名 用户名
修改用户的组
usermod -g 组名 用户名
删除用户组
groupdel 组名
用户和组的配置文件
用户配置文件(用户信息):/etc/passwd
一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
组配置文件(组信息):/etc/group 组名:口令:组标识号:组内用户列表
口令配置文件(密码和登录信息,加密):/etc/shadow 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
七、实用指令---运行级别和找回root密码