Linux基本命令

news2024/9/22 23:18:33

目录操作

格式:指令 -[参数] [目录]

1. pwd (Print Working Direcotry)

查看当前工作路径
在这里插入图片描述

2. cd (Change Direcotry)

改变 shell 工作目录
在这里插入图片描述

3. ls (List Files)

列出当前目录下的文件和目录
ls -[参数] [目录]
ls的参数均是短命令,可以使用-后添加多个参数
可选参数:
-l: 以长格式显示

[root@localhost test]# ls
demo1  demo2  demo3  demo4
[root@localhost test]# ls -l
总用量 0
d-------wx. 2 redhat root    6 113 11:37 demo1
drwxrwxrwx. 6 redhat redhat 58 118 10:46 demo2
drwxrwxrwx. 2 redhat redhat  6 113 11:37 demo3
drwxrwxrwx. 5 redhat redhat 45 118 10:54 demo4
### 如果目录下文件过多,此时我们只想查看某个文件的时间戳,大小等的信息,可以使用以下命令。
[redhat@localhost test]$ ls a.txt -l
-rw-r--r--. 1 root root 3781 121 12:12 a.txt

-a:显示所有子目录和文件的信息,包括隐藏文件(开头为.的文件)

[root@localhost test]# ls
demo1  demo2  demo3  demo4
[root@localhost test]# ls -a
.  ..  .a.txt  demo1  demo2  demo3  demo4
// 使用参数 -a 后可以看到当前目录 . 和上级目录 .. 以及隐藏文件 .a.txt

-A:同a,但不显示当前目录 “.” 和上级目录"…"信息

[root@localhost test]# ls -a
.  ..  .a.txt  demo1  demo2  demo3  demo4
[root@localhost test]# ls -A
.a.txt  demo1  demo2  demo3  demo4

-d:显示目录本身属性

[root@localhost test]# ls -d
.
//-d 参数可以结合 -l一起使用,查看当前目录的相关属性
[root@localhost test]# ls -dl
drwxrwxrwx. 7 redhat redhat 72 12月  1 12:00 .

-h:以更易读的方式显示文件信息(K,M)

[root@localhost test]# ls -l
总用量 4
-rw-r--r--. 1 root   root   3781 12月  1 12:12 a.txt
d-------wx. 2 redhat root      6 11月  3 11:37 demo1
drwxrwxrwx. 6 redhat redhat   58 11月  8 10:46 demo2
drwxrwxrwx. 2 redhat redhat    6 11月  3 11:37 demo3
drwxrwxrwx. 5 redhat redhat   45 11月  8 10:54 demo4
[root@localhost test]# ls -hl
总用量 4.0K
-rw-r--r--. 1 root   root   3.7K 12月  1 12:12 a.txt   # 可以看到这里是3.7k
d-------wx. 2 redhat root      6 11月  3 11:37 demo1
drwxrwxrwx. 6 redhat redhat   58 11月  8 10:46 demo2
drwxrwxrwx. 2 redhat redhat    6 11月  3 11:37 demo3
drwxrwxrwx. 5 redhat redhat   45 11月  8 10:54 demo4

4. mkdir(Make Directory)

创建新的目录

  • p:递归创建
  • m:直接添加权限
[redhat@localhost test]$ mkdir -m 777 -p  demo5/a1/a2/a3
[redhat@localhost test]$ ls -l
drwxr-xr-x. 3 redhat redhat   16 12月  6 10:33 demo5
[redhat@localhost demo5]$ ls -l
drwxr-xr-x. 3 redhat redhat 16 12月  6 10:33 a1
[redhat@localhost a1]$ ls -l
drwxr-xr-x. 3 redhat redhat 16 12月  6 10:33 a2
[redhat@localhost a1]$ cd a2/
drwxrwxrwx. 2 redhat redhat 6 12月  6 10:33 a3
# 只会修改最后一个的权限,前面的权限依旧为默认的

5. rmdir(Remove Directory)

删除文件夹

  • p :一次删除多个表
[redhat@localhost test]$ rmdir -p demo5/a1/a2/a3/
[redhat@localhost test]$ ls
a.txt  demo1  demo2  demo3  demo4

6. du

统计目录及文件占用情况

  • a:统计时包含所有文件
  • h:以K,M显示信息
  • s:只显示当前文件夹的信息
[redhat@localhost test]$ sudo du -hs
4.0K	.  #当前文件夹

文件操作

touch

创建一个文件;如果存在修改时间戳。

[redhat@localhost test]$ touch a1.txt
[redhat@localhost test]$ ll
-rw-r--r--. 1 redhat redhat    0 12月  6 10:59 a1.txt
[redhat@localhost test]$ touch a1.txt
[redhat@localhost test]$ ll
-rw-r--r--. 1 redhat redhat 2554 12月  6 11:00 a1.txt

file

查看指定文件的类型

[redhat@localhost test]$ file a.txt 
a.txt: UTF-8 Unicode text
[redhat@localhost test]$ file .a
.a: directory

cp (copy)

cp [可选参数] 源文件/目录 目的文件/目录

  • r:递归复制目录树
  • p:保持属性不变
  • f:强制覆盖目标同名文件或目录
  • i:需要覆盖文件或目录时提醒

mv (Move)

移动文件/目录。还可用来重命名

  • f:force 强制移动,若存在,直接覆盖(就是替换)
  • i: 若存在,会询问是否覆盖
  • u:若存在,且源文件Source是新的,才会升级Update
[redhat@localhost test]$ ls
a1.txt  a.txt  demo1  demo2  demo3  demo4
[redhat@localhost test]$ mv a.txt ./demo4  # 移动
[redhat@localhost test]$ ls
a1.txt  demo1  demo2  demo3  demo4
[redhat@localhost test]$ ls demo4
a.txt  demo4-1  demo4-2  demo4-3
[redhat@localhost test]$ 

rm (Remove)

删除文件夹后目录的

  • f: force强制删除,不提醒。
  • i: 删除时提醒
  • r:递归删除整个目录树

which

用于查找命令的,并且显示所在位置

[redhat@localhost test]$ which ll
alias ll='ls -l --color=auto'
	/usr/bin/ls
[redhat@localhost test]$ which ls
alias ls='ls --color=auto'
	/usr/bin/ls

find

查找文件或目录
find [查找范围] [条件]

  • name:按名查找,可使用*?等的通配符
  • size: 按大小
  • user:按属主
  • type:按类型

ln

创建链接(Link)
格式: ln [-s 不选该参数即为硬链接] 源文件 链接文件或目标目录
修改源文件后链接文件都会修改,硬链接是使用同一个数据,但是是两个一样的inode。

文件内容操作

cat

查看文件内容

  • n:带行号显示
  • b:仅显示非空白行

tac

同上面相反,反着显示,从最后一行显示,是按行算的!!

more less

都是以全屏的形式进行分页查看

  • q:退出

head tail

格式:head/tail [-n] xx.txt

grep

在文件中查找字符串
grep [参数] string a.txt

  • i: 查找时忽略大小
  • v:反转查找,输出与条件不相符的行
  • “^…” 以 … 开头,"…$"以…结尾。
  • “^$” 表示空行

归档及压缩命令

tar

tar [参数] 归档名称 源文件

  • c:建立一个压缩文件的参数指令(create 的意思);
  • x:解开一个压缩文件的参数指令!
  • t:查看 tarfile 里面的文件!
  • r:向压缩归档文件末尾追加文件
  • u:更新原压缩包中的文件

以上5个只能5选一使用

  • z:有gzip属性,即需要用 gzip 压缩
  • j:有bz2属性,即需要用 bzip2 压缩
  • Z:有compress属性的
  • v :压缩的过程中显示文件(显示所有过程)!这个常用,但不建议用在背景执行过程!
  • O:将文件解开到标准输出
  • f :使用档名,请留意,在 f 之后要立即接档名!不要再加参数!
    例如:使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成『 tar -zcvPf tfile sfile』才对喔!
  • p :使用原文件的原来属性(属性不会依据使用者而变)
  • P :可以使用绝对路径来压缩!
  • N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
  • – exclude FILE:在压缩的过程中,不要将 FILE 打包!
  • f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

常用组合命令

tar -zxf aaa.tar.gz # 解压aaa.tar.gz 
tar -zcf demo.tar.gz demo4 # 创建压缩包demo.tar.gz  使用demo4的内容创建
tar -tf  demo.tar.gz  # 在未解压的情况下查看压缩包
tar -xvf file.tar         // 解压 tar包
tar -zxvf file.tar.gz     // 解压 tar.gz  
tar -jxvf file.tar.bz2    // 解压 tar.bz2  
tar -Zxvf file.tar.Z      // 解压 tar.Z  

tar详解

文件属性

更改文件权限
用户,用户组。一个用户可以属于多个用户组。
属主:所属的用户,文档所有者,这是一个账户,这是一个人
属组:所属的用户组,这是一个组

  • chgrp(change group):修改所属组
  • chown (change owner) : 修改所属用户与组。
  • chmod (change mode) : 修改用户的权限

使用 llls-al 命令来查看文件相关信息

drwxrwxrwx. 2 redhat redhat 6 113 11:37 demo1
drwxrwxrwx. 2 redhat redhat 6 113 11:37 demo2
drwxrwxrwx. 2 redhat redhat 6 113 11:37 demo3
drwxrwxrwx. 2 redhat redhat 6 113 11:37 demo4

在这里插入图片描述
第一个表示属性,是文件还是目录。

  • d表示目录,document
  • l表示链接文档 link-file;
  • - 表示文件

后面9个字符,3个一组,分别表示rwx

  • r :read 4
  • w: write 2
  • x:execute 1
  • - :没有权限的时候就会显示-
  • 顺序是固定的,就是rwx

更改用户属组:

chgrp [-R] 属组名 文件名
-R 表示递归更改,就是把文件夹里的文件全改了
chgrp root demo1 //把demo1所属的组改成root

更改用户属主:

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
chown root demo1  //把文件demo1所属的主改成root
chown root:root demo2  //把文件demo2的用户组和所有者都改成root

更改文件9个属性:

Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

chmod [-R] -777 demo1

用户身份就三个,user,group,other, + 代表添加权限,-代表删除权限,=表示设置权限

chmod [-R] u=rwx,g-w,o+r demo1

环境变量

env

查看所有环境变量

[redhat@localhost test]$ env
SHELL=/bin/bash
HISTCONTROL=ignoredups
HISTSIZE=1000
HOSTNAME=localhost

有时环境变量过多,可使用grep来筛选

[redhat@localhost test]$ env|grep HOME
HOME=/home/redhat

echo

查看环境变量的内容
echo $环境变量名称

[redhat@localhost test]$ echo $HOME
/home/redhat

export

设置环境变量
export 变量名=‘值’
在退出shell后就会失效,并非永久

[redhat@localhost test]$ export h="hello"
[redhat@localhost test]$ echo $h
hello

set

用于显示所有本地定义的shell变量

unset

用于清除环境变量。如果未指定值,该变量被置为NULL

一些乱七八糟的命令

history

  history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...]
  -c	删除所有条目从而清空历史列表。
  
  -d 偏移量	从指定位置删除历史列表。负偏移量将从历史条目末尾
		开始计数

  -a	将当前会话的历史行追加到历史文件中
  -n	从历史文件中读取所有未被读取的行
		并且将它们附加到历史列表
  -r	读取历史文件并将内容追加到历史列表中
  -w	将当前历史写入到历史文件中

  -p	对每一个 ARG 参数展开历史并显示结果,而不存储到历史列表中
  -s	以单条记录追加 ARG 到历史列表中

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

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

相关文章

经过物联网技术的设备改造有“大脑”,更智能

物联网是通讯网与互联网的拓展应用和网络延伸,通过网络传输互联,进行计算、处理和知识挖掘,实现人与物、物与物的信息交互和无缝链接,达到对物理世界的实时控制、精确管理和科学决策是目的。而物联网设备是一种非标准计算设备&…

【微信小程序】使用npm并引入vant-weapp组件库

0 前言 vant文档与微信小程序文档写得弯弯绕绕,你引用我,我引用你,还给出了多种不同情况下的选项,甚至有步骤缺失,导致踩了一点小坑,浪费了一些没必要的时间,这里给出完整可行的实现方法&#…

Android Studio详细的安装下载教程

一、下载Android Studio 1、进入官网在这个位置,点击左下角下载Android Studio 官网:www.Android.com 中国大陆版网站::https://developer.android.google.cn/ 2、Android Studio会自带自动下载Android SDK,如果有版本…

SIM8100、SIM8800CE、SIM8800E 车规级模组 特性

1、SIM8100 是一个C-V2X模块,通过PC5接口支持C-V2X功能,实现车对车(V2V)、车对人(V2P)、车对基础设施(V2I)等应用。 SIM8100具有强大的扩展能力和丰富的接口,包括USB, UART, SDIO,I2C,I2S,SPI, GPIO等。 该模块为客户的应用程序提供了很大的灵…

Vue--》动态组件和插槽的使用讲解

目录 动态组件 keep-alive使用 keep-alive的include和exclude属性 插槽 动态组件 动态组件指的是动态切换组件的显示与隐藏&#xff0c;vue提供了一个内置的<component>组件&#xff0c;专门用来实现动态组件的渲染。什么意思呢&#xff1f;接着往下看&#xff1a; …

类和对象之 封装 继承 与 多态

1.进行类继承的前提是我们要有两个类&#xff0c;且已经确定好了这两个类谁为父类谁为子类 2.先创建父类然后再创建子类 3.创建子类的时候我们要使用继承语法&#xff0c;使用的方式是在创建子类时的第一条代码的最后面加上冒号 : 和父类的类名 4.继承的本质就是将父类中的…

[附源码]Python计算机毕业设计Django药品仓库及预警管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

【Vue基本功】权限路由(1)

1 初始化项目 1.1 安装 yarn create vite … yarn 依赖&#xff1a; yarn add axios yarn add vuexnext vue-router4 -D yarn add typesvue-router -D vuex有ts支持&#xff0c;所以不需要安装类型文件 1.2 配置 1.2.1 别名 引入path时&#xff0c;发现有警告&#x…

Spring MVC 高级框架的核心

目录 1. 什么是 Spring MVC 1.1 如何理解 MVC 1.2 Spring MVC 和 MVC 的关系 2. 如何学习 Spring MVC 2.1 将浏览器和服务器连接起来 2.1.1 RequestMapping, GetMapping, PostMapping 三个注解的区别 2.2 在程序中获取前端传递过来的参数 2.2.1 传递单个参数 2.2.2 传…

CSS 实现音频loding动画

前言 &#x1f44f;实现一个音频loading动画还蛮有趣的&#xff0c;速速来Get吧~ &#x1f947;文末分享源代码。记得点赞关注收藏&#xff01; 1.实现效果 2.实现步骤 定义css变量&#xff1a;父容器高度为–h&#xff0c;可以动态设置loading的高度 :root {--h: 80px;}父…

遗传算法在机器人路径规划中的应用研究(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 机器人运动规划是移动机器人导航的核心技术之一。40多年来,运动规划技术发展迅速,涌现出了许多规划算法,但因为环境描述方式差异…

JavaScript -- 数组及对象解构赋值方法总结

文章目录1 数组解构赋值1.1 保留默认值1.2 接受剩余的所有参数1.3 对函数执行结果解构1.4 交换两个变量的值1.5 二维数组结构2 对象的解构2.1 声明对象同时解构对象2.2 先声明再解构2.3 解构不存在的属性2.4 设置解构别名2.5 设置解构默认值1 数组解构赋值 案例&#xff1a;将…

红队隧道应用篇之Netsh端口转发

简介 netsh是从Windows 2000开始就有的一个用于配置网络设备的命令行工具 其中netsh interface portproxy是一个配置网络代理的命令, 可以配置ipv4或ipv6的端口转发代理以及双向端口转发代理 学习隧道应用前必须了解的知识:https://blog.csdn.net/xf555er/article/details/1…

LeetCode刷题复盘笔记—一文搞懂完全背包之279. 完全平方数问题(动态规划系列第十五篇)

今日主要总结一下动态规划完全背包的一道题目&#xff0c;279. 完全平方数 题目&#xff1a;279. 完全平方数 Leetcode题目地址 题目描述&#xff1a; 给你一个整数 n &#xff0c;返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数&#xff0c;其值等于另一个整…

技术开发93

技术开发93 业务内容&#xff1a; . 马达零部件 . 汽车零部件 . 音响用零部件 . 农用机零部件 . 建筑模具 公司简介&#xff1a; 资本金&#xff1a;2000万日元&#xff08;约120万元人民币&#xff09; 员工数&#xff1a;17名 成立时间&#xff1a;1923年4月 资格认…

Linux文件及目录管理操作

Linux文件及目录管理实验目的及要求1.了解Linux文件与目录的访问权限2.熟悉Linux文件与目录的打包和压缩3.掌握Linux文件与目录的相关管理操作实验原理实验步骤对文件管理和压缩归档进行了解&#xff0c;具体步骤如下&#xff1a;1.用mkdir命令在"/root"目录下创建一…

[附源码]Python计算机毕业设计Django线上社区管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

C#语言入门详解 第十七讲 (字段、属性、索引器、常量)

C#语言入门详解 第十七讲 &#xff08;字段、属性、索引器、常量&#xff09; 在C#语言中&#xff0c;类&#xff08;或结构体&#xff09;包含以下成员&#xff1a; 什么是字段 字段&#xff08;field&#xff09;是一种表示与对象或类型&#xff08;类与结构体&#xff0…

【传输层】概述、复用分用、UDP详解、UDP校验

文章目录传输层概述----为应用层服务TCP靠谱--大文件、时延大 与UDP不可靠--小文件、时延小传输层的寻址与端口------复用---应用层所有进程通过传输层再传输到网络层----------分用---------传输层从网络层收到数据后交付给指定应用程序套接字------Socket---IP&#xff1a;端…

足球冷知识:球队之间比分相同,怎么排名?

在足球比赛的小组赛中&#xff0c;往往会有胜、平、负三种结局&#xff0c;球队胜一场得三分、平一场得一分、输一场不得分。 如果球队积分相同&#xff0c;排名的时候&#xff0c;还会通过净胜球&#xff08;就是进球数减丢球数&#xff09;、相互交战的成绩、总进球数、球队累…