3.3 Linux 文件管理

1、查看系统信息
tty 命令
  • 描述:查看当前系统在哪个终端
  • 语法:tty

Linux默认情况下提供6个虚拟终端来让用户登录,系统将F1~F6定义为tty1~tty6。

  • ctrl+alt+(F1~F6) :从图形界面切换到命令行界面的第 n 个虚拟终端(F1 是图形界面,F2、...、F6 是命令行界面)。

  • alt+F1~F6 可以在命令行界面终端之间切换。

    查看当前终端

    tty
    who -m
    who am i
    w

who 命令
  • 描述:查看当前登入主机的用户终端信息

  • 语法:who [选项]

    查看当前登入主机的用户终端信息

    who -m
    who am i
    tty
    w

w 命令
  • 描述:显示用户登录的信息
  • 语法:w 用户名

命令 w 的功能最全面,按以下顺序排列:当前时间,系统启动到现在的时间,登录用户的数目,系统在最近 1 分、5 分和 15 分的平均负载。

  • USER 显示登陆用户帐号名。

  • TTY 用户登陆所用的终端。

  • FROM 显示用户在何处登陆系统。

  • LOGIN@ 是 LOGIN AT 的意思,表示登陆进入系统的时间。

  • IDLE: 用户空闲时间,从用户上一次任务结束后,开始记时。

  • JCPU 和该终端(tty)连接的所有进程占用的时间

  • WHAT 表示当前执行的任务。

    w root # 查看root用户登录终端情况

uname 命令
  • 描述:显示操作系统的信息,包括版本、平台的信息
  • 语法:uname [选项]
    • -a, --all 以如下次序输出所有信息。其中若-p 和 -i 的探测结果不可知则被省略:

    • -s, --kernel-name 输出内核名称

    • -n, --nodename 输出网络节点上的主机名

    • -r, --kernel-release 输出内核发行号

    • -v, --kernel-version 输出内核版本

    • -m, --machine 输出主机的硬件架构名称

    • -p, --processor 输出处理器类型或"unknown"

    • -i, --hardware-platform 输出硬件平台或"unknown"

    • -o, --operating-system 输出操作系统名称

    • --version 显示版本信息并退出

      查看操作系统的信息

      uname -a

      查看主机名

      hostname

      查看操作系统版本

      cat /etc/redhat-release

      查看语言、字符集设置

      cat /etc/locale.conf

      查看cpu信息

      cat /proc/cpuinfo

      查看内存信息

      cat /proc/meminfo

      查看系统时间

      date

      查看系统运行时间

      uptime

      查看系统时区

      timedatectl

shutdown 命令
  • 描述:
  • 语法:shutdown [选项] [参数]

-k :不是真的关机,只是发送警告消息出去

-r :将系统的服务停掉之后就重启(常用)

-h :将系统的服务停掉之后立即关机(常用)

-n : 不经过 init 程序,直接以 shutdown 的功能来关机

-f :关机并开机之后,强制略过 fsck 的磁盘检查

-F :系统重启之后,强制进行 fsck 的磁盘检查

-c :取消已经在进行的 shutdown 命令的内容

shutdown 命令用于安全关闭 Linux 系统。有些用户会使用直接断掉电源的方式来 关闭 Linux,这是十分危险的。因为 Linux 后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至会损坏硬件设备。

执行 shutdown 命令时,系统会通知所有登录的用户系统将要关闭,并且 login 指

令会被冻结,即新的用户不能再登录系统。

# 关机
shutdown		 	正常关机
shutdown -h now		立即关机
shutdown -h 10 		10分钟之后关机
shutdown -c			取消关机
poweroff			发送ACPI指令,切断电源供应
init 0

# 重启
reboot				重启
shutdown -r 		重启
shutdown -r now		立即重启
init 6
init 命令

在 centos7/rhel7 之前的 linux 版本,linux 运行级别分为 7 个级别,分别是 0~6 级别:

  • 0 代表关机(poweroff)
  • 1 代表单用户模式
  • 2 代表多用户模式,但没有网络服务
  • 3 代表完整多用户模式,有网络服务,登陆后进入控制台命令行模式 :multi-user.target
  • 4 运行级别,预留,系统未使用
  • 5 代表图形界面:graphical.target
  • 6 代表系统正常关闭并重启

一般默认运行级别设置为 3 或 5 级别。

init 命令:init 用于切换系统的运行级别,切换的工作是立即完成的。

# 切换运行级别为6:重新启动
init 6

# 切换运行级别为0:关机
init 0

# 切换运行级别为3:字符界面
init 3

# 切换运行级别为5:图形界面
init 5

# 切换到命令行界面:
systemctl isolate multi-user.target

# 切换到图形界面
systemctl isolate graphical.target

# 显示当前运行级别以及系统当前时间
who -r 

# 显示前一个运行级别(无则显示"N"),当前运行级别
runlevel 

#查看默认的运行级别
systemctl get-default

# 修改启动时的默认级别
vim /etc/inittab  进入文件后将 5 改为 3 

# 修改默认的运行级别为5
systemctl set-default graphical.target 
cd 命令
  • 描述:切换目录

  • 语法:cd 目标目录

    cd .. # 返回上一级目录
    cd - # 在最后切换的两个目录中切换
    cd | cd ~ # 返回用户的所在的家目录

2、文件目录的增删改
mkdir 命令
  • 描述:创建目录
  • 语法:mkdir [选项] 目录名称
    • -p 递归创建目录

      mkdir /opt/test/ # 在 /opt 目录下创建 test 目录
      mkdir /opt/aa/bb/cc # 在 /opt 目录下递归创建 aa/bb/cc/ 目录
      mkdir test{1..5} # 在当前目录下创建 test1,test2,test3,test4,test5 目录

touch 命令
  • 描述:创建文件

  • 语法:touch 文件名

    touch data.txt # 在当前目录下创建 data.txt 文件
    touch data{1..5}.txt # 在当前目录下批量创建 data1.txt ~ data5.txt 文件

cp 命令
  • 描述:复制文件或目录
  • 语法:cp [选项] 源文件|目录 目标文件|目录
    • -f(force) 覆盖目标同名文件或目录时不进行提醒,而是直接强制复制

    • -i 覆盖目标同名文件或目录时提醒用户确认

    • -p(privilege) 复制时保持源文件的权限,属主及时间标记等属性不变

    • -r(recursion) 复制目录时必须使用此选项,表示递归复制所有文件及子目录

      cp -r /home /opt # 将 /home 目录 复制到 /opt 目录下
      cp hello.txt hello1.txt # 复制当前目录下hello.txt 并改名为hello1.txt 到当前目录

rm 命令
  • 描述:删除文件|目录
  • 语法:rm [选项] 文件|目录
    • -f(force) 删除文件或目录时不进行提醒,而直接强制删除

    • -i 删除文件或目录时提醒用户确认

    • -r(recursion) 删除目录时必须使用此选项,表示递归删除整个目录树

    • -v --verbose 显示指令执行过程

      rm -rf test{1..10} # 批量删除test1 ~ test10 文件

mv 命令
  • 描述:移动文件或目录,如果目标位置与源位置相同,则效果相当于为文件或目录改名

  • 语法:mv 源文件|目录 目标文件|目录

    mv test.txt test1.txt # 将当前目录下的 test.txt 改名为 test1.txt

3、文件目录的查看
pwd 命令
  • 描述:查看当前的工作目录(绝对路径显示),实际读取的是$PWD环境变量的值

  • 语法:pwd

    pwd # 查看当前的工作目录
    echo $PWD # 查看当前的工作目录

ls 命令
  • 描述:显示指定目录内容及目录中隐藏的文件
  • 语法:ls [选项] 参数
    • -a --all 显示所有文件,包括以"."开头隐藏的文件
    • -l: 使用长列表格式显示
    • -d 只显示目录本身的属性,不显示目录中的内容,一般结合-l 使用
    • -h 显示目录或文件大小,需要结合-l 结合使用,将会显示 KB、MB 等单位
    • -R 以递归的方式显示指定目录及其子目录中的所有内容
alias 命令
  • 描述:给命令添加别名
  • 语法:alias 别名="..."

给命令设置永久的别名

  • 设置永久全局别名:编辑 /home/usename/.bashrc 配置文件 添加别名

  • 设置永久局部别名:编辑 /etc/bashrc 配置文件 添加别名

    设置临时的catens33别名

    alias catens33="cat /etc/sysconfig/network-scripts/ifcfg-ens33"

    取消别名

    unalias catens33

which 命令
  • 描述:显示命令所在的目录
  • 语法:which 命令
    • -a 命令1 命令2 命令n 查看多个命令所在位置

      which cat # 显示cat命令所在的目录
      which -a vim cat # 同时查看vim和cat命令的所在位置

find 命令
  • 描述:搜索和查找文件和目录列表,可以通过权限,用户,组,文件类型,日期,大小等条 件查找文件。
  • 语法:find pathname -option [-print ] [ -exec | -ok command ] {} \;
    • 命令参数:
      • -print: find命令将匹配的文件输出到标准输出。
      • -exec: find命令对匹配的文件执行该参数所给出的shell命令。\(转义字符)
      • -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
    • 选项:
      • -name fileName 按文件名称查找,区分文件的大小写
      • -iname fileName 按文件名称查找,不区分文件的大小写
      • -type b/d/c/p/l/f 按文件类型查找
        • f - 普通文件。 d - 目录。
        • b - 块设备文件(随机读取) l - 符号链接文件。 s - socket文件 ip+port
        • c - 字符设备文件(顺序读取)。 p - 管道文件,进程之间通信
      • -mtime -n|+n 按文件更改时间来查找文件,-n:n天以内,+n:n天以前
      • -atime -n|+n 按文件访问时间来查,-n:n天以内,+n:n天以前
      • -ctime -n|+n 按文件创建时间来查找文件,-n:n天以内,+n:n天以前
      • -newer fileName 查找比fileName内容更新时间新的文件
      • -size -n|+n 按照文件大小查询文件。单位:k, M, G
      • -maxdepth 层级数 限制目录查找层级(从外往里找),默认递归查找整个目录
      • -perm 按文件|目录的权限查找
      • -empty 查找空文件
      • -user username 按文件的所有者来查找
      • -group groupname 按文件的所在组来查找
      • -nogroup 查无效属组的文件,即文件的属组在/etc/group中不存在
      • -nouser 查无效属主的文件,即文件的属主在/etc/passwd中不存在
      • -prune 不在当前指定目录中查找
    • 逻辑运算符
      • 与(-a)、或(-o)、非(!)

      find /mnt -name test1.txt # 按文件名称查找test1.txt(不区分大小写)
      find /mnt -iname test1.txt # 按文件名称查找test1.txt(区分大小写)
      find /root -type f -name "*.php" # 查找/root目录下所有以.php结尾的文件

      对找到的.php文件进行长格式查看

      find /root -type f -name "*.php" -exec ls -l {} ;

      删除找到的.php文件

      find /root -type f -name "*.php" -exec rm -rf {} ;

      在/root下查找文件更新日是在距现在时刻二天以内的文件

      find /root -type f -mtime -2

      在/root下查找文件更新日是在距现在时刻二天以前的文件

      find /root -type f -mtime +2

      在/root下查找文件更新日时在距现在时刻二分钟以内的文件

      find /root -type f -mmin -2

      在/root下查找文件更新日时在距现在时刻二分钟以前的文件

      find /root -type f -mmin +2

      查找文件更新时间比文件test.txt的内容更新时间新的文件

      find ./ -type f -newer test.txt

      查找/boot目录下大于2M的文件

      find /boot -type f -size +2M

      查找/boot目录下大于2M的文件,并显示文件大小

      find /boot -type f -size +2M -exec du -sh {} ;

      查找/mnt目录下小于2M的文件,并删除

      find /mnt -type f -size -2M -exec rm -rf {} ;

      在/etc目录下找ifcfg-ens33文件,限制查找目录的层级为2层。注:-maxdepth放在-name前

      find /etc -maxdepth 2 -name ifcfg-ens33 # 目录小于3层,查找不到。>=3可以查到

      查找/root权限为644的所有文件

      find /root -perm 644 -type f -exec ls -l {} ;

      把/mnt目录下权限为777文件改为644

      find /mnt -perm 777 -type f -exec chmod 644 {} ;

      在/root路径下查找所有空文件

      find /root -type f -empty

      在/root路径下查找所有空目录

      find /root -type d -empty

      查找/ 目录下所有者root的、名为date1.txt的文件

      find / -user root -name date1.txt

      查找/ 目录下属于Group chrony的所有文件

      find / -group chrony -type f

      查找无效属组的所有文件

      find / -nogroup -type f

      查找无效属主的所有文件

      find / -nouser -type f

      查找/root目录下不是以.php结尾的文件

      find /root ! -name "*.php"

      查找/root目录下以.txt或以.php结尾的文件

      find /root -name ".txt" -o -name ".php"

      查找/root目录下权限为644和以.txt结尾的文件

      find /root -name "*.txt" -a -perm 644

      find / -name passwd

find / -path /etc -prune -o -name passwd
find / -path /etc -prune -o -name passwd -print
stat 命令
  • 描述:显示文件|目录的状态信息,输出信息比ls命令的输出信息要更详细

  • 语法:stat 文件|目录

    stat /root # 查看root目录的详细信息

cat 命令
  • 描述:显示文件的内容
  • 语法:cat [选项] 文件
    • -n 对输出的所有行编号
nl 命令
  • 描述:将指定的文件添加行号标注后写到标准输出。果不指定文件或指定文件为"-" ,程序 将从标准输入读取数据
  • 语法:nl 文件
head 命令
  • 描述:从文件开头查看部分内容,默认显示10行
  • 语法:head [选项] 文件
    • -n "-n"选项指定需要显示多少行的内容

      cat -n /etc/passwd | head -n 5 # 显示passwd文件头部5行(带行号)

tail 命令
  • 描述:从文件末尾查看部分内容,默认显示10行。此命令比较适合查日志,因为最新的日志总是在文件的最后。
  • 语法:head [选项] 文件
    • -n 指定需要显示多少行的内容

    • -f 跟踪文件尾部内容的动态更新

      cat -n /etc/passwd | tail -n 5 # 显示passwd文件末尾5行(带行号)
      tail -f /var/log/messages

more 命令

-数字 每页显示几行

-p 显示下一页的时候,删除上一页的内容

在阅读时可以按Enter键向下滚动查看,按Space键可以向下翻一屏,按"q"键退出并返回原来的命令环境

more /etc/passwd
less 命令

less命令使用方法与more命令基本类似,但是比more更好的是,less命令既可以向下翻页也可以向上翻页,而more命令只能向下翻页,不能向上翻页。

less /etc/passwd
4、文件目录的统计与操作
wc 命令
  • 描述:统计文件内容中的单词数量、行数等信息,可以同时统计多个文件。
  • 语法:wc [选项] 文件名
    • -c:统计文件内容中的字节数

    • -l:统计文件内容中的行数

    • -w:统计文件内容中的单词个数(以空格或指标位作为分隔)

      wc -l /etc/passwd # 统计passwd文件的行数
      find /etc -name "*.conf" | wc -l # 统计/etc下文件名以".conf"结尾的文件个数

du 命令
  • 描述:统计目录以及空间的占用情况
  • 语法:du [选项] 参数
    • -a 统计当前目录和子目录下所有文件所占用的磁盘大小
    • -h 显示出统计结果,使用-h 选项后将显示出 KB、MB 等单位
    • -s 只统计当前目录(不包括子目录和文件)所占用的空间总的大小
sort 命令
  • 描述:它将文件进行排序(默认按升序排序),并将排序结果标准输出
  • 语法:sort [选项] 文件名
    • -r: 降序排序;

    • -t: 指定分隔符,默认分隔符是制表符;

    • -k [n,m]: 按指定字段范围排序。从第 n 个字开始,到第 m 个字(默认到行尾)

    • -u: 删除重复行。就是 uniq 命令;

    • -f: 忽略大小写;()

    • -b: 忽略每行前面的空白部分;

    • -n: 以数值型进行排序,默认使用字符串排序;

    • -o --output 将排序结果输出到源文件

      以":"分隔且以第3个字段按照数字排序对文件内容进行正向排序

      sort -n -t ":" -k 3 sortTest.txt

      以":"分割,指定第2段并按照数字对文件内容进行逆向排序

      sort -n -r -t ":" -k 2 fruit.txt

      查找 etc 目录下的最大5个文件

      find /etc -type f -exec du -sh {} ; | sort -n -u | tail -5

uniq 命令
  • 描述:去除文件中的重复行,一般情况先用sort排序再进行去重。
  • 语法:uniq [选项] 文件名
    • -c 在每列旁边显示该行重复出现的次数(uniq)

    • -i 忽略大小写。(ignore-case)

    • -d 仅显示重复出现的行列(repeated)

    • -u 仅显示出现一次的行列(unique)

      uniq uniqTest.txt # 去重显示文件内容
      sort uniqTest.txt | uniq # 排序并去重显示文件
      sort uniqTest.txtt | uniq -c # 统计每行出现的次数
      uniq -d uniqTest.txt # 查找文件中重复出现的行
      uniq -u uniqTest.txt # 查找文件中出现过一次的行

grep 命令
  • 描述:按关键字 检索、过滤文件内容
  • 语法:grep [选项] 模式或"关键字" 文件列表
    • -n 显示匹配行的行号

    • -v 显示不包含关键字的行

    • -i 忽略大小写

    • -l 一般和-r联用, 只显示包含关键字的文件的名字, 而不是显示文件内容

    • -r 递归检索

    • -w 按照单个词语的方式匹配

      过滤出包含root的行并显示该行的行号

      grep -n "root" /etc/passwd

      过滤出行首是root的行

      grep ^"root" /etc/passwd

      过滤出以bash结尾的行

      grep "bash"$ /etc/passwd

      过滤出不包含nologin的行

      grep -v "nologin" /etc/passwd

      过滤出非注释的行

      grep -v ^# /root/.bashrc

      过滤出非注释的行并且该行不是空行

      grep -v ^# /root/.bashrc | grep -v ^$

      统计匹配到的行数

      grep -c "root" /etc/passwd

      过滤出etc目录中包含root关键字的所有文件名

      grep -lr "root" /etc

cut 命令
  • 描述:从文件的每一行剪切字节、字符和字段并写到文件或标准输出(不指定文件)。
  • 语法:
    • -d "字符": 指定字段的分隔符,默认的字段分隔符为"TAB"

    • -f 数字: 指定截取第几段

    • -c "字符": 截取指定的字符

    • --out-delimiter="字段分隔符":指定输出内容使的字段分割符;

      以":"分割每行,截取第1段

      cat /etc/passwd | cut -d ":" -f 1

      以":"分割每行,截取第1段和第3段

      cat /etc/passwd | cut -d ":" -f 1,3

      以":"分割每行,截取第1段和第3段,每段之间使用"==>"做分隔

      cat /etc/passwd | cut -d ":" -f 1,3 --output-delimiter="-->"

      以":"分割每行,截取1,3,5段并以第三段按数字排序

      cat passwd | cut -d ":" -f 1,3,5 | sort -t ":" -k 2 -n

      截取当前操作系统的ip地址 -> 192.168.10.5/24

      ip addr | grep -w "inet" | grep "ens33" | tr -s ' ' | cut -d ' ' -f 3

tr 命令
  • 描述:用于替换字符()或将连续的字符变成一个
  • 语法:tr [选项] "字符" | tr ""原字符 "目标字符"
    • -s: 指定将哪个连续的字符变成一个

    • -d:删除指定的字符

      ip addr | tr -s ' ' # 将标准输出中的连续的空格 替换成 一个空格,即' ' -> ' '

5、文件加密
file 命令
  • 描述:显示文件的类型
  • 语法:file 文件
md5sum 命令
  • 描述:计算和校验文件的md5值
  • 语法:md5sum 文件

md5是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(哈希值),用于确保信息传输完整一致。

sha256sum 命令
  • 描述:计算和校验文件的md5值
  • 语法:md5sum 文件

sha256算法也是一种密码散列函数,对于任意长度的消息,SHA256都会产生一个256bit长的散列值(哈希值),用于确保信息传输完整一致。SHA256(⼜称SHA2)的安全性最⾼,但是耗时要⽐其他两种多很多,md5相对来说比较容易碰撞,安全性没这么高

diff 命令
  • 描述:比较文件的差异,常用于文本文件

  • 语法:diff 文件1 文件2

    diff num1 num2 # 比较 num1和num2 之间的差异 num1:12345,num2:12545

ln 命令
  • 描述:创建文件的软硬连接,默认创建硬链接(不加参数-s)
  • 语法:ln [选项] 文件|目录 连接
    • -s 创建软连接

      创建anaconda-ks.cfg 的软连接 testAn.cfg

      ln -s /root/anaconda-ks.cfg /opt/testAn.cfg

文件系统中的每个文件均有一个索引节点即inode与其相关联。

inode包含有关文件的基本信息:其权限、时间戳以及指向存储在该文件中数据的指针。当创建新文件时,文件系统中未使用的inode将分配给该文件,并向该文件所在目录添加一个条目,将文件名映射至inode中。

软链接 (symbolic link)

  • 软链接是以路径的形式存在(指向的是原文件的路径),类似于Windows中的快捷方式
  • 软链接可以跨文件系统 ,硬链接不可以
  • 软链接可以对一个不存在的文件名进行链接
  • 软链接可以对目录进行链接
  • 软连接的文件有自己的inode,跟原文件不一样
  • 删除软链接并不影响被指向的原文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。

硬链接 (hard link)

  • 硬链接是以文件副本的形式存在,不占用实际空间
  • 不允许给目录创建硬链接
  • 硬链接只有在同一个文件系统中才能创建
  • 硬链接的文件的inode跟原文件一样
  • 由于硬链接是有着相同 inode 号,仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同 inode 号的文件。

注意:ln命令会保持每一个链接文件的同步性。不论改动了哪一处,其它的文件都会发生相同的变化

6、其他
env
  • 描述:显示系统中的环境变量

  • 语法:env

    env # 显示系统中的环境变量

!$ 参数
  • 描述:使用上一条命令的最后一个参数

  • 语法:命令 !$

    此命令的最后一个参数是"/etc/sysconfig/network-scripts/"

    ls /etc/sysconfig/network-scripts/

    此命令中的"!$"(上一条命令的最后一个参数) -> /etc/sysconfig/network-scipts/

    cat !$

| 管道符
  • 描述:每一个命令都有输入输出,把前一个命令的输出当做第二个命令的输入,一个命令的输入可以从文件中读取,也可以从前一个命令的结果中读取。

    cat -n /etc/passwd | head -n 5

重定向符号与文件描述符

文件描述符是一个非负整数,在打开现存文件或新建文件时,内核会返回一个文件描述符,读写文件也需要使用文件描述符来访问文件。

|-------|--------|---------------------------------|
| 文件描述符 | 描述 | 映射关系 |
| 0 | 标准输入 | /dev/stdin -> /proc/self/fd/0 |
| 1 | 标准正确输出 | /dev/stdout -> /proc/self/fd/1 |
| 2 | 标准错误输出 | /dev/stderr -> /proc/self/fd/2 |

|-------|----------------------|
| 重定向符号 | 描述 |
| > | 输出重定向,将内容覆盖至文件中 |
| >> | 输出重定向,将内容追加至文件中 |
| < | 输入重定向,将文件中的内容覆盖至标准输出 |
| << | 输入重定向,将文件中的内容追加至标准输出 |
| & | 重定向绑定符号 |

> 将原本要打印到屏幕上的内容覆盖输出到文件中,文件中原来的内容会被覆盖,如果文件不存在,则会自动创建。

>> 将原本要打印到屏幕上的内容追加输入文件中,不会覆盖文件中原有的内容,在原有内容后面行追加,如果文件不存在,则会自动创建。

# 重定向输出符号
echo "welcome to lemon's page" > welcom.txt	  # 将内容写入指定文件中,覆盖原有内容
echo "welcome to lemon's page" >> welcome.txt # 将内容追加至文件末尾

# 标准错误输出,将错误信息写入文件中
adsfadsf 2>> 2.txt 	
asdfasdf &>> 2.txt  

# 标准正确输出,将显示的信息追加至文件中
ls >> 2.txt
ls 1>> 2.txt
ls &>> 2.txt		

  
cat 的第二种用法
cat > 2.txt << EOF	# << EOF 起始字符
>丈夫只手把吴钩	
>意气高于百尺楼
>一万年来谁著史
>三千里外欲封侯
>EOF				# >EOF 终止字符
$PATH 环境变量

更改$PATH的环境变量

  • 更改全局变量:修改全局配置文件 /etc/profile 对所有用户生效

  • 更改局部变量: 修改局部配置文件 /home/username/.bash_profile 只对特定用户生效

    echo $PATH # 显示系统的环境变量

    修改全局环境变量

    vim /etc/profile # 编辑全局配置文件
    PATH=$PATH:/mnt # 将/mnt/目录添加到环境变量中

相关推荐
Lary_Rock1 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
云飞云共享云桌面3 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq3 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮4 小时前
Linux 使用中的问题
linux·运维
dsywws5 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零6 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
小林熬夜学编程8 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法
程思扬8 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
sun0077008 小时前
拷贝 cp -rdp 和 cp -a
linux·运维·服务器
wowocpp8 小时前
ubuntu 22.04 server 安装 anaconda3
linux·运维·ubuntu