Linux学习笔记——基本操作命令

news2025/1/18 13:52:29

目录

  • 一、Shell 命令基础
    • 1、Shell 简介
    • 2、Shell 命令格式
    • 3、显示系统信息命令
    • 4、Shell 使用技巧
  • 二、Linux 文件及目录管理
    • 1、Linux操作系统的目录结构
    • 2、文件及目录显示类命令
    • 3、文件及目录操作类命令
    • 4、文件内容的显示和处理
    • 5、文件查找类命令
  • 三、vi、vim 编辑器的使用
  • 四、文件管理进阶
    • 1、硬链接与软链接
    • 2、通配符与文件名变量
    • 3、输入/输出重定向与管道
  • 五、Linux 快捷键的使用

一、Shell 命令基础

  Linux 操作系统的 Shell 作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言系统。
  Shell 是用户和 Linux 内核之间的接口程序,如果把 Linux 内核想象成一个球体的中心,Shell 就是围绕内核的外层。当从 Shell 或其他程序向 Linux 传递命令时,内核会做出相应的反应。
(本期内容相对比较基础和简单,故不做过多说明,大家通过截图自行理解)

1、Shell 简介

  Shell 是一个命令语言解释器,它拥有自己内建的 Shell 命令集,Shell 也能被系统中的其他应用程序所调用。用户在提示符下输入的命令都是先由 Shell 解释再传给 Linux 核心。

2、Shell 命令格式

(1)Shell 命令的基本格式

command [选项][参数]
# command 为命令名称
# [选项]表示可选,是对命令的特别定义,以连接符 “-” 开始,多个选项可以用一个连接符连接起来,有些命令不写选项和参数也可以执行。
# [参数]为跟在可选项后的参数,或者是command的参数,参数可以是文件,也可以是目录,可以没有,也可以有多个,有些命令必须使用多个参数。
# command [选项][参数]等项目之间以空格隔开,无论有几个空格,Shell 都视为一个空格。

在这里插入图片描述

3、显示系统信息命令

(1)who——查看用户登录信息

ymliu@linuxserver:~$ who
ymliu    pts/1        2024-03-05 14:20 (192.168.11.219)
ymliu@linuxserver:~$ who -a #显示所有用户的信息
           系统引导 2024-02-18 10:34
登录     tty1         2024-02-18 10:35               903 id=tty1
           运行级别 5 2024-02-18 10:35
           pts/0        2024-03-05 15:00            395290 id=ts/0  终止=0 退出=0
ymliu    + pts/1        2024-03-05 14:20   .        393961 (192.168.11.219)
           pts/2        2024-03-01 17:22            306784 id=ts/2  终止=0 退出=0
           pts/3        2024-03-01 16:38            309422 id=ts/3  终止=0 退出=0
           pts/4        2024-02-29 17:30            283791 id=ts/4  终止=0 退出=0
           pts/5        2024-02-28 11:45            250739 id=ts/5  终止=0 退出=0
           pts/6        2024-02-28 17:29            247342 id=ts/6  终止=0 退出=0
           pts/7        2024-02-28 11:13            252432 id=ts/7  终止=0 退出=0

(2)whoami——显示当前操作用户

ymliu@linuxserver:~$ whoami
ymliu
ymliu@linuxserver:~$

(3)hostname/hostnamectl——显示或设置当前系统的主机名

ymliu@linuxserver:~$ hostname
linuxserver
ymliu@linuxserver:~$ hostnamectl
 Static hostname: linuxserver
       Icon name: computer-desktop
         Chassis: desktop
      Machine ID: b63dd4601b294f7db05b93c57ba360b1
         Boot ID: 5f01ad8b216949a9a4016ec51bf3d775
Operating System: Ubuntu 22.04.2 LTS
          Kernel: Linux 5.15.0-92-generic
    Architecture: x86-64
 Hardware Vendor: Dell Inc.
  Hardware Model: Precision T1700
ymliu@linuxserver:~$ hostnamectl set-hostname mycomputer
==== AUTHENTICATING FOR org.freedesktop.hostname1.set-static-hostname ===
设定静态本地主机名或美观主机名需要认证。
Authenticating as: ymliu
Password:
==== AUTHENTICATION COMPLETE ===
ymliu@linuxserver:~$ bash
ymliu@mycomputer:~$ hostname
mycomputer
ymliu@mycomputer:~$

(4)date——显示时间/日期

ymliu@linuxserver:~$ date
2024年 03月 05日 星期二 16:00:40 CST
ymliu@linuxserver:~$

(5)cal——显示日历

ymliu@linuxserver:~$ cal #部分系统默认不安装,可使用apt install ncal 命令安装
      三月 2024
日 一 二 三 四 五 六
                1  2
 3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
ymliu@linuxserver:~$

(6)clear——清除屏幕
在这里插入图片描述

4、Shell 使用技巧

(1)命令和文件名的自动补齐功能
  Linux 操作系统中的命令有许多实用的功能,下面介绍自动补齐功能。在命令行模式下,输入字符后,按两下 “Tab” 键,Shell 就会列出以这些字符开始的所有可用命令。如果只有一个命令被匹配到,则按一次 “Tab” 键会自动将其补全。

ymliu@linuxserver:~$ cd com<Tab>
comaaa/  compose/
ymliu@linuxserver:~$ cd Dockerfiles/

(2)历史命令
  若要查看最近使用过的命令,则可以在终端中执行 history 命令。
  执行历史命令最简单的方法就是利用上下方向键,可以找回最近执行过的命令,减少输入命令的次数,在需要使用重复执行的命令时非常方便。命令文件一般存在当前用户目录下的 .bash_history 文件中。
在这里插入图片描述

ymliu@linuxserver:~$ history # 直接使用这个命令会有很多内容,可以使用 history n n为数字。
  671  ls
  672  cd web
  ...
 1668  mkdir comaaa
 1669  ls -al
 1670  history
ymliu@linuxserver:~$
ymliu@linuxserver:~$ history 5 # 只显示最近 5 个历史命令
 1667  ls
 1668  mkdir comaaa
 1669  ls -al
 1670  history
 1671  history 5
ymliu@linuxserver:~$
ymliu@linuxserver:~$ !1671   执行历史命令输入 “!n” n为历史命令前的序号
history 5
 1667  ls
 1668  mkdir comaaa
 1669  ls -al
 1670  history
 1671  history 5
ymliu@linuxserver:~$

(3)命令别名
  用户可以为某有一个复杂的命令创建一个简单的别名,当用户使用这个别名时,系统就会自动地找到并执行这个别名对应的真实命令,从而提高工作效率。

ymliu@linuxserver:~$ alias  # 执行不加任何参数的 alias 命令
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
ymliu@linuxserver:~$

(4)命令帮助
  由于Linux 操作系统的命令以及选项和参数太多,所以建议用户不要去费力记住所有命令的用法,实际上也不可能全部记住,借助Linux 操作系统提供的各种帮助工具,可以很好的解决此类问题。以下几种方式都可以查询命令。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、Linux 文件及目录管理

  文件系统是 Linux 操作系统的重要组成部分,文件系统中的文件是数据的集合,文件系统不仅包含文件中的数据,还包含文件系统的结构,所有 Linux 用户和程序看到的文件、目录、软链接及文件保护信息等都存储在其中。

1、Linux操作系统的目录结构

  Linux 操作系统安装完成以后,会自动建立一套完整的目录结构,虽然各个 Linux 发行版本之间有一些差异,但是基本上都会遵循传统 Linux 操作系统建立的目录的方法,即最底层的目录称为根目录,用 “/” 表示,Linux 操作系统的主要目录结构如下:
在这里插入图片描述

  1. 根目录
    Linux文件系统的根目录是“/”。在Linux中,“/”表示最大的分类,所有的目录结构都是从“/”开始。所有的一级目录都包含在根目录下。
  2. /bin目录
    /bin目录存储了一些最基本的Linux命令和二进制文件,例如cat,cp,ls,mkdir等。
  3. /etc目录
    /etc目录包含了所有的系统配置文件。通常这些文件可以用来配置硬件,网络等等。例如,/etc/passwd 来存储用户的信息。
  4. /home目录
    /home目录是所有已安装的用户的家目录。默认情况下,每创建一个用户,就会在/home下创建对应的目录。比如/home/username。
  5. /root目录
    /root目录是超级用户(root用户)的家目录,与/home 目录类似。
  6. /usr目录
    /usr目录用于存储系统软件和数据。其中,/usr/bin 目录中包含了一些用户常用的命令,/usr/include 目录中包含了一些常用的头文件,/usr/lib 目录下存放了共享库文件等。
  7. /var目录
    /var 目录存储了可变的文件,例如日志信息、用户邮件等等。

2、文件及目录显示类命令

(1)pwd——显示当前工作目录
在这里插入图片描述

(2)cd——改变当前工作目录
在这里插入图片描述

(3)ls——显示目录文件
在这里插入图片描述

(4)stat——显示文件或文件系统状态信息
在这里插入图片描述

3、文件及目录操作类命令

(1)touch——创建文件或修改文件的存储时间
在这里插入图片描述

(2)mkdir——创建新目录
在这里插入图片描述

(3)rmdir——删除目录
在这里插入图片描述

(4)rm——删除文件或目录
在这里插入图片描述

(5)cp——复制文件或目录
在这里插入图片描述

(6)mv——移动文件或目录/文件或目录重命名
在这里插入图片描述
在这里插入图片描述

(7)tar——打包、归档文件或目录
在这里插入图片描述

(8)du——查看文件或目录的容量大小
在这里插入图片描述

4、文件内容的显示和处理

(1)cat——显示文件内容
在这里插入图片描述

(2)tac——反向显示文件内容
在这里插入图片描述

(3)more——逐页显示文件中的内容(仅向下翻页)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(4)less——逐页显示文件中的内容
在这里插入图片描述

(5)head——查看文件的 n 行,默认显示10行
在这里插入图片描述
在这里插入图片描述

(6)tail——查看文件的最后 n 行,默认显示最后10行
在这里插入图片描述

(7)file——查看文件的目录的类型
在这里插入图片描述

(8)wc——统计
在这里插入图片描述

(9)sort——排序
在这里插入图片描述

(10)uniq——去重
在这里插入图片描述

(11)echo——将显示内容输出到屏幕上
在这里插入图片描述

5、文件查找类命令

(1)whereis——查找文件位置
在这里插入图片描述

(2)locate——查找绝对路径中包含指定字符串的文件的位置
(3)find——文件查找
(4)which——确定程序的具体位置
(5)grep——查找文件中包含指定字符串的行

三、vi、vim 编辑器的使用

在这里插入图片描述

四、文件管理进阶

1、硬链接与软链接

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

2、通配符与文件名变量

在这里插入图片描述

3、输入/输出重定向与管道

(1)标准文件
在这里插入图片描述

(2)输入重定向
在这里插入图片描述

(3)输出重定向
在这里插入图片描述
在这里插入图片描述

(4)错误重定向
在这里插入图片描述

(5)管道
在这里插入图片描述

五、Linux 快捷键的使用

快捷键功能说明
Ctrl+A把光标移动到命令行开头
Ctrl+E把光标移动到命令行末尾
Ctrl+C 或 Ctrl+\键盘总段请求,结束当前任务
Ctrl+Z中断当前执行的进程,但并不结束此进程,而是将此进程放到后台,想要继续执行时,可用 fg 命令唤醒她,但由于 “Ctrl+Z” 组合键转入后台运行的进程在当前用户退出后就会终止,所以使用此快捷键不如使用 nohup 命令,因为 nohup 命令的作用就是用户退出之后进程仍然继续运行,而现在许多脚本和命令在root 用户退出时仍然有效
Ctrl+D设置 EOF ,即文件末尾(end of file)。如果光标处在一个空白的命令行中,则按 “Ctrl+D” 组合键后,将会退出 BASH ,比使用 exit 命令退出要快得多
Ctrl+S暂停屏幕输出
Ctrl+Q恢复屏幕输出
Ctrl+L清屏,相当于 clear 命令
Ctrl+U剪切删除光标前的所有字段
Ctrl+K剪切删除光标后的所有字段
Ctrl+W剪切删除光标前的字段
Alt+D向后删除一个词
Ctrl+Y粘贴被 “Ctrl+U” 或 “Ctrl+K” 或 “Ctrl+W” 组合键剪切删除的部分
Tab自动补齐命令行与文件名,双击 “Tab” 键,可以列出所有可能匹配的选择
Alt+F光标向前移动一个词的距离
Alt+B光标向后移动一个词的距离
Ctrl+R在历史命令中查找,当 history 比较多时,若想找一个比较复杂的命令,使用此快捷键后,Shell 会自动查找并调用该命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1496406.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

以太网帧格式

以太网帧格式 以太网帧格式前导码&#xff08;Preamble&#xff09;帧起始界定符&#xff08;SFD&#xff0c;Start Frame Delimiter&#xff09;以太网帧头目的MAC地址源MAC地址长度/类型 数据段帧检验序列&#xff08;FCS&#xff0c;Frame Check Sequence&#xff09;帧间隙…

Vue全家桶:vue2+vue3全部搞懂:第八篇,重要!正式工程化项目开发——开始怎么写代码

前提&#xff0c;建议先学会前端几大基础&#xff1a;HTML、CSS、JS、Ajax&#xff0c;不然不好懂 这一专栏知识将一次性将vue、vue2、vue3全部讲明白 这一篇内容蛮多&#xff0c;我本人也打算加快学习速度&#xff0c;于是下面大量解释将出自于黑马程序员的视频课堂截图&…

Java面试篇【RabbitMQ】常见面试题(2024最新)

RabbitMQ 1.为什么使用MQ?优点是什么 因为MQ可以异步处理&#xff0c;提高系统吞吐量。 应用解耦&#xff0c;系统之间可以通过消息通信&#xff0c;不关心其他系统的处理。 流量削峰&#xff0c;可以通过消息队列的长度&#xff0c;控制请求量。可以缓解短时间内的高并发请…

热插拔更换ESXI宿主机系统硬盘导致紫屏故障案例一则

关键词 vmware、esxi5.5raid、热插拔、紫屏 华为 CH121V3刀片、SSD硬盘 There are many things that can not be broken&#xff01; 如果觉得本文对你有帮助&#xff0c;欢迎点赞、收藏、评论&#xff01; 一、问题现象 现网vmware云平台一台华为E9000刀箱CH121V3刀片服务…

16-Java命令模式 ( Command Pattern )

Java命令模式 摘要实现范例 命令模式&#xff08;Command Pattern&#xff09;中请求以命令的形式包裹在对象中&#xff0c;并传给调用对象 调用对象寻找可以处理该命令的合适的对象&#xff0c;并把该命令传给相应的对象&#xff0c;该对象执行命令 命令模式是行为型模式&…

面试官让说出8种创建线程的方式,我只说了4种,然后挂了。。。

写在开头 昨天有个小伙伴私信说自己面试挂在了“Java有几种创建线程的方式”上&#xff0c;我问他怎么回答的&#xff0c;他说自己有背过八股文&#xff0c;回答了&#xff1a;继承Thread类、实现Runnable接口、实现Callable接口、使用线程池这四种&#xff0c;但是面试官让说…

艺术与科技的结合,AI绘画图生图怎么样?

AI绘画图生图是指通过人工智能技术生成的具有艺术价值的图像。它可以根据用户提供的参考图像或描述&#xff0c;自动生成具有艺术风格的新图像。这些图像可以是风景、人物、抽象画等各种形式。那么ai绘画图生图到底怎么样&#xff1f; AI绘画图生图的优点在于它可以快速、高效地…

产品展示型wordpress外贸网站模板

孕婴产品wordpress外贸网站模板 吸奶器、待产包、孕妇枕头、护理垫、纸尿裤、孕妇装、孕婴产品wordpress外贸网站模板。 https://www.jianzhanpress.com/?p4112 床品毛巾wordpress独立站模板 床单、被套、毛巾、抱枕、靠垫、围巾、布艺、枕头、乳胶枕、四件套、浴巾wordpre…

【学习】DenseNet

DenseNet介绍 DenseNet模型的基本思路与ResNet一致&#xff0c;但它建立的是前面所有层与后面层的密集连接&#xff08;即相加变连结&#xff09;&#xff0c;它的名称也是由此而来。DenseNet的另一大特色是通过特征在通道上的连接来实现特征重用。这些特点让DenseNet的参数量…

C# CallerMemberName、CallerFilePath、CallerLineNumber

CallerMemberName&#xff1a;调用某个方法的主方法名称 CallerFilePath&#xff1a;调用某个方法的主方法所在的类文件地址 CallerLineNumber&#xff1a;调用这个方法所在的行号 用这三个附加属性&#xff0c;需要设置默认值。

推荐5款极具效率的实用工具软件

​ 每次分享实用的软件,都会给人一种踏实和喜悦的感觉,这也是我热衷于搜集和推荐高效工具软件的原因。 1.个人日记软件——EDiary ​ EDiary是一款功能丰富的个人日记软件&#xff0c;用户可以在不联网的状态下使用&#xff0c;保护隐私。它支持日记、记事本、日历、事件提醒…

QT----云服务器部署Mysql,Navicat连接1698 -Access denied for user ‘root‘@‘‘

阿里云有活动&#xff0c;白嫖了一年的新加坡轻量级服务器&#xff0c;有点卡&#xff0c;有时候要开梯子 白嫖300元优惠券 目录 1 安装启动Mysql服务2 更改连接权限2.1 Navicat连接报错1698 -Access denied for user root 3 qt连接云服务器数据库 1 安装启动Mysql服务 我使用…

Docker-部署若依项目

文章目录 后端一、搭建局域网二、redis安装测试 三、MySQL安装四、后端项目放入位置及使用Dockerfile自定义镜像后端项目放入位置 前端配置检查各个端口是否启动nginx部署 首先得先把内部的文件给删除清空 docker images–查看有哪些文件 docker rmi -f ID–删除ID 后端 一、…

linux 安装OpenRestry

一、OpenRestry官网 openRestry中文官网 openRestry英文官网 二、OpenRestry搭建 可以参考官方提供的网址进行搭建&#xff1a;OpenRestry安装官网 ​ 三、开始安装 1、安装依赖库 yum install libtermcap-devel ncurses-devel libevent-devel readline-devel pcre-deve…

Docker 创建容器并指定时区

目录 1. 通过环境变量设置时区&#xff08;推荐&#xff09;2. 挂载宿主机的时区文件到容器中3. 总结 要在 Docker 容器中指定时区&#xff0c;可以通过两种方式来实现&#xff1a; 1. 通过环境变量设置时区&#xff08;推荐&#xff09; 在 Docker 运行时&#xff0c;可以通…

简析:老阳分享的视频号带货蓝海项目前景如何?

随着社交媒体的快速发展&#xff0c;视频号带货已经成为电商领域的一大热点。近期&#xff0c;知名网红老阳分享了自己的视频号带货项目&#xff0c;引发了广泛关注。本文将从视频号前景、注意事项等方面&#xff0c;分析老阳分享的视频号带货项目前景如何。 首先&#xff0c;从…

三维GIS的业务导向

的确&#xff0c;目前三维GIS以做特效居多&#xff0c;酷炫、亮眼&#xff0c;从二维转到三维&#xff0c;第一眼就给人眼前一亮的感觉&#xff0c;就凭这一项&#xff0c;很多客户就会买单&#xff0c;GIS的客户以政府、科研院所、特种行业为主&#xff0c;买过一次单后&#…

10年架构师和CTO经验总结:从程序员到CTO

在这个不断变化的技术环境中&#xff0c;软件架构的重要性愈发凸显。然而作为一个职业&#xff0c;软 件架构师的地位却不断受到业内外的挑战。在20世纪90年代互联网技术发展初期&#xff0c;软件架 构师是备受推崇的职位。在相对简单的技术诉求下&#xff0c;他们的决策直接决…

【网络】:再谈传输层(UDP)

传输层 一.再谈端口号二.UDP 一.再谈端口号 端口号(Port)标识了一个主机上进行通信的不同的应用程序。 在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过netstat -n查看); 1.端口号划分 0 - 1023:…

【python 1】----Pytest基础知识

定义 用于编写和执行Python测试全功能测试框架&#xff08;工具&#xff09;&#xff0c;是一个第三方库 安装 pip insatll pytest 安装pytest --version 校验 pytest的组成构成 不写调用语句也可以执行函数内容 在用例运行语句里面&#xff1a; -s:指的是开启与终端的…