主页 > 电脑硬件  > 

Linux--基础命令3

Linux--基础命令3

大家好,今天我们继续学习Linux的基础命令

mv命令

mv命令是move的缩写,可以用来移动文件或者将文件改名 move(rename) files,经常⽤来备份⽂件或者目录

语法: mv [ 选项 ] 源⽂件或目录  目标⽂件或目录

mv src[文件、目录]  dst[路径、文件]

mv src文件-->重命名 mv hello.txt            world.txt -> hello.txt -> world.txt  mv src路径-->剪切     mv hello.txt/new    ../           ->移动文件,达到剪切效果 也可以移动位置并重命名 mv hello.txt  ../name.txt

功能:

视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其 移⾄⼀个新的⽬录中。当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬ 录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源 ⽂件均移⾄⽬标⽬录中。

常用选项:

-f:force强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖-i:若⽬标⽂件(destination)已经存在时,就会询问是否覆盖!

举例:

# 更改名称 [whb@bite-alicloud test]$ touch myfile.txt [whb@bite-alicloud test]$ ll total 0-rw-rw-r-- 1 whb whb 0 Jan 11 15:56 myfile.txt [whb@bite-alicloud test]$ mv myfile.txt yourfile.txt [whb@bite-alicloud test]$ ll total 0-rw-rw-r-- 1 whb whb 0 Jan 11 15:56 yourfile.txt # 如果当前路径存在同名⽂件,改名即覆盖 [whb@bite-alicloud test]$ touch myfile.txt [whb@bite-alicloud test]$ ll total 0-rw-rw-r-- 1 whb whb 0 Jan 11 15:58 myfile.txt -rw-rw-r-- 1 whb whb 0 Jan 11 15:57 yourfile.txt [whb@bite-alicloud test]$ mv yourfile.txt myfile.txt [whb@bite-alicloud test]$ ll total 0 -rw-rw-r-- 1 whb whb 0 Jan 11 15:57 myfile.txt # 如果当前路径存在同名⽂件,改名前可以添加i选项,让系统提出警告供⽤⼾做选择 [whb@bite-alicloud test]$ touch yourfile.txt [whb@bite-alicloud test]$ ll total 0-rw-rw-r-- 1 whb whb 0 Jan 11 15:57 myfile.txt -rw-rw-r-- 1 whb whb 0 Jan 11 15:59 yourfile.txt [whb@bite-alicloud test]$ mv -i yourfile.txt myfile.txt mv: overwrite ‘myfile.txt’? y [whb@bite-alicloud test]$ ll total 0 -rw-rw-r-- 1 whb whb 0 Jan 11 15:59 myfile.txt # mv整个⽬录 [whb@bite-alicloud test]$ touch myfile.txt [whb@bite-alicloud test]$ mkdir temp [whb@bite-alicloud test]$ ll total 4-rw-rw-r-- 1 whb whb 0 Jan 11 17:56 myfile.txt drwxrwxr-x 2 whb whb 4096 Jan 11 17:56 temp [whb@bite-alicloud test]$ mv myfile.txt temp [whb@bite-alicloud test]$ ls temp [whb@bite-alicloud test]$ mv temp ../ [whb@bite-alicloud test]$ ls [whb@bite-alicloud test]$ ls -d ../temp ../temp cat命令

语法:cat [选项] [文件]

功能:查看目标文件的内容

常用选项:

-b对⾮空输出⾏编号-n对输出的所有⾏编号-s不输出多⾏空⾏

cat 后面什么都不跟,默认从键盘读取内容,ctrl+C结束进程

cat < test.txt 读取指定文件中的内容

输入重定向,本来默认从键盘读取数据,现在更改为从指定文件读取数据

cat 正序打印,tac 逆序打印

cat命令一般只针对短文件,长文件会刷屏

举例:

# 命令⾏构建多⾏⽂本 [whb@bite-alicloud test]$ cnt=0; while [ $cnt -le 20 ]; do echo "hello bite"; let cnt++; done > temp.txt # 测试cat基本命令 [whb@bite-alicloud test]$ cat temp.txt hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite # cat 输出携带⾏号 [whb@bite-alicloud test]$ cat -b temp.txt 1 hello bite 2 hello bite 3 hello bite 4 hello bite 5 hello bite 6 hello bite 7 hello bite ... # 修改temp.txt,使其携带多⾏空⾏ [whb@bite-alicloud test]$ vim temp.txt # 测试 -b 对⾮空输出⾏编号 [whb@bite-alicloud test]$ cat -b temp.txt 1 hello bite 2 hello bite 3 hello bite 4 hello bite 5 hello bite 6 hello bite 7 hello bite ... # 测试-n 对输出的所有⾏编号 [whb@bite-alicloud test]$ cat -n temp.txt 1 hello bite 2 hello bite 3 hello bite 4 5 6 7 hello bite 8 hello bite 9 10 hello bite 11 hello bite ... # 测试 -s 不输出多⾏空⾏,多⾏空⾏压缩成为⼀⾏ [whb@bite-alicloud test]$ cat -s temp.txt hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite ... echo命令

echo 默认从键盘读入数据,写入显示器,echo每次写入都会有换行符,不想带换行符,可以使用printf 进行写入

echo “hello world” ->向显示器文件写入hello world

echo "hello world">test.txt 向指定文件(test.txt)写入hello world(如果指定文件不存在,就新建文件)

> 输出重定向(显示器转到指定文件)每一次都是全新的写入,写入时会清空原来的内容,再写入新的内容。

> new.txt  文件不存在可以新建空文件(和touch一样),文件存在则可以清空文件(重定向)

echo "aaaa" >> test.txt  在 test.txt 中继续写入“aaaa”

>>追加重定向,则不会重定向,会继续写入数据。本质也是写入文件

ctrl+R 查找历史命令,只需输入片段

more命令

语法:more [选项]

功能:more命令,功能类似cat

常用选项:

-n指定输出行数 q退出more

more也是查看命令,区别于cat,more大文件时不会一直刷屏,打满一屏会自动停止。

举例:

#命令行输出多行文本 [whb@bite-alicloud test]$ cnt=0; while [ $cnt -le 2000 ]; do echo "hello bite"; let cnt++; done > temp.txt # -n 指定输出⾏数 [whb@bite-alicloud test]$ more -10 temp.txt hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite hello bite--More--(0%) less命令 less工具也是对文件或其它输出进行分页显示的⼯具,应该说是linux正统查看文件内容的工具, 功能极其强大less的用法比起more更加的有弹性,在more的时候,我们并没有办法向前面翻,只能往后面看但若使用了less时,就可以使用[pageup][pagedown]等按键的功能来往前往后翻看文件,更容易用来查看⼀个文件的内容除此之外,在less里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。可以上下翻页,滑动,搜索

语法:less [参数] 文件

功能:less与more类似,但是用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。

选项:

-i 忽略搜索时的⼤⼩写-N 显⽰每⾏的⾏号/字符串:向下搜索“字符串”的功能 ?字符串:向上搜索“字符串”的功能n:重复前⼀个搜索(与/或?有关)N:反向重复前⼀个搜索(与/或?有关)q:quit

举例:

# 命令⾏输出多⾏⽂本 [whb@bite-alicloud test]$ cnt=0; while [ $cnt -le 2000 ]; do echo "hello $cnt"; let cnt++; done > temp.txt # 测试搜索和-N等功能 [whb@bite-alicloud test]$ less -N temp.txt 1 hello 0 2 hello 1 3 hello 2 4 hello 3 5 hello 4 6 hello 5 7 hello 6 8 hello 7 9 hello 8 10 hello 9 11 hello 10 12 hello 11 13 hello 12 14 hello 13 ... # 其他选项也可以直接测试 head命令

head与tail就像它的名字⼀样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head⽤用来显示档案的开头至标准输出中,而tail想当然就是看档案的结尾。

语法:head [参数]...[文件]...

功能:head用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

选项:

-n <行数> 显示的行数

举例:

[whb@bite-alicloud test]$ head temp.txt hello 0 hello 1 hello 2 hello 3 hello 4 hello 5 hello 6 hello 7 hello 8 hello 9 [whb@bite-alicloud test]$ head -5 temp.txt hello 0 hello 1 hello 2 hello 3 hello 4 tail命令

tail 命令从指定点开始将⽂件写到标准输出.使⽤tail命令的-f选项可以⽅便的查阅正在改变的⽇志⽂ 件,tail-f filename会把filename⾥最尾部的内容显⽰在屏幕上,并且不断刷新,使你看到最新的⽂件内容

语法:tail 必要参数 [文件]

功能:⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。

选项:

-f 循环读取-n <行数> 显示行数

举例:(简单讲解重定向和管道)

# 基本功能演⽰ [whb@bite-alicloud test]$ tail temp.txt hello 1991 hello 1992 hello 1993 hello 1994 hello 1995 hello 1996 hello 1997 hello 1998 hello 1999 hello 2000 [whb@bite-alicloud test]$ tail -3 temp.txt hello 1998 hello 1999 hello 2000

模拟动态日志查看功能

# 综合问题 # 如何显⽰⽂件的[180,200]⾏的内容 [whb@bite-alicloud test]$ head -200 temp.txt | tail -20 hello 180 hello 181 hello 182 hello 183 hello 184 hello 185 hello 186 hello 187 hello 188 hello 189 hello 190 hello 191 hello 192 hello 193 hello 194 hello 195 hello 196 hello 197 hello 198 hello 199

| 管道命令  左指令 | 右指令  左指令执行的结果,右指令紧接着执行

head -5020 log.txt | tail -21   取5000到5020的数据

head -5020 log.txt | tail -21 | cat | tac |wc -l    管道可以级联多个命令

date指令

指定格式显⽰时间: date +%Y:%m:%d

⽤法: date [OPTION]... [+FORMAT]

1. 在显⽰⽅⾯,使⽤者可以设定欲显⽰的格式,格式设定为⼀个加号后接数个标记,其中常⽤的标记列表如下

%H:⼩时(00..23)%M:分钟(00..59) %S:秒(00..61)%X:相当于%H:%M:%S%d:⽇(01..31)%m:⽉份(01..12) %Y:完整年份(0000..9999)%F:相当于%Y-%m-%d

2.在设定时间⽅⾯

date-s//设置当前时间,只有root权限才能设置,其他只能查看。 date-s20080523//设置成20080523,这样会把具体时间设置成空00:00:00date-s01:01:01//设置具体时间,不会对⽇期做更改date-s“01:01:012008-05-23″//这样可以设置全部时间date-s“01:01:0120080523″//这样可以设置全部时间date-s“2008-05-2301:01:01″//这样可以设置全部时间date-s“2008052301:01:01″//这样可以设置全部时间

3. 时间戳

时间->时间戳:date+%s时间戳->时间:date-d@1508749502Unix时间戳(英⽂为Unixepoch,Unixtime,POSIXtime或Unixtimestamp)是从1970年1⽉1 ⽇(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

4.举例  

# 显⽰常规时间 [whb@bite-alicloud test]$ date Wed Jan 11 18:22:50 CST 2023 [whb@bite-alicloud test]$ date +%Y/%m/%d 2023/01/11 [whb@bite-alicloud test]$ date +%Y/%m/%d-%H:%M:%S 2023/01/11-18:23:20 # 显⽰时间戳 [whb@bite-alicloud test]$ date +%s 1673432636 # 时间戳转成可视时间 [whb@bite-alicloud test]$ date +%Y/%m/%d-%H:%M:%S -d @0 1970/01/01-08:00:00 [whb@bite-alicloud test]$ date +%Y/%m/%d-%H:%M:%S -d @100000 1970/01/02-11:46:40 [whb@bite-alicloud test]$ date +%Y/%m/%d-%H:%M:%S -d @1000000000 2001/09/09-09:46:40 cal指令

cal命令可以⽤来显⽰公历(阳历)⽇历。公历是现在国际通⽤的历法,⼜称格列历,通称阳历。“阳 历”⼜名“太阳历”,系以地球绕⾏太阳⼀周为⼀年,为西⽅各国所通⽤,故⼜名“西历”。

命令格式: cal 参数 [ 年份 ]

功能:⽤于查看⽇历等时间信息,如只有⼀个参数,则表⽰年份(1-9999),如有两个参数,则表⽰⽉份 和年份

常⽤选项:

-3显⽰系统前⼀个⽉,当前⽉,下⼀个⽉的⽉历-j 显⽰在当年中的第⼏天(⼀年⽇期按天算,从1⽉1号算起,默认显⽰当前⽉在⼀年中的天数)-y 显⽰当前年份的⽇历 # 常规样例 [whb@bite-alicloud test]$ cal January 2023 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [whb@bite-alicloud test]$ cal 1949 1949 January February March Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 1 2 3 4 5 1 2 3 4 5 2 3 4 5 6 7 8 6 7 8 9 10 11 12 6 7 8 9 10 11 12 9 10 11 12 13 14 15 13 14 15 16 17 18 19 13 14 15 16 17 18 19 16 17 18 19 20 21 22 20 21 22 23 24 25 26 20 21 22 23 24 25 26 23 24 25 26 27 28 29 27 28 27 28 29 30 31 ... [whb@bite-alicloud test]$ cal -3 December 2022 January 2023 February 2023 Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 1 2 3 4 5 6 7 1 2 3 4 4 5 6 7 8 9 10 8 9 10 11 12 13 14 5 6 7 8 9 10 11 11 12 13 14 15 16 17 15 16 17 18 19 20 21 12 13 14 15 16 17 18 18 19 20 21 22 23 24 22 23 24 25 26 27 28 19 20 21 22 23 24 25 25 26 27 28 29 30 31 29 30 31 26 27 28 find指令 Linux下find命令在⽬录结构中搜索⽂件,并执⾏指定的操作。Linux下find命令提供了相当多的查找条件,功能很强⼤。由于find具有强⼤的功能,所以它的选 项也很多,其中⼤部分选项都值得我们花时间来了解⼀下。即使系统中含有⽹络⽂件系统(NFS),find命令在该⽂件系统中同样有效,只你具有相应的权限。在运⾏⼀个⾮常消耗资源的find命令时,很多⼈都倾向于把它放在后台执⾏,因为遍历⼀个⼤的 ⽂件系统可能会花费很⻓的时间(这⾥是指30G字节以上的⽂件系统)。

语法: find pathname -options

功能:⽤于在⽂件树中查找⽂件,并作出相应的处理(可能访问磁盘)

常用选项

-name 按照⽂件名查找⽂件 其他选项需要在查,这个命令其实⽐较复杂 # 在指定路径下搜索执⾏名称的⽂件 [whb@bite-alicloud test]$ find ~ -name test.c /home/whb/test_code/old_code/test.c /home/whb/test_code/test.c ...

find 路径  -name 文件名

find 路径  -name  文件名1 -o -name 文件名2     查找文件1或者文件2

-a and

which命令

功能:在Linux中搜索指定指令

举例:

[whb@bite-alicloud test]$ which ls alias ls='ls --color=auto' /usr/bin/ls [whb@bite-alicloud test]$ which pwd /usr/bin/pwd

少年没有乌托邦,心向远方自明朗!

如果这个博客对你有帮助,给博主一个免费的点赞就是最大的帮助❤ 欢迎各位点赞,收藏和关注哦❤ 如果有疑问或有不同见解,欢迎在评论区留言❤ 后续会继续更新大连理工大学相关课程和有关Linux的内容和示例 点赞加关注,学习不迷路,好,本次的学习就到这里啦!!!

标签:

Linux--基础命令3由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Linux--基础命令3