Linux命令的基本格式
在Linux中的命令的基本格式为:命令 [-选项][参数]
例如:ls -la /etc
- 个别命令不遵守这个格式
- 单有多个选项时,可以写在一起
- 简写选项与完整选项
例如:-a 与–all
权限
在Linux系统中权限使用以下字符表示
- 文件类型:
-
二进制文件d
目录l
软链接文件 r
表示可读w
表示可写x
表示可执行u
所有人g
所有组o
其他人
r、w、x后分别由几个-
就代表谁可以用
例如r-
表示所有人可读,r--
表示所属组可读,三个-
则表示其他人可以用,r、w同理
例如:
这个文件表示为一个目录,所有人(这个文件的所属人)可以读写执行,其他人只有执行权限drwxr-x---. 2 root root 6 9月 30 2020 sudoers.d
目录处理命令
ls
命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
执行权限限制:所有用户
功能描述:显示目录文件
语法:ls 选项[-ald] [文件或目录]
-a:显示所有文件,包含隐藏文件
-l:详细信息显示
-d:查看目录属性
-i:查看文件id号
-h:显示文件大小
在使用ls命令时,可以在命令末尾添加路径来显示指定路径
ls /usr
bin etc games include lib lib64 libexec local sbin share src tmp
mkdir
命令名称:mkdir
英文原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
语法: mkdir -p [目录名]
功能描述:创建新目录
-p:递归创建,若一个目录后面跟着另一个目录,若都不存在,则依次创建
基本使用
在tmp目录下创建了a文件夹
[root@localhost tmp]# mkdir /tmp/a
在tmp目录下创建了 a/b/c三个文件夹,a下有b,b下有c
[root@localhost tmp]# mkdir -p /tmp/a/b/c
若要同时创建多个目录,则可以再一个目录之后添加空格,继续添加新目录,这样,我们就同时在tmp目录下添加了a1、a2、a3,三个目录,三个目录下分别还有其他目录
[root@localhost tmp]# mkdir -p /tmp/a1/b1 /tmp/a2/b2 /tmp/a3/b3
cd
命令名称:cd
命令英文原意:change directory
命令所在路径:shell内置命令
执行权限:所有用户
语法:cd [目录]
功能描述:切换目录
..
:表示上一级
.
:表示当前目录
切换目录至etc/alterantives
[root@localhost etc]# cd /etc/alternatives/
pwd
命令名称:pwd
命令英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
语法:pwd
功能描述:显示当前目录
[root@localhost alternatives]# pwd
/etc/alternatives
rmdir
只能删除空目录
命令名称:rmdir
命令英文原意:remove empty directories
命令所在路径:/bin/rmdir
执行权限:所有用户
语法:rmdir [目录名]
功能描述:删除空目录
删除了tmp/a1下的/b1文件夹
[root@localhost alternatives]# rmdir /tmp/a1/b1
cp
命令名称:cp
命令英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
语法:cp [原文件或目录] [目标目录]
-r:复制目录
-p:保留复制文件的属性
功能描述:复制目录或文件
将a1复制到a2下面去
[root@localhost alternatives]# cp -r /tmp/a1 /tmp/a2
若要一次用复制多个文件或目录的话,只需要添加多个原文件目录地址,最后添加上目标目录即可,下面,我们将a1、a2一起添加到a3内
[root@localhost alternatives]# cp -r /tmp/a1 /tmp/a2 /tmp/a3
当我们复制时想要改名的话,只要在目标目录后添加上想要该的名称即可
将a1文件夹复制到a3并改名为a5
[root@localhost alternatives]# cp -r /tmp/a1 /tmp/a3/a5
mv
命令名称:rm
命令英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
语法:mv[原文或目录] [目标目录]
功能描述:剪切文件、改名
将a1复制到a3
[root@localhost ~]# mv /tmp/a1 /tmp/a3
改名操作与cp命令一致,若原文件目录是目标目录的话就是实现改名操作,不移动
rm
命令名称:rm
命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
语法:rm [文件或目录]
-r:删除目录
-f:强制删除
功能描述:删除文件
在删除文件时,会询问你是否要删除文件,要是加上-f的话,则不会询问,直接删除
普通删除
[root@localhost ~]# rm -r /tmp/a3
rm:是否进入目录"/tmp/a3"? y
rm:是否进入目录"/tmp/a3/a1"? y
rm:是否删除目录 "/tmp/a3/a1/b2"?y
rm:是否删除目录 "/tmp/a3/a1"?y
rm:是否删除目录 "/tmp/a3"?y
强制删除
[root@localhost ~]# rm -rf /tmp/a3
touch
命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
语法:touch [文件名]
功能描述:创建空文件
在当前目录创建文件
[root@localhost tmp]# touch touchFile
在指定目录下创建空文件
[root@localhost /]# touch /tmp/touchFile2
cat
文件名称:cat
命令所在路径:/bin/cat
执行权限:所有用户
语法:cat [文件名]
功能描述:显示文件内容
-n:显示行号
显示/etc下的issue文件
[root@localhost /]# cat -n /etc/issue
1 \S
2 Kernel \r on an \m
3
more
命令名称:more
命令所在路径:/bin/more
执行权限:所有用户
功能描述:分页显示文件内容
语法:more [文件名]
空格或 f:翻页
Enter:换行
q或Q:退出
less
命令名称:less
命令所在路径:/usr/bin/less
执行权限:所有用户
语法:less [文件名]
功能:分页显示文件,按住PageUp挥着PageDown进行上下翻页
在查看文件时,使用/名称
可以对内容进行搜索,按n
查看下一个
head
命令名称:head
命令所在路径:/usr/bin/head
执行权限:所有用户
语法:head [文件名]
功能:显示文件前几行
-n:显示行数
默认显示10行
[root@localhost /]# head /etc/services
# /etc/services:
# $Id: services,v 1.55 2013/04/14 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2013-04-10
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, most entries here have two entries
# even if the protocol doesn't support UDP operations.
# Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
[root@localhost /]# head -n 5 /etc/services
# /etc/services:
# $Id: services,v 1.55 2013/04/14 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2013-04-10
tail
命令名称:tail
命令所在路径:/usr/bin/tail
执行权限:所有用户
语法:tail[文件名]
功能:显示文件末尾几行
-n:显示行数
默认显示10行
ln
命令名称:ln
命令所在路径:/bin/ln
执行权限:所有用户
语法:ln -s [源文件] [目标文件]
-s:创建软连接
功能:生成链接文件
软连接和硬链接的区别
- 在生成连接时,若不适用 -s,生成的则是硬链接
- 软连接的权限为三个rwx,这代表所有人都可以对他进行修改
- 软连接的文件大小的小,只有十几个字节。
- 在查看目录信息的时候,软连接在名称后面会有箭头指向软文件。
- 软连接在权限前有个l,代表他是一个链接
- 软连接的权限不代表源文件的权限
- 软连接相当于windows下的快捷方式,只是一个指向原文件的链接,而硬链接拥有和原文件一样的文件属性,包括文件id,大小,权限,修改硬链接原文件也会被修改,修改后的硬链接文件会被实时同步给原文件。
- 硬链接不能跨盘符创建,而软连接可以
- 硬链接不能指向目录,只能指向文件,否则会报一个不允许将硬链接指向目录的错误
软连接
[root@localhost /]# ln -s /tmp/a /tmp/a.soft
drwxr-xr-x. 3 root root 15 2月 23 02:20 a
lrwxrwxrwx 1 root root 6 2月 24 03:00 a.soft -> /tmp/a
硬链接
[root@localhost /]# ln /etc/issue /tmp/issue.hard
[root@localhost /]# ls -l /tmp/issue.hard
-rw-r--r--. 2 root root 23 10月 23 2020 /tmp/issue.hard
[root@localhost /]# ls -l /etc/issue
-rw-r--r--. 2 root root 23 10月 23 2020 /etc/issue
我们可以看到,硬链接无论是权限、大小还是文件id都与原文件一摸一样