Linux-1. 基本命令的基本格式
1 基本命令的基本格式
1. 命令提示符说明
[root@localhost~]#
* []: 这是提示符的分隔符号,没有特殊含义
* root:显示的是当前的登陆用户
* @:分隔符号,没有特殊含义
* localhost:当前系统的简写主机名(完整主机名localhost.localdomain)
* ~:代表用户当前所在的目录的最后一级目录
* #:表示命令提示符。#是超级用户,$是普通用户
提示:~
为当前的家目录
2. 命令的基本格式
[root@localhost~]# [选项][参数]
- (1)举例
ls
命令
ls
是最常见的目录操作命令,主要作用是显示目录下的内容。
* 命令名称:ls
* 英文原意:list
* 所在路径:/bin/ls
* 执行权限:所有用户
* 功能描述:显示目录下的内容
[root@localhost ~] # ls [选项] [文件名或目录名]
选项:
-a:显示所有文件
--color=[when]:支持颜色输出,when的值默认是always(总显示颜色),也可以是never(从不显示颜色)和auto(自动)
**ls --color=auto**
-d:显示目录信息,而不是目录下的文件
-h:人性化显示,按照我们习惯的单位显示文件大小
-i:显示文件的i节点号。理论上i节点号不重叠。
-l:长格式显示(long list)
以上是ls命令,比较常用的选项。
- (2)说明
ls -l
命令的输出内容
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ ls -l
总用量 23583748
drwxrwxr-x 4 ubuntu ubuntu 4096 12月 22 14:42 map
-rw-rw-r-- 1 ubuntu ubuntu 212926229 12月 21 19:13 output.tar.gz
drwxrwxr-x 2 ubuntu ubuntu 4096 12月 21 21:29 record
-rw-rw-r-- 1 ubuntu ubuntu 1537 1月 6 21:11 ss.py
内容 | 说明 |
---|---|
drwxrwxr-x | 权限 |
4 | 引用计数 |
ubuntu | 所有者 |
ubuntu | 所属组 |
4096 | 文件大小 |
12月 22 14:42 | 文件修改时间 |
map | 文件名 |
第一列:权限。具体权限的含义在之后权限部分详细讲解。
第二列:引用计数。
该参数没有太大作用,而且引用计数对于文件和目录是有区别的。
文件的引用计数代表该文件的硬链接个数。
目录的引用计数代表该目录有多少个一级子目录。
也就是说,如果是文件就代表该文件的硬链接个数,如果是目录代表该目录有多少个一级子目录。第三列:所有者,也就是这个文件属于哪个用户。默认所有者是文件的建立用户。
第四列:所属组。默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。
为什么一个文件要分所有者和所属组呢?
是为了分配权限的时候,指定权限方便分配。第五列:文件大小。默认单位是字节(byte)。
第六列:文件修改时间。
文件状态修改时间(访问时间)或文件数据修改时间都会更改这个时间,哪个时间最后,显示哪个时间。注意这个时间不是文件的创建时间。第七列:文件名。
提示:
Linux系统中,以.开头的文件,都是隐藏文件。用ls -a命令查看。
Linux系统中,所有目录都有两个隐藏目录。.代表当前目录,..代表上级目录
3. 目录相关的命令
3.1 ls 命令
ls
是最常见的目录操作命令,主要作用是显示目录下的内容。
* 命令名称:ls
* 英文原意:list
* 所在路径:/bin/ls
* 执行权限:所有用户
* 功能描述:显示目录下的内容
[root@localhost ~] # ls [选项] [文件名或目录名]
选项:
-a:显示所有文件
--color=[when]:支持颜色输出,when的值默认是always(总显示颜色),也可以是never(从不显示颜色)和auto(自动)
**ls --color=auto**
-d:显示目录信息,而不是目录下的文件
-h:人性化显示,按照我们习惯的单位显示文件大小
-i:显示文件的i节点号。理论上i节点号不重叠。
-l:长格式显示(long list)
以上是ls命令,比较常用的选项。
用法演示
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ ls -l
总用量 52
-rw-r--r-- 1 ubuntu ubuntu 8980 12月 20 16:37 examples.desktop
drwxrwxr-x 9 ubuntu ubuntu 4096 3月 14 16:15 qiao
drwx------ 3 ubuntu ubuntu 4096 2月 23 19:16 snap
drwxr-xr-x 3 ubuntu ubuntu 4096 12月 24 14:05 公共的
drwxr-xr-x 2 ubuntu ubuntu 4096 12月 20 16:44 模板
drwxr-xr-x 2 ubuntu ubuntu 4096 12月 20 16:44 视频
drwxr-xr-x 2 ubuntu ubuntu 4096 3月 1 10:31 图片
drwxr-xr-x 2 ubuntu ubuntu 4096 12月 20 16:44 文档
drwxr-xr-x 7 ubuntu ubuntu 4096 3月 14 15:43 下载
drwxr-xr-x 2 ubuntu ubuntu 4096 12月 20 16:44 音乐
drwxr-xr-x 2 ubuntu ubuntu 4096 1月 21 15:06 桌面
3.2 cd 命令
cd
是切换用户所在目录的命令,这个命令的基本信息如下
* 命令名称:cd
* 英文原意:change directory
* 所在路径:Shell内置命令
* 执行权限:所有用户
* 功能描述:切换所在目录
(1)绝对路径和相对路径
- 绝对路径:以根目录为参照物,从根目录开始,一级一级进入目录。
- 相对路径:以当前目录作为参照物,进行目录查找。
- 路径的最后一个
/
,表示路径下,有也可以,没有也行。
(2)cd命令的简化用法
特殊符号 | 作用 |
---|---|
~ 直接回车 | 代表用户的家目录 |
- | 代表上次所在目录 |
. | 代表当前目录 |
.. | 代表上级目录 |
3.3 pwd 命令
pwd
是查询所在目录位置的命令,基本信息如下:
* 命令名称:pwd
* 英文原意:print name of current/working directory
* 所在路径:/bin/pwd
* 执行权限:所有用户
* 功能描述:查询所在的工作目录位置
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ pwd
/home/ubuntu
3.4 mkdir 命令
mkdir是创建目录的命令,基本信息如下:
* 命令名称:mkdir
* 英文原意:make directories
* 所在路径:/bin/mkdir
* 执行权限:所有用户
* 功能描述:创建空目录
mkdir
命令格式如下:
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ mkdir [选项] 目录名
选项:
-p:递归建立所需目录
例如:创建一个目录
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ mkdir abc
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ ll
总用量 40
drwxrwxr-x 2 ubuntu ubuntu 4096 3月 15 11:14 abc/
同时创建多级目录,示例如下:
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ mkdir 123/456/789
mkdir: 无法创建目录"123/456/789": 没有那个文件或目录
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ mkdir -p 123/456/789
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$
提示: linux不允许在一个文件夹内出现同名的目录和文件
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ ls
123 abc
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ mkdir 123
mkdir: 无法创建目录"123": 文件已存在
3.5 rmdir 命令
既然有建立目录的命令,就一定会有删除目录的命令rmdir
,基本信息如下:
* 命令名称:rmdir
* 英文原意:remove empty directories
* 所在路径:/bin/rmdir
* 执行权限:所有用户
* 功能描述:删除空目录
命令格式
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ rmdir [选项] 目录名
练习:
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ rmdir 123
rmdir: 删除 "123" 失败: 目录非空
提示:
rmdir
命令的作用十分有限,因为只能删除空目录,所以一旦目录中有内容,就会报错这个命令比较“笨”,所有我们不太常用。后续我们不论是删除的是文件还是目录,都会使用
rm
命令。
4. 文件操作相关的命令
4.1 touch 命令
touch
命令是用于创建空文件或修改文件时间,这个命令的基本信息如下。
* 命令名称:touch
* 英文原意:change file timestamps
* 所在路径:/bin/touch
* 执行权限:所有用户
* 功能描述:创建空文件或修改文件时间戳
使用示例
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ touch 1.txt
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ ll
总用量 44
-rw-rw-r-- 1 ubuntu ubuntu 0 3月 15 19:10 1.txt ⭐️
touch
是摸的意思,如果没有这个文件,摸一下就有了,如果有这个文件,摸一下,最后一次的访问时间就变更了
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ touch 1.txt
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ ll
总用量 44
-rw-rw-r-- 1 ubuntu ubuntu 0 3月 15 19:11 1.txt ⭐️
4.2 stat 命令
stat
是查看文件详细信息的命令,而且可以看到文件的三个时间,具体信息如下。
* 命令名称:stat
* 英文原意:display file or file system status
* 所在路径:/usr/bin/stat
* 执行权限:所有用户
* 功能描述:显示文件或文件系统的详细信息
示例:
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ stat 1.txt
文件:1.txt
大小:0 块:0 IO 块:4096 普通空文件
设备:802h/2050d Inode:10757125 硬链接:1
权限:(0664/-rw-rw-r--) Uid:( 1000/ ubuntu) Gid:( 1000/ ubuntu)
最近访问:2022-03-15 19:11:54.039112490 +0800
最近更改:2022-03-15 19:11:54.039112490 +0800
最近改动:2022-03-15 19:11:54.039112490 +0800
创建时间:-
提示:
Linux系统中文件是没有创建时间的
状态修改指的是修改权限,修改所属组等
4.3 cat命令
cat
命令是用来查看文件内容的,这个命令的其基本信息如下。
* 命令名称:cat
* 英文原意:concatenate files and print on the standard output
* 所在路径:/bin/cat
* 执行权限:所有用户
* 功能描述:合并文件并打印输出到标准输出
cat
命令格式:
[root@localhost ~] # cat [选项] 文件名
选项:
-A:相当于-vET选项的整合,用于列出所有隐藏符号
-E:列出每行结尾的回车符$
-n:显示行号
-T:把Tab键用^I显示出来
-v:列出特殊字符
说明一下 -A
选项的使用:
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ cat 1.txt
111111111111
222222222222222222
3333333333333333333
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ cat -A 1.txt
111111111111$
^I222222222222222222$ ⭐️注意$,^I
3333333333333333333$
注意
-A
就是显示隐藏符号的回车符用
$
表示Tab键用
^I
来表示
cat 这个命令方便用于查看小文件,因为他是一次性显示文件中的所有内容。如果很大的文件,cat命令只能显示文件的最后一部分。虽然可以向上翻阅,但是显示还是由有限制的,查看大文件不是很方便,用下面的 more 命令更方便
4.4 more 命令
more
是分屏显示文件的命令,其基本信息如下
* 命令名称:more
* 英文原意:file perusal filter for crt viewin
* 所在路径:/bin/more
* 执行权限:所有用户
* 功能描述:分屏显示文件内容
more
命令比较简单,一般也不用什么选项,命令会打开一个交互界面,可以识别一下交互命令。
常用的交互命令如下:
- 空格键:向下翻页
b
: 向上翻页- 回车键:向下滚动一行
- /字符串:搜索指定的字符串
q
: 退出
4.5 less 命令
less
命令和more
命令类似,只是more
是分屏显示命令,而less
是分行显示命令,其基本信息如下:
* 命令名称:less
* 英文原意:opposite of more
* 所在路径:/usr/bin/less
* 执行权限:所有用户
* 功能描述:分行显示文件内容
提示:
less
是分行显示,通过上下箭头翻阅,按q:
退出
cat
more
less
这三个都是查看的命令,按照自己的习惯来咯
4.6 head 命令
head
是用来显示文件开头的命令,其基本信息如下:
* 命令名称:head
* 英文原意:output the first part of files
* 所在路径:/usr/bin/head
* 执行权限:所有用户
* 功能描述:显示文件开头的内容
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ head [选项] 文件名
选项:
-q:隐藏文件名
-v:显示文件名
-c<字节>:显示字节数
-n<行数>:显示的行数
4.7 tail命令
既然有显示文件开头的命令,就会有显示文件结尾的tail
命令,其基本信息如下:
* 命令名称:tail
* 英文原意:output the last part of files
* 所在路径:/usr/bin/tail
* 执行权限:所有用户
* 功能描述:显示文件结尾的内容
tail
命令格式
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ head [选项] 文件名
[选项]
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
提示:
head
命令和tail
命令,默认分别显示文件的前10行和最后10行如果需要显示其他行数的内容可通过
head -n 20/-20 1.txt
,进行查看
-f
:监听文件的新增内容说明:通过
head -f 1.txt
监听一个文件,如果另外其他的终端修改或添加内容,该终端就会同步到退出监听状态用:
ctrl + c
5. 目录和文件都能操作的命令
5.1 rm 命令
rm
是强大的删除的命令,不仅可以删除文件,也可以删除目录。这个命令的基本信息如下。
* 命令名称:rm
* 英文原意:remove files or directories
* 所在路径:/bin/rm
* 执行权限:所有用户
* 功能描述:删除文件或目录
rm
命令格式
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ rm [选项] 文件或目录
选项:
-f:强制删除(force)
-r:递归删除,可以删除目录(recursive)
-i:交互删除,在删除之前会询问用户(如果不添-f参数,rm命令默认添加-i参数)
提示:
一般使用
rm
的时候,搭配-rf
一旦被删除就没有了,切记
5.2 cp 命令
cp
是用于复制的命令,其基本信息如下:
* 命令名称:cp
* 英文原意:copy file and directories
* 所在路径:/bin/cp
* 执行权限:所有用户
* 功能描述:复制文件或目录
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ cp [选项] 源文件 目标文件
选项:
-a:相当于-dpr选项的集合,这几个选项我们一一介绍
-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接
-i:询问,如果目标文件已经存在,则会询问是否覆盖
-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)
-r:递归复制,用于复制目录
总结:只要加了-a选择,复制的目标文件或目录,和源文件或源目录,就会一模一样。
示例
buntu@ubuntu-HP-Z4-G4-Workstation:~$ ls
1.txt qiao
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ cp 1.txt qiao/ ⭐️ 如果后边路径不加文件名,就是原名复制
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ cd qiao/
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ ls
1.txt
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ cd ..
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ cp 1.txt qiao/2.txt ⭐️ 如果后边路径加文件名,就是改名复制
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ cd qiao/
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ ls
1.txt 2.txt
5.3 mv 命令
mv
是用来剪切的命令,其基本信息如下
* 命令名称:mv
* 英文原意:move(rename) files
* 所在路径:/bin/mv
* 执行权限:所有用户
* 功能描述:移动文件或目录
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ mv [选项] 源文件 目标文件
选项:
-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)
-v:显示详细信息
[root@192 ~]# mv abc /tmp/ 剪切
[root@192 tmp]# mv abc bef 重命名
[root@192 tmp]# mv bef /root/abc 剪切+重命名
示例
- 剪切
mv 1.txt qiao/
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ mv 1.txt qiao/ ⭐️
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ ls
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$
- 重命名
mv 1.txt 11.log
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ ls
1.txt
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ mv 1.txt 11.log ⭐️
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ ls
11.log
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$
- 剪切+重命名
mv 11.log xx/1.txt
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ mkdir xx
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ ls
11.log xx
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ mv 11.log xx/1.txt ⭐️
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ cd xx
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao/xx$ ls
1.txt
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao/xx$