linux—基础命令及相关知识

1.0Linux的哲学思想(优势)

1、一切都是一个文件,一切硬件设备包括硬件接口都可以以文件形式显示

2、系统小型,轻量级,300个包(不装桌面的情况下)

3、避免令人困惑的用户界面(图形界面)

4、在windows操作系统中,没有后缀名会无法打开文件,linux不以后缀名区分文件,没有后缀名对Linux操作没有影响

5、免费

2.0Linux理解

shell的概念(区别于Xshell(远程管理服务器的软件))

shell指代的是一类软件的集合(操作系统的一部分,用kill命令是杀不掉的,-9命令可以强杀),作用是翻译,计算机使用的是二进制语言,shell的作用就是将人类语言翻译成机器能够听懂的语言,将命令传达给操作系统内核执行(centos\ubuntu等都是以Linux为内核的操作系统),操作系统将命令交给电脑硬件处理。

  • Linux系统中运行的一种特殊程序(完成特定任务的一串代码)

  • 用户与内核(Linux)的“翻译官”

  • 用户登陆Linux系统(作用:调度硬件,分配资源,网络管理)时,自动加载一个shell(所有系统,叫法可能有所不同)程序

  • Bash(Shell的一种(可以多开,Linux本就是多人多任务的系统环境,每个bash互相独立又相自联系),比如还有sh、csh、tcsh、nologin(奇葩))是Linux系统中默认使用的Shell程序

tips:桌面本身为一个软件,打开进程管理器,关闭删除explorer,桌面就会消失,打开文件,运行新任务,打开explorer.exe,桌面就会恢复。

3.0Linux命令的分类

命令的本质是程序,需要安装,很多命令在安装完操作系统后不用安装,是因为一些命令集成于Shell(不仅是翻译界面,本身也是一系列程序的集合,例如命令)解释器程序内部,这些命令被称为内部命令(例如cd,shell的一部分,自动载入内存(内部命令在bash里,而bash在内存里),可以直接使用,没有相对应的独立文件),而需要我们额外安装的命令我们称为外部命令(例如ls,装系统的时候选中软件选择里的开发工具自动安装),每个命令都对应一个文件,必须知道其对应的文件位置,由shell加载后执行,外部命令存放在硬盘里,使用时需要内存读取后使用,所以速度比内部命令慢。

type -a命令可以用于区分命令是内部命令还是外部命令,查看命令是否有相对应文件

3.1linux命令执行方式与过程

绝对路径执行

例如/usr/bin/ls

[root@localhost ~]# /usr/bin/ls 
通过输入绝对路径执行命令
anaconda-ks.cfg  original-ks.cfg  text	text2  tt

置入环境变量

将命令置入设置好的环境变量路径    /usr/local/sbin、/usr/local/bin、/usr/bin、/usr/sbin/、/root/bin

[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
(直接输入ls命令会按顺序寻找,找到就停)
(例子:将ls命令升级后,将升级后的ls命令放入/usr/bin/下面,升级前的命令放入/usr/local/sbin/下,直接输入ls命令,会显示老版本的ls命令,要注意不同模式下命令的存放位置)

(例子:将ls命令升级后,将升级后的ls命令放入/usr/bin/下面,升级前的命令放入/usr/local/sbin/下,直接输入ls命令,会显示老版本的ls命令,要注意不同模式下命令的存放位置)

Linux命令执行过程

hash -d命令删除掉缓存表中的命令后,shell程序会重新去环境变量路径中寻找。

3.2.Linux命令格式

通用的命令行使用格式:命令  [选项]  [参数] (英文字符区分大小写,windows不区分)

  • 命令唯一不变
  • 整条命令中最关键的一部分
  • 短格式选项:使用符号“-”引导(多个单字符选项可以组合在一起使用,例如ls -al)
  • 长格式选项:使用符号”--“引导

命令 -字母 命令--单词 命令 选项 

ls -a      命令 -字母
ls --all   命令 --单词
ip a =ip addr unix风格
[root@localhost ~]# cd ~;ls
分号可以先执行前面再执行后面,前面一个命令执行不成功不影响后面命令的执行
anaconda-ks.cfg  original-ks.cfg  text  text2  tt

3.3编辑Linux命令行

快捷键作用
Tab

补全命令或者参数(如果命令是唯一的,按一次直接补全,如果命令不唯一,按两次显示所有衍生命令,输入关键字符按Tab补全命令

有些命令参数只能是文件夹(文件\用户名),选错无法补齐

\反斜杠命令换行
ctrl+U清空至行首
ctrl+A移动至行首
end移动至行尾
ctrl+K清空至行尾
ctrl+L清平(把光标移动到最顶格)
ctrl+C强制退出当前操作
ctrl+S/Q锁屏解锁
page上下键可以快捷选择使用过的历史命令
[root@localhost /]# user
useradd     userdel     userhelper  usermod     usernetctl  users       
[root@localhost /]# userdel
[root@localhost /]# l\
> s
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

3.4获得命令帮助的一些方法(不如百度)

命令作用
help cd查看内部命令
ls --help查看外部命令
man man 查看man手册
man 1 passwd看passwd命令作用
man 5 passwd看passwd文件内容

3.5Linux一些基础命令

帮助:命令 --help  (命令相关帮助)

ls --help     查看ls的命令帮助
mkdir --help  查看mkdir的命令帮助

显示进程树:pstree   (可视化的展示当前操作系统所有的进程以及其父子关系)

                     pstree -p (显示进程树中每个进程的ID(PID))

tips:PID,每个进程的唯一标识符,以便系统能够有效管理和调度。

pstree     可视化的展示当前操作系统所有的进程以及其父子关系
pstree -p  显示进程树中每个进程的ID(PID)

显示文件内容:type     (显示指定文件(命令)内容)

                          type -a(显示指定命令所有指定位置)

[root@localhost ~]# type ls          显示指定命令ls的内容
ls is aliased to `ls --color=auto'
[root@localhost ~]# type -a ls       显示指定命令所有定义位置(懒惰模式?)
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
[root@localhost ~]# type cd          
cd is a shell builtin(cd是shell内置命令)type -a命令可以用于区分命令是内部命令还是外部命令

移动文件:mv 

mv /usr/bin/ls /mnt/     将/usr/bin/下的ls移动到/mnt/下面

删除文件或目录:rm (删除指定的文件和目录) 

                             rm -r(删除该目录以及其所有递归目录)

                             rm -f(强制删除)

rm text        删除当前目录下的text文件夹
rm -r ./text   删除当前目录下的text文件夹及其所有递归目录
rm -f ../      强制删除上一级目录

显示文件内容:cat  

[root@localhost /]# cat etc/passwd 显示etc文件夹下的passwd文件
root:x:0:0:root:/root:/bin/bash
root:当前用户
x:密码的校验符
0:用户编号
0:用户组编号
root:备注信息
/root:用户家目录
/bin/bash:用户登录默认加载的bash

显示当前目录所在的绝对路径:pwd

切换当前所在目录:cd 目标位置(切换到目标位置)

                                cd ~ 或者  cd (切换到当前用户的家目录)

                                cd -              (切换到上一次执行cd之前所在的目录)

                                cd ..               (切换到上级所在目录)

[root@localhost /]# cd 
[root@localhost ~]# cd /
[root@localhost /]# cd -
/root
[root@localhost ~]# cd /usr/bin
[root@localhost bin]# cd -
/root
[root@localhost ~]# pwd
/root

   列表 :ls           (以列表形式列出当前目录下所有文件及子目录)       

               ls -l       (以长列表形式列出当前目录下所有文件及子目录,可以看到文件的属性)

               ls -a      (显示所有文件及隐藏文件,包括.和..)

               ls -d      (显示当前文件夹,一般是.,加上l后可查看属性)

               ls  -h     (友好显示,会给文件大小加上单位,kb及以上才会加上单位)

               ls -R     (递归显示所有文件及文件夹)

               ls -t       (按时间排序,越新的在越上面)

               ls -S      (按大小排序,越大的在越上面)

               ls -r        (倒序显示)

[root@localhost ~]# cd ~
[root@localhost ~]# mkdir -p aa/bb/cc
[root@localhost ~]# ls
1  aa  anaconda-ks.cfg  original-ks.cfg  text  text2  tt
[root@localhost ~]# ls -al
total 56
dr-xr-x---.  7 root root 4096 Oct 22 12:32 .
dr-xr-xr-x. 17 root root  239 Sep  7 20:13 ..
-rw-r--r--.  1 root root    0 Oct 22 10:49 1
drwxr-xr-x.  3 root root   16 Oct 22 12:32 aa
-rw-------.  1 root root 2761 Sep  5 19:01 anaconda-ks.cfg
-rw-------.  1 root root 3833 Oct 21 20:00 .bash_history
-rw-r--r--.  1 root root   18 Dec 28  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 28  2013 .bash_profile
-rw-r--r--.  1 root root  185 Sep 10 02:26 .bashrc
drwx------.  3 root root   18 Sep  5 19:57 .cache
drwxr-xr-x.  3 root root   18 Sep  5 19:57 .config
-rw-r--r--.  1 root root  100 Dec 28  2013 .cshrc
-rw-------.  1 root root   38 Oct 22 10:01 .lesshst
-rw-------.  1 root root 2041 Sep  5 19:01 original-ks.cfg
-rw-r--r--.  1 root root  129 Dec 28  2013 .tcshrc
drwxr-xr-x.  2 root root   36 Oct 20 19:33 text
-rw-r--r--.  1 root root   24 Sep 17 08:47 text2
drwxr-xr-x.  2 root root   22 Sep  9 08:53 tt
-rw-------.  1 root root  779 Oct 20 18:35 .viminfo
-rw-------.  1 root root  132 Oct 20 18:27 .xauthd5k9Xm
-rw-------.  1 root root  134 Oct 22 05:51 .Xauthority
[root@localhost ~]# ls -d
.
[root@localhost ~]# ls -dl
dr-xr-x---. 7 root root 4096 Oct 22 12:32 .
[root@localhost ~]# ls -tr
original-ks.cfg  anaconda-ks.cfg  tt  text2  text  1  aa
[root@localhost ~]# ls -R aa
aa:
bbaa/bb:
ccaa/bb/cc:
[root@localhost ~]# 
第一个字符文件的类型及功能
-普通文件,图片,文本,压缩包等
d目录文件夹
l软链接,类似于windows中的快捷方式
c字符文件,键盘
d快设备,硬盘(4k一读,最合理的读写速度,大了影响空间,小了影响速度)
s套接字
p管道文件

AB两个程序互传数据需要用到套接字和管道文件,套接字是双向的,分为网络套接字(a和b传送数据)和本地套接字,管道文件是单向的,一般都在ram里,用的时候才有,一般run文件夹下居多。

.表示selinux,是一种保护措施,文件的使用时间相当于修改时间,文件的链接数指的是硬链接。

查找文件和目录:find

别名:alias (自定义命令="原始命令")

alias my1="cd etc/profile"
unalias my1 删除创建的别名
别名>内部>hash>外部   优先级

创建文件夹:mkdir

                      mkdir -p (创建递归文件夹)

tips:不要创建p p的文件名,如果要创建,格式用“p p”;rm -f -f无效,因为shell把-f认为是选项,所以要rm -rf ./-rf,尽量不要创建带-文件,尽量用数字和字母创建名字

[root@localhost ~]# mkdir -p aa/bb/cc
[root@localhost ~]# ls -R aa
aa:
bbaa/bb:
ccaa/bb/cc:mkdir -pv /mysql/{3306,2237,3308}/{bin,log,pid,data,etc}  创建递归目录并显示创建信息

创建文件:touch(文件不存在时,创建文件,文件存在时,刷新文件时间)

查看占用磁盘空间:du(查看当前目录及其所有子目录占磁盘空间的大小)

                                 du -a(查看当前目录及其所有子目录以及文件所占空间的大小)

                                 du -s(显示当前文件夹占磁盘的总大小)

                                 du -h(显示单位)

                                 du -d(显示层级,例如d1、d2、d3

tips:ll显示的是文件的真实大小,du显示的是文件占磁盘的空间

4.0通配符

一些符号不表示原来的意思,重新赋予它新的含义,用来匹配文件或者文件夹的名字

通配符含义
代表任意一个字符(?.txt不包含10.txt)
*

代表任意长度的字符(*.txt包含所有以txt结尾的文件)

(*p,p结尾;p*,p开头;*p*包含p)

{a..z}{1..10}{A..Z}表示a到z,1到10,A到Z,touch   {1..10}

[0-9][0-9]

[a-c]

表示单个字符,0-9当中一位,ls [0-9][0-9]表示从00-99

表示a,A,b,B,c

[[:lower:]]表示a-z
[[:upper:]]表示A-Z

[^0-9]

[^a]

匹配列表中所有字符以外的字符

除了名为a以外的所有文件及文件夹,由于单个字符,10等文件名也不行,10可以用[^a][0-9]表示

[[:digit:]]表示0-9
[[:alpha:]]表示所有字母

5.0软硬链接

硬链接:ln 源文件的路径 硬链接的路径

软链接:ln -s 源文件的路径 软链接的路径

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

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

相关文章

在 Spring 中使用 @EhCache 注解作为缓存

文章目录 项目概况项目设置一个简单的 RESTful Web 服务Spring 整合 EhCache第 1 步:更新依赖项以使用 EhCache Spring 注解第 2 步:设置自定义缓存管理器第 3 步:配置 EhCache第 4 步:测试缓存 刷新缓存总结推荐阅读文章 EhCache…

Linux系统基础-进程间通信(3)_模拟实现匿名管道

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 Linux系统基础-进程间通信(3)_模拟实现匿名和命名管道 收录于专栏[Linux学习] 本专栏旨在分享学习Linux的一点学习笔记,欢迎大家在评论区交流讨论&a…

docker入门(三)自定义部署docker镜像

docker系列d​​​​​​​docker入门(一)安装及镜像命令_docker国内源-CSDN博客文章浏览阅读1.5k次,点赞44次,收藏12次。注意:是强依赖Linux环境,即便在windows上部署Docker其本质也都是先安装一个虚拟机&…

SpringBoot3.x和OCR构建车牌识别系统

本专题旨在展示 OCR 技术与 SpringBoot3.x 框架结合的广泛应用。我们会深入探讨它在医疗、金融、教育、交通、零售、公安等多个领域的现实应用。每个应用场景都会提供详细的实例、面临问题的分析与解决策略,以帮助您深入理解 OCR 技术在实践中的关键作用。让我们一同…

糖果——差分约束 + 正环判定及其优化(手搓栈 + 标记法)

题目 思考 这里转为判定负环可以是可以&#xff0c;但是不能用超级源点了&#xff08;改为把节点全部压入&#xff09;&#xff0c;因为按照题目条件&#xff0c;建立的应该是各个节点指向超级源点的有向边&#xff0c;这显然破坏了超级源点的功能 代码 #include <bits/st…

ArcGIS002:软件自定义设置

摘要&#xff1a;本文详细介绍安装arcgis10.2后软件自定义设置内容&#xff0c;包括工具条的启用、扩展模块的启用、如何加载项管理器、快捷键设置、样式管理器的使用以及软件常规设置。 一、工具条的启用 依次点击菜单栏【自定义】->【工具条】&#xff0c;根据工作需求勾…

某ai gpt的bug

某ai gpt的bug 背景 遇到了一个奇怪的现象&#xff1a; 输入内容 2024-10-21 10:09:31,052 ERROR o.a.j.t.JMeterThread: Test failed! java.lang.IllegalArgumentException:输出结果

使用 PyTorch 构建 LSTM 股票价格预测模型

目录 引言准备工作1. 训练模型&#xff08;train.py&#xff09;2. 模型定义&#xff08;model.py&#xff09;3. 测试模型和可视化&#xff08;test.py&#xff09;使用说明模型调整结论 引言 在金融领域&#xff0c;股票价格预测是一个重要且具有挑战性的任务。随着深度学习…

即时通讯增加Redis渠道

情况说明 在本地和服务器分别启动im服务&#xff0c;当本地发送消息时&#xff0c;会发现服务器上并没有收到消息 初版im只支持单机版&#xff0c;不支持分布式的情况。此次针对该情况对项目进行优化,文档中贴出的代码非完整代码&#xff0c;可自行查看参考资料[2] 代码结构调…

Docker安装ocserv教程(效果极佳)

本章教程,介绍如何在Debain系统上安装ocserv。安装方式是使用Docker方式部署。 一、安装Docker curl -sSL https://file.ewbang.com/docker/debian/install_docker.sh -o install_docker.sh && bash install_docker.sh二、拉取镜像 docker pull tommylau/ocserv

Jsoup在Java中:解析京东网站数据

对于电商网站如京东来说&#xff0c;其页面上的数据包含了丰富的商业洞察。对于开发者而言&#xff0c;能够从这些网站中提取有价值的信息&#xff0c;进行分析和应用&#xff0c;无疑是一项重要的技能。本文将介绍如何使用Java中的Jsoup库来解析京东网站的数据。 Jsoup简介 …

Linux部署redis保姆级教程

一、版本说明 Redis版本号(本文的版本号是6.2.12)的第二位如果是偶数,代表稳定版本,如果是奇数,代表非稳定版本。 所有历史版本下载地址:Index of /releases/ 二、基于压缩包安装(推荐) 2.1安装依赖 2.1.1安装gcc: yum -y install gcc 2.1.2验证gcc是否安装成功:(…

Linux--多路转接之epoll

上一篇:Linux–多路转接之select epoll epoll 是 Linux 下多路复用 I/O 接口 select/poll 的增强版本&#xff0c;它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统 CPU 利用率。它是 Linux 下多路复用 API 的一个选择&#xff0c;相比 select 和 poll&#xff0c…

DevExpress WPF v24.1新版亮点:PDF查看器、富文本编辑器功能升级

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress WPF控件日…

1971. 寻找图中是否存在路径

有一个具有 n 个顶点的 双向 图&#xff0c;其中每个顶点标记从 0 到 n - 1&#xff08;包含 0 和 n - 1&#xff09;。图中的边用一个二维整数数组 edges 表示&#xff0c;其中 edges[i] [ui, vi] 表示顶点 ui 和顶点 vi 之间的双向边。 每个顶点对由 最多一条 边连接&#x…

Vue3 学习笔记(一)Vue3 介绍及环境部署

一、Vue.js 简介 1、Vue.js 是什么&#xff1f; Vue.js&#xff08;读音 /vjuː/, 类似于 view&#xff09; 是一套构建用户界面的渐进式框架。Vue 只关注视图层&#xff0c; 采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件…

性能工具之JMeter 通过Java API生成 BeanShell PreProcessor 脚本

文章目录 一、前言二、实现代码三、代码示例四、最后 一、前言 对于上一篇文章&#xff08;性能工具之 HAR 格式化转换JMeter JMX 脚本文件&#xff09;还是有点问题。大家在使用的情况需要注意。 如果多个接口相同 path 路径且不同参数进行查询如&#xff1a; 上面接口如果…

【前端】如何制作一个自己的网页(15)

有关后代选择器的具体解释&#xff1a; 后代选择器 后代选择器使用时&#xff0c;需要以空格将多个选择器间隔开。 比如&#xff0c;这里p span&#xff0c;表示只设置p元素内&#xff0c;span元素的样式。 <style> /* 使用后代选择器设置样式 */ p span { …

java--多态(详解)

目录 一、概念二、多态实现的条件三、向上转型和向下转型3.1 向上转型3.2 向下转型 四、重写和重载五、理解多态5.1练习&#xff1a;5.2避免在构造方法中调用重写的方法&#xff1a; 欢迎来到权权的博客~欢迎大家对我的博客提出指导这是我的博客主页&#xff1a;点击 一、概念…

Java毕业设计 基于SpringBoot发卡平台

Java毕业设计 基于SpringBoot发卡平台 这篇博文将介绍一个基于SpringBoot发卡平台&#xff0c;适合用于Java毕业设计。 功能介绍 首页 图片轮播 商品介绍 商品详情 提交订单 文章教程 文章详情 查询订单  查看订单卡密 客服   后台管理 登录 个人信息 修改密码 管…