linux系统命令、目录、文件相关命令

前期必备知识

1、命令提示符

     [root@jasonNB ~]# 
         root表示⽤户名信息
         @为分隔 
         jasonNB为主机名称
         ~表示所处⽬录位置,默认是家⽬录
  

2.命令格式规范(语法规范)

  • linux中的命令区分⼤⼩写
  • linux命令使⽤过程中,注意空格的⽤法,简单来说就是相当于一句话,需要一个个字分开一样。
  • 做一步检查一步,Linux中很多时候命令执行完毕之后没有结果,这是一个好的现象,如果出现结果就是报错了
  • 在填写文件路径的时候,尽量不要自己写,使用Tab补全
  • 强调:在linux系统中,尽量不要输⼊中⽂符号信息(命令⾏)

3. 系统路径信息(⽬录结构)

  linux 的目录结构类似树状图,⼀切从根目录开始依次往下查找,往下产生分支。

4、路径信息查找⽅法

绝对路径:从根开始查找 /etc /etc/hosts
     缺点:如果层级⽐较多的时候,利⽤绝对路径查找数据会⽐较麻烦
     优点:定位查询数据的准确性更⾼

相对路径:不从根开始进⾏查找, 相对于当前路径⽽⾔, 进⾏查找数据 优点:如果层级⽐较多的时候,利⽤相对路径查找数据会⽐较⽅便 缺点:路径信息不正确,数据⽆法有效查询到

系统运⾏命令

man 命令名称:可以查看命令的使用方式

简单系统命令

# 查看ip地址
    ip a
    ip addr
# ping网络(测试网络连通)
    ip 目标机器的ip
# 查看系统时间
    date
# 注销
    logout
# 关机
  shutdown -h 10 # 指定多少分钟后进⾏关机
  shutdown -c # 取消关机⽅案
  shutdown -h 0/now # ⽴即关机
# 重启
    reboot
# 清屏
    clear

快捷方式命令

01. 显示历史输⼊命令信息
     利⽤⽅向键 上 下
02. 清除所有屏幕信息输出
     ctrl + l # clear
03. 中断取消命令执⾏过程
     ctrl + c # cancel 取消
04. 快速移动光标到⾏⾸
     ctrl + a 
05. 快速移动光标到⾏尾
     ctrl + e 
06. 将光标所在位置到⾏⾸的信息进⾏删除(剪切)
     ctrl + u
   将光标所在位置到⾏尾的信息进⾏删除(剪切)
     ctrl + k 
07. 将剪切内容进⾏粘贴回来
     ctrl + y
08. 锁定系统窗⼝信息状态
     ctrl + s
   解锁系统窗⼝信息状态
     ctrl + q
09. 系统命令补全快捷⽅式(重点)
     tab
10. 命令⾏中快速移动光标
     ctrl + ⽅向键 左 右 (按照英⽂单词进⾏移动光标)

⽬录结构相关命令

1)显示当前路径信息 
     pwd # print working directory显示当前所在路径

2)切换⽬录结构
     cd # change directory改变⽬录信息
     cd - # 快速切换路径,返回到上⼀次所在路径信息
     cd .. # 快速切换路径,返回到当前路径的上⼀级⽬录中
     cd ../.. # 上多级

3)快速切换路径
     cd ~或cd # 返回到当前登陆⽤户的家⽬录中

4)创建⽬录结构
     mkdir # make directory
     ps:创建多级⽬录需要加参数-p
     mkdir -p /oldgirl/oldbaby/heihei
     ''' 建议:创建⽬录时以绝对路径创建⽬录'''

文件与文件夹相关的命令

"""
执行一下吃不准的操作,可以先制作系统快照,之后可以回退
"""

强调:在linux系统中,尽量不要输⼊中⽂符号信息(命令⾏)

1)如何创建⽂件信息
       touch

2)如何检查⽂件或⽬录是否存在
     ls # list
     显示⽂件/⽬录数据详细信息
     ls -l a.txt # 可以简写ll a.txt
     排序:按照⽇期查找⽂件
     ls -lt a.txt
     ls -ltr a.txt

3)如何查看⽂件信息
     cat
     cat oldboy.txt oldgirl.txt > olddog.txt # 整合

4)在空⽂件中⽣成数据信息 
     echo # 将信息进⾏输出
     echo hello world # 等价于print('hello world')
     echo hello world > /oldgirl/oldgirl.txt # w模式
    写⼊⽂件
     echo baby.com >> /oldgirl/oldgirl.txt # 追加模式
    写⼊

5)对⽂件或⽬录数据信息进⾏拷⻉(复制)
     cp # copy
     语法格式:cp 参数信息 要进⾏复制的信息 复制到什么位置
     # 将/etc/hosts⽂件复制到/oldboy⽬录中
     cp /etc/hosts /oldboy/
        如果不加斜杠并且oldboy没有 意思则变成复制到根并改名
     # 如何复制整体⽬录数据
     cp -r /etc/sysconfig/ /oldboy/oldgirl/
     # 重复复制避免提示信息出现
     \cp -r /etc/sysconfig/ /oldboy/oldgirl/
     '''cp核⼼功能:备份数据信息'''
     cp oldboy.txt oldboy.txt.bak
     cp oldboy.txt.bak oldboy.txt
    常⻅问题:
     在复制⽂件时,不要在⽂件名称后⾯加上/ ⼀般只有⽬录后⾯有/
     ⽂件没有存在会直接复制,如果已经存在会提示是否覆盖
     cp -a
     -a == -d + -r + -p
     -d 和链接⽂件有关
     -R 进⾏递归复制
     -p 保持属性不变 

6)对⽂件或⽬录数据信息进⾏剪切(移动)
     mv # move
     mv 参数 要移动数据信息 移动到什么位置
     eg:移动/etc/selinux/config 到 /oldboy/shanghai/
         1.先验证是否有对应的⽬录 ⽆则先创建
         2.确认⽆误后再剪切
             mv /etc/selinux/config /oldboy/shanghai/
         3.mv操作有时⽐较危险 针对核⼼⽂件移⾛可能会出错
             mv /oldboy/shanghai/config /etc/selinux/
         还可以针对单个⽂件重命名 mv hosts hosts01

7)数据的删除命令
     rm # remove
     rm 参数 要删除的数据信息
     # 删除oldboy⽬录中的hosts01⽂件
     rm hosts01
     # 删除⽬录操作
     rm shanghai/ 报错
     rm -r shanghai/ 正确
     # 如何强制删除数据信息
     rm -f olddog.txt 不提示
     rm -rf jason 不提示

'''rm操作最好是切换到⽬标数据所在位置删除不推荐使⽤绝对路径'''

文件编辑命令(重要)

vi(系统自带的)与vim(第三方工具)

# 编辑⽂件的操作步骤
 第⼀个⾥程:利⽤vi命令打开⽂件
     vi oldboy.txt

 第⼆个⾥程:进⼊到编辑模式,开始编辑⽂件
     按键盘上⼩写字⺟ i # insert
 
第三个⾥程:进⾏编辑

第四个⾥程:退出编辑模式
     按esc进⾏退出
 
第五个⾥程:关闭打开的⽂件
     :wq w-write q-quit 保存退出
     :q! 有时候在vi编辑模式必须加感叹号不保存强制进⾏退出

编辑相关快捷方式

1.光标快速移动快捷⽅式
     如何将光标快速移动到最后⼀⾏ # ⼤写字⺟ G
     如何将光标快速移动到第⼀⾏ # ⼩写字⺟ gg
     如何快速移动光标到中间指定⾏ # ⼩写字⺟ 10gg
     如何快速移动光标到⼀⾏的⾏尾 # 符号信息 shift+$
     如何快速移动光标到⼀⾏的⾸部 # 数字信息 0
 
2.移动光标转为编辑状态
     如何快速移动光标到下⼀⾏并进⼊编辑状态 # ⼩写字⺟ o
     如何快速移动光标到⼀⾏的⾏尾并进⾏编辑 # ⼤写字⺟ A
     如何快速删除光标所在位置到⼀⾏⾏尾所有信息并进⼊编辑状态  # ⼤写字⺟ C
     如何清空当前⾏的所有内容信息并进⼊编辑状态 # ⼩写字⺟ cc
 
3.快速编辑⽂本内容信息
     如何复制⽂本信息 ⼩写字⺟ # yy
     如何复制多⾏信息 # 3yy
     如何粘贴⽂本信息 ⼩写字⺟ # p
     如何粘贴多⾏信息 # 3p
     如何删除⽂本信息 ⼩写字⺟ # dd 实际是将指定⾏信息进⾏剪切
     如何删除多⾏信息 # 3dd
     将光标所在⾏到最后⼀⾏都删除 字⺟ # dG

4.特殊操作⽂本内容⽅式
     如何显示⽂本⾏号信息/如何取消⾏号 :set nu/:set nonu
     如何撤销编辑信息 ⼩写字⺟ u undo
     如何取消撤销操作 ctrl + r redo
     快速搜索⽂件信息 /待搜索内容
     按n查找下⼀个匹配项 shift+n上⼀个匹配项

5.批量操作⽂本内容
     批量删除操作
     第⼀个步骤:移动光标到相应位置 
     第⼆个步骤:进⼊到批量编辑模式(视图块模式)
     ctrl + v
     第三个步骤:选中多⾏信息
     ⽅向键选中
     第四个步骤:进⾏删除
     ⼩写字⺟ d 或者 x(删除光标选中的内容)

yum

yum基于rpm实现的,提供了除了rpm的安装软件、卸载软件等功能以外还有,自动查找、下载软件并自动处理软件的彼此之间的依赖关系,下载并安装依赖包。

# 列出所有可以安装的软件包
    yum list
# 安装软件
    yum install -y 软件名
# 卸载软件
    yum remove 软件名
# 查找软件包
    yum search all 软件名

vim下载

yum install vim tree bash-completion -y

目录结构

在 Windows 中,我们会看到磁盘驱动器的标识,比如C:\E:\,文件和目录名都跟在驱动器名后面。Linux 和 Windows 完全不同,在 Linux 中你可以在根目录下运行ls,观察它的目录结构:

常见目录

/- 根目录


顾名思义,根目录就是所有目录所在的目录,它是 Linux 中所有目录的根,从某种概念上讲,它有点类似于 Windows中的磁盘驱动器符号。之后将会看到,所有其他目录都是以/开头的。

/bin - 存放重要的用户二进制文件目录


bin 是binary的缩写,/bin 目录存放了非常重要的用户二进制文件,其实就是一些程序。需要特别说明的是,/bin 中存放的都是在单用户维护模式下还能被操作的命令,这些命令可以被 root 和普通用户使用。在 / bin 中我们可以看到例如chmoddu这些我们经常使用的 Linux 命令程序。

/boot - 存放系统启动时需要文件的目录


/boot 中存放的主要是系统启动时需要用到的文件,比如EFIGRUB以及 Linux 内核。

/dev - 设备文件目录


Linux 将所有东西都看成文件,设备也不例外,不论是实体的硬件设备还是虚拟设备。实体硬件比如第一块被检测到的硬盘会被挂载到/dev/sda,第二块会被挂载到/dev/sdb,以此类推。虚拟设备比如nullrandomstderrstdinstdout

/etc - 配置文件目录


etc 的含义是Et cetera,表示一些相关的其他东西,/etc 从 UNIX 早期开始就被用来存放配置文件,一直沿用至今。需要注意的是,/etc 中存放的是系统配置文件,特定用户的配置文件放在每个用户的 / home 目录下。

/home - 用户目录


/home 目录中存放的是每个用户的用户目录,比如有一个用户叫 tom,/home/tom 就是他的用户目录,每个用户的用户目录中存放的用户数据和用户配置文件,比如每个用户的.bashrc文件、.ssh目录等。普通用户只能访问自己的用户目录而不能访问别人的,root 用户则没有此限制。

/lib - 重要的共享库目录


/lib 目录中存放的是/bin/sbin中那些重要的二进制文件(程序)需要的共享库。另外/usr/bin中二进制文件(程序)需要的共享库都存放在/usr/lib

/lost+found - 恢复文件目录


每个 Linux 文件系统都有 / lost+found 目录,当文件系统崩溃时,在下次启动时将会进行文件系统自检,任何在崩溃过程中损坏的文件都将被放入 / lost+found,你可以尝试找到并恢复这些文件。

当你将一些可删除媒介挂(比如 CD,U 盘,光驱等)载到计算机上时,系统会在 / media 下自动创建子目录,之后就可以通过访问这个子目录来访问媒介。比如你在电脑上插入 CD,在 / media 目录下就会自动生成一个子目录,你可以通过访问这个子目录来访问 CD 的内容。

/mnt - 临时挂载点目录


mntmount的缩写,各种设备挂载到系统后,会在 / mnt 目录下生成相应设备的目录,比如挂载光驱、文件系统、CD 等。

/opt - 可选包目录


optOptional的意思,系统中安装的可选软件包被存放在 / opt 目录中。

/proc - 内核和进程文件目录


/proc 是一个虚拟目录,并不包含任何标准文件。当系统启动后,会对当前内核和硬件信息进行检测,并将这些信息放在这个目录中(其实都在内存中)。你可以使用cat /proc/meminfo来查看关于内存的一些信息,或者使用cat /proc/version来查看 Linux 内核信息。

/root - root 用户的 home 目录


和一般用户的 home 目录放在/home/{用户名}不同,root 用户的 home 目录专门被放在/root

/run - 应用程序状态目录


/run 目录用来存放应用程序在运行期间需要的一些短暂存在的文件,比如 socket 和 pid 文件,这些文件对这些应用程序的运行很重要,因此不能把他们放在 / tmp 目录下,因为 / tmp 目录下的文件有可能会被系统清空。

/sbin - 系统管理员用的二进制文件目录


/sbin 目录和 /bin 目录有些类似,都是存放二进制文件。比较特殊的是,/sbin 目录存放的都是系统管理的命令程序,一般只有 root 用户能使用。

/srv - 服务数据目录


/srv 目录主要用来存放一些系统提供的网络服务的数据,如果你在机器上运行一个 HTTP 服务器来对外提供静态文件时,/srv/http目录将存放这些静态文件,如果你运行一个 FTP 服务器对外提供文件,则/srv/ftp目录将存放这些文件。

/tmp - 临时文件目录


应用程序会将一些临时文件存放在 / tmp 目录中,一般来说当系统重启后,/tmp 下的文件会被自动清空,也会被一些监控程序清空。

/usr - 用户二进制文件和只读文件目录


/usr 目录下存放的是用户使用的程序,可以很明显地发现,Linux 将普通用户和系统使用的程序分开存放,比如上面提到过,系统使用的一些重要程序存放在 / bin,而那些不重要的程序就被放在 / usr/bin。不太重要的系统管理程序存放在 / usr/sbin 而不是 / sbin。usr 也被称为UNIX Software Resource,这是比较早期的说法。下面是 / usr 目录下常见的几个子目录的含义:

  1. /usr/bin 存放用户命令
  2. /usr/include 存放编程语言的头文件和包含文件
  3. /usr/lib 存放各个应用程序的库函数和目标文件
  4. /usr/local 存放系统管理员下载的软件的安装目录
  5. /usr/sbin 存放不常用的系统命令
  6. /usr/src 存放源码

/var - 变动数据目录


/var 一般用来存放经常变动的数据,比如日志文件和缓存文件。下面是 / var 目录下常见的几个子目录的含义:

  1. /var/cache 存放应用程序运行产生的临时文件
  2. /var/lib 存放程序在执行过程中需要使用到的数据文件,每个软件在此目录下都有自己独自的目录
  3. /var/lock 存放程序的锁状态
  4. /var/log 存放各种日志文件
  5. /var/mail 存放个人电子邮箱
  6. /var/run 有些程序在运行后,会将他们的 pid、socket 文件放置到这个目录中

速记表格

Linux 含义 windows
/bin 所有用户可用的基本命令存放的位置 windows没有固定的命令存放目录
/sbin 需要管理员权限才能使用的命令  
/boot linux系统启动的时候需要加载和使用的文件  
/dev 外设连接linux后,对应的文件存放的位置 类似Windows中的U盘,光盘的符号文件。
/etc 存放系统或者安装的程序的配置文件,注册服务等 类似windows中的注册表,
/home 家目录,linux中每新建一个用户,会自动在home中为该用户分配一个文件夹 类似windows中的"我的文档",每个用户有自己的目录。
/root root账户的家目录,仅供root账户使用 类似windows中的Administrator账户的"我的文档"
/lib linux的命令和系统启动,需要使用一些公共的依赖,放在lib中,类似我们开发的代码执行需要引入的jdk的jar  
/usr 很多系统软件的默认安装路径 类似windows中的C盘下的Program Files目录。
/var 系统和程序运行产生的日志文件和缓存文件放在这里  

目录结构说明

结构特点说明

  1. linux根下⾯的⽬录是⼀个有层次的树状结构
  2. linux每个⽬录可以挂载在不同的设备(磁盘)上挂载

 1) linux根下⾯的⽬录是⼀个有层次的树状结构
 2) linux每个⽬录可以挂载在不同的设备(磁盘)上 挂载
 
 磁盘-设备(房间) 想存储东⻄ 从⻔进⼊>:⽬录(挂载点)
 磁盘设备 《-- 挂载 --》 ⻔(⽬录)
 
 实践操作实现挂载过程
     第⼀个⾥程:拥有⼀个存储设备(光驱)
     第⼆个⾥程:找到相应光驱设备
         [root@jasonNB ~]# ls /dev/cdrom
       /dev/cdrom
         [root@jasonNB ~]# ls -l /dev/cdrom
       lrwxrwxrwx. 1 root root 3 Dec 6 09:07 /dev/cdrom -> sr0
     第三个⾥程:进⾏挂载操作
           mount /dev/cdrom /mnt/(挂载点⽬录⼀定存在)
    ⽬录结构说明 第四个⾥程:确认是否挂载成功      ls
/mnt 第五个⾥程:取消挂载 umount /mnt

重要目录数据

1.⽹卡配置⽂件
 /etc/sysconfig/network-scripts/ifcfg-eth0 ens33
 # 编辑⽹卡⽂件时可以先提前备份⼀份
 cp xxx /tmp/xxx.bak
 ps:esc + . 调⽤上⼀个命令最后⼀个参数信息
 # ⽹卡⽂件修改后,必须重启⽹络服务
 systemctl restart network
 
 初始化软件安装 yum install -y vim tree bashcompletion(提供命令参数补全功能 systemctl)
"""
BOOTPROTO=none 启动协议 获取IP地址的⽅法 ⾃动获取 dhcp⼿动设置
DEFROUTE=yes 开启了默认路由 ⽹络(默认路由 动态路由 静态路由)
NAME=eth0 ⽹卡逻辑名称
UUID=... 在虚拟化软件标识⼀些硬件设备信息
DEVICE=eth0 ⽹卡设备名称
ONBOOT=yes 确保⽹卡是否处于激活状态
IPADDR=10.0.0.200 IP地址设置
PREFIX=24 设置⼦⽹掩码确保⼀个局域⽹⾥⾯可以连接多少台主机默认253
GATEWAY=10.0.0.254 ⽹关信息 不同局域⽹之间进⾏通讯的必经
关卡 需要和虚拟编辑器中nat⽹卡设置保持⼀致
IPV6_PRIVACY=no
DNS=114.114.114.114 DNS 域名解析服务 
"""
2.DNS服务设置⽅法
 ⽅法⼀:设置为阿⾥云dns服务器地址
 223.5.5.5
 223.6.6.6
 ⽅法⼆:通⽤dns服务器地址
 114.114.114.114
 114.114.114.119
 ⽅法三:利⽤移动dns服务器(⾕歌dns服务器)了解即可
 8.8.8.8
 ⽅法四:使⽤⽹关地址充当dns服务器地址
 10.0.0.254
 
3.⽹卡域名解析配置⽂件
        域名配置文件地址                 /etc/resolv.conf
        查看当前DNS网址                 cat /etc/resolv.conf
        修改当前DNS网址                 vi /etc/resolv.conf
                                    nameserver 114.114.114.114
                                    nameserver 223.5.5.5
        配置完成,⽴即⽣效 ⽹卡的dns配置优先于resolv.conf⽂件中的配置

4.主机名称配置⽂件
 centos6 /etc/sysconfig/network 主机名称配置⽂件
 centos7 /etc/hostname 主机名称配置⽂件
 修改主机名称
 第⼀个⾥程:利⽤命令修改主机名称 # 临时修改
 hostname jasonNB
 ps:修改完成,需要重新连接,才能命令⽣效
 第⼆个⾥程:编辑修改配置⽂件 # 永久修改
 vi /etc/hostname
 centos7有特殊修改主机名称⽅式
 hostnamectl set-hostname oldboyds05
 
5.本地域名解析⽂件 /etc/hosts
 ⽹站⻚⾯信息变更
 ⼩公司 直接调试线上服务器 夜⾥操作
 ⼤企业 直接调试测试服务器测试访问 模拟真实环境访问
 京东线上⽹站服务器地址 112.65.34.1
 京东线下⽹站服务器地址 10.0.0.200

 

posted @ 2023-01-13 23:22  莫~慌  阅读(67)  评论(0编辑  收藏  举报