• 45-命令行基础操作


    LInux命令行基础

    LInux命令基础知识

    Linux的Gul与CLI

    • GUI , Graphical User Interface,图形用户界面。用户界面的所有元素图形化,主要使用鼠标作为输入工具,使用按钮、菜单、对话框等进行交互,追求易用。
    • CLI , Command Line Interface,命令行界面。用户界面字符化,使用键盘作为输入工具,输入命令、选项、参数执行程序,追求高效。

    为什么使用Linux命令行

    • 命令行更高效:
      Linux系统中使用键盘操作速度要比鼠标更快。
      图形化界面不可重复,而命令行可以编写的脚本完成所有过程(例如∶删除过期日志文件)。
    • 图形化界面开销大:
      运行图形化界面会占用很多的系统资源,运行命令行可以让系统资源释放给它更应该做的事情。
    • 命令行有时候是唯一的选择:
      口大部分服务器操作系统不会安装图形界面(GUI)。
      口联网设备的维护管理工具本来就没有图形化界面供我们使用。

    Linux命令语法格式

    • 命令格式:命令【-选项】【参数】
    • 示例: ls -la /etc
    • 说明:
      个别命令使用不遵循此格式,【】符号表示非必选项。
      当有多个选项时,可以写在一起。
      简化选项(一个-)与完整选项(两个–),比如ls -a等于ls --all。
    • 这里举几个例子的含义:
    1. ls -a /etc :表示显示根目录下etc目录中所有的文件,包括隐藏文件(ls是命令,-a 是选项,/etc 是参数。并不是所有的命令满足(-a)这样的形式,比如下一个例子)

    2. chmod u+x 1.txt : 表示给1.txt的文件所有者增加文件的可执行权限(u+x 不遵守一般命令中横杠选项的横杠语法格式)

    3. ls: 列出当前目录的内容(在这里省略的选项和参数)

    4. ls -l : 以长格式列出当前目录的内容

    5. ls -a : 表示列出当前目录的所有内容,包括隐藏文件

    6. ls -al : 表示以长格式列出当前目录的所有内容,包括隐藏文件的内容

    Linux命令分类

    请添加图片描述

    LInux基础命令

    登录命令

    • login的作用是登录系统,使用权限是所有用户。
    • 如果选择用命令行模式登录Linux的话,看到的第一个Linux命令就是login。
      在这里插入图片描述
    • Linux是一个真正的多用户操作系统,可以同时接受多个用户登录,还允许一个用户进行多次登录。
    • 这是因为Linux和许多版本的Unix一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行多次登录。
    • 每个虚拟控制台可以看作是一个独立的工作站,工作台之间可以切换。
    • 虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6。
    • 例子:
      先输入一个死循环
    1. alt + f2 :进入到另一个控制台界面
    2. top命令 : 监视当前项目进程(ipd : 7207)
    3. kill 7202 :在第二个控制台终止第一个控制台的
    4. last : 查看最近的登录记录
    5. last -n : 显示最近的n条登录记录(last -n 3 : 最近三次登录记录 。 简化:last -3)
    6. last tty2 : 显示指定的虚拟控制台2的登录记录
      last root : 显示指定用户(root)的登录记录
    7. exit : 退出系统

    电源管理命令

    电源命令1: shutdown

    • shutdown命令的作用是关闭计算机,使用权限是超级用户。
    • 主要参数:
      /- h : 关机后关闭电源。
      /- r : 关机后打开电源(相当于重启)。
      /- t : 在改变到其它运行级别之前,告诉init程序多久以后关机。
      /- k : 并不真正关机,只是送警告信号给每位登录者。
      /- f : 在重启计算机时强迫fsck。
      /- time : 设定关机前的时间。
      /- c : 取消这个关机计划
    • shutdown命令可以安全地将系统关机,使用直接断掉电源的方式来关闭Linux系统十分危险。
    • Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备。
    • 在系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录。

    电源命令2: halt

    . halt命令的作用是关闭系统,使用权限是超级用户。

    • 主要参数:
      -n : 防止sync系统调用,它用在用fsck修补根分区之后,以阻止内核用老版本的超级块覆盖修补过的超级块。
      -w : 并不是真正的重启或关机,只是写wtmp (/var/log/wtmp)纪录。
      -f : 没有调用shutdown,而强制关机或重启。
      -i : 关机(或重启)前,关掉所有的网络接口。
      -f : 强迫关机,不呼叫shutdown这个指令。
      -d:关闭系统,但不留下纪录。

    电源命令3: reboot

    • reboot命令的作用是重新启动计算机,使用权限是系统管理者
    • 主要参数:
      -n:保存数据后再重新启动系统。
      -w:并不会真的重开机,只是把记录写到/var/log/wtmp文件里。
      -d:不把记录写到/var/log/wtmp文件里( - n这个参数包含了- d)。
      -i:关闭网络设置之后再重新启动系统。

    文件管理命令Linux文件目录结构(1)

    • 在Linux操作系统中,一切皆是文件
    • Linux的文件目录结构是树形,“I”称为根目录
      在这里插入图片描述
      /dev : 存放硬件设备文件的目录
      /bin : binary的缩写,存放我们经常使用的目录
      /boot : 存放着启动Linux是使用的核心文件
      /etc :存放所有系统管理所需要的配置文件和子目录
      /lib : libary存放系统最基本的动态连接共享库(其中的文件相当于windows的dll文件)
      /midia : Linux会自动识别出u盘等设备,被识别后挂载到这个目录
      /mnt : 让用户可以临时挂载别的文件系统,比如把光驱挂载到这里,可以在这里看到它的内容
      /opt : 给主机额外安装软件存放的目录,可以把另外给系统安装的软件放在这里

    请添加图片描述
    /proc : 系统内存的映射,访问这个目录,获取系统的信息
    /root : 超级用户的主目录
    /run : 临时文件系统,存放系统存放以来的系统信息,系统重启以后这个目录下的文件会被清除
    /sbin : 存放设系统管理员使用的系统管理程序
    /srv : 存放一些服务启动之后需要提取的数据
    /sys : 这里安装了Linux2.6内核中新出现的一个文件系统sysfs
    /tmp : 存放这系统临时文件
    /usr : 用户和很多应用程序的文件存放在这里(类似于wiindows中的 program fils文件)
    /var : 习惯把经常需要修改的文件放到这里(例如各种日志文件)
    /home : 用户的主目录,每一个用户都有一个以自己的用户名命名的目录

    Linux文件路径

    • 在用shell或调用应用程序的时,都要写明被调用的程序路径。
    • 路径分为绝对路径和相对路径。
      1 绝对路径 : 在Linux中,绝对路径是从/(也被称为根目录)开始的,如果一个路径是从/开始的,那一定是绝对路径。
      2 相对路径 : 相对路径就是相对当前所在目录来说的路径。

    帮助命令

    目录操作,文件操作和查看操作

    文件命令1: pwd

    • pwd命令用于打印出当前的工作目录。
    • pwd命令有两个选项,-L和-P,其作用类似于cd命令的同名选项。
    • -L目录连接链接时,输出连接路径。
    • -P输出物理路径。

    文件命令2: cd

    • cd命令用于改变当前工作目录。
    • 语法: cd [dir]
      cd /usr : 进入目录/usr中。
      cd .. : 进入(退到)上一层目录,两个点代表父目录。
      cd . : 进入当前目录
      cd : 不带参数,则默认回到家目录。
      cd - : 进入前一个目录,适用于在两个目录之间快速切换。
      cd ~ : 进入家目录

    文件命令3: ls

    • ls命令是Linux命令中使用频率最高者之一,用于列出目录的内容,或者文件的信息,该命令的输出结果默认按照文件名排序,如果不指定目标,则列出当前目录的内容。
    • 语法:ls [OPTION]… [FILE]…
      -a ; 显示所有文件及目录,包括隐藏的文件和目录。
      -l : 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出。
      -t : 将文件依建立时间之先后次序列出。
      -s : 将文件将大小排序列出
      -R : 若目录下有文件,则以下之文件亦皆依序列出。
      -d:-directory将目录像文件一样显示,而不是显示其下的文件

    文件命令4: mkdir

    • mkdir命令用于创建目录(文件夹)。
    • 语法: mkdir [OPTION]… DIRECTORY…
      mkdir -p 父目录/子目录 :同时创建父目录和子目录
      在这里插入图片描述

    实践:
    请添加图片描述
    在这里插入图片描述

    文件命令6: cp

    • cp命令用于复制文件或者目录,可以一次复制单个文件,也可以一次复制多个文件
      (cp命令属于高危命令,使用不慎就会有丢失数据的危险)。
    • 语法: cp [OPTION]… SOURCE… DIRECTORY
      -a : 此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。
      -p : 除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
      -r : 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
      -l : 不复制文件,只是生成链接文件。

    文件命令7: mv

    • mv命令用于移动件或者目录(高危命令,使用不慎就会有丢失数据的危险)。
    • 如果原文件和目标文件在同一个父目录里面,则mv命令的效果就相当于给文件改名。
    • 语法: mv[选项]源文件或目录目标文件或目录。
      -b : 若需覆盖文件,则覆盖前先行备份。
      -f : force强制的意思,如果目标文件已经存在,不会询问而直接覆盖。
      -i : 若目标文件(destination)已经存在时,就会询问是否覆盖。
      -u : 若目标文件已经存在,且source比较新,才会更新(update)。

    实践:
    请添加图片描述
    请添加图片描述

    文件命令8: rm

    • rm命令用于删除文件或者目录。
    • rm命令属于高危命令,没有一个工具能够100%恢复rm命令删除的文件,rm命令删除文件时并不是把文件放到类似图形界面的“回收站”
      里,所以没有“撤销删除”操作可用。
    • 语法: rm [OPTION] file_or_dir
      -f, --force : 忽略不存在的文件,从不给出提示。
      -i, --interactive进行交互式删除。
      -r, -R, --recursive : 指示rm将参数中列出的全部目录和子目录均递归地删除。
      -v, --verbose : 详细显示进行的步骤。

    文件命令9: cat

    • cat命令用于读取文件的全部内容,或者将几个文件合并为一个文件。
    • 语法: cat [OPTION] [FILE]
      -A, --show-all 等价于—vET。
      -b, --number-nonblank 对非空输出行编号。
      -E, --show-ends 在每行结束处显示$。
      -n, --number 对输出的所有行编号,由1开始对所有输出的行数编号。
      -> : 将前面文件的内容覆盖到后面文件中
      ->> : 将前面文件的内容追加到后面文件的末尾

    文件命令10: head

    • head用来显示文件的开头内容,默认head命令打印其相应文件的开头10行。
    • 语法: head [OPTION][FILE]
    • 命令参数:
      -q : 隐藏文件名
      -v : 显示文件名
      -c<字节> : 显示字节数

    文件命令11: tail

    • tail命令用于读取文件的尾部。
    • 语法: tail [OPTION].….[FILE]…
    • 主要参数:
      -f : 循环读取。
      -q : 不显示处理信息。
      -v : 显示详细的处理信息。
      -c<数目> : 显示的字节数。
      -n<行数> : 显示行数。

    实践:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    分页查看操作和查找操作

    文件命令12: more

    • more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键
      (space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能。more命令从前向后读取文件,因此在启动时就加载整个文件。

    • 语法:more [OPTION].… [FILE]…
      +n 从第n行开始显示。
      -n 定义屏幕大小为n行。
      +/pattern 在文件显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示。
      -c 从顶部清屏,然后显示。 //eg : more -c -3 file.txt 指定每页为三行,每次到下一页上一页清空

    • 使用more命令在读取文件信息时,可以进行交互操作。
      Enter : 向下n行,需要定义。默认为1行。
      Ctrl+F : 向下滚动一屏。
      空格键 : 向下滚动一屏。
      Ctrl+B : 返回上一屏。
      = : 输出当前行的行号。
      V : 调用vi编辑器。
      !命令 : 调用shell,并执行命令。
      q : 退出more。

    文件命令13: less

    • less命令读取内容,分屏显示,less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
    • 语法: less [OPTION].….[FILE]…
    • 常用操作:
      /字符串 : 向下搜索“字符串”的功能。
      ?字符串 : 向上搜索“字符串”的功能。
      q : 退出less命令。
      空格键 : 滚动一页。
      回车键 : 滚动一行。
      page up 或 page down : 向上向下翻页键

    文件命令14: find

    • find命令用来在指定目录下查找文件。
    • 可以指定一些匹配条件,如按文件名、文件类型、用户甚至是时间戳查找文件。
    • 常用语法: find [path…] [expression]
      -name 按照文件名查找文件。
      -perm 按照文件权限来查找文件。
      -user 按照文件属主来查找文件。
      -mtime -n +n 按照文件的更改时间来查找文件。
      -type : 按照文件的类型查找文件(d表示目录,f表示文件,l表示软连接)
      -empty : 可以查找文件中的空文件和空目录
      -empty -delete : 可以查找文件中的空文件并删除
    • eg : find ./ -name “*.txt”
      ./表示在当前目录中查找(可以省略)
      -name 表示按名称查找 后面加字符串
      * 是通配符
      .txt 是通配符后面的后缀,表示我们查找是以.txt为名称后缀的文件

    实践:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    文件命令16: which

    • which命令在PATH所指定的目录中查找可执行文件。
    • 使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
    • 语法: which [options] programname […]

    在这里插入图片描述

    压缩和打包操作

    文件命令15: gzip

    • gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令。(不带参数直接压缩文件)
    • gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间。
    • 语法: gzip[参数][文件或者目录]
      -d或–decompress或----uncompress : 解开压缩文件。
      -f或–force : 强行压缩文件,不理会文件名是否存在以及该文件是否为符号连接。
      -l或–list : 列出压缩文件的相关信息。
      -r或–recursive : 递归处理,将指定目录下的所有文件及子目录一并处理。
      -v或–verbose : 显示指令执行过程。
    • 缺点:
      无法将多个文件打包到同一个压缩文件中

    在这里插入图片描述

    文件命令16: tar

    • tar命令可用于打包文件,把多个文件打到一个包中,方便数据的移动。(使用时一般加上-f选项以备份原文件)

    • 语法: tar [OPTION…] [FILE]
      -c : 建立新的压缩文件。
      -x : 从压缩的文件中提取文件。
      -t : 显示压缩文件的内容。
      -z : 支持gzip解压文件。
      -j : 支持gzip2解压文件。
      -v : 显示操作过程。
      -C : 把打包后的压缩文件放在指定目录

    • eg : tar -czf dir.tar.gz dir
      使用了三个参数:
      c : 表示建立一个新的文件
      z : 指定压缩工具为gzip
      f : 表示备份文件
      在这里插入图片描述

    文件命令17: ln (1)

    • ln命令用于创建链接文件。
    • Linux中有软链接和硬链接两种。

    在这里插入图片描述

    • In命令在不带参数的情况下,默认创建的是硬链接。
    • 语法: In [ -f | -n] [ -s ] SourceFile [ TargetFile ]
      -b : 删除,覆盖以前建立的链接。
      -d : 允许超级用户制作目录的硬链接。
      -f : 强制执行。
      -i : 交互模式,文件存在则提示用户是否覆盖。
      -n : 把符号链接视为一般目录。
      -s : 软链接(符号链接)。
      请添加图片描述

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    【面试专栏】第四篇:Java基础:集合篇-Map、HashMap、Hashtable
    Web前端:前端发展趋势的重要性
    Centos8 + Redis 6.2.7 安装
    RunLoop解析
    浅析PHP中的闭包和匿名函数
    ECharts
    day16:MyBatis注解开发
    基于MySql,Redis,Mq,ES的高可用方案解析
    nginx学习(1)
    kafka命令
  • 原文地址:https://blog.csdn.net/m0_68516464/article/details/127795132