Linux(一)按键,目录,基础命令

news2025/1/18 18:45:56

shell

shell就是命令解释器
命令解析器的作用:对用户输入到终端的命令进行解析,调用对应的执行程序
shell将用户输入的命令解释成内核能够识别的指令
在这里插入图片描述
shell是按照$Path环境变量
在这里插入图片描述
在这里插入图片描述
常用的命令解析器:
shell – Bourne Shell
路径:/bin/sh
bash – Bourne Again Shell
路径: /bin/bash

查看当前系统所使用的shell

echo $SHELL

查看当前系统下有哪些shell

cat /etc/shells

在这里插入图片描述

Linux下的按键

tab键

补全信息,如果命令或路径存在

遍历命令

向上遍历 向上箭头或
向下遍历 向下箭头或

光标移动

左移 向左箭头或ctrl+b
右移 向右箭头或ctrl+f
移动到头部 ctrl+a 或 home
移动到尾部 ctrl+e 或end

字符删除

删除光标前边的字符:ctrl +h 或空格
删除光标后边的字符 ctrl +d
光标后面的字符即光标覆盖的字符
删除光标前所有内容 ctrl+u
删除贯标后所有内容: ctrl+k

Linux下的目标结构

Linux系统的目录结构是一个倒立的树桩结构,根目录用/表示
Linux下主要目录介绍

/bin

binary ,二进制文件,可执行程序,shell命令

/sbin

s是Super User的意思,这里存放的是系统管理员使用的系统管理程序

/dev

device ,在linux下一切皆文件
硬盘,显卡,显示器
字符设备文件、块设备文件

/lib

linux运行的时候需要加载一些动态库

/mnt

手动的挂载目录,如u盘等

/media

外部的自动挂载目录,如光驱等

/root

linux的超级用户root的家目录

/usr

unix system resource 类似于windows的programe files目录

  • include目录里存放头文件
  • games 目录下的小游戏

/etc

存放配置文件

/etc/passwd

  • man 5 passwd 可以查看passwd文件的格式信息

/etc/group

  • man 5 group可以查看group文件的格式信息

/etc/profile

系统的配置文件,修改该文件会影响这个系统下面的所有的用户

/opt

安装第三方应用程序

/home

linux操作系统所有用户的家目录

/tmp

存放临时文件
新建在这个目录下的文件会在系统重启后消失

文件和目录操作相关命令

tree命令

以树状图的形式查看目录
在这里插入图片描述

tree 查看当前目录
tree 目录 查看指定目录

可能没有,可以通过下面的命令去安装

snap install tree  # version 1.8.0+pkg-3fd6, or
apt  install tree  # version 1.8.0-1

ls命令

查看指定目录下的文件信息

ls 查看当前目录
ls 目录 查看指定目录

相关参数

-a 列出当前目录下的所有文件

. 表示当前目录
.. 表示上一级目录

隐藏文件,以.开头的文件名

-R 递归方式列出所有目录中的内容

-l 列出文件的详细信息

在这里插入图片描述

详细信息说明

第一个字母代表文件类型

文件类型
-普通文件
d目录
l符号链接,相当于windows下的快捷链接
s套接字
p管道
b块设备

第二个字母到数字之前
三种用户的权限
r 可读
w 可写
x 可执行
三种从左到右分别指拥有者拥有者所在的组的用户其他用户
数字代表硬链接计数
后面的一单词代表拥有者
再后面一单词代表所属组
数字接着代表文件大小
后面三组代表最后修改时间
最后面一组就是文件名

ls -la

列出当前目录下所有文件的详细信息,包含隐藏文件

ls -ltr

列出当前目录下的文件,按照时间逆向排序

cd命令

切换目录(change directory),命令使用方式: cd +目录
目录的形式可以是相对路径也可以是绝对路径

pwd命令

查看用户当前所处的工作目录,(printf working directory)

which 命令

显示命令所在的目录,如
在这里插入图片描述

touch命令

如果文件不存在,创建文件,如果文件存在更新文件的最后修改时间
命令使用: touch 文件名

mkdir命令

创建新目录,(make directory)
创建方式 mkdir 目录名
如果创建多级目录需要添加参数 -p
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

rmdir命令

删除空目录,只能删除空目录
使用方式: rmdir 目录名

rm命令

删除文件: rm 文件名
删除目录: rm -r 目录名

参数:

-r 递归删除目录,删除目录必须添加此参数
-i 提示用户是否删除文件或目录
-f 强制删除

注意事项:

使用rm命令删除的文件或目录不会放入回收站,数据不易恢复

cp命令

拷贝文件或目录
命令使用方式:cp源目录或文件 目标目录或文件

  1. cp file1 file2(不存在)
    拷贝不存在的文件file1
    在这里插入图片描述

  2. cp file1 file2(存在)
    拷贝存在的文件file1
    在这里插入图片描述

  3. cp file dir
    拷贝文件file到dir目录下
    在这里插入图片描述

  4. cp -r dir1 dir2(不存在)
    .拷贝不存在的目录dir1到dir2在这里插入图片描述

  5. cp -r dir1 dir2(存在)
    拷贝存在的目录dir1到dir2下
    在这里插入图片描述
    cp拷贝目录也可以用-a参数,这样可以保留被拷贝文件的一些属性信息
    在这里插入图片描述
    在这里插入图片描述

mv命令

使用方法 mv 源文件 目标文件
改名:

  1. mv file1 file2(不存在)
    在这里插入图片描述

  2. mv file1 file2(存在)
    在这里插入图片描述
    文件存在,则会被替换成源文件,而被替换的文件消失,源文件也消失

  3. mv dir dir(不存在)
    在这里插入图片描述

移动:
4. mv file dir(必须存在)
文件必须存在,佛则报错,若目录不存在,则会被认为是改名
在这里插入图片描述

  1. mv dir1 dir2
    在这里插入图片描述

查看文件内容的命令

cat命令

将文件内容一次性输出到终端
使用方法: cat 文件名
缺点:终端长度有限,如果内容过长无法全部显示
可用于文件重定向:

 cat file1>file2

相当于cp file1 file2

more命令

文件内容分页显示到终端,但是只能一直向下浏览,不能回退
使用方式:more 文件名
相关操作:
显示下一行:回车
显示下一页:空格
退出:q(Ctrl+C)

less命令

文件内容分页显示到终端,可以上下浏览
使用方式: less 文件名
相关操作:
显示下一行:回车、ctrl+p、键盘向下键
显示上一行:ctrl+n、键盘向上键
显示下一页:空格、PageDown
显示上一页:PageUp
退出:q

head命令

从文件头部开始查看前n行的内容
使用方式:head -n 文件名
如果没有指定行数,默认显示前10行内容

tail命令

从文件尾部向上查看最后n行的内容
使用方式:tail -n 文件名
如果没有指定行数,默认显示最后10行的内容
使用history可以显示用户输入的所有命令
应用:
显示日志
tail -f test.log(实时显示文件内容)

在这里插入图片描述

wc命令

wc file 显示文件行数,字节数,单词数
wc -l file 显示文件的总行数
wc -c file 显示文件的总字节数
wc -w file 显示文件的总单词数
在这里插入图片描述

whoami

显示当前登录的用户名
在这里插入图片描述

用户权限、用户、用户组

修改文件权限chmod

linux是通过权限对文件进行控制的,通过使用chmod命令可以修改文件相关权限

文件设定法

命令: chmod [who][+]-[=][mode] 文件名

操作对象[who]

u – 用户(user)
g – 同组用户(group)
o – 其他用户(other)
a --所有用户 (all)【默认】

操作符[±=]
  • + – 添加权限
  • - – 取消权限
  • = – 赋予权限
权限[mode]
  • r – 读
  • w – 写
  • x – 执行
    在这里插入图片描述

数字设定法

命令: chmod [+][-][=][mode] 文件名

数字表示的含义

  • 0–没有权限
  • 1–执行权限(x)
  • 2–写权限(w)
  • 4–读权限®
    若给file1 r-xrw-r–

    在这里插入图片描述
    注意点:使用数字设定法,一定要使用3位的8进制数,如上面的564

修改文件所有者和所有组

  • 修改文件所有者 chown
    用法:chown 文件所有者 文件名
  • 修改文件所有者和所属组 chown
    用法:chown 文件所有者:文件所属组 文件名

find 命令

按文件名查询:使用参数 -name

命令 find 路径 -name "文件名"

按文件类型查询:使用参数 -type

命令: find 路径 -type 类型

类型:

  • f->普通文件类型
  • d-> 目录
  • l->符号链接
  • b->块设备文件
  • c->字符设备文件
  • s ->socket文件
  • p->管道文件

按文件大小查询:使用参数 -size

命令:find 路径 -size 范围

范围

  • 大于:+表示
  • 小于:-表示
  • 等于:不需要添加符号

大小

  • M 必须大写
  • k必须小写
  • c 表示字节数

按文件日期

创建日期

-ctime -n/+n

  • -n :n天以内
  • +n:n天以外

修改日期

-mtime -n/+n

访问日期

-atime -n/+n

按深度

  • -maxdepth n
    搜索n层以下的目录,搜索的层数不大于n层
  • -mindepth n
    搜索n层以上的目录,搜索的层数不小于n层

高级查找

find 路径 日期/类型/大小 -exec shell命令 {} \;
解释:shell命令用来做特定的操作,例如列出文件的详细信息 ls-l
     {} \; 这是固定的结尾,注意{}\之间有一个空格
find 路径 日期/类型/大小 | xargs shell命令
|管道符 和上面的效果差不多,但如果查找的目标文件有很多,用这个,这个会分段显示

grep 命令

grep -(有目录) “查找的内容” 搜索的路径

  • -r 参数 ,若是目录,则可以递归搜索
  • -n参数可以显示该查找内容所在的行号
  • -i参数可以忽略大小进行查找
  • -v参数不显示包含有某字符串

find与grep的组合使用

通过管道符,可以用find查找文件,用grep去进行过滤显示
如:

find . -name "*.c" | xargs grep -n "main"
意义:查找当前目录下包含"main"的.c文件,并显示其行号

给频繁应用的命令起别名

三步:

  1. 在.bashrc 文件中添加你要使用的命令且为其添加别名
alias 别名='命令'

在这里插入图片描述

  1. 让其生效
. .bashrc
  1. 测试使用
    在这里插入图片描述

切换root和普通用户

Ubuntu

切换到root

sudo su

切换到普通用户

su user(用户名)

软件安装

在线安装

软件安装: sudo apt-get install 软件名
软件卸载: sudo apt-get remove 软件名
更新软件列表: sudo apt-get update
清理安装包:sudo apt-get clean
清理的是缓存路径: /var/cache/apt/archivers

软件包安装

在Ubuntu系统下必须有deb格式的安装包
软件安装: sudo dpkg -i xxx.deb
软件卸载: sudo dpkg -r 软件名

linux中常用的压缩工具

gzip和bzip

不能压缩目录,只能一个一个文件进行压缩,压缩后会使源文件消失

  • gzip * 压缩当前目录下所有的文件,但目录不能压缩
  • gunzip * 解压当前目录下所有的.gz文件
  • bzip2 * 压缩当前目录下所有的文件,但是目录不能压缩
  • bunzip2 * 解压当前目录下所有的.bz2文件
    在这里插入图片描述

tar工具

相关参数说明:

  • z: 用gzip来压缩/解压文件
  • j: 用bzip来压缩/解压文件
  • c: create,创建新的压缩文件,与x互斥使用
  • x: 从压缩文件中释放文件,与c互斥使用
  • v: 详细报告tar处理的文件信息
  • f: 指定压缩文件的名字
  • t: 查看压缩包中有哪些文件

压缩

1.压缩成.tar文件

tar cvf 压缩包名字.tar 原材料(即要打包压缩的文件或目录)

2.压缩成.tar.gz文件
先压缩成.tar文件,再把.tar文件压缩成.tar.gz文件

tar zcvf 压缩包名字.tar.gz 原材料(即要打包压缩的文件或目录)

2.压缩成.tar.bz2文件
先压缩成.tar文件,再把.tar文件压缩成.tar.bz2文件

tar jcvf 压缩包名字.tar.bz2 原材料(即要打包压缩的文件或目录)

解压缩

tar xvf 已有的压缩包 (xxx.tar)
tar zxvf 已有的压缩包 (xxx.tar.gz)
tar jxvf 已有的压缩包 (xxx.tar.bz2)

如果不加参数,解压到当前目录
添加参数-C 解压到指定目录

... -C 路径

查看压缩包中有哪些文件

tar -tvf xxx.tar

rar 工具

使用前需要安装rar工具

sudo apt install rar

压缩

命令: rar a-r 要压缩的文件(含目录)
压缩目录需要使用参数 -r
打包的心文件不需要指定后缀

解压缩

命令: rar x xxx.rar 压缩目录
不写压缩目录则直接解压到当前目录,若解压的目录不存在则会报错

zip工具

压缩:

zip -r 压缩包名 要压缩的文件(含文件或目录)
压缩目录需要使用参数-r
使用该命令不需要指定压缩包后缀

解压缩

unzip 压缩包名

解压到指定目录:添加参数 -d 解压目录
解压目录若不存在则会创建

软链接

软链接类似于windows下的快捷方式
创建软链接

ln -s 文件名 快捷方式的名字

在这里插入图片描述
目录也可以创建软链接

注意事项:

  • 创建软链接,源文件一定要使用绝对路径,否则,当软链接位置发生改变,就不能找到那个文件了
  • 软链接的文件的大小是:路径+文件名的总字节数

硬链接

硬链接的本质

硬链接的本质是不同的文件名所在的inode节点是相同的,相同的inode节点指向了相同的数据块,所以他们的文件内容是一样的,文件内容会同步
ls -i 文件名 可以查看文件的inode节点
stat 文件名 可以查看inode节点的信息
在这里插入图片描述
在这里插入图片描述
当创建一个文件,硬链接计数为1
给文件创建一个硬链接后,硬链接计数加1
删除一个硬链接后,硬链接计数减1

ln 文件名 硬链接的名字

在这里插入图片描述

使用硬链接的注意事项

  • 硬链接不能指向目录
  • 硬链接对绝对路径没有要求
  • 硬链接不能跨文件系统
    硬链接文件和源文件的inode是相同的,文件系统的inode要求唯一,跨文件系统可能会使inode不同,所以硬链接不能跨文件系统

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

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

相关文章

【色彩一致性损失:场景亮度解纠缠网络:纹理-对比度增强网络:IVIF】

DIVFusion: Darkness-free infrared and visible image fusion (DIVFusion:无暗区红外与可见光图像融合) 红外与可见光图像融合是一种重要的图像增强技术,其目的是在极端环境下生成目标显著、纹理丰富的高质量融合图像。然而&am…

Nginx安装及相关问题解决

文章目录一、 添加 Nginx yum资源库——CentOS 7二、 安装nginx - yum安装三、 启动nginx无法访问解决办法四、 修改nginx页面展示内容通过新建文件通过修改原始文件五、 Nginx 不支持中文怎么办?1. 利用convmv对文件名转码2. 通过修改nginx配置文件转码一、 添加 N…

学生HTML个人网页作业作品:HTML绿色的化妆品静态网站(web前端网页制作课作业)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

【练习题】数据离散化+二维前缀和

【练习题】数据离散化二维前缀和题目大意输入输出样例解释重要提示思路代码时间复杂度题目大意 mtc是一个很优秀的同学,他学习认真,经常刷题。这天,他正好学习到了数据离散化与二位前缀和的相关概念,并给大家进行科普. 数据的离散…

学习周报-20221211

文章目录一 centos7修改系统运行级别的方法方法一方法二二 修改(忘记)centos系统的root密码三 文件的atime、mtime、ctime比较1 定义2 mtime和ctime的比较3 atime在访问文件后并不一定会修改4 相关操作命令对三个时间的影响四 Linux时区设置中的一些问题五 Linux局域网内配置yu…

微服务框架 SpringCloud微服务架构 微服务保护 34 规则持久化 34.1 规则管理模式

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务保护 文章目录微服务框架微服务保护34 规则持久化34.1 规则管理模式34.1.1 规则管理模式34.1.2 规则管理模式 - 原始模式34.1.3 规则管…

android 和风图标字体移植显示墨迹天气图标

android studio版本:21.2.1 例程:newareaautov1 和风天气字体图标使用方法见: android 显示和风天气字体图标_kim5659的博客-CSDN博客_qweather-icons 之前做了个全自动获取天气的app,用的是墨迹的接口(实际是科大讯飞再接入墨…

深信服面试常见算法题整理笔记

⭐️我叫恒心,一名喜欢书写博客的研究生在读生。 原创不易~转载麻烦注明出处,并告知作者,谢谢!!! 这是一篇近期会不断更新的博客欧~~~ 有什么问题的小伙伴 欢迎留言提问欧。 文章目录1 反转链表2 排序3 设计…

Docker(二) ----Docker 的基本操作

文章目录前言一、镜像操作1.1 镜像的组成1.2 镜像的操作二、容器操作2.1 容器的基本操作2.2 容器操作的小结总结前言 前面我们学习了Docker的基本定义以及如何安装 Docker, 接下来我们对Docker的基本操作进行了解。上篇文章可点击 初始Docker 一、镜像操作 1.1 镜像的组成 镜…

SpringBoot 整合 Groovy 脚本,实现动态编程

Groovy简介 Groovy 是增强 Java 平台的唯一的脚本语言。它提供了类似于 Java 的语法,内置映射(Map)、列表(List)、方法、类、闭包(closure)以及生成器。脚本语言不会替代系统编程语言&#xff…

在idea中离线安装scala

由于网络受限,需要离线安装和使用scala,安装步骤如下。 1 安装idea scala插件 首先在idea的Help-Aboout选项中,查看idea的版本。 这里可以看到我的版本是2022.3,因此我需要下载对应版本的scala插件(Scala插件地址&a…

git使用说明

在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可。 安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功! 安装完成后&…

MySQL重大Bug!自增主键竟然不是连续递增

InnoDB 自增值保存在内存,MySQL 8.0后,才有了“自增值持久化”能力,即才实现了“若重启,表的自增值可以恢复为MySQL重启前的值”,具体情况是: ≤5.7,自增值保存在内存,无持久化。每…

基于免疫算法的认知无线电资源分配优化算法的matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 认知无线电(CR)的概念来自Joseph Mitolo博士1999年的开创性工作。它自适应地调整内部通信机制,通过学习,了解等实时变化特定的无线电操作参数&…

数据库实验四:触发器实验

实验四 触发器实验 1.实验目的 ​ 掌握数据库触发器的设计和使用方法。 2.实验内容和要求 ​ 定义BEFORE触发器和AFTER触发器,能够理解不同类型触发器的作用和执行原理,验证触发器的有效性。 3.实验重点和难点 ​ 实验重点:触发器的定义…

大二Web课程设计——张家界旅游网站设计与实现(HTML+CSS+JavaScript)

👨‍🎓学生HTML静态网页基础水平制作👩‍🎓,页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码,这是一个不错的旅游网页制作,画面精明,排版整洁,内容…

【应用】Modbus 通讯协议

Modbus 通讯协议Modbus 协议基础Modbus 存储区Modbus-RTU 协议Modbus-TCP 协议Java 实现 Modbus 通讯Modbus ReadModbus Write模拟数据进行代码测试Modbus-RTU 代码验证Modbus-TCP 代码验证SerialPortWrapper 实现类代码Modbus 协议基础 Modbus 是一种总线通讯协议,…

[附源码]计算机毕业设计贵港高铁站志愿者服务平台Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis MavenVue等等组成,B/S模式…

Spring Bean的生命周期

一、首先我们要知道什么是Spring Bean:Spring Bean是Spring框架在运行管理时的对象。 二、Spring Bean的生命周期: 简单来说bean会经历四个阶段: 实例化 -》 属性赋值 -》初始化 -》销毁 下面我们来具体看一下: 1.实例化 Bea…

软件质量评估模型

软件质量是指软件产品满足用户要求的程度。可以从多个方面来理解此处所指的用户要求,包括用户期望的软件系统的功能、性能、可维护性、可操作性、可重用性等等。在软件项目实施过程中,经常会听到用户关于软件系统的以下一组质量评价。 软件系统没有某些方面的功能软件系统运行…