【Linux系统】基本指令(上) {用户相关操作、查看和切换文件目录、创建删除文件或路径、构建Linux回收机制、查看文件}

一、初识Linux

  • Linux系统的诞生
    Linux是一类Unix计算机操作系统的统称。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。在1991 年的十月,由一个名为 Linus Torvalds(林纳斯·托瓦兹)的年轻芬兰大学生带头开发的作业系统。
  • Linux系统的特点
    多用户:多个用户,在登录计算机(操作系统),允许同时登录多个用户进行操作;(甚至可以多个终端一个用户)
    多任务:多个任务,允许用户同时进行多个操作任务;
  • Linux系统的版本及分支
    Linux系统版本分内核版本和发行版本;
    • 内核版本:
      内核是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。例如,程序本身不需要了解用户的主板芯片集或磁盘控制器的细节就能在高层次上读写磁盘。
      Linux的各内核版本可在官网进行查看和下载:[The Linux Kernel Archives]
    • 发行版本(分支):
      仅有内核而没有应用软件的操作系统是无法使用的,所以许多公司或社团将内核、源代码及相关的应用程序组织构成一个完整的操作系统,让一般的用户可以简便地安装和使用Linux,这就是所谓的发行版本(distribution),一般谈论的Linux系统便是针对这些发行版本的。目前估计各种发行版本有数十种,它们的发行版本号各不相同,使用的内核版本号也可能不一样.。现在比较有名的ubuntu、debian、 centos(Community Enterprise Operating System)、 redhat、 suse 、kali等等 。
      在这里插入图片描述

二、基本指令

2.1 用户相关操作

  1. 添加新用户:adduser zty
  2. 为新用户设置密码:passwd zty
  3. 查看当前用户:whoami
  4. 查看所有用户:ls /home
  5. 删除用户:userdel -r zty

提示:zty 是用户名


2.2 Linux下的文件系统

  • 几乎所有的操作系统,组织文件的基本结构都是树形结构。
  • 由于每个节点都只有一个父节点,使得文件的路径具有唯一性,所以我们可以采用路径的方式进行文件定位。
  • 从根目录开始的路径称为绝对路径,文件的绝对路径具有唯一性
  • 相对当前所处位置的路径称为相对路径。其所指位置依赖于当前位置,因此相对路径并不唯一。
  • . 开头的文件是隐藏文件,所有路径下都至少有两个隐藏文件分别是
    • 当前目录[.]
    • 上一级目录[…]
      在这里插入图片描述

2.3查看和切换文件目录

pwd 指令

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

ls 指令

  • 语法: ls [选项][目录或文件]
  • 功能: 对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
  • 常用选项:
  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
  • -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
  • -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
  • -l 列出文件的详细信息。
  • -n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
  • -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
  • -r 对目录反向排序。
  • -t 以时间排序。
  • -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
  • -R 列出所有子目录下的文件。(递归)
  • -1 一行只输出一个文件。

cd 指令

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
在这里插入图片描述

  • 语法: cd 目录名
  • 功能: 改变工作目录。将当前工作目录改变到指定的目录下。
  • 常用选项:
  • cd . . : 返回上级目录,可以一直返回到[/]根目录。
  • cd /home/litao/linux/ : 绝对路径
  • cd …/day02/ : 相对路径
  • cd -:返回最近访问目录,让我们可以方便的在两个高频路径之间切换。
  • cd ~:进入用户家目
    • root:/root
    • 普通用户:/home/litao

2.4 创建删除文件或路径

touch 指令

  • 语法: touch [选项]… 文件…
  • 功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
  • 常用选项:
  • -a 或–time=atime或–time=access或–time=use只更改存取时间。
  • -c 或–no-create 不建立任何文档。
  • -d 使用指定的日期时间,而非现在的时间。
  • -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
  • -m 或–time=mtime或–time=modify 只更改变动时间。
  • -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  • -t 使用指定的日期时间,而非现在的时间。
  • 举例:
    • touch file1 file2 file3
    • touch 可以连续创建多个文件
  • 文件的相关时间:
    1. access:atime 代表访问时间戳。/atime 值指示上次读取文件、由其中一个进程直接读取或通过命令和脚本读取的时间。(访问时间戳)
    2. modify:mtime是上次更改文件内容的时间。“修改”是指文件中的某些内容被修改或删除,或者添加了新数据。(内容修改时间戳)
    3. change:ctime与 mtime 不同,ctime 表示上次更改某些文件元数据的时间。对文件属性(如文件权限或所有权)进行更改时,更改时间戳将更新。(属性修改时间戳)

mkdir 指令

  • 语法: mkdir [选项] dirname…
  • 功能: 在当前目录下创建一个名为 “dirname”的目录
  • 常用选项:
  • -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
  • 举例:
    • mkdir –p test/test1 : 递归建立多个目录

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递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链
    接,则一律视为普通文件处理
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
  • 同时复制多个文件:
  1. 使用cp命令

    cp /home/usr/dir/{file1,file2,file3,file4} ./
    

    需要注意的是这几个文件之间不要有空格

  2. 具有共同前缀

    cp /home/usr/dir/file{1..4} ./
    

    复制的文件是file1, file2, file3, file4


mv 指令

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命
令,经常用来备份文件或者目录。

  • 语法: mv [选项] 源文件或目录 目标文件或目录
  • 功能:
    1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的
      目录中。
    2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它
      将所给的源文件或目录重命名为给定的目标文件名。
    3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至
      目标目录中。
  • 常用选项:
  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

构建Linux回收机制

  1. 将rm改造成mv,构造回收机制
  2. 修改这个文件:vim ~/.bashrc
  3. 将以下shell脚本拷贝到.bashrc中
    mkdir -p ~/.trash
    alias rm=trash
    alias ur=undelfile
    undelfile() {
    mv -i ~/.trash/$@ ./
    }
    trash() {
    mv $@ ~/.trash/
    }
    
  4. 最后执行指令:source .bashrc
  5. rm指令:将文件或目录移动到~/.trash下
  6. ur指令:ur + .trash下的文件名,将回收站中的文件还原到当前目录

2.5 查看文件

cat指令 && tac指令

cat指令——正序输出文件内容

  • 语法: cat [选项][文件](不加文件名默认从标准输入(键盘)读取数据)
  • 功能: 查看目标文件的内容
  • 常用选项:
  • -b 对非空输出行编号
  • -n 对输出的所有行编号
  • -s 不输出多行空行

tac指令——逆序输出文件内容
用法和cat相同


more指令 && less指令

more指令——分批查看文本内容

  • 语法: more [选项][文件]
  • 功能: more命令功能类似 cat,但可以将文本内容分批输出。
  • 常用选项:
  • -NUM 每次只输出NUM行
  • q 退出more
  • 举例:
[atong@LiWenTong ~]$ ls -l / | more -6
total 162
drwxr-xr-x 2 root root 4096 Apr 25 05:39 bin
drwxr-xr-x 4 root root 1024 Apr 25 04:11boot
drwxr-xr-x 9 root root 3820 May 4 23:20 dev
drwxr-xr-x 84 root root 4096 May 5 00:37 etc

less指令——最常用的文件查看工具

  1. less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
  2. less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看。但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
  3. 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
  • 语法: less [参数] 文件
  • 功能: less与more类似,但使用less可以随意浏览文件,而more仅能向后移动,却不能向前移动,而且less在查看之前不会加载整个文件。
  • 常用选项:
  • -i 忽略搜索时的大小写
  • -N 显示每行的行号
  • /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • q:quit

head指令 && tail指令

head指令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。

  • 语法: head [参数]… [文件]…
  • 功能: head 用来显示档案的开头至标准输出中(默认前10行),默认head命令打印其相应文件的开头10行。
  • 常用选项:
  • -n<行数> 显示的行数

tail指令
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.

  • 语法: tail[必要参数][选择参数][文件]
  • 功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
  • 常用选项:
  • -f 循环读取,使你看到最新的文件内容。
  • -n<行数> 显示行数

【Linux系统】基本指令(中) {输入输出,重定向,管道;显示时间和日期,打包和压缩,包和文件的区别}

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芥末虾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值