环境变量PATH、cp,mv,文档查看命令

本文详细介绍了Linux环境下常用的命令操作,包括环境变量PATH的设置与使用、文件复制(cp)及移动(mv)命令的具体应用,以及cat、tac、more、less等文档查看命令的功能与区别。

一、环境变量PATH

echo $PATH 打印当前的环境变量

PATH=$PATH: 路径,定义环境变量

  • which查找某个命令的绝对路径,也可以查看某个命令的别名,which查找的范围就在PATH下的几个目录下查找
[root@localhost ~]# which ls

alias ls='ls --color=auto'
    /usr/bin/ls
[root@localhost ~]# 
  • 为什么我们在使用命令时,只是打出命令,而没有使用这些命令的绝对路径呢,这是因为环境变量PATH在起作用。
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
  • 如果你的命令在这几个目录下,你敲的命令就不需要加绝对路径
[root@localhost ~]# cp /usr/bin/ls /tmp/ls2
[root@localhost ~]# which ls2
/usr/bin/which: no ls2 in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
  • 这里要用决对路径,如果不加就会报错
[root@localhost ~]# /tmp/ls2
anaconda-ks.cfg
[root@localhost ~]# /tmp/ls2  /usr/
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
  • 我们将ls2的目录加到PATH下,就可以直接使用ls2命令了
[root@localhost ~]# PATH=$PATH:/tmp/
[root@localhost ~]# ls2 /usr/
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
  • 注意:这里只是临时将/tmp/目录加到PATH下,重新打开一个终端使用ls2还是会报错,不会生效,如果想要永久生效,我们需要修改配置文件/etc/profile
  • 这里是列表文本 然后打开另一个终端输入命令ls2
  • 如果想要删除/tmp/;删除配置文件后,在执行下列命令

二、cp命令

  • cp [选项] [源文件] [目标文件]
  • r 拷贝目录
  • v 可视化
  • i 安全选项,如果目标文件存在,提示是否覆盖。cp自带-i选项
  • cp定一个规矩,拷贝目录,都要加上/
[root@localhost test]# ls
111  test1  test2
[root@localhost test]# touch 1.txt
[root@localhost test]# cp 1.txt 2.txt
[root@localhost test]# ls
111  1.txt  2.txt  test1  test2
  • cp –r 拷贝目录
[root@localhost test]# cp -r test1/ 333/
[root@localhost test]# ls
111  1.txt  2.txt  333  test1  test2
  • cp –i 安全选项
[root@localhost test]# cp 1.txt 2.txt
cp:是否覆盖"2.txt"? 
[root@localhost test]# echo '111'>> 1.txt       // >>追加重定向
[root@localhost test]# echo '222'>> 2.txt
[root@localhost test]# cat 1.txt
111
[root@localhost test]# cat 2.txt
222
[root@localhost test]# /bin/cp  1.txt 2.txt     //用绝对路径就不会提示覆盖
[root@localhost test]# cat 2.txt
111
  • cp -v 可视化
[root@linux-128 test]# cp -v 2.txt 111/
"2.txt" -> "111/2.txt"

三、mv命令

  • mv是move的缩写,移动或者重命名
  • mv [选项] [源文件或目录] [目标文件或目录]

  • 这里是列表文本mv命令有如下几种情况
    1. 目标文件是目录,但该目录不存在
[root@localhost test]# ls
222  2.txt  333  test1  test2
[root@localhost test]# mv 222 111
[root@localhost test]# ls
111  2.txt  333  test1  test2
意思:将目录222重命名为111;源目录消失

2.目标文件是目录,且该目录存在

[root@localhost test]# ls
111  2.txt  333  test1  test2
[root@localhost test]# mv 111 333  
[root@localhost test]# ls
2.txt  333  test1  test2
[root@localhost test]# ls 333
111
意思:将目录111移动到目录333
  • 当目标文件是目录时,如果该目录存在,则会把源文件或目录移动到该目录中,如果该目录不存在,则会把源目录重命名为给定的目标文件名。

3.目标文件是文件,且该文件不存在

[root@localhost test]# ls
2.txt  333  test1  test2
[root@localhost test]# mv 2.txt 3.txt
[root@localhost test]# ls
333  3.txt  test1  test2
意思:将文件2.txt重名命为3.txt;源文件消失

4.目标文件是文件,但该文件存在

[root@localhost test]# ls
1.txt  333  3.txt  test1  test2
[root@localhost test]# mv 1.txt 3.txt
mv:是否覆盖"3.txt"? y
[root@localhost test]# ls
333  3.txt  test1  test2
意思:将文件1.txt重命名为3.txt,源文件消失

文档查看命令

  1. cat命令

    • -n:查看文件时,把行号也显示在屏幕上
[root@localhost ~]# cat -n /etc/passwd
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/sbin/nologin
     3  daemon:x:2:2:daemon:/sbin:/sbin/nologin
     4  adm:x:3:4:adm:/var/adm:/sbin/nologin
     5  lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
     6  sync:x:5:0:sync:/sbin:/bin/sync
     7  shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
     8  halt:x:7:0:halt:/sbin:/sbin/halt
     9  mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    10  operator:x:11:0:operator:/root:/sbin/nologin
    11  games:x:12:100:games:/usr/games:/sbin/nologin
    12  ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    13  nobody:x:99:99:Nobody:/:/sbin/nologin
    14  systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    15  dbus:x:81:81:System message bus:/:/sbin/nologin
    16  polkitd:x:999:997:User for polkitd:/:/sbin/nologin
    17  postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    18  sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    19  chrony:x:998:996::/var/lib/chrony:/sbin/nologin
    20  young:x:1000:1000::/home/young:/bin/bash
[root@localhost ~]# 
  • -A:显示所有的内容,包括特殊符号
[root@localhost ~]# cat -A /etc/passwd
root:x:0:0:root:/root:/bin/bash$
bin:x:1:1:bin:/bin:/sbin/nologin$
daemon:x:2:2:daemon:/sbin:/sbin/nologin$
adm:x:3:4:adm:/var/adm:/sbin/nologin$
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin$
sync:x:5:0:sync:/sbin:/bin/sync$
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown$
halt:x:7:0:halt:/sbin:/sbin/halt$
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin$
operator:x:11:0:operator:/root:/sbin/nologin$
games:x:12:100:games:/usr/games:/sbin/nologin$
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin$
nobody:x:99:99:Nobody:/:/sbin/nologin$
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin$
dbus:x:81:81:System message bus:/:/sbin/nologin$
polkitd:x:999:997:User for polkitd:/:/sbin/nologin$
postfix:x:89:89::/var/spool/postfix:/sbin/nologin$
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin$
chrony:x:998:996::/var/lib/chrony:/sbin/nologin$
young:x:1000:1000::/home/young:/bin/bash$
[root@localhost ~]# 

注意:$ 是结束符*

  1. tac命令
    • 和cat一样,查看一个文件的内容将其显示在屏幕上,只不过是颠倒过来,先显示最后一行,最后显示第一行
[root@localhost ~]# tac /etc/passwd
young:x:1000:1000::/home/young:/bin/bash
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
[root@localhost ~]# 
  1. more命令:
    查看一个文件的内容,当文件内容太多,一屏显示不能显示时,按空格可以据需查看

    • 空格 向下翻屏
    • Ctrl+b 向上翻屏
    • Ctrl+f 向下翻屏
  2. less命令:和more命令一样,直接跟文件名,但是比more功能更多

    • 空格 翻页
    • j键向下移动
    • k键向上移动
    • g光标定位到首行
    • G光标定位到末尾
    • /输入字符串,回车可以向下搜索这个字符串,按n键显示下一个
    • ?输入字符串,回车可以向上搜索这个字符串,按n键显示下一个
  3. head命令:用于显示文件的前10行,后面直接跟文件名;

    • -n 这显示文件的前几行
[root@localhost ~]# head -n3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@localhost ~]# 
  • 注意:-n后面有无空格均可;也可以省略字母n,-后面直接跟数字

    1. tail命令
  • 和head命令类似,命令tail用于显示文件的最后10行,后面直接跟文件名
[root@localhost ~]# tail -n3 /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
young:x:1000:1000::/home/young:/bin/bash
[root@localhost ~]#
  • tail –f 可以动态显示文件的最后10行,如果文件内容在不断增加,可以用-f选项非常直观显示,比如tail –f /var/log/messages 可以动态实时地查看日志内容。
<think> 首先,用户的问题是关于如何查找全局配置环境变量中系统变量的PATH的方法。用户说:“我想查找全局浏览配置环境变量中系统变量的path的方法 请问全局浏览系统环境变量path的方法”,这有点重复,但核心是询问如何查找系统环境变量PATH的全局配置方法。 现在,回顾系统级指令: - 所有行内数学表达式必须使用$...$格式。 - 独立公式必须使用$$...$$格式并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识。 用户提到了一些引用: - 引用[1]:MAC设置环境变量PATH的几种方法,包括/etc/paths文件。 - 引用[2]:Ubuntu系统环境变量详解PATH,提到/etc/profile文件。 - 引用[3]:Linux下安装Python并加到PATH,但没有具体方法。 用户说这些引用仅供参考,不是真正的需求。我需要参考用户上一次的问题和我的回答。但在这个对话中,这是第一个消息,用户的问题就是查找PATH的方法。之前的上下文是示例问题,但用户说“请尽可能多的参考用户上一次的问题和你的回答”,意思是基于对话历史。但在初始消息中,没有之前的交互;用户直接问了这个问题。 在系统指令中,示例是关于快速排序的,但用户的问题是环境变量相关的。所以,我应该直接回答用户的问题。 用户的问题:查找全局配置环境变量中系统变量的PATH的方法。关键字:“全局浏览系统环境变量path的方法”。可能“浏览”是拼写错误,应该是“配置”,因为上下文是设置环境变量。用户说“全局浏览配置”,可能意为“全局配置浏览”,但从引用看,是关于设置PATH。 从引用中: - 在Mac上,修改/etc/paths或/etc/profile。 - 在Ubuntu上,修改/etc/profile或相关文件。 - 在Linux上,类似。 所以,回答应该覆盖不同系统:Mac、Linux(包括Ubuntu)。 回答结构: - 由于指令要求结构清晰,帮助用户逐步解决问题。 - 使用中文。 - 最后生成相关问题。 - 添加引用标识。 步骤: 1. **解释什么是系统环境变量PATH**:简要说明PATH的作用,比如系统查找可执行文件时的搜索路径。 2. **描述全局系统变量的配置方法**:针对不同操作系统。 - 对于Mac:引用[1],提到/etc/paths文件。编辑这个文件添加路径。 - 对于Linux/Ubuntu:引用[2],提到/etc/profile文件是全局配置文件。 - 通用方法:也可以使用/etc/environment或其他文件。 3. **具体操作步骤**:提供清晰、逐步的指导。 4. **安全提醒**:编辑系统文件需要管理员权限,小心操作。 5. **引用添加**:在相关段落末尾添加引用标识,例如“[^1]”。 6. **生成相关问题**:在回答末尾,添加“相关问题”部分,列出3-4个相关问题。 用户说“全局浏览”,可能是个错误;应该是“全局配置”。我将假设是“配置”。 最终回答结构: - 介绍部分:解释PATH变量。 - 方法部分:分系统描述。 - 结论或总结。 - 相关问题。 确保LaTeX:由于问题不涉及数学,可能不需要LaTeX表达式。但如果提到路径或变量,可以在行内使用$...$,例如$PATH$。指令说所有行内数学表达式必须使用$...$,所以像变量名或简短代码可以用$...$包裹。 例如: - 在Mac上,可以编辑$ /etc/paths $文件来添加系统路径。 添加引用: - 根据引用[1],Mac推荐修改/etc/paths文件。 - 根据引用[2],Ubuntu使用/etc/profile文件。 引用标识:[^1], [^2], [^3] – 用户提供了三个引用,所以我可以用它们。 相关问题: 1. 如何临时添加PATH环境变量? 2. 环境变量的优先级是什么? 3. 在不同系统中如何查看当前PATH设置? 4. 常见问题如路径冲突或权限问题。 生成3-4个相关问题。 </think> ### 查找系统环境变量 PATH 的全局配置方法 在计算机操作系统中,系统环境变量 $PATH$ 定义了系统查找可执行文件的搜索路径列表。全局配置是指修改系统级别的环境变量文件,这些修改对所有用户生效(需要管理员权限)。不同操作系统的配置方法不同,下面我将基于常见系统(如 Mac 和 Linux/Ubuntu)逐步解释具体方法。操作前请确保使用管理员权限(如 root 用户或 sudo 命令),以避免权限错误[^1][^2]。 #### 1. **Mac 系统中的全局 PATH 配置** - **核心文件**:Mac 推荐使用全局文件 $/etc/paths$ 来添加系统路径。这是默认的系统级配置文件,修改后对所有用户生效。 - **操作步骤**: 1. 打开终端(Terminal)。 2. 输入命令编辑文件: ```bash sudo nano /etc/paths ``` 3. 在文件中,每行添加一个路径(例如,如果要添加 Python 的路径,输入 `/usr/local/bin`)。您可以直接拖动文件夹到终端窗口,自动填充路径[^1]。 4. 按 Ctrl + O 保存文件,Ctrl + X 退出编辑器。 5. 重启终端或运行 `source /etc/paths` 使更改生效。 - **备选方法**:也可以修改全局文件 $/etc/profile$ 或 $/etc/bashrc$,添加类似 `export PATH=$PATH:/your/path` 的语句。但 $/etc/paths$ 是更简单、更安全的推荐方式[^1]。 #### 2. **Linux/Ubuntu 系统中的全局 PATH 配置** - **核心文件**:Linux 系统中,$/etc/profile$ 是全局环境变量配置文件,适用于所有用户的 shell(如 bash)。在系统启动时优先加载此文件[^2]。 - **操作步骤**: 1. 打开终端。 2. 输入命令编辑文件: ```bash sudo nano /etc/profile ``` 3. 在文件末尾添加路径声明,例如: ```bash export PATH=$PATH:/your/path # 将 /your/path 替换为实际路径(如 /usr/local/python3/bin) ``` 4. 保存文件(Ctrl + O),退出编辑器(Ctrl + X)。 5. 运行 `source /etc/profile` 立即生效,或重新登录系统。 - **备选文件**:如果系统使用特定 shell(如 bash),可以考虑 $/etc/bash.bashrc$ 或 $/etc/environment$(后者只存储变量值,不执行脚本)。但 $/etc/profile$ 是最通用的全局配置方式[^2]。 #### 3. **通用注意事项** - **验证更改**:在任何系统上,配置后运行 `echo $PATH` 查看当前 PATH 值,确保新路径已添加。 - **权限与安全**:编辑系统文件需要 sudo 权限。错误修改可能导致系统不稳定,建议备份文件(如 `sudo cp /etc/paths /etc/paths.bak`)。 - **路径冲突**:如果路径未生效,检查是否被用户级文件(如 $~/.bashrc$)覆盖。系统级配置优先级较高,但用户文件可能重置 PATH[^2]。 - **跨系统差异**:Windows 系统使用注册表或系统属性配置 PATH,但用户的问题是针对 Unix-like 系统(如 Mac/Linux),以上方法已覆盖主要用例。 通过以上方法,您可以安全地修改全局系统变量 $PATH$,确保所有用户共享相同路径设置。如果遇到问题,可参考系统文档或使用 `man` 命令(如 `man bash`)获取更多细节[^1][^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值