Linux入门——01常用命令

news2024/11/25 12:48:54

0.命令行解释器shell

用户无法直接给操作系统指令,需要经过shell,才能让操作系统明白。如果用户对操作系统非法操作,会有shell保护。shell本身也是一个进程,当然,用户给shell的指令,shell会派生出子进程进行执行,不会影响shell本身进程。

1.shell的作用

  • 保护操作系统
  • 连接用户和操作系统
  • 执行命令通过派生子进程的方式执行用户指令,而shell 本身并不执行对应指令(一般而言)

注:shell只是统称,如同Linux操作系统一样。对于ubuntu18.04的shell叫bash。

2.命令行提示符

注:命令严格区分大小写。多个命令一行书写要加;分开 。一行命令没有写完+\ 再在另一行书写

1.常用按键

        ctrl+c: 杀死当前终端的进程

        Tab键:自动补齐

        ctrl + r: 搜索历史命令 // history 查看历史命令

        ctrl + d: 退出当前用户,退出一层 

        ctrl + l: 清屏(相当于clear)

        ctrl+alt+t: 创建终端

2.常用指令

adduser新建用户

sudo adduser 用户名

alias对指令进行重命名

alias zhangsan='ls -l --color=auto'

apt-cache查询软件包相关信息

apt-get安装命令

  1. Ubuntu采用集中式的软件仓库机制,将各式各样的软件包分门别类地存在软件仓库中,进行有效地组织和管理。然后将软件仓库置于许许多多的镜像服务器中,并保持基本一致,因此,对于用户,这些镜像服务器就是他们的软件源(reposity)
  2. 在Ubuntu系统中,使用软件源配置文件/etc/apt/sources.list列出最适合访问的镜像站点地址。软件源配置文件只是告诉Ubuntu系统可以访问的镜像站点地址。但那些镜像站点都拥有什么软件资源并不清楚。

  3. 服务器所具有软件包资源建立索引文件,存放在本地的/var/lib/apt/lists目录中。

  • apt-get update  更新软件源

  • apt-get install pkg 安装软件

  • apt-get clean 删除缓存区中所有已经下载好的包文件

bc计算器

        quit退出

 bzip2/bunzip2 压缩/解压文件

解压后文件就消失,解压出现

cal显示公历(阳历)日历

  • -3 显示系统前一个月,当前月,下一个月的月历
  • -j  显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
  • -y  显示当前年份的日历

cat查看小目标文件的内容 (cat&&tac)

cat -b/-n/-s 文件名

  • cat -b 对非空输出行编号
  • cat -n对输出的所有行编号
  • cat -s不输出多行空行

cat VS tac
cat是正向打印,tac是反向打印

cd将当前工作目录改变到指定的目录下

  1. Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。(结构清晰,方便我们用绝对路径和相对路径对文件定位)为了规范文件目录命名和存放标准,Linux基金协会颁布了FHS(filesystem Hierarc Standard)文件系统目录标准。

/bin:二进制(binary)英文简称

/boot:存放的都是系统启动时用到的程序

/dev:包含了所有Linux系统中使用的外设设备

/etc:存放了系统管理时要用到的各种配置文件和子目录

/lib:存放系统动态链接共享库

/home:普通用户主目录

/root:根目录(超级用户)的主目录

/proc和/sys内存级文件系统 ,磁盘上没有,开机操作系统把内存中的数据可视化出来

/sbin存放超级用户使用的指令

/usr存放公共指令

/var系统级,应用级临时数据,日志和数据

  • cd .. : 返回上级目录

  • cd /home/litao/linux/ : 绝对路径

  • cd ../day02/ : 相对路径

  • cd ~:进入用户家目(root目录是/root,其他用户都是/home/xxxx)

  • cd -:返回最近访问目录

cp复制文件或目录

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i 或 --interactive 覆盖文件之前先询问用户
  • -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
  • 多个文件复制 cp src1 src2 src3 ... dst

date时间相关的指令

  1. .在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下

%H : 小时(00..23)

%M : 分钟(00..59)

%S : 秒(00..61)

%X : 相当于 %H:%M:%S

%d : 日 (01..31)

%m : 月份 (01..12)

%Y : 完整年份 (0000..9999)

%F : 相当于 %Y-%m-%d

  1. 时间戳

时间->时间戳:date +%s

时间戳->时间:date -d@1508749502

Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

示例

将时间戳转为我们认识的时间

deluser用户的删除

deluser -r 用户名

df 磁盘查看

  • df -h(查看磁盘大小和使用情况,按兆字节)
  • df -k(查看磁盘大小和使用情况,按千字节)
  • df -a(显示所有物理文件的使用情况,包括虚拟文件系统)
  • df -T(显示所有物理文件的使用情况)

dpkg文件包管理命令

dpkg -i 安装一个在本地文件系统上存在的Debian软件包 注意这里用的是软件包全称

dpgk -r 移除一个已经安装的软件包 注意这里用的是软件包名称

dpkg -P 移除已安装软件包及配置文件 注意这里用的是软件包名称

dpkg -L 列出安装的软件包清单 注意这里用的是软件包名称

dpkg -s 显出软件包的安装状态 注意这里用的是软件包名称

du列出目录和文件所使用的磁盘块数

  • du -a /etc //列出空闲文件块

  • du -h /etc //列出磁盘使用情况(KB)

  • du -s /etc //列出总的空闲空间(KB)

echo查看

查看环境变量

echo $HISTORY 

echo -n 信息 //-n代表不换行

file查看文件类型

file  [ filename ]

find用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)

  • -name   按照文件名查找文件。

grep文本内容行过滤工具

  • -i :忽略大小写的不同,所以大小写视为相同
  • -n :顺便输出行号
  • -r :表示递归搜索,即在指定目录及其子目录中搜索。
  • -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

gzip/gunzip压缩/解压一个文件

gzip [ -l| -d | -num ]  filename

filename表示要压缩的文件名,gzip会自动在这个文件名后添加扩展名为.gz,作为压缩文件的文件名。在执行gzip命令后,它将删除旧的未压缩的文件并只保留已压缩的版本。

选项

描述

-l

查看压缩文件内的信息,包括文件数、大小、压缩比等参数,并不进行文件解压

-d

将文件解压,功能与gunzip相同

-num

指定压缩比率,num为1~9个等级

gunzip [ -f ]  file.gz

选项“-f”用于解压文件时,对覆盖同名文件不做提示。

linux@ubuntu:~$gzip  -9  file_1
linux@ubuntu:~$gzip  -l   file_1.gz  
compressed  uncompressed    ratio   uncompressed_name
   1200                  4896           76.0%       file_1
linux@ubuntu:~$gunzip  -f  file_1.gz

head文档前面信息显示出来(默认10)

  • -n<行数> 显示的行数

hostname 查看主机名

hostname -i  主机ip地址

ip addr / ip add 网卡的方式查看 ip

ifconfig 查看ip地址

kill终止进程命令

–kill  [-signal] PID

signal是信号,PID是进程号

kill 命令向指定的进程发出一个信号signal,在默认的情况下,kill 命令向指定进程发出信号15,正常情况下,将杀死那些不捕捉或不忽略这个信号的进程

kill -l查看信号

less随意浏览文件

  • -i  忽略搜索时的大小写
  • -N  显示每行的行号 
  • /字符串:向下搜索“字符串”的功能 
  • ?字符串:向上搜索“字符串”的功能 
  • n:重复前一个搜索(与 / 或 ? 有关) 
  • N:反向重复前一个搜索(与 / 或 ? 有关) 
  • q:quit

ln链接命令

ln -s myfile.txt soft_file.link(快捷键,用绝对路径标识,新的inode)

ln----link,链接

-s----soft,软链接

myfile.txt----原文件

soft_file.link----创建的软连接文件

ln myfile.txt hard_file.link (备份,同一个inode,引用计数加1)

hard_file.link----创建的硬连接文件

ls列出文件信息

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。 ls -a
  • -d 将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
  • -l 列出文件的详细信息。 ls -l(ll)
  • -R 列出所有子目录下的文件。(递归)

lscpu 查看cpu

lsmem 查看内存

man 查看Linux手册

-k 根据关键字搜索联机帮助

num 只在第num章节找

-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,直到找到就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。

解释一下,面手册分为8章

  1. 是普通的命令
  2. 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
  3. 是C语言库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
  4. 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
  5. 是给游戏留的,由各个游戏自己定义
  6. 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
  7. 是系统管理用的命令,这些命令只能由root使用,如ifconfig

mkdir创建目录

mkdir –p test/test1 : 递归建立多个目录

more逐行查看目标文件的内容

  • -n 对输出的所有行编号
  • q 退出more
  • / 查找的内容(直接显示要找的内容)

mv移动文件&&重命名

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
  • mv 老文件名 新文件名(PS:文件格式本能变)

nl查看文件直接加行号==cat -b

passwd 修改密码

passwd username 修改密码

ps查看进程

ps -ajx //显示进程的详细信息,包括进程的作业控制信息以及与该进程相关的其他进程。

ps -elf 普通使用标准查看

ps -aux BSD标准查看

pstree 树状结构显示进程关系

pwd显示用户当前所在的目录

  1. 路径
  • windows下:D:\XXX\YYY\ZZZ (\为路径分隔符)
  • Linux下: /home/mumu/XXXX (/为路径分隔符)
  1. 一个目录既可以是目录也可以是普通文件。
  2. 为什么用路径来标记一个文件:同一文件夹下,不能有同名文件,我们从根目录开始 路径+文件名具有唯一性
    1. 绝对路径:从根目录开始到该文件的路径
    2. 相对路径:相对于当前位置到该文件的路径(简单)

rm删除文件命令(rmkdir&&rm)

  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件(递归删除)
  • sudo rm -rf / (删库跑路)

rmkdir删除文件命令

  • -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

shutdown关机

-h:将系统的服务停掉后,立即关机。

shutdown -h 23:01 23点01关机

shutdown -h +5 “提示” 5分钟后关机

-r:在将系统的服务停掉之后就重新启动

shutdown -r now 立即关机重启 ==== reboot now

shutdown -r +10 10分钟后重启

-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

shutdown -t

-c:取消关机

shutdown -c

su 超级用户的切换(临时的)

  • su -c:执行一次就结束
  • su -m:保持环境变量不变
  • su - //直接到超级用户

tail文档结尾信息显示出来

tar指令:打包/解包,不打开它,直接看内容(归档+压缩)

tar [-cxtzjvf] 文件与目录 .... 参数:

  • -c :建立一个压缩文件的参数指令(create 的意思);
  • -x :解开一个压缩文件的参数指令!
  • -t :查看 tarfile 里面的文件!
  • -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
  • -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
  • -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
  • -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
  • -C : 解压到指定目录

tar -czf test.tgz 24_3_1/ tar -czvf test.tgz 24_3_1/

tar -xzf test.tgz / tar -xzf test.tgz -C ~

top 查看任务管理器

  • /proc目录下就是进程,里面就是pid号命名的文件夹

touch新建普通文件可以更新时间

  • -a或--time=atime或--time=access或--time=use只更改存取时间。
  • -c或--no-create  不建立任何文档。
  • -d使用指定的日期时间,而非现在的时间。
  • -f此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
  • -m或--time=mtime或--time=modify  只更改变动时间。
  • -r把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  • -t使用指定的日期时间,而非现在的时间。

uname 指令:用来获取电脑和操作系统的相关信息。

  • -a详细信息

  • -r 内核版本

WC查看文件内容

  • wc -l 查看行号
  • wc -w 查看文字的个数

whoami 查看用户名

zip/unzip将目录或文件压缩成zip格式(归档+压缩)

zip 压缩后名字.zip 目录或文件

-r 递归处理,将指定目录下的所有文件和子目录一并处理

将test2目录压缩:zip -r test2.zip test2/*

解压到tmp目录:unzip test2.zip -d /tmp

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

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

相关文章

Unity Protobuf3.21.12 GC 问题(反序列化)

背景&#xff1a;Unity接入的是 Google Protobuf 3.21.12 版本&#xff0c;排查下来反序列化过程中的一些GC点&#xff0c;处理了几个严重的&#xff0c;网上也有一些分析&#xff0c;这里就不一一展开&#xff0c;默认读者已经略知一二了。 如果下面有任何问题请评论区留言提…

【Kubernetes中如何对etcd进行备份和还原】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

不同路径

不同路径 思路&#xff1a; 法一&#xff1a;动态规划 const int N 110; class Solution { int dp[N][N];//dp[i][j]&#xff1a;从起点走到 i j的路径个数。 public:int uniquePaths(int m, int n) {for(int i1;i<n;i){dp[1][i]1;} for(int i1;i<m;i) dp[i][1]1;f…

day36.动态规划+重载操作符

动态规划好难啊(ಥ﹏ಥ) 终于搞懂0-1背包问题的二维数组转一维数组优化的问题了。如图所示: 将二维数组转换成一位数组的核心就是&#xff0c;dp[i][j]选取时&#xff0c;他的值只与dp[i-1][j]&#xff0c;也就是上一行有关&#xff0c;所以可以引出使用一维数组代替二维数组…

python 使用宝塔面板在云服务器上搭建 flask

打开宝塔面板到【网站】&#xff0c;选择【python项目】&#xff0c;点【添加python项目】 填上相关信息&#xff1a; 注意&#xff1a;项目端口是你打算在外网用来访问flask的端口号 勾选【放行端口】&#xff0c;并提交 到阿里云里&#xff0c;选择安全组 手动添加放行端口…

datawind可视化查询-其他函数

飞书文档学习链接:https://www.volcengine.com/docs/4726/47275 1. 用户名函数 用户名函数并非 ClickHouse 官方函数,而是与项目用户信息相结合,用于返回当前使用用户的指定信息的函数。 USERNAME()可返回当前用户的用户名,如下所示。该函数也可与其他函数组合使用 2. J…

51 无显式主键时 mysql 增加的 DB_ROW_ID

前言 这里主要是 探讨, 在我们创建了一个 无主键的数据表, 然后 mysql 会为我们增加的这一个 DB_ROW_ID 的相关 新建一个无主键字段的数据表如下 CREATE TABLE implicit_id_table (username varchar(16) DEFAULT NULL,age int(11) DEFAULT NULL ) ENGINEInnoDB DEFAULT CH…

MySQL范围分区分区表

什么是范围分区分区表&#xff1f; 范围分区是一种根据某个列的范围值来分割表数据的分区方式。在范围分区中&#xff0c;每个分区都有自己的范围条件&#xff0c;当插入数据时&#xff0c;MySQL会根据指定的范围条件将数据分配到相应的分区中。这种分区方式可以使得表的数据按…

2024前端面试题-css篇

1.p和div区别 p自带有一定margin-top和margin-bottom属性值&#xff0c;而div两个属性值为0&#xff0c;也便是两个p之间有不一定间距&#xff0c;而div没有。 2.对css盒模型的理解 标准盒模型&#xff1a;content不包括padding、border、margin ie盒模型&#xff1a;conten…

关于我的生信笔记开通《知识星球》

关于知识星球 1. 为什么到现在才开通《知识星球》 从很早关注我的同学应该了解小杜的知识分享历程&#xff0c;小杜是从2021年11月底开始进入此“坑”&#xff0c;一直坚持到现在&#xff0c;马上3年了&#xff08;24年11月底到期&#xff09;。自己也从一个小青年&#xff0…

【图文并茂】ant design pro 如何统一封装好 ProFormSelect 的查询请求

你仔细看上面的图片吧 经常有这样的需求吧。 这些列表都是查询出来的。 后端 你的后端必须要有 api 。 const getUsers handleAsync(async (req: Request, res: Response) > {const { email, name, live, current 1, pageSize 10 } req.query;const query: any {};…

的卢易表:批量处理Excel数据的自动化工具

的卢易表&#xff1a;批量处理Excel数据的自动化工具 简介 的卢易表是一个可以批量批量处理Excel数据的自动化工具。 自动化是其最大的特点&#xff0c;因为它可以根据配置好的选项自动处理excel数据。 批量是它另一个特点&#xff0c;因为可以做到自动化&#xff0c;所以你可…

JavaScript语法基础之DOM基础

目录 1. DOM 基础 1.1. DOM 是什么&#xff1f; 1.1.1. DOM 对象 1.1.2. DOM 结构 1.2. 节点类型 1.3. 获取元素 1.3.1. getElementById() 1.3.2. getElementsByTagName() 1.3.3. getElementsByClassName() 1.3.4. getElementsByName() 1.4.如何去操作对象 修改属性…

代驾系统源码开发中的用户体验优化:从设计到实现的全方位解析

在当今数字化时代&#xff0c;代驾服务已经成为城市生活中不可或缺的一部分。为了帮助开发者和企业快速搭建代驾服务平台&#xff0c;许多开源的代驾系统源码应运而生。这些源码不仅节省了开发时间&#xff0c;还为进一步的定制化开发提供了坚实的基础。本文将以“开源代驾系统…

Git使用——将GitHub设置成Token

GitHub提供了一种授权方式&#xff0c;使用Token来代替用户名和密码进行身份验证&#xff1b; 下面是将GitHub设置成Token的方法和操作流程&#xff1b; 一、登录GitHub账户 1. GitHub官网&#xff1a;https://github.com 2. 点击右上角的“Sign in”按钮&#xff0c;输入Gi…

遗传算法与深度学习实战(7)——使用遗传算法解决N皇后问题

遗传算法与深度学习实战&#xff08;7&#xff09;——使用遗传算法解决N皇后问题 0. 前言1. N 皇后问题2. 解的表示3. 遗传算法解决 N 皇后问题小结系列链接 0. 前言 进化算法 (Evolutionary Algorithm, EA) 和遗传算法 (Genetic Algorithms, GA) 已成功解决了许多复杂的设计…

Leetcode JAVA刷刷站(74)搜索二维矩阵

一、题目概述 二、思路方向 要在一个满足上述条件的矩阵中查找一个整数 target&#xff0c;我们可以利用矩阵的排序和递增特性来优化搜索过程。由于矩阵的每一行都是非严格递增的&#xff0c;且后一行的第一个元素大于前一行的最后一个元素&#xff0c;我们可以将矩阵视为一个…

Enhancing Octree-Based Context Models for Point Cloud Geometry Compression 论文笔记

1. 论文基本信息 发布于&#xff1a; IEEE SPL 2024 2. 创新点 分析了基于 one-hot 编码的交叉熵损失函数为什么不能准确衡量标签与预测概率分布之间的差异。介绍了 ACNP 模块&#xff0c;该模块通过预测占用的子节点数量来增强上下文模型的表现。实验证明了ACNP模块在基于八…

Linux --- 文件系统

1. 文件系统的概念 Linux 文件系统是一种用于管理、存储和组织数据的层次结构&#xff0c;用于在 Linux 操作系统中管理磁盘上的数据存储。它定义了如何在存储介质&#xff08;如硬盘、固态硬盘或 USB 闪存&#xff09;上组织文件和目录&#xff0c;以及如何读取、写入和操作这…

【时间序列预测_python_jupyter】使用neuralforecast包在jupyter-lab上预测并绘图

neuralforecast包有很多引入好的时间序列预测算法模型&#xff0c;可以直接通过接口调用。 支持的算法模型有&#xff1a; __all__ [RNN, GRU, LSTM, TCN, DeepAR, DilatedRNN,MLP, NHITS, NBEATS, NBEATSx, DLinear, NLinear,TFT, VanillaTransformer, Informer, Autoforme…