Hello~大家好!我是今越,今天开始我会陆续发布关于Linux操作系统的文章,这些内容来源于平时的学习笔记,希望对大家有所帮助。鉴于个人水平有限,文中难免会有不足之处,欢迎留言评论。需要转载的朋友,请注明出处。文章内容整理不易,感谢点赞和收藏。一起加油!:)
在 Linux 世界里,一切皆文件!它的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”
,然后是其它的目录。
一、目录结构
目录结构说明
/bin [常用] (/usr/bin、/usr/local/bin)是 Binary 的缩写,这个目录存放着最经常使用的命令;
/sbin (/usr/sbin、/usr/local/sbin)s 是 Super User 的意思,存放系统管理员使用的系统管理程序;
/home [常用] 存放普通用户的主目录,每个用户都有一个自己的目录,通常以用户的账号来命名;
/root [常用] 该目录为系统管理员,也称作超级权限者的用户主目录;
/lib 系统开机所需要最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件,几乎所有的应用程序都需要用到这些共享库;
/lost + found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件;
/etc [常用] 所有的系统管理所需要的配置文件和子目录,比如安装 mysql 数据库时的 my.cnf;
/usr [常用] 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 Windows 下的 program files 目录;
/boot [常用] 存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件;
/proc [不能动] 这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息;
/srv [不能动] service 缩写,该目录存放一些服务启动之后需要提取的数据;
/sys [不能动] 这是 linux 2.6 内核的一个重大变化,该目录安装了 2.6 内核新出现的一个文件系统 sysfs;
/tmp 这个目录是用来存放一些临时文件的;
/dev 类似于 Windows 的设备管理器,把所有的硬件用文件的形式存储;
/media [常用] Linux 系统会自动识别一些设备,例如U盘,识别后 Linux 会把识别的设备挂载到该目录;
/mnt [常用] 系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将外部的存储挂载在该目录上,然后进入该目录就可以查看里面的内容了;
/opt 这是给主机额外安装软件所存放的目录。例如安装 Oracle 数据库就可能放到该目录,默认为空;
/usr/local [常用] 这是另一个给主机额外安装软件所存放的目录。一般是通过编译源码方式安装的程序;
/var [常用] 这个目录中存放着在不断扩充的东西,将经常被修改的文件放在该目录,例如各种日志文件;
/selinux [security - enhanced linux] SELinux 是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置;
二、目录命令
2.1 命令基本格式
[root@localhost ~]# 命令 [选项] [参数]
说明
root
当前登录用户
localhost
主机名
~
当前所在目录(家目录)
#
超级用户的提示符
$
普通用户的提示符
注意
1)个别命令使用不遵循此格式;
2)当有多个选项时,可以写在一起;
3)简化选项与完整选项,例如:-a 等价于 --all
2.2 ls
功能描述:查看当前目录的所有内容信息
ls [选项] [目录或文件]
选项
-a
查看全部的文件,包括隐藏文件
-l
列出所有的文件,包含文件的属性和权限,没有隐藏文件
-i
显示文件的 inode 节点信息
-h
以非字节的形式,显示文件的大小
-d
显示当前目录的属性
2.3 cd
功能描述:切换到指定目录
cd [参数]
案例
1)cd ~
进入当前用户的家目录
2)cd
进入当前用户的家目录
3)cd -
回到上次访问的目录
4)cd ..
回到当前目录的上一级目录
注意
区分绝对路径和相对路径
相对路径:参照当前所在目录,进行查找;
绝对路径:从根目录开始指定,一级一级递归查找;
2.4 pwd
功能描述:显示当前工作目录的绝对路径
pwd [选项]
选项
-P
显示出真实的路径,而非使用链接路径
案例
2.5 mkdir
功能描述:创建目录
mkdir [-p] [目录名]
选项
-p
递归创建多级目录,例如,mkdir -p /a/b/c
-m
配置文件的权限。直接配置,不受默认权限(umask)的约束
案例
2.6 rmdir
功能描述:删除空目录
rmdir [目录名]
说明
1)rmdir 删除的是空目录,如果目录下有内容时是无法删除的;
2)如果需要删除非空目录,使用 rm -rf
要删除的目录;
三、运行级别
运行级别(0 - 6)说明:
0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是 3 和 5,也可以指定默认运行级别。
通过 init [0123456]
来切换不同的运行界别,例如,从运行级别 5 切换到 3,使用 init 3
CentOS7 后运行级别说明
在 CentOS7 后,/etc/inittab
文件中进行了简化,如下:
multi-user.target : analogous to runlevel 3
graphical.target : analogous to runlevel 5
#To view current default target, run:
systemctl get-default
#To set a default target, run:
systemctl set-default TARGET.target
3.1 runlevel
功能描述:查看系统运行级别
runlevel
3.2 init
功能描述:修改系统运行级别
init 运行级别
说明
1)修改系统的默认运行级别,即系统开机后直接进入哪个运行级别
配置文件为 /etc/inittab
id:3:initdefault:
四、关机 & 重启
4.1 sync
功能描述:把内存的数据同步到磁盘
sync
说明
1)不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写入到磁盘;
2)shutdown / reboot / halt 等命令均已经在关机前进行了 sync;
4.2 shutdown
功能描述:关机或重启
shutdown [选项] 时间
选项
-h
关机
-r
重启
-c
取消前一个关机命令
说明
1)shutdown 方式更加安全,在服务器关机重启时会正确保存服务;
2)其它关机命令有:halt / poweroff / init 0
;
案例
1)shutdown -h now
立刻关机
2)shutdown -h 10
10分钟后关机
3)shutdown -r now
立刻重启
4.3 reboot
功能描述:重启
reboot
说明
1)其它重启命令:init 6
;
五、登录 & 注销
1)登录时尽量少用 root 账号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用 “su - 用户名”
命令来切换成系统管理员身份;
2)在提示符下输入 logout 即可注销用户;
3)logout 注销命令在图形运行级别下无效,在运行级别 3 下有效;
5.1 logout
功能描述:注销用户
logout
5.2 w & who
功能描述:查看登录用户的信息
w 用户名
who 用户名
说明
1)w 显示参数说明
USER
登录的用户名
TTY
登录终端
FROM
从哪个IP地址登录
LOGIN@
登录时间
IDLE
用户闲置时间
JCPU
指的是和该终端连接的所有进程占用的时间。这个时间并不包括过去的后台作业时间,但
却包括当前正在运行的后台作业所占用的时间
PCPU
是指当前进程所占用的时间
WHAT
当前正在运行的命令
2)who 显示参数说明
用户名
登录终端
登录时间(登录来源 IP 地址)
案例
5.3 last
功能描述:查看当前登录和过去登录的用户信息
last
说明
1)默认是读取 /var/log/wtmp
文件数据,该文件时二进制数据,必须用 last 命令才能查看;
2)last 显示参数说明
用户名
登录终端
登录 IP
登录时间
退出时间(在线时间)
5.4 lastlog
功能描述:查看所有用户的最后一次登录时间
lastlog
说明
1)默认是读取 /var/log/lastlog
文件内容;
2)lastlog 显示参数说明
用户名
登录终端
登录 IP
最后一次登录时间
六、多命令顺序执行
多命令执行符 | 格式 | 作用 |
---|---|---|
; | 命令1; 命令2 | 多个命令顺序执行,命令之间没有任何逻辑联系 |
&& | 命令1&& 命令2 | 逻辑与:命令1正确执行,命令2才会执行;命令1执行不正确,命令2不会执行 |
|| | 命令1|| 命令2 | 逻辑或:命令1执行不正确,命令2才会执行;命令1正确执行,命令2不会执行 |
管道符命令格式说明
功能描述:命令 1 的正确输出,作为命令 2 的操作对象
命令1 | 命令2
说明
1)管道符的作用,区别于多命令顺序执行中的逻辑与 &&;
案例
1)ls -l /etc | more
分屏查看 ls 命令执行的结果
2)netstat -an | grep ESTABLISHED | wc -l
查看正在访问 Linux 系统的客户端数目
慢慢来,保持专注,一点一点进步!
文章持续更新,感谢大家的点赞、收藏和评论,我是今越,我们下期再见:)