常用shell命令

 1.操作系统与内核

1.1 操作系统

操作系统: windows ios MacOS 安卓 鸿蒙 乌班图

操作系统(operating system,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面

操作系统作用: 操作系统是硬件的管理者

操作系统(OS)是软件,基于linux编写的程序,macos,乌班图,centos

1.2linux内核五大功能:

1.进程管理:----时间片轮转 上下文切换 分时多任务, IO 进程 ,进程是运行软件,是运行起来的程序,i o是input,output

2.内存管理:----空间的分配和回收——C 高级 malloc free

3.文件管理:----将一堆 0 1 转换成方便人类识别的内容——C语言

4.网络管理:----网络协议栈——网络编程

5.设备管理:----通过设备驱动去操作硬件,linux中一切皆文件。cd /dev/input/----设备文件查看

2.shell 终端

2.1 打开终端

用户界面: ctrl + alt + t 全新终端

终端界面: ctrl + shift + n 与当前路径相同

终端页面: ctrl + shift + t : 并列的终端 与当前路径相同

字体调整 :

        放大 : ctrl + shift + '+'

        缩小: ctrl + '-'

终端关闭:

        (1). 点击终端右上角 "x"

        (2). 在终端中输入 exit

2.2 终端内容

    stu        @        hqyj        :                ~                $ 
     |         |          |         |                |                |
   用户名     间隔符     主机名     间隔符     用户家目录(/home/stu)    普通用户
                                               当前所处的路径
   whoami --> 查看用户名
   hostname --> 查看主机名称
   
   root 超级用户管理员
   su : 切换用户
   su root ---> 从 普通用户切换到 root 用户
   exit --> 从root 用户切换到 linux 用户

3. shell 命令(黑框)

3.1 [ ls ] :list

3.1.1 功能

查看指定路径下的文件列表内容. 默认是当前路径

3.1.2 ls - l

ls -l  : 查看文件属性的的详细信息
结果: 
    d    rwxr-xr-x     9         stu        stu       4096     3月  18 11:35     FaceAI
    |        |         |          |          |          |            |            |
 文件类型   权限       数字    文件的拥有者   组名称   文件的大小    时间日期        文件名称

3.1.3 文件类型

bsp-lcd : 文件的类型

        1. b : block 块设备文件 // 驱动课程 ,交换内存时,多用的是块设备:硬盘、电脑
        2. s : socket 套接字文件 // 网络课程
        3. p: pipe 管道文件 // IO 进程课程
        4. -: 普通文件 // .txt .c .py .cpp
        5. l: 链接文件 // windows 快捷方式
        6. c: char 字符类型设备文件 // 鼠标 键盘
        7. d: dictory 目录文件.

3.1.4 权限

        1. r : read 读权限
        2. w: write 写权限
        3. x : 可执行
        4. - : 没有权限

注释:w:本身可被输入内容,在其中创建文件夹,进入后编写

x:可否打开,可跑,可进入

         rwx                    r-x                r-x
       用户权限                 组权限             其他用户

数字化权限: 
        rwx     r-x   r-x    =  755
        111     101   101  
        r :   4 
        w :   2 
        x :   1                      
 位数:   210 
 111  = 2^2 + 2^1 + 2^ 0 = 7
 101  = 2^2 + 2^0  =  5
 101  = 2^2 + 2^0  =  5 
 
 demo:  
     权限 rwxrwxrwx 转换为数字  777     

3.1.5 数字

数字: 硬链接数

是目录时: 子目录的个数 自己也属于个目录

是文件时: 硬链接个数 (硬链接是重命名的此文件名)

3.1.6 ls -a

功能: 显示目录下面所有的文件, 包含隐藏文件.

linux : 以 '.' 开头的文件

3.1.7 ls - lh

ls -lh 
功能: 显示目录下的文件的详细内容, 会将文件大小转换为相应的单位
drwxr-xr-x 9 stu  stu  4.0K 3月  18 11:35 FaceAI

计算机单位: 
    位bit:  只能存储 0 , 1
  字节byte:  1byte = 8bit 
       kb  :   1kb = 1024byte   
   兆  mb  :   1mb = 1024kb
       gb  :   1gb = 1024mb   约等于10亿字节

3.1.7 ls -R

功能: 递归显示出所有的文件.

Ctrl+c:终止

3.1.8 ls -i

ls -i 
功能: 显示文件系统中给文件分配的 唯一inode号,重复的说明有两个系统。
stu@hqyj:~$ ls -i
1206715 examples.desktop  1221233 vimplus-master   277780 视频  1181242 下载
1237084 FaceAI             133080 公共的           277779 图片   133086 音乐
1198003 hello             1181243 模板             133085 文档  1181241 桌面

3.2 [ cd ]:change direct

3.2.1 功能:

切换目录 (进入)

3.2.2 格式:

cd(space) 相对路径 / 绝对路径

绝对路径: 从根目录出发的路径

相对路径: 以当前所在的路径为基础

demo(演示): 在用户家目录路径下 : 切换到桌面/code/day1 路径

绝对路径  : cd /home/stu/桌面/code/day1/
相对路径  : cd  桌面/code/day1/

3.2.3 特征操作

cd 或者 cd ~ : 将目录切换回用户家目录

cd ./ : 切换到当前路径下

cd ../ : 切换到当前路径的上一级目录

cd - : 切换到上一次操作的目录下

3.2.4 输入法切换问题:

ctrl + space : 切换输入法 切换成搜狗输入法

shift : 切换中英文.

3.3 [ pwd ]

3.3.1 功能

以绝对路径的形式,显示当前所在路径的位置.

3.4 [clear]

3.4.1 功能

清除当前屏幕的内容

快捷方式: ctrl + l

3.5 [touch]

3.5.1 功能

创建文件。

3.5.2 格式

touch  文件名
demo: 
    touch demo.txt : 创建一个demo.txt的文件
    touch 1.c 2.c 3.c 4.c  : 创建1.c 2.c 3.c 4.c多个文件。
注意: 
    如果文件不存在,创建demo.txt文件。
    如果文件存在,会更新文件的时间戳 , 文件的内容不会发生任何改变

3.6 mkdir

3.6.1 功能

mkdir : 创建目录的命令

3.6.2 格式

1.mkdir(space) 目录名

2.mkdir -m 权限 目录名: 创建指定权限的目录

3.mkdir -p 目录/子目录 : 创建目录及其子目录

3.7 rmdir

3.7.1 功能

rmdir : 删除空目录的命令

3.7.2 格式

rmdir (space) 目录名称

rmdir 只能删除一个空目录

3.8 rm

3.8.1 功能

rm : 删除目录文件 / 普通文件

3.8.2 格式

文件: rm 文化名称

通配符 "*" : 一个或多个任意字符

目录: rm -rf 目录名

        -r : 递归

        -f: 强制

3.8.3 快照

拍摄快照: 计算当前计算机的状态, 以便后续恢复

虚拟机 ---> 快照 ---> 拍摄快照

恢复快照: 恢复到你快照时期的计算机状态

虚拟机 ---> 快照 ---> 恢复指定的快照

3.9 chmod

//注意:只有文件所属用户和root用户可以改文件的权限。

3.9.1 功能

修改文件的权限. (权限统一是以八进制的形式表示)

3.9.2 文件的权限--重要

- rw-rw-r-- 1 yangfs yangfs 0 4月 29 10:28 file_a

类型 权限 硬链接个数 所属用户 所属组 大小 时间戳 文件名

rwx rw- r-- //表示文件的权限

所属用户的权限 所属组权限 其他人权限

r :对文件的读权限

w:对文件的写权限

x:对文件的执行权限

-:没有权限(哪个权限没有那个就是 -)

3.9.3 通过+-的方式修改

u 所属用户 user

g 所属组 group

o 其他人 other

a 所有人 all

例如:

chmod u-w 文件名 //将文件对所属用户的权限减掉 写权限

chmod g+r 文件名 //将文件对所属组的权限加上 读权限

chmod o-x 文件名 //将文件对其他人的权限减掉 执行权限

chmod a-r 文件名 //将文件的三组权限中的读权限 全都减掉

3.9.4 通过八进制数修改

linux中用3个八进制数来表示三组权限

rw-rw-r-- //0664

rwxrwxr-- //0774

----w---- //0020

chmod 777 文件名 //将文件所有权限都给上 rwxrwxrwx

chmod 765 文件名 //将文件的权限设置成 rwxrw-r-x

3.9.5 修改文件所属用户

注意:只有root用户才能修改文件所属用户

sudo chown 新的用户 文件名

例如:

sudo chown stu file.txt //将file.txt 文件的所属用户改成 stu

3.9.6 修改文件所属组

注意:只有root用户才能修改文件所属用户

sudo chgrp 新的组名 文件名

例如:

sudo chgrp stu file.txt //将file.txt 文件的所属组改成 stu

3.10 cp

3.10.1 功能

拷贝文件 / 目录

3.10.2 格式

拷贝文件:

cp path(路径) + 源文件 (space) 路径 + 目标目录

拷贝目录:

cp -r path(路径) + 目标目录 (space) 目标目录

拷贝文件并且重命名

cp path(路径) + 源文件 (space) 路径 + 目标目录/ 文件名

拷贝目录并且重命名

cp -r path(路径) + 目标目录 (space) 目标目录/目录名

3.11 mv

3.11.1 功能:

mv : 移动文件 / 目录

具有重命名的功能

3.11.2 格式:

移动文件 / 目录

mv 路径 + 源文件 (space) 路径 + 目标目录

重命名格式:

mv 目录或者文件 (space) 目录名或者文件名

3.12 echo:

3.12.1 功能:

在终端中输出一个字符串

3.12.2 格式:

echo (space) 字符串

3.12.3 重定向

在 linux 系统中, 一切皆文件. echo命令可以配合重定向符号在文件中写入内容

重定向符号:可与有结果的命令一起

> : 以覆盖的形式向文件中书写内容

>> : 以追加的形式向文件中书写内容

3.13 cat

3.13.1 功能

将文件的内容显示到终端当中

3.13.2 格式:

cat 文件名 //显示文件内容

cat -n 文件名 //带行号显示文件内容

3.14passwd

3.14.1 功能

更改用户密码

----linux软件包管理

3.16 常用软件包的后缀名

.rpm (redhat使用)

.deb (Ubuntu使用)

后缀是对应程序识别的,linux识别前缀

3.17软件包命名规则

sl _ 3.03 - 17build2 _ amd64 .deb

软件名 版本号 修订版本号 64位系统使用(i386---32位系统使用) Ubuntu使用

(小版本号)

3.18 安装软件

3.18.1 离线安装----dpkg

需要sudo权限

不会检查软件的依赖,如果有依赖,需要自己安装依赖。

1.安装软件:

sudo dpkg -i 软件包名

sudo dpkg -i sl_3.03-17build2_amd64.deb

软件包名:默认为当前路径,可以写绝对路径

2.运行软件:

直接写软件名

3.查看软件的man手册

man 软件名

4.查看已经安装的软件的信息

sudo dpkg -l(小写的L) 软件名

5.查看软件安装的路径

sudo dpkg -L 软件名

6.卸载软件(会保留软件的配置信息)

sudo dpkg -r 软件名

7.完全卸载

sudo dpkg -P 软件名

3.18.2 在线安装 ---- apt-get

会检查软件的依赖,如果有依赖于其他软件,会一并安装到系统中。

-----压缩和打包的命令--重点

3.19压缩和解压缩

操作的对象是文件

压缩后源文件就不存在了

3.19.1 压缩方式

gzip ---> .gz

bzip2 ---> .bz2

xz ---> .xz

上述三种压缩方式,压缩速率是由高到低的 压缩率由低到高的

gzip file1 //将file1 按gzip格式进行压缩

//压缩后原文件就不存在了 只保留 压缩后的 file1.gz 文件

//解压 gunzip file1.gz

bzip2 file2 //将file2 按bzip2格式进行压缩

//压缩后原文件就不存在了 只保留 压缩后的 file2.bz2 文件

//解压 bunzip2 file2.bz2

xz file3 //将file3 按xz格式进行压缩

//压缩后原文件就不存在了 只保留 压缩后的 file3.xz 文件

//解压 unxz file1.gz

3.20 tar--归档(打包)和解归档

1.操作的对象一般是目录

归档的作用是将目录及其子目录下的所有文件归档成一个文件

2.归档的命令 tar

3.tar 命令的选项

-c 归档

-x 解归档

-v 显示详细信息

-f 可以理解成file,f后面必须要跟文件,将目录及其子目录下的所有文件

附加选项

-z 归档的同时 按gzip格式进行压缩

-j 归档的同时 按bzip2格式进行压缩

-J 归档的同时 按xz格式进行压缩

归档:

tar -cvf dir.tar dir //将目录dir及其子目录下的所有文件归档成一个文件 叫做 dir.tar

//(不是说归档后的文件必须叫 .tar 而是一个操作习惯)

// 选项中 c 和 v 的 位置可以互换,但是 f 必须在最后

//归档后 原文件会保留

//单纯的归档 不会进行文件的压缩

解归档:

tar -xvf dir.tar

4.归档的同时进行压缩

tar -zcvf file.tar.gz file //归档并压缩

tar -zxvf file.tar.gz //解压缩并解归档

tar -jcvf file.tar.bz2 file //归档并压缩

tar -jxvf file.tar.bz2 //解压缩并解归档

tar -Jcvf file.tar.xz file //归档并压缩

tar -Jxvf file.tar.xz //解压缩并解归档

通用的解压缩并解归档的命令

tar -xvf file.tar.gz

tar -xvf file.tar.bz2

tar -xvf file.tar.xz

------查看文件内容的命令

3.21 head 命令

head 文件名 //显示文件开头的内容 默认显示10行

head -15 文件名 //显示文件开头的内容 显示15行

head -n 15 文件名 //显示文件开头的内容 显示15行

3.22 tail 命令(尾巴)

tail 文件名 //显示文件结尾的内容 默认显示10行

tail -15 文件名 //显示文件结尾的内容 显示15行

tail -n 15 文件名 //显示文件结尾的内容 显示15行

tail 比较常用的用法

tail -f 文件名 //动态监视文件的内容变化情况

3.23 more 命令 ----不常用

more 文件名 //按照百分比显示文件的内容 按回车键 向下滚动

3.24 less 命令 ----不常用

less 文件名 //显示文件的内容

//按上下键进行滚动

//按 q 键退出显示

3.25 od--查看二进制文件 ----不常用

od -c 二进制文件名

3.26 wc--统计文件内容的命令

wc 文件名 //统计文件内容

会得到下面的结果

5 9 53 file.txt

行数 单词数 字符数 文件名

行数计算回车的个数,最后一行没有回车需要加1

wc -l(小写的L) 文件名 line 行

wc -w 文件名 word 单词

wc -c 文件名 char 字符

wc支持使用通配符来统计多个文件

3.27grep--检索文件内容的命令

grep "string" 01test.c //在文件 01test.c 中查找包含 string 的行

1.grep命令的选项

-n 带行号显示

-i 忽略大小写

-w 精确查找,只查找 string 独立出现的地方 有前缀和后缀都不可以

-v 反选 ----查找不包含 string 的行

-R 递归查找,可以在子目录中查找

2.常用的用法:

grep -nR "string" * //在当前路径及其子路径下检索所有文件中所有包含 string 的行

3.grep语句中的string也有说法:

grep "^string" file1 //在file1中查找以string开头的行

grep "string$" file1 //在file1中查找以string结尾的行

grep "^string$" file1 //在file1中查找string独立成行的行

3.28find--查找文件的命令

find 路径 -name 文件名 //在指定的路径及其子路径中查找是否有想要的文件

find ./ -name xxx.c //在当前路径及子路径下查找是否有 xxx.c 这个文件

find /dev/input -name event0 //在 /dev/input 路径及子路径下查找是否有文件 event0

find -type f //按类型查找当前文件夹下的普通文件(dsp-lcd)

注意:

find 命令和通配符搭配使用是要注意,下面的用法是有问题的:

find ./ -name *.c //注意这种用法,

//是先通配当前路径下的所有.c文件 一起作为find命令的参数

//如果当前路径下只有一个 .c 是没问题的,当如果有多个 或者没有 .c

//就会报错,参数个数不对

正确的查找当前路径及子路径下所有 .c 文件的用法:

find ./ -type f | grep "\.c$" //f 表示普通文件

管道符 |

作用:将前面命令的结果作为后面命令的参数

例如:tail -2 /etc/passwd | head -1

//取出/etc/passwd 中的倒数第二行

3.29cut--文件内容截取

-d 分隔符

-f 要选取的域

file.txt文件中

北京市:海淀区:西三旗:数字文化产业园:B:4层

cut -d : -f 1 file.txt //北京市

cut -d : -f 2 file.txt //海淀区

cut -d : -f 1,2,3 file.txt //北京市:海淀区:西三旗

注意:

1.cut在处理文件时,是以行为单位的。

2.如果分隔符是特殊字符 如 引号 " 要使用转译字符 cut -d \" -f 1 file.txt

练习:

/etc/passwd 文件,里面记录的是当前系统中用户的信息

如:

stu :x: 1000: 1000: admin :/home/stu :/bin/bash

用户名 有密码 用户id 用户组id 描述字段 用户的家目录 默认的命令行解释器

要求:将当前使用的用户在passwd文件中所在行号显示出来

cat /etc/passwd | cut -d : -f 1 | grep "^linux$" -n | cut -d : -f 1

---通配符

1 *

通配任意长度的任意字符

原有文件:

file_1 file_3 file_5 file_A file_b file_c file_d

file_2 file_4 file_a file_aksjdhfjkhasdhfkjh file_B file_C file_D

ls * 显示:

file_1 file_3 file_5 file_A file_b file_c file_d

file_2 file_4 file_a file_aksjdhfjkhasdhfkjh file_B file_C file_D

2 ?

通配 一个长度 的任意字符

原有文件:

file_1 file_3 file_5 file_A file_aksjdhfjkhasdhfkjh file_B file_C file_D

file_2 file_4 file_a file_aa file_b file_c file_d

ls file_? 显示:

file_1 file_3 file_5 file_A file_B file_C file_D

file_2 file_4 file_a file_b file_c file_d

如果有多个字符要通配,需要用多个?

ls file_?? 显示:

file_aa

3 [字符1字符2..字符n]

通配 []里面的任意一个字符

原有文件:

file_1 file_3 file_5 file_A file_aksjdhfjkhasdhfkjh file_B file_C file_D

file_2 file_4 file_a file_aa file_111111111b file_c file_d

ls file_[1ab4] 显示:

file_1 file_4 file_a file_b

4 [起始字符-结束字符]

[0-9] 通配 0-9 中的任意一个字符

原有文件:

file_1 file_3 file_5 file_A file_aksjdhfjkhasdhfkjh file_B file_C file_D

file_2 file_4 file_a file_aa file_b file_c file_d

ls file_[0-9] 显示:

file_1 file_2 file_3 file_4 file_5

如果起始字符和结束字符是字母,涉及本地语序

本地语序默认的顺序是:aAbBcC..zZ

可以修改环境变量 LC_ALL 清空本地语序 export LC_ALL=C

[a-z] 通配 a-z 中的任意一个字符

[A-Z] 通配 A-Z 中的任意一个字符

恢复本地语序 使用 unset LC_ALL

5 [^字符1字符2..字符n]

反选,通配不包含[]内的任意一个字符

原有文件:

file_1 file_3 file_5 file_A file_aksjdhfjkhasdhfkjh file_B file_C file_D

file_2 file_4 file_a file_aa file_b file_c file_d

ls file_[^123abcABC] 显示:

file_4 file_5 file_d file_D

3.30链接文件

3.30.1 ln -s -----软链接(符号链接)

ls -l 中能显示 链接文件的类型

类似于windows中的快捷方式

创建软链接文件

ln -s 被链接的文件 新生成的链接文件

注意:

1.软链接文件在创建时最好使用绝对路径,否则相对位置发生变化时,链接就失效了。

2.如果被链接的文件移动位置了或者被删除了 链接就失效了。

3.30.2 ln ----硬链接

硬链接相当于给文件起了一个别名。

创建硬链接文件

ln 被链接的文件 新生成的链接文件

硬链接文件只是在系统中给文件起了一个别名,因为两个文件的 INODE号是一样的

linux系统本质是根据INODE号来识别文件

使用 stat 文件名 命令可以查看文件的 INODE号

对于硬链接,删除一个名字,不影响文件的存在,只有把所有的名字都删除时,文件才被删除。

修改一个文件,其他的硬链接文件也会随之变化。

3.31 shutdown-- 关机

sudo shutdown -h 10:30 //10:30关机

sudo shutdown -h +30 //30分钟后关机

sudo shutdown -h now //立即关机

3.32 reboot--重启

sudo shutdown -r 10:30 //10:30重启

sudo shutdown -r +30 //30分钟后重启

sudo shutdown -r now //立即重启

sudo reboot //立即重启

--用户管理相关的命令----了解即可

linux是一个多用户的操作系统。

3.33 添加用户

sudo adduser 用户名

1.创建成功后会在 /etc/passwd 文件中添加了新的用户信息

会在 /etc/group 文件中添加了新的组信息

2.新添加的用户没有sudo权限,会报下面的错误

hqyj 不在 sudoers 文件中。此事将被报告。

这时,需要su root 切换到root用户修改 /etc/sudoers 文件

注意:

/etc/sudoers 默认是只读的 需要 先 chmod u+w /etc/sudoers 给他一个写权限才能修改

找到root ALL=(ALL:ALL) ALL行 yyp 复制一份,将前面的用户名改成新的用户名

保存退出即可

别忘了 将 /etc/sudoers 的写权限 减掉

3.34 切换用户

su 用户名

3.35 退出当前用户

exit

3.36 查看当前使用的用户

whoami

3.37 修改用户密码

用户自己和root用户才能修改用户的密码

sudo passwd 用户名

3.38 用户信息的修改--usermod

sudo usermod -c "string" hqyj //将用户hqyj的描述字段改成 "string"

sudo usermod -d /home/test hqyj //将用户hqyj的家目录改成 /home/test

//如果只是简单的修改家目录 可能对导致用户使用不了了

//原因是用户家目录下有很多跟用户关联的配置文件,在修改之前需要先拷贝过去

sudo usermod -l(小写的L) 新的用户名 原用户名 //修改用户名

sudo usermod -g 新的组名 用户名 //修改用户的所属组

3.39 查看用户简略信息

id 用户名

3.40 删除用户

sudo deluser 用户名

3.41 删除组

sudo delgroup 组名

-----磁盘相关的命令

3.42 查看系统磁盘的信息

sudo fdisk -l

3.43 查看磁盘使用情况--重点

df -h

加-h以单位显示,可与grep连用

3.44 挂载磁盘--重点

先查看磁盘是否存在sudo fdisk -l

sudo mount 设备名(/dev/sdb1) 要挂载的目录

//挂载之后,就可以通过挂载目录访问磁盘了

解除设备挂载:

sudo umount 设备名

3.45 对磁盘可以执行的操作

sudo fdisk 设备名(绝对路径)

命令(输入 m 获取帮助): m

d 删除分区

l 列出已知的分区

n 添加新分区

m 打印菜单

p 打印分区表

q 不保存直接退出

w 保存退出

3.46 指定磁盘的类型

FAT32 类型 不能存储单个的超过4G的文件

NTFS 类型 可以存储单个的超过4G的文件

sudo mkfs.ext4 /dev/sdb1 //将磁盘sdb1指定成 ext4 类型, LINUX的日志文件系统

sudo mkfs.ntfs /dev/sdb1 //将磁盘sdb1指定成 ntfs 类型 ,可以存储单个的超过4G的文件

---环境变量

3.47 概念

环境变量就是保存着系统启动相关和系统运行系相关的内容的一些变量。

使用 env 命令可以查看当前系统已有的环境变量

使用 echo $环境变量名 可以查看环境变量的值

3.48 常见的环境变量:

//用户家目录

HOME=/home/linux

//当前所在路径

PWD=/home/yangfs/Teach_Node/22041

//上一次所在路径

OLDPWD=/home/yangfs/Teach_Node/22041

//系统查找可执行文件的路径,当执行命令时,系统会在PATH的路径中一个一个的找,找到对应的可执行程序,就运行,如果所有路径中都没有这个可执行程序,就报错

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/yangfs/NAME_FIND/bin

以冒号分割的多段路径

如果想让自己的可执行程序任意路径都能运行,有两种方式:

1.将自己的可执行程序存放在PATH已有的任意路径下(一般需要sudo cp权限)

2.把自己的可执行程序的路径加到PATH环境变量里面

3.49 修改环境变量的方式

3.49.1 只对当前终端生效

export 环境变量名=环境变量的值

注意,对于path这种有多段值的环境变量,不能使用赋值的方式修改

要使用追加的方式修改:

export PATH=$PATH:/home/yangfs/Teach_Node/22041/linux_C/day3

生效方式:立即生效

生效范围:只对当前终端生效,当前终端关闭后,就没用了

3.49.2 对某个用户生效

用户在登录的过程和打开新终端的过程中会执行一些脚本,

其中有一个脚本是 ~/.bashrc

(默认放在这个脚本中,但执行的脚本不止这一个)

我们只需要将

export PATH=$PATH:/home/yangfs/Teach_Node/22041/linux_C/day3

放在 ~/.bashrc 文件最后,每次打开终端的时候,就都会自动执行了

相当于对某个用户生效,

注意:每个用户都在自己的家目录下有一个自己的.bashrc文件。

生效方式:打开新终端生效, 或者 source ~/.bashrc 当前终端立即生效

生效范围:这个用户

3.49.3 对所有用户生效 ---- 了解即可一般不使用

系统在启动的过程中会执行一些脚本,其中有一个 /etc/profile

我们只需要将

export PATH=$PATH:/home/yangfs/Teach_Node/22041/linux_C/day3

放在 /etc/profile 文件最后,每次开机的时候,就都会自动执行了

生效方式: 系统重启生效,或者 source /etc/profile 立即生效

生效范围:所有用户

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值