命令终端字段含义介绍
[root@localhost ~]#
解释:
root:当前登录系统用户名(root超级管理员)
localhost :当前主机名
~:当前用户所在目录(~ 为家目录) ,root超级管理员家目录:/root
#: 当前用户身份是超级管理员
[student@localhost ~]$
$:当前用户身份为普通用户,普通用户的家目录:/home/用户名同名
Linux系统基本概念
多用户的系统:允许同时有很多个用户登录系统,使用系统里的资源
多任务的系统:允许同时执行多个任务
严格区分大小写:命令,选项,参数,文件名,目录名都严格区分大小写
一切皆文件:硬件设备(内存、CPU、网卡、显示器、硬盘等等)都是以文件的形式存在的
不管是文件还是目录都是以倒挂的树形结构,存在于系统的“/”根目录下,根目录是Linux系统的起点
对于Linux系统而言,目录/文件没有扩展名一说,扩展名如:.sh(脚本文件) .conf(配置文件) .log(日志文件) .rpm(软件包).tar(压缩包)是易于用户方便识别
没有提示就是最好的提示(成功了)
Linux系统没有回收站
命令行编辑技巧
键盘上下键调出历史命令
Ctrl + c:取消当前执行的命令
Ctrl + l,clear:清屏
tab建自动补齐:可补齐命令、参数、文件路径、软件名
esc + . :将上一条命令参数变成当前命令的执行对象
Ctrl + a:将当前光标移动至行首
Ctrl + e:将当前光标移动至行尾
Ctrl + u 清空至行首
Ctrl + w 删除一个单词
exit:退出系统
命令行一般命令格式
命令字 [-选项...] [参数...]
命令字:命令本身(功能)
选项:调整命令功能的
短选项:-l -a -d -h(单个字符),短选项可以合并使用:-lad -lh
长选项:--help(单词),长选项通常是不能合并使用的
参数:命令的执行对象,文件/目录/程序等
[]:可选的
...:可以同时有多个选项或参数
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 执行 - 没有权限
权限顺序:rwx rwx rwx
[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
r 读取权限,w写入权限,x执行权限,-没有任何权限
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
cd 切换工作目录命令
cd(英文全拼:change directory)切换目录
命令格式:cd [-选项] [目录名]
提示:目录名称可以是绝对路径或相对路径,如果不指定目录名称,则切换到当前用户的家目录~
常用快捷操作:
~ 表示为家目录-
. 表示为当前目录
.. 表示上一级目录
-可在两路径之间来回切换
pwd 打印当前所在目录命令
pwd(英文全拼:print work directory)打印当前所在的工作目录,执行pwd命令后,可显示当前所在的工作目录的绝对路径名称
命令格式:pwd [-选项]
[root@localhost ~]# cd /opt/a/b/c/d
#打印当前所在目录绝对路径
[root@localhost d]# pwd
/opt/a/b/c/d
#切换到用户家目录
[root@localhost d]# cd ~
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /opt/a/b/c/d
[root@localhost d]# pwd
/opt/a/b/c/d
[root@localhost d]# cd
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /bin
[root@localhost bin]# pwd
/bin
[root@localhost bin]# cd /boot
[root@localhost boot]# pwd
/boot
[root@localhost boot]# ls
[root@localhost boot]# cd /dev
[root@localhost dev]# pwd
/dev
[root@localhost dev]# ls
[root@localhost dev]# cd /etc
[root@localhost etc]# pwd
/etc
[root@localhost etc]# ls
[root@localhost etc]# ls /
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
#“.”表示当前所在目录,对于cd命令而言作用不大
[root@localhost etc]# cd .
[root@localhost etc]# cd /opt/a/b/c/d
[root@localhost d]# pwd
/opt/a/b/c/d
#“..”切换到当前目录的上一级目录
[root@localhost d]# cd ..
[root@localhost c]# pwd
/opt/a/b/c
[root@localhost c]# cd ..
[root@localhost b]# pwd
/opt/a/b
[root@localhost b]# cd ..
[root@localhost a]# cd ..
[root@localhost opt]# pwd
/opt
[root@localhost opt]# cd ..
[root@localhost /]# cd ..
[root@localhost /]# cd
[root@localhost ~]# ls
[root@localhost ~]# cd /opt/a/b/c/d
[root@localhost d]# pwd
/opt/a/b/c/d
#"-"可在两个路径之间来回切换
[root@localhost d]# cd /etc/yum
[root@localhost yum]# cd -
/opt/a/b/c/d
[root@localhost d]# pwd
/opt/a/b/c/d
[root@localhost d]# cd -
/etc/yum
[root@localhost yum]# cd -
/opt/a/b/c/d
[root@localhost d]# cd -
/etc/yum
绝对路径与相对路径
绝对路径:以/(根)为起点,到达你想去的目标目录称为绝对路径
相对路径:以当前路径为起点,到达你想去的目标目录
#绝对路径以“/”作为起点,到达目标路径
[root@localhost ~]# cd /opt/a/b/c/d
[root@localhost d]# pwd
/opt/a/b/c/d
#切换到上一级目录
[root@localhost c]# cd ..
[root@localhost b]# pwd
/opt/a/b
[root@localhost b]# ls
c
#相对路径以当前路径作为起点到达目标路径
[root@localhost b]# cd c/
[root@localhost c]# pwd
/opt/a/b/c
[root@localhost c]# cd ..
[root@localhost b]# cd ..
[root@localhost a]# cd ..
[root@localhost opt]# pwd
/opt
rmdir 删除空目录命令
rmdir(英文全拼:remove directory)删除空目录
命令格式:rmdir [-选项] 目录名
#rmdir只能删除空目录,如果目录下存在数据无法删除
[root@localhost ~]# rmdir /opt/a
rmdir: 删除 "/opt/a" 失败: 目录非空
[root@localhost ~]# ls -R /opt/a
/opt/a:
b
/opt/a/b:
c
/opt/a/b/c:
d
/opt/a/b/c/d:
[root@localhost ~]# rmdir /opt/a/b/c/d
[root@localhost ~]# ls -R /opt/a
/opt/a:
b
/opt/a/b:
c
/opt/a/b/c:
[root@localhost ~]# rmdir /opt/a/b/c
[root@localhost ~]# ls -R /opt/a/b
/opt/a/b:
[root@localhost ~]# rmdir /opt/a/b
[root@localhost ~]# ls -R /opt/a
/opt/a:
[root@localhost ~]# rmdir /opt/a
[root@localhost ~]# ls /opt
rh student xx
[root@localhost ~]# rmdir /opt/
rmdir: 删除 "/opt/" 失败: 目录非空
touch 创建文件命令
touch 命令用于创建新的空白文件
命令格式:touch [-选项] 文件名
#在当前路径创建空文件
[root@localhost ~]# touch hello
[root@localhost ~]# ls
#在当前路径同时创建多个文件
[root@localhost ~]# touch t1 t2 t3 t4
[root@localhost ~]# ls
#在指定路径同时创建多个文件
[root@localhost ~]# touch /opt/test1 /opt/test2 /opt/test3
[root@localhost ~]# ls /opt
rh student test1 test2 test3 xx
#如果存在同名目录时,无法创建
[root@localhost ~]# mkdir test
mkdir: 无法创建目录"test": 文件已存在
#如果存在同名文件时,touch命令没有提示,但原有文件不会被覆盖
[root@localhost ~]# touch t1
#对于目录而言,只有单个目录的时候,“/”可有可无
[root@localhost ~]# ls /opt/
rh student test1 test2 test3 xx
[root@localhost ~]# ls /opt
rh student test1 test2 test3 xx
#对于目录而言,查看目录下的内容时,必须要有“/”
[root@localhost ~]# ls /opt/xx
oo
#对于文件而言,后边绝对不能有“/”
[root@localhost ~]# ls /opt/test1
/opt/test1
[root@localhost ~]# ls /opt/test1/
ls: 无法访问/opt/test1/: 不是目录
课后练习
1.命令行以$作为结尾代表什么含义?
普通用户
2.请写出Linux系统一般的命令格式?
命令字 [-选项...] [参数...]
3.在Linux系统下,如何辨别目录与文件及其他的文件?
白色:文件
蓝色:目录
浅蓝色:链接文件
绿色:可执行文件
红色:压缩文件
红色带闪动的文件:链接文件不可用
黄色:设备文件(硬盘,网卡,CPU,鼠标,键盘)
4.如何查看一个文件的详细属性?
ls -l 文件名
5.如何查看一个目录本身的详细属性?
ls -dl 目录名字
6.查看文件详细属性,并以KB、MB、GB的方式显示文件的大小?
ls -lh 文件名
7.如何查看一个文件的inode号?
ls -i 文件名
8.请写出Linux下文件和目录的三个归属关系?
u 所有者
g 所属组
o 其他人
9.请写出Linux下基本权限的表示方式?
r:读取,w写入,x执行
10.命令行以#作为结尾代表什么含义?
超级管理员