当前位置: 首页 > news >正文

Linux的基本指令 ( 一 )

目录

前言

Linux基本指令

快速认识五个指令

ls指令

补充内容

pwd指令

补充内容

cd指令

补充内容

重新认识指令

指令的本质

which指令

alias指令

最后

一个文件的三种时间

tree指令及安装 

tree指令


前言

        关于Linux操作系统的桌面,在学校教学中我们在登陆Linux操作系统后都会进入一个图形化界面,但是在实际开发中我们并不会有使用图形化界面,所以我们建议使用XShell远程登录Linux操作系统, 关于XShell的安装和如何使用以后会单独出一篇内容进行介绍。

Linux基本指令

快速认识五个指令

请注意每一部分之间要留有空格


ls指令

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

功能:对于目录,列出目录下的所有子目录与文件,对于文件,列出文件名及其它信息

常用选项:

  • -l:查看当前目录下文件的详细属性

  • -a:显示当前目录下所有文件,包括隐藏文件

Linux中以”.“开头的文件叫隐藏文件 

  • -la:显示当前目录下所有文件,包括隐藏文件的详细信息(写成ls -a -l / ls -l -a / ls -al均可)

选项+当前目录下包含的目录或文件名,则可以选择是否查看它们的详细属性

(ls -a仅能查看所有文件包括隐藏文件,而ls -la还可以查看它们的详细信息)

  • -d: 将目录象文件一样显示,而不是显示其下的文件

 即点击一个目录后并不会进入它的内部

将根目录像显示文件信息时一样显示出来,并不会显示根目录中文包含的文件等内容

我们这里先介绍三个选项的使用,其余选项在实际中的应用暂时还未学到后续会更新 

  • -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
  • -k k 字节的形式表示文件的大小。ls –alk 指定文件
  • -n 用数字的 UID,GID 代替名称。 (介绍 UID GID
  • -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”
  • 示符号链接;“|”表示FIFOs“=”表示套接字(sockets)。(目录类型识别)
  • -r 对目录反向排序。
  • -t 以时间排序。
  • -s l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
  • -R 列出所有子目录下的文件。(递归)
  • -1 一行只输出一个文件。

补充内容

1、文件 = 文件属性 + 文件内容,文件属性也是一种数据需要保存

2、对文件的任何操作无外乎于:对文件属性的操作和对文件内容的操作

3、选项之间可以相互配合使用

4、目录和路径的区别在于,目录找不到具体的目标文件,路径可以找到具体的目标文件

路径:/Users/liaowenxiong/Downloads/SoftWare for Mac/liaowenxiong.txt

目录:/Users/liaowenxiong/Downloads/SoftWare for Mac

5、whoami指令查看当前使用Linux的人是谁 


pwd指令

语法:pwd

功能:显示用户当前所在路径

 此时位于/root/demo2路径下:

补充内容

  1. /:Linux操作系统的路径分割符
  2. \:Windows操作系统的路径分隔符
  3. 路径最末端,一定是一个普通文件或文件夹(目录名)

cd指令

语法:cd 目录名/选项

功能:路径切换

常用操作(既有选项,也有目录名等,故这里统称为操作)

  • cd 回车:直接返回至主目录下,即使在根目录中也一样

  • cd /目录名/目录名/..../目录名: 使用绝对路径访问某个目录 
                                     ​​​​​​              使用绝对路径必须以“/”开始
                                ​​​​ 注意使用绝对路径时首先要返回根目录下,否则报错

  • cd 目录名 或 ./目录名  或 ./目录名/ :使用相对路径进入当前目录下的某个子目录

使用相对路径访问子目录时,“./”一般不显式表示,"../"需要显式表示 

        三者是等效的,一般情况下使用相对路径进入当前目录下的某个子目录时"./"可以不需要显式表示直接使用cd 目录名即可,但是在某些情况下(如脚本编写或特殊字符处理),显式地加上 "./" 助于避免潜在问题或歧义:

        假设你的当前目录中有一个名为 -file.txt 的文件,由于 - 是在命令行中具有特殊含义的字符(用于表示选项),如果你想引用该文件,可以使用 ./ 来明确告诉系统这是一个文件名而不是选项:

cat ./-file.txt
  • cd .. 或../目录名 :返回上一级目录或上一级目录中的某个子目录中 

        同样地,在处理父级目录下的包含特殊字符的子目录时也可以使用 ../ 来避免出现问题。例如,如果父级目录名称为 -parent_directory ,那么可以使用以下方式访问它:

cd ../-parent_directory

当然正常情况下我们访问上一级目录中的子目录也需要显式"../"

cd ../parent_directory
  • cd ~:进入用户家目录

Windows和Linux都是多用户操作系统,它们都可以创建多个用户

在Windows操作系统中,每当添加一个用户(控制面板->用户账户->更改账户类型)

        在下面的用户文件夹中都会出现一个用户(这里没有创建多个用户可以自行尝试),此时在用户目录下yangy目录就是Windows操作系统中该用户的家目录:

该目录下会存放与该用户强相关的所有数据: 

因此,Linux中创建的用户也有自己的家目录:

对于root账户我们默认的家目录为:/root

对于普通用户我们默认的家目录为:/home/用户名

任何一个用户登录,所处路径都是自己的家目录

  • cd -:返回上次访问的目录

补充内容

1、任何目录下(包括根目录),都默认有两个隐藏目录.和..

  • ..代表当前目录的上一级目录
  • .代表当前所在目录

若“.”表示当前目录 /home/user/Documents,那么 ".." 表示的就是上一级目录 /home/user 

它们存在的意义就是为了在文件系统中寻找目录或者运行可执行文件等等

.. :与cd配合,可以返回上级目录或者进入上级目录的子目录

.  :与cd配合,可以找到当前目录下某个子目录

2、当持续cd ..,即多次返回上级目录后,执行pwd指令会显示一个 / ,它表示根目录 

这是Windows中c盘的根目录中的内容:

Linux的整个文件目录是一颗树,根目录是这个树的根:

3、 ./ 和../ 还可以用来执行当前目录或者上一级目录中的可执行文件!!

此时./的作用就是方便我们找到当前目录下的一个文件,尤其是可执行文件: 

4、相对路径和绝对路径以及它们究竟谁更好?

相对路径和绝对路径是用于定位文件或目录在文件系统中位置的两种方式:

  • 相对路径:相对路径是相对于当前位置来指定文件或目录的位置

  • 绝对路径:绝对路径则从根目录开始完整地指定了文件或目录的位置

绝对路径和相对路径在不同的情况下都有其用途,但相对路径在实际开发中更常用:

        假设你有一个程序需要读取特定目录下的配置文件,并使用其中的数据进行处理。如果你在代码中使用了绝对路径来指定该配置文件的位置,那么当将程序从一个系统迁移到另一个系统时,可能会遇到问题:

  • 在Windows系统中用户文档目录的路径为:

        config_file = "C:\Users\Username\Documents\config.txt"

  • Linux系统中用户文档目录的路径结构:

   config_file = "/home/username/Documents/config.txt"

  • MacOS系统中用户文档目录的路径结构:

        config_file = "/Users/username/Documents/config.txt"

三种操作系统用户文档目录的路径结构都不完全相同,因此在路径迁移时绝对路径不再有效

相反地,若使用相对路径来指定配置文件的位置,则可以更好地适应不同环境:

  • 在Windows系统中使用相对路径来指定配置文件的位置:

         config_file = "./config.txt"

  • Linux系统中使用相对路径来指定配置文件的位置:

   config_file = "./config.txt"

  • MacOS系统中使用相对路径来指定配置文件的位置:

         config_file = "./config.txt"

“./”表示当前目录无论程序处于哪个系统中,只要保证配置文件与程序位于相同目录下即可

使用相对路径而非依赖于特定的绝对路径,可以提高代码在不同环境间的可移植性

6、./../与../都可以用来表示相对路径中的父级目录,后者是前者的简写,推荐使用后者 

7、cd ./文件名/  和 cd ./文件名 等效


重新认识指令

指令的本质

Linux中的指令的本质都是程序,程序,指令,可执行程序三者都是一回事儿

which指令

用法:which 指令名

功能:打印指令在系统中所在的路径

还可以检验指令是否存在

alias指令

用法:alias 指令别名=‘指令名’

功能:给指令起别名

起别名不等于重命名,原来的指令依然可以使用

最后

我们使用的ll指令与ls -l指令一样,就是因为系统默认ll是ls -l指令的别名


一个文件的三种时间

我们可以通过stat指令查看一个文件的相关信息,其中我们发现下面会存在三种不同名字的时间:

Access时间:文件最后一次访问的时间

Modify时间:文件最后一次修改的时间

Change时间:对文件Inode信息最后修改的时间


tree指令及安装 

tree指令

用法:tree 目录名/选项

功能:以树状结构显示指定目录下的结构

关于tree指令的安装可以查看:Centos 7、Debian、Ubuntu中tree指令的检查与下载

~over~

相关文章:

  • 服务器环境是什么意思?
  • Elasticsearch:ES|QL 函数及操作符
  • 18.天气小案例
  • 华为---OSPF网络虚连接(Virtual Link)简介及示例配置
  • curl添加https服务
  • 电脑便签功能在哪里找?电脑桌面便签怎么添加?
  • 47-设计问题-最小栈
  • 2023亚太杯数学建模A题B题C题选题建议,思路分析,模型代码
  • ubuntu22.04在线安装redis,可选择版本
  • OTP语音芯片WTN6xxx-8S与Flash语音芯片WT588F02B-8S的区别与应用选择
  • 精益生产中的周转箱优势:提升效率与质量的得力利器
  • vue3 终端实现 (vue3+xterm+websocket)
  • 【LeetCode】每日一题 2023_11_24 统计和小于目标的下标对数目(暴力/双指针)
  • 5-linux-用户操作、su和sudo、普通权限、特殊权限、解压压缩、软件管理(rpm和yum)、源码安装nginx、系统服务、进程管理
  • 欲更新浏览器的Mac用户请注意,AMOS又出一招新“骗术”
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • Angular4 模板式表单用法以及验证
  • Kibana配置logstash,报表一体化
  • Laravel核心解读--Facades
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Linux gpio口使用方法
  • MySQL QA
  • Phpstorm怎样批量删除空行?
  • Vue.js-Day01
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 马上搞懂 GeoJSON
  • 深度学习中的信息论知识详解
  • 王永庆:技术创新改变教育未来
  • 系统认识JavaScript正则表达式
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • nb
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 阿里云ACE认证学习知识点梳理
  • ​业务双活的数据切换思路设计(下)
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • (7)STL算法之交换赋值
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (十八)SpringBoot之发送QQ邮件
  • (算法)前K大的和
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • (转)为C# Windows服务添加安装程序
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .net6 webapi log4net完整配置使用流程
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .NET中使用Redis (二)
  • /etc/sudoers (root权限管理)
  • ??eclipse的安装配置问题!??
  • [ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798
  • [<事务专题>]
  • [20170705]lsnrctl status LISTENER_SCAN1