首页 > 其他分享 >目录结构和基础命令

目录结构和基础命令

时间:2024-11-11 22:41:21浏览次数:3  
标签:xu opt kylin -- 命令 txt root 目录 结构

一、目录结构

【1】、Windows和Linux目录结构

windows目录结构:

D:\新建文件夹\OneDrive\桌面\Linux\oldboy\第一阶段
C:\PerfLogs
E:\node_modules

Linux目录结构:类似Windows只有一个C盘,使用 “/” 表示,“/” 是一个目录

/root
/etc/ssh

【2】、相对路径和绝对路径

相对路径: 当前的位置称为相对路径 文件的前面没有“/”,切换目录时,从当前位置为准

1.txt

绝对路径: 一切从/开始的位置,切换目录时,从根 “/” 开始

/root/1.txt
/root/oldboy.txt

二、Linux系统基础命令1

【1】、pwd

查看当前所在的路径 print working directory

语法结构

  • pwd + 回车

    [root@kylin-xu ~]# pwd
    /root
    

【2】、cd

切换目录 change directory

语法结构:

  • cd + 回车
  • cd + 路径
  • cd [参数]
# 切换到 /opt 目录下面

# 相对路径完成 
[root@oldboyedu ~]# pwd
/root
[root@oldboyedu ~]# cd /
[root@oldboyedu /]# pwd
/
[root@oldboyedu /]# cd opt
[root@oldboyedu opt]# pwd
/opt

# 绝对路径进入到/opt目录下
[root@oldboyedu ~]# cd /opt 
[root@oldboyedu opt]# pwd
/opt

案例2.回到家目录
快速回到家目录
[root@oldboyedu ~]# cd /opt/		
[root@oldboyedu opt]# cd		# 回到家目录

相对路径
[root@oldboyedu opt]# cd /
[root@oldboyedu /]# cd root

绝对路径
[root@oldboyedu opt]# pwd
/opt
[root@oldboyedu opt]# cd /root
[root@oldboyedu ~]# pwd
/root

cd 的参数

cd + ~:回到当前登录用户的家目录

cd + .. :返回上一级目录,如果当前是在根目录了,cd + .. 无效

cd + . :表示当前目录

cd + -:返回上一次所在的位置

[root@kylin-xu ~]# cd /etc/sysconfig/network-scripts/
[root@kylin-xu network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@kylin-xu network-scripts]# cd ..
[root@kylin-xu sysconfig]# pwd
/etc/sysconfig
[root@kylin-xu sysconfig]# cd .
[root@kylin-xu sysconfig]# pwd
/etc/sysconfig
[root@kylin-xu sysconfig]# cd network-scripts/

# 一次返回两级目录
[root@kylin-xu network-scripts]# cd ../../
[root@kylin-xu etc]# pwd
/etc

cd命令小结

  • cd:快速回家

  • cd + ~:快速回家

  • cd + - :返回上一次所在的目录,重新连接终端上一次的路径失效

    [root@kylin-xu ~]# cd -
    -bash: cd: OLDPWD 未设定
    
  • 相对路径和绝对路径

    • 相对路径:从当前位置开始
    • 绝对路径:从 / 开始

【3】、ls

语法结构:

  • ls # 直接回车
  • ls 目录 # 查看目录下的文件
  • ls /etc/sysconfig/
  • ls 参数
  • ls 参数 目录/路径目录
  • ls 文件 # 查看文件是否存在

参数选项:
-l 显示文件的详细信息

[root@kylin-xu ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg

[root@kylin-xu ~]# ls -l
总用量 8
-rw------- 1 root root 2726 11月  3 12:29 anaconda-ks.cfg
-rw-r--r-- 1 root root 3150 11月  3 12:31 initial-setup-ks.cfg

# 查看/opt/目录下有哪些文件
[root@kylin-xu ~]# ll /opt
总用量 0
dr-xr-xr-x 5 root root 79  3月 24  2023 kylin-sm-package
drwxr-xr-x 4 root root 58 11月  3 12:21 patch_workspace
[root@kylin-xu tmp]# cd /opt
[root@kylin-xu opt]# ls -l
总用量 0
dr-xr-xr-x 5 root root 79  3月 24  2023 kylin-sm-package
drwxr-xr-x 4 root root 58 11月  3 12:21 patch_workspace

ls -l 可以简写 ll ,在linux中执行ll 相当于执行的是ls -l命令,ll是ls -l的外号。

ls 小结

  • ls # 查看当前目录下有哪些文件
  • ls -l # 查看文件的详细信息
  • ll # 相当于执行ls -l
  • ll oldboy.txt # 查看oldboy.txt的详细信息,如果没有,会报错
  • ll /opt/ # /opt目录下文件的详细信息
  • ll /etc/sysconfig/network-scripts/

【4】、touch

创建普通文件 如果文件存在则修改时间不影响文件的内容

语法结构:
touch 文件名称
touch /目录/文件名称 # 目录必须存在
touch file1 file2 # 创建多个文件
touch file1 /目录/file2 # 在不同的目录下创建不同的文件

案例1.在当前的目录oldboy.txt
[root@oldboyedu ~]# rm -rf *  # 删除当前所有的文件和目录 企业慎用
[root@oldboyedu ~]# ll
总用量 0
-rw-r--r-- 1 root root 0 10月 25 19:05 oldboy.txt

案例2.在当前目录下创建多个文件 1.txt 2.txt
[root@kylin-xu test]# touch 1.txt 2.txt
[root@kylin-xu test]# ls
1.txt  2.txt
[root@kylin-xu test]# ll
总用量 0
-rw-r--r-- 1 root root 0 11月  4 02:54 1.txt
-rw-r--r-- 1 root root 0 11月  4 02:54 2.txt

案例3.如果文件存在只修改文件的时间  不会影响文件的内容
[root@oldboyedu ~]# ll
总用量 0
-rw-r--r-- 1 root root 0 10月 25 19:07 1.txt
-rw-r--r-- 1 root root 0 10月 25 19:07 2.txt
-rw-r--r-- 1 root root 0 10月 25 19:05 oldboy.txt	# 注意看文件的时间19:05
[root@oldboyedu ~]# touch oldboy.txt
[root@oldboyedu ~]# ll
总用量 0
-rw-r--r-- 1 root root 0 10月 25 19:07 1.txt
-rw-r--r-- 1 root root 0 10月 25 19:07 2.txt
-rw-r--r-- 1 root root 0 10月 25 19:07 oldboy.txt	# 执行touch后时间 19:07

案例4.在/opt目录下创建a.txt
相对路径:
[root@oldboyedu ~]# cd /opt/
[root@oldboyedu opt]# touch a.txt
[root@oldboyedu opt]# ll
总用量 0
-rw-r--r-- 1 root root  0 10月 25 19:09 a.txt

绝对路径:/opt目录下b.txt 绝对路径表示/opt/b.txt
[root@oldboyedu ~]# touch /opt/b.txt
[root@oldboyedu ~]# ll /opt/
总用量 0
-rw-r--r-- 1 root root  0 10月 25 19:09 a.txt
-rw-r--r-- 1 root root  0 10月 25 19:10 b.txt

案例5.在当前目录创建oldgirl.txt文件  在/tmp目录下创建oldboy.txt
使用绝对路径表示:
oldgirl.txt
/tmp/oldboy.txt

[root@oldboyedu ~]# touch oldgirl.txt /tmp/oldboy.txt
[root@oldboyedu ~]# ll
总用量 0
-rw-r--r-- 1 root root 0 10月 25 19:07 1.txt
-rw-r--r-- 1 root root 0 10月 25 19:07 2.txt
-rw-r--r-- 1 root root 0 10月 25 19:07 oldboy.txt
-rw-r--r-- 1 root root 0 10月 25 19:13 oldgirl.txt
[root@oldboyedu ~]# ll oldgirl.txt  /tmp/oldboy.txt 
-rw-r--r-- 1 root root 0 10月 25 19:13 oldgirl.txt
-rw-r--r-- 1 root root 0 10月 25 19:13 /tmp/oldboy.txt

# 注意: 使用绝对路径时候必须保证目录存在的,不存在创建不成功

touch小结

  • touch 1.txt # 在当前创建1.txt
  • touch a.txt b.txt # 在当前创建多个文件
  • touch /opt/1.txt # 指定在/opt目录下创建1.txt
  • touch /opt/1.txt /tmp/2.txt # 在不同的路径下创建文件

【5】、cat命令

查看文件内容

语法结构:
cat file # 查看文件的内容
参数选项:
-n # 显示文件的行数

查看/etc/hosts文件
[root@kylin-xu test]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@kylin-xu test]# cat /etc/hosts -n
     1  127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
     2  ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

【6】、mkdir

创建目录 make directory

语法结构:
mkdir 目录的名称
mkdir dir1 dir2 dir3
mkdir dir1/test /tmp/oldboy
参数选项:
-p #递归创建目录 目录存在不提示

[root@kylin-xu test]# mkdir abc
[root@kylin-xu test]# ls
abc
[root@kylin-xu test]# mkdir -p a/b/c
[root@kylin-xu test]# tree a
a
└── b
    └── c

2 directories, 0 files

创建多个目录
[root@kylin-xu test]# mkdir  b c d
[root@kylin-xu test]# ll
total 0
drwxr-xr-x 2 root root  6 nov  4 03:09 b
drwxr-xr-x 2 root root  6 nov  4 03:09 c
drwxr-xr-x 2 root root  6 nov  4 03:09 d

mkdir小结:

  • mkdir oldboy #在当前创建oldboy目录
  • mkdir oldboy oldgirl # 创建多个目录
  • mkdir /opt/a /tmp/b # 在不同的目录下创建目录
  • mkdir -p a/b/c # 递归创建目录

【7】、tree

树形结构显示目录

tree -L 1 # 显示1级目录下所有的文件

[root@kylin-xu test]# tree a
a
└── b
    └── c

快捷键

CTRL + l:清屏

三、Linux系统基础命令2

【1】、echo

echo 回声。 echo 输出指定内容到屏幕。

一般与重定向符号搭配(> >>)

> 重定向符号(标准输出重定向),先清空文件内容,然后再写入。如果文件不存在,还会自动创建文件

>> 追加重定向符号(标准输出追加重定向),把内容追加到文件的末尾。

[root@kylin-xu day05]# echo haha > 1.txt
[root@kylin-xu day05]# cat 1.txt 
haha

[root@kylin-xu day05]# echo haha > 1.txt
[root@kylin-xu day05]# cat 1.txt 
haha
[root@kylin-xu day05]# echo xixi > 1.txt 
[root@kylin-xu day05]# cat 1.txt 
xixi
[root@kylin-xu day05]# echo xixi >>  1.txt 
[root@kylin-xu day05]# echo xixi >>  1.txt 
[root@kylin-xu day05]# cat 1.txt 
xixi
xixi
xixi

echo与重定向小结

  • echo一般与>,>>搭配。
  • > ,>> 重定向符号

【2】、花括号{}

  • touch创建文件,mkdir创建目录
  • {} 生成序列(数字,字母)
[root@kylin-xu day05]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@kylin-xu day05]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z

touch批量创建文件

[root@kylin-xu day05]# touch a{1..10}.txt
[root@kylin-xu day05]# ls
a10.txt  a1.txt  a2.txt  a3.txt  a4.txt  a5.txt  a6.txt  a7.txt  a8.txt  a9.txt

mkdir 批量创建目录 (文件名与目录名不同)

[root@kylin-xu day05]# mkdir a{1..10}
[root@kylin-xu day05]# ls
a1  a10  a2  a3  a4  a5  a6  a7  a8  a9
  • {}小结:
    • 生成序列,与一些命令搭配实现批量操作。
    • echo看效果,touch创建文件,mkdir创建目录。

【3】、cp命令

cp copy复制。

cp格式 源(从哪里来) 目标(到哪去)
cp 选项 复制内容(文件,目录) 目标
选项
-r 递归复制
-p 保持属性不变
-d 软链接相关
-a -a -pdr
  • 复制文件:cp复制文件麒麟系统的网卡配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33)到/root/下
[root@kylin-xu ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33  /root
[root@kylin-xu ~]# ll ifcfg-ens33 
-rw-r--r-- 1 root root 371 nov  4 03:43 ifcfg-ens33
  • 复制目录:先创建/backup,复制/etc/到/backup/目录
mkdir /backup
cp -r /etc/ /backup 
[root@kylin-xu ~]# tree -L 1 /backup/
/backup/
└── etc

1 directory, 0 files0
  • 复制文件或目录的时候保持文件,目录的属性不变(修改时间)
[root@kylin-xu ~]# ll /etc/hosts
-rw-r--r-- 1 root root 158 jun 23  2020 /etc/hosts
[root@kylin-xu ~]# cp /etc/hosts ~/
[root@kylin-xu ~]# ll hosts 
-rw-r--r-- 1 root root 158 nov  4 03:48 hosts

# 直接复制的话时间属性发生了变化,我们需要加上 -rp 参数,也可以加上 -a 参数
# -a 参数一个包括了 rpd 
[root@kylin-xu ~]# ll /etc/hosts
-rw-r--r-- 1 root root 158 jun 23  2020 /etc/hosts
[root@kylin-xu ~]# cp -p /etc/hosts ~/
[root@kylin-xu ~]# ll hosts 
-rw-r--r-- 1 root root 158 jun 23  2020 hosts

【4】、mv命令

mv move移动(剪切+粘贴)

  • 移动:把/opt/test/a目录(如果没有创建下) 移动到/mnt/
[root@kylin-xu ~]# mv /opt/day05/a1  /mnt
[root@kylin-xu ~]# ll -d /mnt/a1
drwxr-xr-x 2 root root 6 nov  4 03:40 /mnt/a1
[root@kylin-xu ~]# ll -d /opt/day05/a1
ls: no se puede acceder a '/opt/day05/a1': No such file or directory
  • 改名:把网卡配置文件复制到/opt/,然后修改/opt/网卡配置文件名字为ifcfg-eth0
[root@kylin-xu ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /opt
[root@kylin-xu ~]# mv /opt/ifcfg-ens33 /opt/ifcfg-eth0
[root@kylin-xu ~]# ll /opt/ifcfg-eth0 
-rw-r--r-- 1 root root 371 nov  4 03:55 /opt/ifcfg-eth0

mv小结

  • 移动,文件,目录。
  • 重命名。

【5】、rm

rm remove删除文件或目录

rm命令选项
-r 递归删除
-f 强制删除
  • 删除文件/opt/ifcfg-eth0
[root@kylin-xu ~]# rm -f /opt/ifcfg-eth0 
[root@kylin-xu ~]# ll /opt/ifcfg-eth0
ls: no se puede acceder a '/opt/ifcfg-eth0': No such file or directory
  • 删除/opt/day05/a2目录
rm -rf /opt/day05/a2
  • 替代rm方案使用mv或书写脚本(回收站脚本)

    • 这个后面未来shell部分解决。
  • rm小结:

    • 删除文件或目录。
    • 使用mv替代。

【6】、vi/vim

  • vi,vim Linux编辑器
  • Linux中手一样的存在。
vi/vim vi vim
整体 基本用法一致 基本用法一致
区别 vi linux默认安装 可能没有
区别 基础版本编辑器 进阶 imporve 提升

1、编辑文件全流程

  • 1️⃣复制网卡配置文件到当前目录
cp /etc/sysconfig/network-scripts/ifcfg-ens33     .
  • 2️⃣vim打开文件
vim   ifcfg-ens33
  • 3️⃣进入编辑模式
按i   (insert插入,编辑模式)
  • 4️⃣ 退出编辑模式
esc
  • 5️⃣ 保存并退出
:wq      #write 保存  quit 退出、顺序不能颠倒
:q       退出不保存
:q!      强制退出不保存 
:w       保存不退出
  • 6️⃣ 查看文件内容
cat ifcfg-ens33

2、vi/vim快捷键

  • 加速我们操作。

  • 测试快捷键的环境

不要进入编辑模式

  • 快速到达文件最后一行: G
  • 快速到达文件的第1行: gg
  • 快速到达文件的某一行:第100行 100gg
  • 搜索 /ssh 搜索包含ssh的行 继续查找(向下)n, N(向上)
  • 复制 yy
  • 粘贴 p
  • 删除(剪切) dd
  • 撤销 u
  • 显示行号 :set nu :set nonu #number行号

标签:xu,opt,kylin,--,命令,txt,root,目录,结构
From: https://www.cnblogs.com/xuruizhao/p/18540754

相关文章

  • C++结构体中的资源释放
    一般情况下,结构体不需要手动释放。如果结构体只包含基本类型(如int、float等)或没有指针成员,其内存由栈或堆自动管理,不需要手动释放。然而,如果结构体包含动态分配的资源(例如指针、文件句柄等),则需要在结构体的生命周期结束时手动释放这些资源。通常可以通过以下方式来管理:使用......
  • 数据结构——快速排序
    目录一、排序思想二、代码实现(一)hoare版1、原版——固定选key2、随机选key、三数取中选key(二)挖坑法(三)前后指针法(四)小区间优化(五)非递归写法一、排序思想任取待排序元素序列中的某元素作为基准值,按照该基准值将待排序集合分割成两子序列,左子序列中所有元素均小于基......
  • C++数据结构实验题目解析
    目录题目:考点分析:难点1:就地逆置步骤:代码实现:核心代码详细解释:难点2:①非递减链表,②删除相同元素代码详解①:代码详解②:完整代码:大家好,今天我就来给大家分析一下我上期分享的题目的详细解析,编程的能力都是逐步提升的,但是思维的锻炼可以提前进行,这样有助于我们以后自......
  • 郝玩的数据结构1——单调栈,单调队列
    栈和队列是很郝咏的Stl,那么,我们手搓——用数组模拟故事背景:辣鸡老o在学单调栈&单调队列——我栈top为栈顶,易得出出栈即top--,入栈++top=(ovo)......——完全不会讲,那么上马:点击查看代码#include<bits/stdc++.h>usingnamespacestd;constintN=114514;intstk[N],top=0;......
  • 力扣 170. 两数之和 III - 数据结构设计 two-sum III
    数组系列力扣数据结构之数组-00-概览力扣.53最大子数组和maximum-subarray力扣.128最长连续序列longest-consecutive-sequence力扣.1两数之和N种解法two-sum力扣.167两数之和IItwo-sum-ii力扣.170两数之和IIItwo-sum-iii力扣.653两数之和IVtwo-sum-IV力......
  • 常见 setup.exe 参数 有关 Setup 命令行参数的其他信息,请参阅 Setup Help 文件。有
    Windows安装程序安装或升级Windows。Setup.exe[/debughelp][/auto<upgrade;dataonly;clean>][/quiet][/installdrivers<driver_folder_path>][/noreboot][/installangpacks<language_packfolder_path>][/showoobe<none;full>][/unattend:<ans......
  • 深入理解Java对象结构
    一、Java对象结构实例化一个Java对象之后,该对象在内存中的结构是怎么样的?Java对象(Object实例)结构包括三部分:对象头、对象体和对齐字节,具体下图所示1、Java对象的三部分(1)对象头对象头包括三个字段,第一个字段叫作MarkWord(标记字),用于存储自身运行时的数据,例如GC标志位......
  • 在contost中的常用命令
    1.退出编辑Ctrl键+C2.清屏clear3:查看日志ipaddr4.目录切换cd目标文件夹的路径--相对路径--绝对路径cd../:回退到上一级目录cd/:回到根目录5.查看当前所在的绝对路径pwd6.查看指定目录下的内容ls[参数]目标文件夹参数:-l详细信息......
  • Linux常用命令之touch命令详解
    touch命令详解touch是一个在Unix和类Unix操作系统(如Linux和macOS)中广泛使用的命令行工具,主要功能包括更新文件的时间戳(访问时间和修改时间)和创建新的空文件。touch命令非常灵活,可以通过多种选项来定制其行为,以满足不同的需求。基本语法touch命令的基本语法如......
  • PG 修改表结构提示有试图依赖的处理方法
     ALTERTABLEvictimALTERCOLUMNvictim_belong_urlTYPEvarchar(1000)USINGvictim_belong_url::varchar(1000); 修改字段长度通过修改pg_attribute基表的方式来绕开这个限制  #通过表名查出attrelidSELECTrelname,attname,attnum,attrelid,attnameFR......