当前位置:   article > 正文

Linux基本指令

Linux基本指令


前言

从本章开始,我们将进入linux的学习,希望大家喜欢

一.Linux文件目录工作机制

1.Linux目录结构

linux 目录结构是树形结构,其根目录是 / 。一张思维导图说明各个目录的作用:
在这里插入图片描述

2.Linux文件属性

Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。 在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组,如:

$ ls -l
total 64
dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin
dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot
  • 1
  • 2
  • 3
  • 4

实例中,bin 文件的第一个属性用 d 表示。dLinux 中代表该文件是一个目录文件。 在 Linux第一个字符代表这个文件是目录、文件或链接文件等等

  • 当为 d 则是目录
  • 当为 - 则是文件
  • 若是 l 则表示为链接文档(link file)
  • 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置)
  • 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,r 代表可读(read)、w 代表可写(write)、x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。

每个文件的属性由左边第一部分的 10 个字符来确定(如下图):
在这里插入图片描述
从左至右用 0-9 这些数字来表示:

  • 第 0 位确定文件类型
  • 第 1-3 位确定属主(该文件的拥有者)拥有该文件的权限
  • 第 4-6 位确定属组(拥有者的同组用户)拥有该文件的权限
  • 第 7-9 位确定其他用户拥有该文件的权限
  • 第 1、4、7 位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限
  • 第 2、5、8 位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限
  • 第 3、6、9 位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。

二.Linux文件目录管理常用指令

1.cd指令

语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下

示例:

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

在这里插入图片描述

2.ls指令

语法: ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息

示例:

ls        # 列出当前目录可见文件
ls -l     # 列出当前目录可见文件详细信息
ls -la    # 列出所有文件(包括隐藏)的详细信息
ls -lh    # 列出详细信息并以可读大小显示文件大小
ls -lt    # 按时间列出文件和文件夹详细信息
ls -ltr   # 按修改时间列出文件和文件夹详细信息
ls --color=auto     # 列出文件并标记颜色分类
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

ls 显示当前目录下的的所有子目录与文件

在这里插入图片描述
ls -l 列出文件的详细信息

在这里插入图片描述

ls -a 列出目录下的所有文件,包括以 . 开头的隐含文件

在这里插入图片描述

ls -R 列出所有子目录下的文件(递归)

在这里插入图片描述

3.pwd指令

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

示例:

在这里插入图片描述

4.mkdir指令

语法:mkdir [选项] dirname
功能:在当前目录下创建一个名为 “dirname”的目录

示例:

mkdir -p parents  
  • 1

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

在同一文件夹下创建多个目录:

mkdir dir1 dir2 dir3  //一次建立多个目录
  • 1

在这里插入图片描述

递归建立多个目录:

mkdir –p dir4/dir4.1/dir4.1.1 : 递归建立多个目录
  • 1

在这里插入图片描述

5.rmdir指令

语法:rmdir [-p][dirName]
功能:rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删目录。

示例:

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

在这里插入图片描述

6.touch指令

语法:touch [选项]… 文件…
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件

示例:

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

在这里插入图片描述

7.rm指令

语法:rm [-f-i-r-v][dirName/dir]
功能: rm 命令可以同时删除文件或目录

示例:

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

rm test.c 删除单个普通文件

在这里插入图片描述

rm -rf tmp 强制递归删除该目录以及该目录下所有的文件

在这里插入图片描述

8.man指令

语法:man [选项] [索引]
功能:查看Linux提供的帮助手册

使用man指令需要提前安装,输入指令:

yum install -y man-pages
  • 1

示例:

-k  根据关键字搜索联机帮助
 n  只在第n章节找
-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。
  • 1
  • 2
  • 3

解释一下,man手册分为 8 章:

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

man 1 printf 在手册第一章中查询printf指令

在这里插入图片描述

9.cp指令

语法:cp [选项] 源文件或目录 目标文件或目录
功能:复制文件或目录
说明:要将源文件或目录copy到目标文件或目录,前提是目标文件或目录存在

示例:

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

在一个目录下有两个文件:dir1、dir2:
cp test.txt ../dir1 拷贝dir2下的 test.txt 文件到dir1目录(..为上级目录)

在这里插入图片描述

cp -r dir2.1 ../dir1 拷贝dir2下的 dir2.1 目录到dir1目录

在这里插入图片描述

10.mv指令

语法: mv [选项] 源文件或目录 目标文件或目录;
功能:相当于Windows下的剪切或重命名;

示例:

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
  • 1
  • 2

在一个目录下有两个文件:dir1、dir2

mv test.txt ../dir1dir2中的 test.txt 文件剪切到dir1目录下

在这里插入图片描述

mv dir2.1 ../dir1dir2中的 dir2.1目录剪切到dir1目录下

在这里插入图片描述

mv test.txt name.txttest.txt 重命名为 name.txt

在这里插入图片描述

11.cat指令

语法:cat [选项] [文件名]
功能:查看目标文件的内容

示例:

-b 对非空输出行编号;
-n 对输出的所有行编号;
-s 不输出多行空行;
  • 1
  • 2
  • 3

在这里插入图片描述

在这里插入图片描述

12.nano指令

语法:nano [文件名] (在使用之前需要先安装)
功能:Linux中的记事本(相当于Windows中的记事本);

安装方法:输入指令:

yum install -y nano
  • 1

示例:nano test.c 编辑文件内容

在这里插入图片描述

代码完成之后,ctrl+x 退出,y选项确认保存,回车退出。
gcc test.cgcc编译C文件,使用前,需要晚安装:

yum install -y gcc
  • 1

./a.out 执行刚才编译好的可执行文件

在这里插入图片描述

如图所示,我们在Linux中跑起来了第一个c程序

13.tree指令

语法:tree 目标目录
功能:树状的展示目录结构,方便查看;

安装方法:输入指令:

yum install -y tree
  • 1

在这里插入图片描述

14.more指令

语法: more [选项] [文件]
功能:功能类似cat

示例:

-n 对输出的所有行编号
 q  退出more
  • 1
  • 2

15.less指令

语法:less [选项] [文件]
功能:lessmore类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件

说明:

  • less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大
  • less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看
  • 但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易来查看一个文件的内容
  • 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

示例:

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

16.head与tail指令

语法:head [参数] [文件];tail [参数] [文件];
功能:head用来输出文件的前 n行内容;tail用来输出文件的最后n行的内容;若是未加参数则默认 n10

示例:

 -n <行数> 
  • 1

显示test.txt文件中前20行的内容

head -n 20 test.txt
  • 1

显示test.txt文件中后20行的内容

tail -n 20 test.txt
  • 1

17.date指令

语法:head +[参数]
功能:在Linux中显示时间或者设置时间;

示例:

//显示时间
%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;

//设置时间
date -s 		 //设置当前时间,只有root权限才能设置,其他只能查看;
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00;
date -s 01:01:01 //设置具体时间,不会对日期做更改;
date -s “01:01:01 2008-05-23″ //这样可以设置全部时间;
date -s “01:01:01 20080523″ //这样可以设置全部时间;
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间;
date -s “20080523 01:01:01″ //这样可以设置全部时间;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

date 显示时间

在这里插入图片描述

date +%Y-%m-%d 格式化显示时间

在这里插入图片描述

18.cal指令

语法: cal [参数][月份][年份]
功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

示例:

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

cal 显示当月日历

在这里插入图片描述

19.find/whereis/which指令

语法: find / whereis / which [文件]
功能:用于在磁盘中查找文件,告知所在路径;

示例:

-name 按照文件名查找文件(适用于find)
  • 1

20.grep指令

语法:grep [选项] [字符串] [目标文件]
功能:在文件中搜索字符串,将找到的行打印出来

示例:

-i :忽略大小写的不同,所以大小写视为相同;
-n :顺便输出行号;
-v :反向选择,即显示出没有 '搜寻字符串' 内容的那一行;
  • 1
  • 2
  • 3

21.zip/unzip指令

语法:zip [压缩文件.zip] [目录或文件];
功能:将目录或文件压缩成zip格式

使用前先安装,输入指令:

yum install -y zip unzip
  • 1

示例:

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

d2目录打包并压缩为d2.zip

在这里插入图片描述

d2.zip解压到tmp目录

在这里插入图片描述

22.tar指令

语法:tar [参数] [文件或目录]
功能:将目录或文件压缩成tar格式

示例:

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

以上就是初学者常用到的基本指令,在以后的篇章中我们会介绍更多的指令供大家学习!


本文到此结束,码文不易,还请多多支持!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/40682
推荐阅读
  • 文章浏览阅读2.2k次,点赞98次,收藏98次。expect是由DonLibes基于Tcl(ToolCommandLanguage)语言开发的,是一种脚本语言,主要应用于自动化交互式操作的场景,借助Expect处理交互的命令,可以将交互过程... [详细]

  • 文章浏览阅读1w次,点赞141次,收藏140次。探索LinuxDocker管理神器Portainer,解锁远程访问技巧,轻松图形化管理你的容器。LinuxDocker图形化工具Portainer远程访问文章目录前言1.部署Portainer... [详细]

  • 文章浏览阅读4.6k次,点赞126次,收藏147次。操作系统进程状态,以及Linux中的进程状态,僵尸进程,孤儿进程【Linux】探索Linux进程状态|僵尸进程|孤儿进程最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现... [详细]

  • 文章浏览阅读5.1k次,点赞151次,收藏135次。LinuxAMH服务器管理面板远程访问LinuxAMH服务器管理面板远程访问文章目录1.前言2.Linux安装AMH面板3.本地访问AMH面板4.Linux安装Cpolar5.配置AMH面... [详细]

  • 文章浏览阅读1.1w次,点赞32次,收藏103次。Linux安装MySQL【超详细版】_linux安装mysqllinux安装mysql一、安装MySQL的准备工作1.查看系统版本cat/etc/redhat-release12.查看系统是... [详细]

  • 文章浏览阅读723次。拿到dotnet-sdk-8.0.100-linux-x64.tar.gz文件。1.有些环境比较老的服务器,会出现如下的错误提示,需要更新c++库。执行命令检测是否安装成功,执行dotnet--version。2.把文... [详细]

  • 文章浏览阅读1.6k次,点赞77次,收藏70次。ssh操作需要免密附上本机免密脚本ssh_keygen.sh。执行完脚本成功登录。【Linux】Centos7shell实现MySQL5.7tar一键安装... [详细]

  • 文章浏览阅读987次,点赞43次,收藏32次。使用上面的Cpolarhttps公网地址,在任意设备的浏览器进行访问,即可成功看到我们AMH面板界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器... [详细]

  • 文章浏览阅读950次,点赞49次,收藏46次。本篇博客作为Linux常见指令的总结,主要是方便个人进行回顾使用。以上就是我对于Linux常见指令的总结。!!Linux:常见指令个人主页:个人主页个人专栏:《数据结构》《C语言》《C++》文章... [详细]

  • 文章浏览阅读2.8w次,点赞73次,收藏317次。ps命令用来查看系统进程,ps-ef:查看所有进程ps-aux:查看所有进程ps-ef|greptomcat:查看指定进程_psefgrep命令看进程psefgrep命令看进程「作者主页」:... [详细]

  • 文章浏览阅读1.2w次,点赞64次,收藏74次。Crontab是一个在Unix和Linux操作系统上用于定时执行任务的工具。它允许用户创建和管理计划任务,以便在特定的时间间隔或时间点自动运行命令或脚本。Crontab是crontable的缩... [详细]

  • 文章浏览阅读1.1k次,点赞76次,收藏65次。Linux|创建|删除|查看|基本命名详解Linux|创建|删除|查看|基本命名详解Linux|创建|删除|查看|基本命名详解文章目录Linux|创建|删除|查看|基本命名详解前言一、安装Li... [详细]

  • DataEase是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。在本地搭建后,借助cpolar内网穿透实现远... [详细]

  • 介绍socket编程,简单实现一个UDP服务器✨✨【Linux】套接字编程目录套接字IP+PORTTCP和UDP的介绍TCPUDP网络字节序转换接口UDP服务器的编写服务器的初始化 socketbindsockaddr结构服务器的... [详细]

  • 本文是对Linux中文件和目录权限的总结。以上就是我对于Linux中文件和目录权限的总结。!!Linux:权限个人主页:个人主页个人专栏:《数据结构》《C语言》《C++》《Linux》文章目录前言一、Linux权限的管理文件访问者的分类(身... [详细]

  • 看了这篇文章你将学到软硬链接的使用,以及制作自己的动静态库,并使用他们✨✨_动态库的软连接动态库的软连接系列文章收录于【Linux】文件系统 专栏关于文件描述符与文件重定向的相关内容可以移步 文件描述符与重定向操作。可以... [详细]

  • 讲述Linux的基本指令:man、cp、mv、cat、more、less、head、tail等指令。【走进Linux的世界】Linux---基本指令(2)个人主页:平行线也会相交欢迎点赞... [详细]

  • 上一篇文章中我们讲到了很多的网络名词以及相关知识,下面我们就直接进入udp服务器的实现。一、udp服务器的实现cc=g++.PHONY:allclean:我们通过all就可以创建多个可执行程序了,对于cc这个变量我们设置为g++,以后如果想... [详细]

  • Linux防火墙服务和区的不同配置操作,放行端口或服务等_linux防火墙配置linux防火墙配置目录防火墙介绍zones预定义服务firewalld启动与停止查看firewalld当前状态和设置使⽤CLI查看firewalld设置fire... [详细]

  • Linux MeterSphere一站式开源持续测试平台远程访问
    MeterSphere是一站式开源持续测试平台,涵盖测试跟踪、接口测试、UI测试和性能测试等功能,全面兼容JMeter、Selenium等主流开源标准,有效助力开发和测试团队充分利用云弹性进行高度可扩展的自动化测试,加速高质量的软件交付,推... [详细]

相关标签
  

闽ICP备14008679号