首页 > 其他分享 >二周第二次课(3月27日)2.10 环境变量PATH 2.11 cp命令 2.12 mv命令 2.13 文档查看cat/more/less/head/tail

二周第二次课(3月27日)2.10 环境变量PATH 2.11 cp命令 2.12 mv命令 2.13 文档查看cat/more/less/head/tail

时间:2022-10-13 21:02:31浏览次数:64  
标签:151 bin head sbin 命令 linux txt root more

2.10 环境变量PATH

echo $PATH //打印当前的环境变量
PATH=$PATH:路径 //定义环境变量(在源环境变量的基础上增加)
PATH=路径 //修改环境变量

which查找某个命令的绝对路径,也可以查看某个命令的别名,which查找的范围就在PATH下的几个目录下查找;

[root@linux-151 ~]# which  ls
alias ls='ls --color=auto'
/usr/bin/ls
/usr/bin/

为什么我们在使用命令时,只是打出命令,而没有使用这些命令的绝对路径呢,这是因为环境变量PATH在起作用。

[root@linux-151 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

如果你的命令在这几个目录下,你敲的命令就不需要加绝对路径; 例子:

[root@linux-151 ~]# cp /usr/bin/ls /tmp/ls2
[root@linux-151 ~]# which ls2
/usr/bin/which: no ls2 in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

这里要用决对路径,如果不加就会报错;如下:

[root@linux-151 ~]# /tmp/ls2
anaconda-ks.cfg
[root@linux-151 ~]# /tmp/ls2 /usr/
bin etc games include lib lib64 libexec local sbin share src tmp

我们将ls2的目录加到PATH下(目标路径要以目录/结尾,不能以文件结尾,如/tmp/ls2,PATH只能识别目录,不能识别具体文件),就可以直接使用ls2命令了,命令如下:

[root@linux-151 ~]# PATH=$PATH:/tmp/
[root@linux-151 ~]# ls2 /usr/
bin etc games include lib lib64 libexec local sbin share src tmp

注意:这里只是临时将/tmp/目录加到PATH下,重新打开一个终端使用ls2还是会报错,不会生效,如果想要永久生效,我们需要修改配置文件/etc/profile;命令如下:

[root@linux-151 ~]# vi /etc/profile
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null
fi
fi
done

unset i
unset -f pathmunge
PATH=$PATH:/tmp/

这里是列表文本 然后打开另一个终端输入命令ls2

[root@linux-151 ~]# ls2
anaconda-ks.cfg

如果想要删除/tmp/;删除配置文件后,在执行下列命令:

[root@linux-151 ~]# PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@linux-151 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

 

2.11 cp命令

cp [选项] [源文件] [目标文件]
-r 拷贝目录
-v 可视化
-i 安全选项,如果目标文件存在,提示是否覆盖。cp自带-i选项
cp定一个规矩,拷贝目录,都要加上/;

[root@linux-151 test]# ls
111 test1 test2
[root@linux-151 test]# touch 1.txt
[root@linux-151 test]# cp 1.txt 2.txt
[root@linux-151 test]# ls
111 1.txt 2.txt test1 test2

cp –r 拷贝目录

[root@linux-151 test]# cp -r test1/ 333/
[root@linux-151 test]# ls
111 1.txt 2.txt 333 test1 test2

注:当目标目录存在时,源目录会在目标目录下重新创建一个以源目录命名的目录,反之则会直接创建一个以目标目录命名的目录

二周第二次课(3月27日)2.10 环境变量PATH 2.11 cp命令 2.12 mv命令 2.13 文档查看cat/more/less/head/tail_linux


cp –i 安全选项

[root@linux-151 test]# cp 1.txt 2.txt
cp:是否覆盖"2.txt"?
[root@linux-151 test]# echo '111'>> 1.txt // >>追加重定向
[root@linux-151 test]# echo '222'>> 2.txt
[root@linux-151 test]# cat 1.txt
111
[root@linux-151 test]# cat 2.txt
222
[root@linux-151 test]# /bin/cp 1.txt 2.txt //用绝对路径就不会提示覆盖
[root@linux-151 test]# cat 2.txt
111

cp -v 可视化

[root@linux-151 test]# cp -v 2.txt 111/
"2.txt" -> "111/2.txt"

2.12 mv命令

mv是move的缩写,移动或者重命名
mv [选项] [源文件或目录] [目标文件或目录]
这里是列表文本mv命令有如下几种情况
1、目标文件是目录,但该目录不存在

[root@linux-151 test]# ls
222 2.txt 333 test1 test2
[root@linux-151 test]# mv 222/ 111/
[root@linux-151 test]# ls
111 2.txt 333 test1 test2

作用:将目录222重命名为111;源目录消失
2、目标文件是目录,且该目录存在

[root@linux-151 test]# ls
111 2.txt 333 test1 test2
[root@linux-151 test]# mv 111/ 333/
[root@linux-151 test]# ls
2.txt 333 test1 test2
[root@linux-151 test]# ls 333/
111

作用:将目录111移动到目录333下
注:当目标文件是目录时,如果该目录存在,则会把源文件或目录移动到该目录中,如果该目录不存在,则会把源目录重命名为给定的目标文件名。
3、目标文件是文件,且该文件不存在

[root@linux-151 test]# ls
2.txt 333 test1 test2
[root@linux-151 test]# mv 2.txt 3.txt
[root@linux-151 test]# ls
333 3.txt test1 test2

作用:将文件2.txt重名命为3.txt;源文件消失
4、目标文件是文件,但该文件存在

[root@linux-151 test]# ls
1.txt 333 3.txt test1 test2
[root@linux-151 test]# mv 1.txt 3.txt
mv:是否覆盖"3.txt"? y
[root@linux-151 test]# ls
333 3.txt test1 test2

作用:将文件1.txt重命名为3.txt,源文件消失
注:当目标文件是文件时,如果该文件存在,则会询问是否覆盖,如果该文件不存在,则会把源文件重命名为给定的目标文件名。

2.13 文档查看cat/more/less/head/tail

1、cat命令
-n:查看文件时,把行号也显示在屏幕上;例如:

[root@linux-151 ~]# 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

-A:显示所有的内容,包括特殊符号;例如:

[root@linux-151 ~]# 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$

注:$ 结束符。
2、tac命令
和cat一样,查看一个文件的内容将其显示在屏幕上,只不过是颠倒过来,先显示最后一行,最后显示第一行;例如:

[root@linux-151 ~]# tac /tmp/test/3.txt
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

3、more命令
查看一个文件的内容,当文件内容太多,一屏显示不能显示时,按空格可以据需查看

空格 向下翻屏
Ctrl+b 向上翻屏
Ctrl+f 向下翻屏

4、less命令
和more命令一样,直接跟文件名,但是比more功能更多

Ctrl+b 向上翻屏
Ctrl+f 向下翻屏
空格 向下翻屏
支持方向键逐行向上或向下移动
j键向下移动(同方向键)
k键向上移动(同方向键)
g光标定位到首行
G光标定位到末尾
/输入字符串,回车可以向下搜索这个字符串(从前往后搜),按n键显示下一个;按N键显示上一个
?输入字符串,回车可以向上搜索这个字符串(从后往前搜),按n键显示下一个;按N键显示上一个

5、head命令
用于显示文件的前10行,后面直接跟文件名;
-n 这显示文件的前几行;例如:

[root@linux-151 ~]# head -n2 /tmp/test/3.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

注:-n后面有无空格均可;也可以省略字母n,-后面直接跟数字

[root@linux-151 ~]# head –n 5 /tmp/test/3.txt
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
[root@linux-151 ~]# head -5 /tmp/test/3.txt
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

6、tail命令
和head命令类似,命令tail用于显示文件的最后10行,后面直接跟文件名;例如:

[root@linux-151 ~]# tail  /etc/passwd
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/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:997:995::/var/lib/chrony:/sbin/nologin
lem:x:1000:1000::/home/lem:/bin/bash

tail –f 可以动态显示文件的最后10行,如果文件内容在不断增加,可以用-f选项非常直观显示,常用于查看日志文件内容。比如tail –f /var/log/messages 可以动态实时地查看日志内容。

标签:151,bin,head,sbin,命令,linux,txt,root,more
From: https://blog.51cto.com/u_13622854/5754613

相关文章

  • Mysql使用load命令报错
    问题1:ERROR1290(HY000):TheMySQLserverisrunningwiththe--secure-file-privoptionsoitcannotexecutethisstatement需要在my.cnf文件里面添加[mys......
  • pip常用命令
    pip常用命令:bundle,创建包含多个包的pybundles;freeze,显示所有已安装的包;help,显示可用命令;install,安装包;search,搜索PyPi;uninstall,卸载包;unzip,解压缩单个包;zip,压缩单......
  • Linux命令--根据进程名杀死进程
    简介本文介绍Linux根据进程名杀死进程的命令。主要有三种方法:ps+grepkillallpkill法1:ps+grep用法ps-ef|grepprocedure_name|grep-vgrep|awk'{print$2}'......
  • 基础知识点链接 su命令
    su与su-的区别:  ​​https://baijiahao.baidu.com/s?id=1597641627421414107&wfr=spider&for=pc​​  su-username-ccommand执行以下命令再退回之前用户举例如......
  • python ssh 交互式命令行脚本
    importparamikoimportjsonimporttimeimportsysimportosfromparamiko.ssh_exceptionimportNoValidConnectionsErrorfromparamiko.ssh_exceptionimportAut......
  • 普通用户服务使用perf命令解决小方法
    perf是Linux下的一款性能分析工具,能够进行函数级与指令级的热点查找,其使用方法很多,最常用的有以下四种:报错如图所示:根据提示需要在内核添加相关配置,配置如下:perf很多用法需......
  • screen的一些常用命令和快捷键
    screen的一些常用命令和快捷键命令screen-Sscreen_name,新建screen,并指定名字screen-dscreen_name,detach正在使用的screenscreen-Rscreen_name,连接指定screen......
  • stat命令的实现-mystat
    stat命令的实现-mystat任务列表:提交学习stat(1)的截图man-k,grep-r的使用伪代码产品代码mystate.c,提交码云链接测试代码,mystat与stat(1)对比,提交截图1.提交学习......
  • Linux/Mac 编辑文件vim 涉及的命令(vim分页命令)
    整页翻页ctrl-fctrl-bctrl-f:下一页ctrl-b:上一页f就是forwordb就是backward翻半页ctrl-d:向下翻半页ctlr-u:向上翻半页d=downu=up滚一行ctrl-e:向下滚一行c......
  • 数据库维护常用命令
    链接数据库:mysql-hlocalhost-uusername-ppassword显示所有数据库:showdatabases;选定数据库:usedatabase_name;查看所有表:showtables;查看表中内容:se......