• Linux1. 基本命令的基本格式


    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$
    
  • 相关阅读:
    爬虫框架之Scrapy——爬取某招聘信息网站
    爬虫框架之Scrapy
    centos6创建用户,设置ssh登录
    VmWare扩展硬盘分区
    centos安装python与jdk
    vmware安装——CentOS-6.5和Mysql
    python——读取MATLAB数据文件 *.mat
    经纬度坐标互换
    原码, 反码, 补码 详解
    MATLAB——textscan
  • 原文地址:https://www.cnblogs.com/a438842265/p/16023246.html
Copyright © 2020-2023  润新知