【Linux】指令详解(二)

目录

  • [1. 前言](#1. 前言)
  • [2. 重新认识指令](#2. 重新认识指令)
    • [2.1 指令的本质](#2.1 指令的本质)
      • [2.1.1 `which`](#2.1.1 which)
      • [2.1.2 `alias`](#2.1.2 alias)
  • [3. 常见指令](#3. 常见指令)
    • [3.1 `whoami`](#3.1 whoami)
    • [3.2 `cd`](#3.2 cd)
      • [3.2.1 `cd -`](#3.2.1 cd -)
      • [3.2.2 `cd ~`](#3.2.2 cd ~)
    • [3.3 `touch`](#3.3 touch)
      • [3.3.1 文件创建时间](#3.3.1 文件创建时间)
    • [3.4 `stat`](#3.4 stat)
    • [3.5 `mkdir`](#3.5 mkdir)
      • [3.5.1 创建一个目录](#3.5.1 创建一个目录)
      • [3.5.2 创建路径](#3.5.2 创建路径)
    • [3.6 `tree`](#3.6 tree)
    • [3.7 `rm`](#3.7 rm)
      • [3.7.1 `rm -f`](#3.7.1 rm -f)
      • [3.7.2 `rm -r`](#3.7.2 rm -r)
    • [3.8 `man`](#3.8 man)
    • [3.9 `cp`](#3.9 cp)
    • [3.10 `mv`](#3.10 mv)

1. 前言

继上一篇对Linux的一些指令做了一些初步介绍后,今天来继续分享其它有关的指令。

首先还是得先打开xshell,连接上的云服务器。

话不多说,正片开始。

2. 重新认识指令

2.1 指令的本质

指令的本质都是程序。

指令、程序、可执行程序都是一回事。

怎么会说一个指令就是一个程序呢?

2.1.1 which

which要求系统打印出我所定制的指令名称,在系统的所在路径。

我们可以看见ls是在这个/usr/bin/ls路径下,

执行ls和/usr/bin/ls显示的信息是一样的。

2.1.2 alias

我们会发现有的指令which后会有alias。
alias也是Linux的一个命令,给其它命令起一个别名

直接来个例子:把ls -a -l改名为zhangsan。

我们发现zhangsan的作用和ls -a -l的作用是一样的。

不建议起别名,可能会忘记自己起别名的是那个指令。

3. 常见指令

3.1 whoami


whoami表示我们在什么路径下的我们。

其实whoami拆开就是who am i,在表述的时候,经常说我们处在什么路径下的,我们指的就是whoami

3.2 cd

3.2.1 cd -

cd -:跳转到我们最近一次所在的路径下。

刚开始在100这个目录下,我们切换到根目录,当我们记不清楚上一次到哪个路径下,

使用cd -,它能更方便在两个路径之间来回切换。

3.2.2 cd ~

cd ~:进入用户家目录。

这里/root就是root用户自己的家目录。

那怎么知道我们是什么用户呢?

就用到上面所提到的whoami

在windows中的用户默认的家目录。

而Linux下指定的用户也有自己的家目录。

对于root账号:默认的家目录就是/root,也就是超级管理员账号。

对于普通用户:默认家目录/home/xxx,xxx就是新建的用户名。

对于任何一个用户,首次登陆所处的路径都是自己的家目录。

3.3 touch

touch可以创建一个普通文件。

使用touch创建了一个t.txt的文件。
它只能创建一个普通文件

3.3.1 文件创建时间

红色部分就是最后修改的时间。

修改了一下文件,文件时间就会改变。

3.4 stat

stat 用来查看文件更详细的属性信息。

这里出现了三个时间,简称为一个文件的ACM时间?

什么意思呢?

之后的文章中会回答。

3.5 mkdir

3.5.1 创建一个目录

mkdir创建一个目录。

默认创建的是一个空目录。

怎么看呢?

它里面什么都没有。

3.5.2 创建路径

那我们想要创建文件夹套文件夹呢?

显然不行。

使用mkdir -p

有没有直接将这些目录显示出来?

那当然有。

3.6 tree

我们直接使用tree a

但是并没有找到。

这是因为系统没有指令。

我们先使用下面的代码,装上这个指令

c 复制代码
yum install -y tree

这时就以树状形式出现了。

3.7 rm

rm删除一个目录。

这里a不是空目录。
rm只能删除空目录。

rm删除普通文件,此时就会出现是否要不要删除,输入y就删除,n就表示不删除。

每次都得输入,觉得太麻烦了有没有强制删除呢?

3.7.1 rm -f

rm -f强制删除

此时就没有再提示了。

3.7.2 rm -r

当我们删除目录时,即使是空目录也显示不了,但加了-r就可以。

不想要提示,强制删除,那就rm -rf dir,在r这里加上了f。

总的就是:

要注意的是rm删除,就是删除。

一旦有不确定的目录或者是文件,宁可备份,不可删除。

3.8 man

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。
man 语法: man [选项] 命令

举个例子:

在系统中man手册有多个,

  1. 主要是可执行程序
    (2. 以后的文章中会有)
  2. c语言库函数所对应的情况
    其它的不用管

    不指定对应的手册,默认从上往下,只要找到了就不往下找。

3.9 cp

cp拷贝

Linux中同一个目录下,不允许存在同名文件。

src dst都可以携带绝对路径或者相对路径进行拷贝。

举个例子:把t.txt拷贝到上级目录下

3.10 mv

mv有三个作用:

  1. 在指定的目录下,对一个文件或者目录进行重命名。

    举个例子:将t.txt改名为x.txt

  2. 将指定目录下的文件或者目录,剪切到指定目录下

    举个例子:将x.txt剪切到100_dir目录下

  3. 不仅仅剪切,在剪切的同时,顺便重命名。

    举个例子:将 100_dir目录下的x.txt拷贝到上级目录并重新命名为o.txt。

有问题请指出,大家一起进步吧!

相关推荐
程序leo源1 分钟前
C语言知识总结
c语言·开发语言·c++·经验分享·笔记·青少年编程·c#
沫璃染墨4 分钟前
二叉搜索树完全指南:从核心原理到增删查改全实现
开发语言·c++
shehuiyuelaiyuehao5 分钟前
关于进程和线程的关系
java·开发语言
AaronCos15 分钟前
弄懂java泛型中的extends和super
java·开发语言
REDcker16 分钟前
Android HWASan 详解:硬件标记原理、Clang 启用与排障实践
android·linux·debug·编译·clang·asan·hwasan
毋语天17 分钟前
Python 模块、包与异常处理:构建更稳健的程序
开发语言·python
IT观察者28 分钟前
Qt单例的优雅实现
开发语言·qt
H_unique42 分钟前
LangChain:消息
开发语言·langchain
求知也求真佳1 小时前
S07---S11 | 系统加固闭环总结:让你的 AI Agent 从 “能跑” 到 “稳跑、安全跑、长期跑”
开发语言·agent
JAVA学习通1 小时前
开云集致 Java开发 实习 一面
java·开发语言