当前位置:网站首页 > 编程语言 > 正文

linux就该这么学28期视频(linux就该怎么学)



命令分为两类

操作对象

注意:

查看bash内部命令帮助

[root@server ~]# help cd

命令 --help

[root@server ~]# cat ——help 示例如下:cat [OPTION]... [FILE]...  表明cat后面可以加上多个可选的选项以及多个可选的文件参数

man

[root@server ~]# cat /etc/NetworkManager/system-connections/ens160.nmconnection [root@server ~]# cat   /etc/redhat-release [root@server ~]# uname -r

按键作用空格键,PaGe down向下翻一页PaGe up,b向上翻一页home直接前往首页end直接前往尾页/从上至下搜索某个关键词,如“/linux”?从下至上搜索某个关键词,如“?linux”n定位到下一个搜索到的关键词N定位到上一个搜索到的关键词q退出帮助文档

[root@server info]# info info

  • 内置命令:由shell程序自带的命令
  • 外部命令:有独立的可执行程序文件,文件名即命令名
  • 参数
  • 指定命令的运行特性,指明要运行命令中的哪一个功能代码。
  • 短选项:例如:-l,-d,如果同一命令同时使用多个短选项,多数可合并。【注:有些命令的选项没有-】
  • 长选项:例如--help,--human-readable
  • 作用:命令的作用对象,即命令对什么生效
  • 有些命令可同时带多个操作对象,多个操作对象之间以空白字符分隔
  • 终止当前的命令:按【Ctrl+C】键可中断正在执行的命令
  • 两种补全:
    • 补全命令:输入命令关键字的前几个字符后,按Tab键,可实现命令自动补全
    • 补全文件名和目录名:输入文件的前几个字符后,按tab键可自动补全
  • 例:访问网卡配置文件
  • nfo page

  • info与man的用途其实差不多,都是用来查询命令的用法或者是文件的格式。
  • 但是与man page不同的是,info page则是将文件数据拆成一个一个的段落,每个段落用自己的页面来撰写, 并且在各个页面中还有类似网页的『超链接』来跳到各不同的页面中,每个独立的页面也被称为一个节点(node)。
  • 不过你要查询的目标数据的说明文件必须要以info的格式来写成才能够使用info的特殊功能(例如超链接)。 而这个支持info命令的文件默认是放置在/usr/share/info/这个目录当中的。

作用:

date命令用于显示或设置系统的时间与日期

格式
date -参数 +显示日期时间格式参数

常见参数:

参数 作用 %Y 完整年份(例如:2020) %m 月份(1~12) %d 本月中的第几天 %H 小时(00~23) %M 分钟(00~59) %j 今年中的第几天 %X 相当于%H:%M:%S %Z 显示时区 %A 星期几 (Sunday-Saturday) %p 显示本地AM或PM

  • 用户只需在强大的date命令后输入以 号开头的格式参数,即可按照指定格式来输出系统的时间或日期,这样在日常工作时便可以把备份数据的命令与指定格式输出的时间结合到一起。例如,把打包后的文件自动按照“年-月-日”的格式打包成“backup-2020-9-1.tar.gz”,用户只需要看一眼文件名称就能大概了解到每个文件的备份时间了。
查看系统时间与时区:
[root@server ~]# timedatectl status               Local time: 一 2023-02-20 16:43:52 CST           Universal time: 一 2023-02-20 08:43:52 UTC                 RTC time: 一 2023-02-20 08:43:52               Time zone: Asia/Shanghai (CST, +0800) System clock synchronized: yes             NTP service: active         RTC in local TZ: no
设置时区

如果您查到的时区不是上海(Asia/Shanghai),可以手动进行设置:

[root@server ~]# timedatectl set-timezone Asia/Shanghai

[root@server ~]# timedatectl set-ntp no           # 先关闭ntp时间同步 [root@server ~]# timedatectl set-time 2021-05-18

[root@server ~]# timedatectl set-time 9:30 [root@server ~]# date Tue May 18 09:30:01 CST 2021 [root@server ~]# timedatectl set-ntp yes

[root@server ~]# cal 05 2023 ​ [root@server ~]# cal 2023

作用

格式
ls -参数 操作对象
参数
参数 功能 -l 以长格形式显示文件和目录的详细信息,ls命令默认只显示名称的短格式。 -d 显示指定目录本身的信息,而不显示目录下的各个文件和子目录的信息。 -c 按文件的修改时间排序后,予以显示。 -h 以更人性化的方式显示出目录或文件的大小,默认的大小单位为字节,使用-h选项后将显示为K、M等单位。此选项需要和-l选项结合使用才能体现出结果。 -R 以递归的方式显示指定目录及其子目录中的所有内容。 -a 显示所有子目录和文件的信息,包括名称以“.”开头的隐藏目录和隐藏文件。 -A 与-a选项的作用类似,但不显示表示当前目录的“.”和表示父目录的“..”。 -i 显示文件索引节点号(inode)。一个索引节点代表一个文件,在linux中保存在磁盘分区中的文件都给它分配一个编号,称为索引节点号inode。 -s 按照文件大小排序
[root@server ~]# ls / [root@server ~]# ls   -dl   /root

  • 如果时间还是不正确,我们可以手动的修改系统日期:
  • 而如果想修改时间的话,也很简单:
  • 格式:cal 月份 年份
  • 查看目录下的内容
第一个字符 文件类型 说明 - 普通文件 类似于Windows的记事本 d 目录文件 类似于windows文件夹 c 字符设备文件 串行端口设备,顺序读写,键盘 b 块设备文件 可供存储的接口设备,随机读写,硬盘 p 管道文件 用于进程间的通信 s 套接字文件 通常用于网络上的通信。可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行数据通信 l 符号链接又叫软链接,和原文件不是一个文件 例如Windows的快捷方式,如果原始文件被删除,所有指向它的符号链接也就都被破坏了。软链接有自己的node,是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径。符号链接可以跨越文件系统,也可以为目录建立。 硬链接 只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为inode)。当 移动或者删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在件结构中的位置。
[root@localhost ~]# ll   /usr/bin/ls -rwxr-xr-x. 1 root root  Apr 27 2020 /usr/bin/ls [root@localhost ~]# ll -d /home drwxr-xr-x. 3 root root 20 Apr 16 14:46 /home [root@localhost ~]# ll   /dev/tty crw-rw-rw-. 1 root tty 5, 0 Jun 9 11:48 /dev/tty [root@localhost ~]# ll   /dev/sr0 brw-rw----. 1 root cdrom 11, 0 Jun 9 11:48 /dev/sr0 [root@localhost ~]# ll /dev/nvme0n1 brw-rw----. 1 root disk 259, 0 Jun 9 11:48 /dev/nvme0n1 [root@localhost ~]# ll   /usr/bin/yum lrwxrwxrwx. 1 root root 5 Aug 5 2020 /usr/bin/yum -> dnf-3

FHS

概念

filesystem hierarchy standard文件系统层级标准,定义了在类Unix系统中的目录结构和目录内容,即让用户了解到已安装软件通常放置于哪个目录下。

Linux目录结构的特点

工作目录

[root@localhost ~]# pwd /root [root@localhost ~]# cd   / [root@localhost /]# pwd / ​ # 回到当前用户的家(主)目录 [root@localhost /]# cd ~   [root@localhost ~]# pwd /root ​ # 回到当前目录的上一级目录 [root@localhost ~]# cd   .. ​ # 切换到之前的目录 [root@localhost /]# cd   - /root ​ # 回到当前目录 [root@localhost ~]# cd .

查看方法

建立硬连接

ln -参数   源文件   目标连接文件

[root@server ~]# touch m1.txt [root@server ~]# stat m1.txt 文件:m1.txt 大小:0         块:0         IO 块:4096   普通空文件 设备:fd00h/64768d Inode:   硬链接:1 # 初始连接数为1 权限:(0644/-rw-r--r--) Uid:(   0/   root)   Gid:(   0/   root) 环境:unconfined_u:object_r:admin_home_t:s0 最近访问:2022-12-13 18:30:25. +0800 最近更改:2022-12-13 18:30:25. +0800 最近改动:2022-12-13 18:30:25. +0800 创建时间:2022-12-13 18:30:25. +0800 ​ ​ [root@server ~]# ln   m1.txt   m2.txt   # 建立m2.txt指向m1.txt的硬连接 [root@server ~]# stat m1.txt 文件:m1.txt 大小:0         块:0         IO 块:4096   普通空文件 设备:fd00h/64768d Inode:   硬链接:2   # 连接数加1 权限:(0644/-rw-r--r--) Uid:(   0/   root)   Gid:(   0/   root) 环境:unconfined_u:object_r:admin_home_t:s0 最近访问:2022-12-13 18:30:25. +0800 最近更改:2022-12-13 18:30:25. +0800 最近改动:2022-12-13 18:31:22. +0800 创建时间:2022-12-13 18:30:25. +0800
注意

[root@server ~]# echo "hello" >   k1.txt [root@server ~]# cat k1.txt hello [root@server ~]# stat k1.txt 文件:k1.txt 大小:6         块:8         IO 块:4096   普通文件 设备:fd00h/64768d Inode:   硬链接:1 权限:(0644/-rw-r--r--) Uid:(   0/   root)   Gid:(   0/   root) 环境:unconfined_u:object_r:admin_home_t:s0 ​ [root@server ~]# ln k1.txt   k2.txt   # 建立硬连接 [root@server ~]# cat k2.txt hello [root@server ~]# stat k1.txt 文件:k1.txt 大小:6         块:8         IO 块:4096   普通文件 设备:fd00h/64768d Inode:   硬链接:2   # 硬连接数变更 权限:(0644/-rw-r--r--) Uid:(   0/   root)   Gid:(   0/   root) 环境:unconfined_u:object_r:admin_home_t:s0 ​ [root@server ~]# rm -f k1.txt   # 删除文件,相当于删除一个硬连接 [root@server ~]# cat k2.txt hello ​ [root@server ~]# stat k2.txt 文件:k2.txt 大小:6         块:8         IO 块:4096   普通文件 设备:fd00h/64768d Inode:   硬链接:1   # 硬连接变更 权限:(0644/-rw-r--r--) Uid:(   0/   root)   Gid:(   0/   root) 环境:unconfined_u:object_r:admin_home_t:s0

[root@server ~]# mkdir n1 [root@server ~]# ln n1 n2 ln: n1: 不允许将硬链接指向目录

[root@server ~]# cd n1 [root@server n1]# ls -a . .. [root@server4 n1]# stat .   # 查看. 的硬连接,即当前目录的硬连接 文件:. 大小:6         块:0         IO 块:4096   目录 设备:fd00h/64768d Inode:     硬链接:2 权限:(0755/drwxr-xr-x) Uid:(   0/   root)   Gid:(   0/   root) 环境:unconfined_u:object_r:admin_home_t:s0 ​ [root@server n1]# stat ..   # 查看.. 的硬连接,即上一级目录的硬连接 文件:.. 大小:4096     块:8         IO 块:4096   目录 设备:fd00h/64768d Inode:   硬链接:22 权限:(0550/dr-xr-x---) Uid:(   0/   root)   Gid:(   0/   root) 环境:system_u:object_r:admin_home_t:s0

软连接

原理:

格式
ln -s   源文件 目标连接名
例1:
[root@server ~]# echo "china" > h1.txt   # 新建文件 [root@server ~]# ln -s h1.txt   h2.txt   # 创建软连接,指向h2.txt [root@server ~]# ll h2.txt lrwxrwxrwx. 1 root root 6 12月 13 18:52 h2.txt -> h1.txt   # 查看连接关系 [root@server ~]# stat h1.txt 文件:h1.txt 大小:6         块:8         IO 块:4096   普通文件 设备:fd00h/64768d Inode:     硬链接:1   # 硬连接还是1,没有变化 权限:(0644/-rw-r--r--) Uid:(   0/   root)   Gid:(   0/   root) 环境:unconfined_u:object_r:admin_home_t:s0
例2:建立网卡配置文件的软连接
[root@server ~]# ln -s /etc/NetworkManager/system-connections/ens160.nmconnection   /root/nic [root@node4 ~]# ll /root/nic lrwxrwxrwx. 1 root root 43 12月 13 18:56 /root/nic -> /etc/sysconfig/network-scripts/ifcfg-ens160 [root@server ~]# cat nic
注意

[root@server ~]# echo "china" > d1.txt [root@server ~]# ln -s d1.txt d2.txt [root@server ~]# ll d2.txt lrwxrwxrwx. 1 root root 6 12月 13 19:00 d2.txt -> d1.txt [root@server ~]# cat d2.txt china [root@server ~]# rm -f d1.txt [root@server ~]# cat d2.txt   # 连接失效 cat: d2.txt: 没有那个文件或目录

软硬连接的区别

[root@server ~]# echo "hello" > s1 [root@server ~]# ln s1 s2   # 建立硬连接 [root@server ~]# stat s1 文件:s1 大小:6         块:8         IO 块:4096   普通文件 设备:fd00h/64768d Inode:   硬链接:2 权限:(0644/-rw-r--r--) Uid:(   0/   root)   Gid:(   0/   root) ​ [root@server ~]# stat s2 文件:s2 大小:6         块:8         IO 块:4096   普通文件 设备:fd00h/64768d Inode:   硬链接:2   # s1 s2 indoe号相同: 权限:(0644/-rw-r--r--) Uid:(   0/   root)   Gid:(   0/   root) ​ [root@server ~]# ln -s s1 s3 [root@server ~]# stat s3 文件:s3 -> s1 大小:2         块:0         IO 块:4096   符号链接 设备:fd00h/64768d Inode:   硬链接:1   # 软连接s3 inode:不同

创建目录(make directory)

格式:
mkdir [-p] [/路径/]目录名
参数

例:
[root@server ~]# mkdir t1 [root@server ~]# mkdir t2 t3 t4   # 批量一次性新建 [root@server ~]# mkdir -p n1/n2/n3   # 新建递归目录

du命令

选项 功能 -a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。 -s 只统计每个文件所占用空间总的大小,而不是统计每个子目录、文件的大小。 -h 以K,M,G为单位显示磁盘使用情况,以提高信息的可读性。

创建普通文件

touch用法1:

[root@server ~]# stat /etc/hostname File: /etc/hostname Size: 22             Blocks: 8         IO Block: 4096   regular file Device: 10302h/66306d   Inode:      Links: 1 Access: (0644/-rw-r--r--) Uid: (   0/   root)   Gid: (   0/   root) Context: system_u:object_r:hostname_etc_t:s0 Access: 2022-06-09 11:19:35. +0800 Modify: 2022-04-16 14:46:36. +0800 Change: 2022-04-16 14:46:36. +0800 [root@server ~]# stat /etc/hostname 文件:/etc/hostname 大小:7         块:8         IO 块:4096   普通文件 设备:fd00h/64768d Inode:   硬链接:1 权限:(0644/-rw-r--r--) Uid:(   0/   root)   Gid:(   0/   root) 最近访问:2023-04-23 10:01:42. +0800 最近更改:2023-03-22 11:20:57.0 +0800 最近改动:2023-03-22 11:20:57.0 +0800 创建时间:2023-03-22 11:20:57.0 +0800 ​ # 分析 # atime,即access time,访问文件的时间,查看了一下文件内容(cat),文件的atime时间会更新   ​ # mtime,即modify time,修改内容的时间,文件内容被改变了,ctime会更新 ​ # ctime,即change time,修改文件元数据的时间
[root@server ~]# touch /etc/hostname [root@server ~]# date 2023年 04月 24日 星期一 09:37:38 CST [root@server ~]# stat /etc/hostname 文件:/etc/hostname 大小:7         块:8         IO 块:4096   普通文件 设备:fd00h/64768d Inode:   硬链接:1 权限:(0644/-rw-r--r--) Uid:(   0/   root)   Gid:(   0/   root) 最近访问:2023-04-24 09:37:36. +0800 最近更改:2023-04-24 09:37:36. +0800 最近改动:2023-04-24 09:37:36. +0800 创建时间:2023-03-22 11:20:57.0 +0800
touch用法2

touch 文件名1 文件名2 文件名3 ​ touch {文件名1,文件名2,文件名3}

[root@server ~]# touch p1.txt [root@server ~]# touch p2.txt p3.txt p4.txt [root@server ~]# touch {p5,p6,p7}.txt [root@server ~]# touch {1,2}{3,4} [root@server ~]# touch abc{1..100}
示例

  • 使用树形目录结构来组织和管理文件。
  • 整个系统只有一个根目录(树根),Linux的根目录用“/”表示
  • 其他所有分区以及外部设备(如硬盘、光驱等)都是以根目录为起点,挂接在目录树的某个目录中的,通过访问挂载点目录,即可实现对这些分区的访问。
  • 结构图:
  • 路径以及工作目录

    路径
  • 用“路径”来表示某个文件(或目录)在目录结构中所处的位置。顾名思义,路径是指从树型目录中的某个目录层次到达某一文件或子目录的一条线路,路径由以“/”为分隔符的多个目录名构成。
  • 路径可分为:
    • 绝对路径:是指以根目录“/”为起点来表示系统中某个文件(或目录)的位置的方式
  • 相对路径:是以当前目录为起点,表示系统中某个文件或目录在目录结构中的位置的方式。
  • 用户当前所处的位置,使用命令查看
  • 更改当前的工作目录,即切换目录:
  • 硬连接

    原理:
  • linux系统允许多个文件指向同一个inode,即允许一个文件拥有多个有效地路径名
  • 理解:硬连接就是指向原始文件inode的指针
  • ll 文件名
  • stat 文件名
  • 格式:
  • 例1:
  • 硬连接建立后,删除其中的一个后数据依然可以访问,只有硬连接为0时,数据旧无法访问了
  • 硬连接不能给目录建立
  • 目录自带2个硬连接,即目录中的 . .. ,表示当前目录和上一级目录
  • 不可以在不同的文件系统内建立硬连接,由于inode是当前文件在本文件系统的索引值即只能在本分区使用,应以硬连接不能跨越文件系统
  • 软连接是一种符号连接,类似于windows的“快捷方式”,仅包含所连接的路径名
  • 软连接只是一种指向关系,删除源文件则数据不可访问
  • 可以通过ll命令查看软连接实际执行文件及位置
  • 更改软连接方法:ln -snf 新文件名 软连接名
  • 删除软连接,只是删除指向关系,源数据依然可以访问
  • 硬连接中源文件与连接文件公用一个inode号,是同一个文件,软连接中源文件与连接文件拥有不同inode号,是2个不同的文件
  • 软连接的指向关系可以查看,硬连接不可以查看
  • 连接数不同,软连接数不会增加
  • 文件大小不同,硬连接文件大小与源文件一样
  • 软连接不受任何文件系统的影响,任何用户都可以创建指向目录的软连接
  • -p 可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖
  • -v 显示创建目录的详细过程
  • 作用:统计目录及文件的空间占用情况,查看某个目录中的各级子目录所占用的磁盘空间数。
  • 命令格式: du 参数
  • 参数:
  • 如果文件已存在,更新文件的三个时间,可以查看文件的详细信息
  • 如果文件不存在,则表示创建文件
  • 格式:
  • 例1:
  • tree命令
    • 作用:显示目录下文件的树形拓扑图及摘要
    • 格式:
    • tree -参数 路径 
    • 参数
    • -a : 所有文件包含显示隐藏文件 -f : 列出文件的完整路径内容 -d :只显示目录 -L : 设置显示最大深度,如:tree -f -L 2 
  • 按照下面的结构新建文件及目录
到此这篇linux就该这么学28期视频(linux就该怎么学)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • py文件打开后闪退(py文件为什么闪退)2026-04-25 22:27:09
  • keil 破解到期(keil4破解到期)2026-04-25 22:27:09
  • 虚拟盘是什么意思(虚拟盘符是什么)2026-04-25 22:27:09
  • 根据蓝牙地址找位置(根据蓝牙地址找位置app)2026-04-25 22:27:09
  • k8s 升级(k8s升级组件方法)2026-04-25 22:27:09
  • 富文本编辑器app(富文本编辑器APP)2026-04-25 22:27:09
  • 本机信息在哪(本机的信息)2026-04-25 22:27:09
  • ppppppppppppppp啥意思pl0ppppp(pppppp是什么意思网络 新闻)2026-04-25 22:27:09
  • 动态库(labview调用dll动态库)2026-04-25 22:27:09
  • ip查域名怎么查不到(ip查域名怎么查不到信息)2026-04-25 22:27:09
  • 全屏图片