2021年3月-第01阶段-Linux基础-Linux系统概念-Linux命令
Linux系统基本概念
图形界面:
-
Ctrl+Shift +号 //调整命令终端变大
-
Ctrl - 号 //调整命令终端变小
命令终端:
-
~ 家目录:用户的私有场所,其他用户不能随便访问
-
root超级管理员家目录:/root
-
普通用户的家目录:/homt/用户名同名,lisi用户的家目录:/home/lisi
Linux系统而言:
-
多用户的系统:允许同时有很多个用户登录系统,使用系统里的资源
-
多任务的系统:允许同时执行多个任务
-
严格区分大小写:命令,选项,参数,文件名,目录名都严格区分大小写
-
一切皆文件:硬件设备(内存、CPU、网卡、显示器、硬盘等等)都是以文件的形式存在的
-
不管是文件还是目录都是以倒挂的树形结构,存在于系统的“/”根目录下,根目录是Linux系统的起点
-
对于Linux系统而言,目录/文件没有扩展名一说,扩展名如:.sh(脚本文件) .conf(配置文件)
.log(日志文件) .rpm(软件包).tar(压缩包)是易于用户方便识别 -
没有提示就是最好的提示(成功了)
快捷键
Ctrl + l:清屏
Ctrl + c:取消当前执行的命令
键盘上下键调出历史命令
exit:退出系统
命令行一般命令格式
命令字 [-选项...] [参数...]
-
命令字:命令本身(功能)
-
选项:
-
短选项:-l -a -d -h(单个字符),短选项可以合并使用:-la -lh
-
长选项:--help(单词),长选项通常是不能合并使用的
-
-
参数:命令的执行对象,文件/目录/程序等
-
[]:可选的
-
...:可以同时有多个选项或参数
学习方法
-
遇到问题:前期不要求你们有排错的能力
-
思考自己能不能解决:百度、Google、最后在问老师
-
主动学习的爱好,不要被动学习
-
不要死磕一个技术点,低头学习的时候不要忘了抬头看路
Linux系统辨别目录与文件的方法
蓝色表示目录(windows系统里的文件夹)
白色表示文件
浅蓝色表示链接文件(类似于windows系统的快捷方式)
绿色表示可执行文件(如脚本,命令程序文件)
红色表示压缩文件
黄色表示设备文件(硬盘、键盘、鼠标、网卡、CPU硬件设备都是以文件的形式存在的)
红色闪动文件——>表示链接文件不可用
ls命令
ls命令(英文全拼:list):用于查看目录下内容及目录和文件详细属性信息
命令格式:ls [-选项...] [参数...]
常用选项:
-
-a 显示目录下所有内容,包含隐藏的内容
-
-l 以长格式显示目录下的内容及详细属性
-
-h 人性化显示目录下内容大小(kB、MB、GB)
-
-d 仅显示目录本身而不显示目录下的内容
-
-i 查看inode号(系统任何的文件或目录都有一个唯一的编号)
-
-R:递归查看目录下所有内容(从头到尾)
Linux系统文件类型
-文件:
d 目录:
l 链接文件
b 跨设备文件
c 字符设备文件
p 管道设备文件
s 套接字
Linux系统下的归属关系
在Linux系统下,文件给用户分成了三类
-
u 所有者:文件或目录的拥有者,拥有者的权限通常是最大的
-
g 所属组:文件或目录属于哪一个组,所属组的权限略微比所有者小
-
o 其他人:既不是文件或目录的所有者,也部署于文件或目录组内的成员,其他人的权限通常最小的权限
ls命令示例:
//显示当前所在目录下的所有内容
[root@localhost ~]# ls
//查看根目录下所有内容
[root@localhost ~]# ls /
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
//查看/etc目录下所有内容
[root@localhost ~]# ls /etc
//查看/bin目录下所有内容
[root@localhost ~]# ls /bin
//查看/dev目录下所有内容
[root@localhost ~]# ls /dev
//查看目录下所有目录和文件,包括隐藏的内容
[root@localhost ~]# ls -a
//以长格式显示目录下所有内容,包括详细的属性信息
[root@localhost ~]# ls -l
-rw-r--r--. 1 root root 1831 3月 13 17:45 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 3月 13 17:47 公共
#解释
-:文件类型
1:代表文件的引用次数,只针对与做了硬连接的文件才有效
root:文件的所有者
root:文件的所属组
1831:文件的大小,默认以字节为单位显示大小
3月 13 17:45:文件最近一次的修改时间
initial-setup-ks.cfg:文件名
//以长格式显示目录所有内容,以人性化的方式显示详细的属性信息
[root@localhost ~]# ls -l -h
//短选项合并使用
[root@localhost ~]# ls -lh
//以长格式显示目录所有内容,以人性化的方式显示详细的属性信息,包括隐藏的内容
[root@localhost ~]# ls -lha
//以长格式显示根目录下所有内容,包括详细的属性信息
[root@localhost ~]# ls -l /
lrwxrwxrwx. 1 root root 7 3月 13 17:15 bin -> usr/bin
//创建hello.txt文件
[root@localhost ~]# touch hello.txt
//查看文件的元数据信息
[root@localhost ~]# stat hello.txt
文件:"hello.txt"
大小:0 块:0 IO 块:4096 普通空文件
设备:fd00h/64768d Inode:33575020 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2021-03-14 16:38:14.349861770 +0800
最近更改:2021-03-14 16:38:14.349861770 +0800
最近改动:2021-03-14 16:38:14.349861770 +0800
创建时间:-
Linux基本权限的类别
-
r 读取 w 写入 x 执行 - 没有权限
-
权限顺序:rwxrwxrwx
[root@localhost ~]# ls -l
-rw-r--r--. 1 root root 1831 3月 13 17:45 initial-setup-ks.cfg
#解释
-:文件类型
rw- r-- r--:所有者u、所属组g、其他人o的权限
u g o
1:代表文件的引用次数,只针对与做了硬连接的文件才有效
root:文件的所有者
root:文件的所属组
1831:文件的大小,默认以字节为单位显示大小
3月 13 17:45:文件最近一次的修改时间
initial-setup-ks.cfg:文件名
//查看/root目录本身详细属性信息
[root@localhost ~]# ls -ld /root
dr-xr-x---. 14 root root 4096 3月 14 16:38 /root
//查看当前目录下所有内容的inode号
[root@localhost ~]# ls -i
33574979 anaconda-ks.cfg 33574984 initial-setup-ks.cfg 33575035 模板 33575036 图片 17470701 下载 17470702 音乐
33575020 hello.txt 51909391 公共 51909392 视频 3204374 文档 33575017 新建文件夹.zip 3204373 桌面
//查看hello.txt文件的inode号
[root@localhost ~]# ls -i hello.txt
33575020 hello.txt
//查看/etc/目录本身的inode号
[root@localhost ~]# ls -id /etc
16777281 /etc
mkdir命令
-
mkdir(英文全拼:make directory)用于创建新目录
-
命令格式:mkdir [-选项] 目录名
-
常用选项:
-p 递归创建多个目录
注意事项:
-
目录还是文件的名字,除了以“/”以外的任意名称,“/”根目录,路径分隔符
-
文件或目录的名字长度不能超过255个字符
mkdir命令示例
//在当前所在目录创建test目录
[root@localhost ~]# mkdir test
[root@localhost ~]# ls
//在当前所在目录同时创建多个目录
[root@localhost ~]# mkdir test1 test2 test3
[root@localhost ~]# ls
//指定在/tmp目录下创建abc目录
[root@localhost ~]# mkdir /tmp/abc
[root@localhost ~]# ls /tmp
abc
//在指定目录下同时创建多个目录
[root@localhost ~]# mkdir /tmp/abc1 /tmp/abc2 /tmp/abc3
[root@localhost ~]# ls /tmp
//在/opt目录下创建student,在当前目录创建student1..3
[root@localhost ~]# mkdir /opt/student student1 student2 student3
[root@localhost ~]# ls /opt
rh student
//mkdir默认无法在一个不存在的目录下创建目录,需要通过-p选项
[root@localhost ~]# mkdir /opt/xx/oo
mkdir: 无法创建目录"/opt/xx/oo": 没有那个文件或目录
[root@localhost ~]# mkdir /opt/a/b/c/d
mkdir: 无法创建目录"/opt/a/b/c/d": 没有那个文件或目录
//在/opt目录下递归创建目录
[root@localhost ~]# mkdir -p /opt/xx/oo
[root@localhost ~]# ls /opt
rh student xx
[root@localhost ~]# mkdir -p /opt/a/b/c/d
[root@localhost ~]# ls /opt
a rh student xx
//ls -R选项可以递归目录下所有内容
[root@localhost ~]# ls -R /opt/a
/opt/a:
b
/opt/a/b:
c
/opt/a/b/c:
d