首页 > 系统相关 >Linux:基本指令

Linux:基本指令

时间:2024-06-09 09:32:34浏览次数:32  
标签:基本 文件 选项 语法 指令 Linux root 目录

文章目录

ls指令

语法:ls [选项] [目录或文件]

功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

常用选项:

选项全称含义
-a–all显示所有文件,包括隐藏文件(以 . 开头的文件)
-A–almost-all显示所有文件,除了 ...
-i–inode显示文件的i结点的索引信息
-l–long显示详细信息如权限、所有者、大小和修改时间
-h–human-readable配合 -l 选项,以人类可读的格式显示文件大小
-d–directory只显示目录本身,而不是其内容。常与通配符结合使用
-F–classify在每个文件名后附加一个字符以指示文件类型
-r–reverse逆序显示文件
-t–time根据修改时间排序,最新的文件排在最前面
-s–size根据文件大小排序,最大的文件排在最前面
-R–recursive递归地列出子目录中地所有文件和目录
-1每行显示一个文件

ls -l ll列出文件时,一共有七列。

例如:

[root@VM-12-11-centos ~]# ls -ahl

total 28K

dr-xr-x—. 2 root root 135 Dec 16 02:34 .

dr-xr-xr-x. 17 root root 224 Dec 14 01:38 …

-rw-------. 1 root root 1.3K Dec 14 01:38 anaconda-ks.cfg

-rw-------. 1 root root 1.2K Dec 16 02:34 .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 176 Dec 28 2013 .bashrc

-rw-r–r–. 1 root root 100 Dec 28 2013 .cshrc

-rw-r–r–. 1 root root 129 Dec 28 2013 .tcshrc

从上面可以看到,每一行都有7列,分别是:

  1. 第一列共10位,第1位表示文档类型,d表示目录,-表示文件,l表示链接文件,d表示可随机存取的设备,如U盘等,c表示一次性读取设备,如鼠标、键盘等。后9位,依次对应三种身份所拥有的权限,身份顺序为:owner、group、others,权限顺序为:readable、writable、executable。如:-r-xr-x---的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可执行,其他人没有任何权限
  2. 第二列表示链接数,表示有多少个文件链接到inode号码。
  3. 第三列表示拥有者
  4. 第四列表示所属群组
  5. 第五列表示文档容量大小,单位字节
  6. 第六列表示文档最后修改时间,注意不是文档的创建时间哦
  7. 第七列表示文档名称。以点(.)开头的是隐藏文档

pwd指令

语法:pwd

功能:显示用户当前所在的目录

cd指令

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个结点都是目录或文件。

所以它的叶子节点一点故事空目录或非目录文件,路上结点一定是非空目录节点。
在这里插入图片描述

语法:cd 目录名

功能:改变当前工作目录到指定目录下。

Example:

cd ..                        返回上级目录
cd /home/litao/linux/        绝对路径
cd ../day02/                 相对路径
cd ~                         进入用户家目录
cd -                         返回最近访问目录

root用户的家目录为:/root

CentOS中普通用户账号统一放在/home

所以普通用户的家目录为:/home/username

touch指令

语法:touch [选项] …文件…

功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。

常用选项:

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

mkdir指令

语法:mkdir [选项] dirname…

功能:在当前目录下创建一个名为dirname的目录

常用选项:

-p/–parents:可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录

rmdir指令 && rm指令

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。

语法:rmdir [-p] [dirname]

适用对象:具有当前目录操作权限的所有使用者

功能:删除空目录

常用选项:

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

rm指令可以同时删除文件或目录

语法:rm [-f-i-r-v] [dirname/dir]

适用对象:所有使用者

功能:删除文件或目录

常用选项:

选项含义
-f即使文件属性为只读(即写保护),亦直接删除
-i删除前逐一询问确认
-r删除目录及其下所有文件

cp指令

语法:cp [选项] [源目录或源文件] [目标目录或目标文件]

功能:拷贝文件或目录

说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。

常用选项:

选项全称含义
-f–force强行复制文件或目录, 不论目的文件或目录是否已经存在
-i–interactive覆盖文件之前先询问用户
-r–recursive将指定目录下的文件及子目录一并处理。

拷贝目录时,使用-r选项

man指令

语法:man [选项] [命令]

功能:在Linux手册中查找命令

搜索完后,按q退出。

echo指令

语法:echo [字符串]

功能:将字符串在显示器显示。

注:字符串可以加""''或什么都不加。
在这里插入图片描述

echo输出默认有换行,printf默认没有换行。

没有""的情况下printf会以空格作为结束标志。

如果加了"",则printf的使用方法与C++中相同,只是需要注意,不要加,
在这里插入图片描述

输出重定向

在Linux下,一切皆文件。显示器和键盘也是文件,显示器是只能输出,不能输入的文件;键盘是只能输入,不能输出的文件。那么echo既然可以将字符串在显示器上打印,那么echo也可以将字符串输出到文件中。

语法:echo [字符串] > [文件]

这种更改输出文件的操作,就叫做输出重定向。
在这里插入图片描述

可以看到:1. 数据没有在显示器显示。 2. 数据呗写入到文件中。这就是输出重定向。

如果我们继续向文件中写入内容:

在这里插入图片描述

可以看到,原来文件中的内容被覆盖了。

所以输出重定向的操作分为两步:1. 清空文件 2. 写入新内容

所以,如果我们想清空一个文件中的内容,可以使用> [文件]

如果我们不想清空文件的原内容,想直接在文件末尾追加新内容,那就要用到追加重定向。

追加重定向

语法: echo [字符串] >> [文件]

功能:在文件末尾追加新内容。
在这里插入图片描述

注:如果文件不存在,则会创建新文件。(输出重定向和追加重定向都是如此)

cat指令

语法:cat [选项] [文件]

功能:查看目标文件的内容

常用选项:

选项含义
-b对非空输出行编号
-n对输出的所有行编号
-s不输出多行空行

上面提到,Linux下,一切皆文件。

所以cat指令默认从输入设备(文件)读取。

输入cat指令后按回车即可;退出时需按Ctrl + C

在这里插入图片描述

cat [文件] 的方式可以将文件中的内容输出。

输入重定向

cat < [文件] 被称为输入重定向,作用也是输出文件中的内容。
在这里插入图片描述

那么加不加<有区别吗?加与不加<是有区别的,这个以后再介绍。

mv指令

语法:mv [源文件] [目标文件]

功能:移动文件或目录,或重命名。

当目标文件或目标目录不存在时,会将源文件或目录移动,然后重命名为目标文件或目录。

当目标目录存在时,会将源文件或目录放在目标目录下,不发生重命名。

which指令

语法:which [指令]

功能:查看指令对应的路径

指令本质上是可执行程序(也是文件:可执行文件,只是安装在了系统的某种路径下)

执行指令时,现在系统中查找对应的指令。

CentOS下路径为:/usr/bin/

alias指令

语法:alias [字符串] = ‘指令’

功能:为指令添加重命名

删除重命名需要alias [字符串] = ''

more && less指令

语法:more/less [选项] [文件]

功能:显示文件的前n/后n行。

可以使用/...搜索...内容,按q退出。

less可以用光标上下移动,more不可以。

head && tail指令

语法:head/tail [-num] [文件]

head提取文件的前num行,默认num == 10tail提取文件的后num行。

Example:提取test.txt中的第1001-1020行

  1. head -1020 test.txt > tmp.txt

​ tail -20 tmp.txt

2. 管道

​ head -1020 test.txt | tail -20

事件相关的指令

date显示

date指定格式显示时间:date + %Y:%m:%d

date用法:date [OPTION] [+FORMAT]

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

标记含义
%H小时
%M分钟
%S
%X相当于 %H:%M:%S
%d
%m
%Y
%F相当于 %Y-%m-%d

时间戳

时间戳:从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

输出时间戳:date +%s

从时间戳转换为时间:date -d@1717574162

cal指令

cal指令显示日历。

格式:cal [参数] [月份] [年份]

常用格式:

选项含义
-3显示系统前一个月,当前月和下一个月的日历
-j显示在当年的第几天
-y显示当前年份的日历

在这里插入图片描述

find指令

语法:find [目录] -name [文件]

功能:在特定目录下搜索特定文件(可能访问磁盘)

which只在指令路径下搜索指令文件

whereis在系统指定路径下查找,既可以找到可执行程序,有可以找到手册、安装包、压缩包之类

grep指令

语法:grep [选项] [字符串] [文件]

功能:按行在文件中搜索字符串,将包含字符串的行打印出来

如果从目录中查找,加-r选项

常用选项:

选项含义
-i忽略大小写
-n顺便输出行号
-v反向选择,将不包含字符串的行打印出来

zip && unzip指令

语法:zip 压缩文件.zip 目录或文件

功能:将目录或文件压缩成zip格式

如果要压缩目录,加-r

tar指令

四个常用:

打包压缩:tar czf XXX

预览:tar tzf XXX.tgz

解压解包:tar xzf XXX.tgz

解压到指定路径:tar xzf XXX.tgz -C(大写) 目录

bc指令

运行计算器,可配合管道

uname指令

获取电脑和操作系统的相关信息。

标签:基本,文件,选项,语法,指令,Linux,root,目录
From: https://blog.csdn.net/z3256707200/article/details/139475626

相关文章

  • C语言学习总结2——基本数据类型及其声明
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言1、整型家族2、浮点类型3、指针4、声明5、typedef6、常量前言在C语言中,仅有4种基本数据类型一整型、浮点型、指针和聚合类型(如数组和结构等)。所有其他的类型都是从这4种基本类型的某种组......
  • Linux -- 简单的文本处理
    提示:制作不易,可以点个收藏和关注哦。前言 这一节我们将介绍这几个命令 tr(注意不是tar),col,join,paste。实际这一节是上一节关于能实现管道操作的命令的延续,所以我们依然将结合管道来熟悉这些文本处理命令的使用。提示:以下是本篇文章正文内容,下面案例可供参考.一、tr命......
  • Linux -- 正则表达式基础
    提示:制作不易,可以点个关注和收藏哦。前言        虽然我们这一节的标题是正则表达式,但实际这一节实验只是介绍grep,sed,awk这三个命令,而正则表达式作为这三个命令的一种使用方式(命令输出中可以包含正则表达式)。正则表达式本身的内容很多,要把它说明清楚需要单独一门......
  • linux脚本编写备忘
    linux脚本编写备忘1、linux脚本的回车换行符最好用unix格式的。否则某些系统下运行会出错,例如veket18中必须要求是LF格式。Unix系统(包括Linux和macOS):使用LF(LineFeed,\n)字符作为行结束符。在ASCII码表中,LF字符的十进制表示为10。Windows系统:使用CRLF(Carriage......
  • 基本类型值,是按值复制的,而不是按引用复制的。(深浅拷贝)
    letobj=[1,2,4]letobj2=Array.from(obj)obj2[0]=23console.log(obj)这是浅拷贝吗?在给出的例子中,Array.from(obj) 实际上执行的是对数组 obj 的浅拷贝。这是因为数组在JavaScript中是一种特殊的对象,其元素存储在索引属性中。Array.from() 方法创建了一个新的数组实例......
  • js中-null不是基本类型
    在JavaScript中,`null`也不是基本类型(也称作原始类型或简单数据类型),但它被归类为一种特殊的对象类型。这是一个历史遗留问题,也是JavaScript语言设计上的一些独特之处。在早期版本的ECMAScript规范中,typeof操作符对`null`返回`"object"`,这导致很多人误以为`null`是一种对......
  • TensorFlow 的基本概念和使用场景
    TensorFlow是一个开源的机器学习框架,由Google开发并于2015年发布。它提供了一个灵活的编程环境,用于构建和训练各种机器学习模型。TensorFlow的核心概念是张量(Tensors)和计算图(ComputationalGraphs)。张量是多维数组,可以表示各种类型的数据,如数字、字符串等。计算图是一系列的操......
  • Docker 的基本概念和优势,以及在应用程序开发中的实际应用
    Docker是一种容器化平台,它可以帮助开发人员将应用程序及其所有依赖项打包到一个可移植的容器中。这个容器可以在不同的操作系统和环境中运行,而无需重新配置或安装依赖项。以下是Docker的基本概念和优势:基本概念:1.镜像(Image):一个Docker镜像包含了一个完整的、可运行的应用程序......
  • Linux服务器配置一个简单的DNS
    配置一个简单的DNS服务器可以使用BIND (BerkeleyInternetNameDomain)。配置DNS的步骤如下一、安装BINDsudoapt-updatesudoapt-getinstallbind9二、配置BIND。编辑 /etc/bind/named.conf.local 文件,添加一个简单的zone配置zone"example.com"{  typemas......
  • Linux内核链表源代码
    /*SPDX-License-Identifier:GPL-2.0*/#ifndef_LINUX_LIST_H#define_LINUX_LIST_H#include<linux/types.h>#include<linux/stddef.h>#include<linux/poison.h>#include<linux/const.h>#include<linux/kernel.h>/**Simple......