【Linux系统】第二节—基础指令(2)
hello ~ 好久不见
自己想要的快乐要自己好好争取!
云边有个稻草人-个人主页
Linux—本篇文章所属专栏—欢迎订阅—持续更新中
目录
本节课核心指令+知识点总结
本节基本指令详解
07.man 指令
08.cp 指令
09.mv 指令
10.cat 指令
11.more 指令
12.less 指令
13.head 指令
14.tail 指令
15.date 指令
16.cal 指令
17.find 指令
18.which 指令
19.whereis 指令
20.grep 指令
21.alias 指令
22.zip/unzip 指令
23.tar 指令
24.bc 指令
25.uname ‒r 指令
重要的几个热键(高频需要按的按键) [Tab], [ctrl]-c, [ctrl]-d
关机
以下命令作为扩展
正文开始——
本节课核心指令+知识点总结
本节基本指令详解
07.man 指令
Linux的命令有很多参数,我们不可能全记住,可以通过查看联机⼿册获取帮助。
语法:man 选项 命令
常用选项
- -k 根据关键字搜索联机帮助
- num只在第num章节查找
- -a 将所有章节的都显示出来,比如man printf 它缺省从第⼀章开始搜索,找到就停止,⽤ a 选项,当按下 q 退出,他会继续往后⾯搜索,直到所有章节都搜索完毕 ;当 man 2 printf 时,默认从第二章开始搜索
解释一下
man手册分为9章(不同系统可能会有差别)
- 1是普通的命令
- 2是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头⽂件)
- 3是库函数,如printf,fread特殊⽂件,也就是/dev下的各种设备⽂件
- 4略
- 5是指⽂件的格式,⽐如passwd,就会说明这个⽂件中各个字段的含义
- 6是给游戏留的,由各个游戏⾃⼰定义
- 7是附件还有⼀些变量,⽐如像environ这种全局变量在这⾥就有说明
- 8是系统管理⽤的命令,这些命令只能由root使⽤,如ifconfig
- 9略
(1)在进入手册之后,输入/return value,会自动显示出文档里面的value;
(2)翻阅手册用上下键;
(3)man 查指令,查系统调用的接口、查C语言对应的接口(不在这查C++,python对应的接口)
08.cp 指令
语法:cp 选项 源⽂件或⽬录 ⽬标⽂件或⽬录
功能:复制文件或者目录
说明
- cp指令⽤于复制⽂件或⽬录
- 如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的⽬录,则它会把前⾯指定 的所有⽂件或⽬录复制到此⽬录中
常用选项
- -f 或--force强⾏复制⽂件或⽬录,不论⽬的⽂件或⽬录是否已经存在
- -i 或--interactive 覆盖文件之前先询问用户
- -r 递归处理,将指定⽬录下的⽂件与子目录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理
回看一下,现在我们已经学会新建文件,新建目录,删除文件,删除目录,拷贝文件,拷贝目录,接下来我们学习剪切
09.mv 指令
mv命令是move的缩写,可以⽤来移动⽂件或者将⽂件改名(move(rename)files,经常⽤来备份⽂件 或者⽬录。
语法:mv 选项 源⽂件或⽬录 ⽬标⽂件或⽬录
功能:剪切
功能
- 视mv命令中第⼆个参数类型的不同(是⽬标⽂件还是⽬标⽬录),mv命令将⽂件重命名或将其 移⾄⼀个新的⽬录中。
- 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬ 录名),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。
- 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源 ⽂件均移⾄⽬标⽬录中。
常用选项
- -f:force强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖。
- -i:若⽬标⽂件(destination)已经存在时,就会询问是否覆盖!
10.cat 指令
语法:cat 选项 文件
功能:查看目标文件的内容
常用选项
- -n 对输出的所有行编号
- -b 对非空输出行进行编号
- -s 不输出多行空行(压缩空行)
11.more 指令
语法:more 选项 文件
功能:类似cat,不支持上翻,了解即可,下面学习它的平替less,比more好用
常用选项
- -n 指定输出行数
- q 退出more
12.less 指令
- less ⼯具也是对⽂件或其它输出进⾏分⻚显⽰的⼯具,应该说是linux正统查看⽂件内容的⼯具,功能极其强⼤;
- less 的⽤法⽐起 more 更加的有弹性,在 more 的时候,我们并没有办法向前⾯翻, 只能往后⾯看;
- 但若使⽤了 less 时,就可以使⽤ [pageup] [pagedown] 等按键的功能来往前往后翻看⽂件,更容易⽤来查看⼀个⽂件的内;
- 除此之外,在 less ⾥头可以拥有更多的搜索功能,不⽌可以向下搜,也可以向上搜。
语法:less 选项 文件
功能: less与more类似,但使⽤less可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
- -i 忽略搜索时的大小写
- -N 显示每行的行号
- / 字符串:向下搜索“字符串”的功能
- ? 字符串:向上搜索“字符串”的功能
- n:重复前⼀个搜索(与 / 或 ? 有关)
- N:反向重复前⼀个搜索(与 / 或 ? 有关)
- q:quit
13.head 指令
语法:head 选项 文件
功能:head ⽤来显⽰档案的开头⾄标准输出中,默认head命令打印其相应⽂件的开头10⾏。
选项:-n 显示文件的前n行内容。
14.tail 指令
语法: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
15.date 指令
指定格式:date +%Y-%m-%d_%H:%M:%S
- %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
- date -s //设置当前时间,只有root权限才能设置,其他只能查看。
- date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
- date -s 01:01:01 //设置具体时间,不会对⽇期做更改
- date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
- date -s “01:01:01 20080523″ //这样可以设置全部时间
- date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
- date -s “20080523 01:01:01″ //这样可以设置全部时间
- 时间->时间戳:date +%s
- 时间戳->时间:date -d@1508749502
- Unix时间戳(英⽂为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从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
16.cal 指令
格式:cal 参数 年份
功能: ⽤于查看⽇历等时间信息,如只有⼀个参数,则表⽰年份(1-9999),如有两个参数,则表⽰⽉份和年份
- -3 显⽰系统前⼀个⽉,当前⽉,下⼀个⽉的⽉历
- -j 显⽰在当年中的第⼏天(⼀年⽇期按天算,从1⽉1号算起,默认显⽰当前⽉在⼀年中的天数)
- -y 显⽰当前年份的⽇历
17.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
...
18.which 指令
功能:搜索系统指定的命令
举例:
[whb@bite-alicloud test]$ which ls
alias ls='ls --color=auto'
/usr/bin/ls
[whb@bite-alicloud test]$ which pwd
/usr/bin/pwd
19.whereis 指令
功能: ⽤于找到程序的源、⼆进制⽂件或⼿册
whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
20.grep 指令
语法: grep [ 选项 ] 搜寻字符串文件功能: 在⽂件中搜索字符串,将找到的行打印出来
- -i :忽略⼤⼩写的不同,所以⼤⼩写视为相同
- -n :顺便输出⾏号
- -v :反向选择,亦即显⽰出没有 '搜寻字符串' 内容的那一行
21.alias 指令
功能: 设置命令的别名
[whb@bite-alicloud test]$ alias hello='ls -a -l -n'
[whb@bite-alicloud test]$ which hello
alias hello='ls -a -l -n'
/usr/bin/ls
[whb@bite-alicloud test]$ hello
total 36
drwxrwxr-x 2 1003 1003 4096 Jan 11 17:59 .
drwx------ 22 1003 1003 4096 Jan 11 17:57 ..
-rw-rw-r-- 1 1003 1003 28667 Jan 11 18:29 temp.txt
22.zip/unzip 指令
语法:zip 压缩⽂件.zip ⽬录或⽂件
功能:将⽬录或⽂件压缩成zip格式
常用选项:
sudo yum/apt install -y lrzlz
23.tar 指令
tar [-cxtzjvf] ⽂件与⽬录 ...
- -c :建⽴⼀个压缩⽂件的参数指令(create 的意思);
- -x :解开⼀个压缩⽂件的参数指令!
- -t :查看 tarfile ⾥⾯的⽂件!
- -z :是否同时具有 gzip 的属性?亦即是否需要⽤ gzip 压缩?
- -j :是否同时具有 bzip2 的属性?亦即是否需要⽤ bzip2 压缩?
- -v :压缩的过程中显⽰⽂件!这个常⽤,但不建议⽤在背景执⾏过程!
- -f :使⽤档名,请留意,在 f 之后要⽴即接档名喔!不要再加参数!
- -C : 解压到指定⽬录
24.bc 指令
ctrl+c,停止指令运行,退出
25.uname ‒r 指令
语法: uname [选项]功能: uname⽤来获取电脑和操作系统的相关信息。
- -a或‒all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
重要的几个热键(高频需要按的按键) [Tab], [ctrl]-c, [ctrl]-d
- [Tab]按键---具有『命令补全』和『档案补⻬』的功能
- [Ctrl]-c按键---让当前的程序『停掉』
- [Ctrl]-d按键---通常代表着:『键盘输⼊结束(End Of File, EOF 戒 End OfInput)』的意思;另外,它也可以⽤来取代exit
- 上下键,可以翻阅历史命令
- ctrl+r,历史命令的搜索
- history,搜索历史命令
关机
语法: shutdown [选项]
- -h:将系统的服务停掉后,立即关机,(我们买的云服务器永远不关机)
- -r:在将系统的服务停掉之后就重新启动(超级用户下,reboot重启)
- -t sec:-t 后⾯加秒数,亦即『过几秒后关机』的意思
以下命令作为扩展
- 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
- ⽂件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
- 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
- ⽹络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
- 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
- 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
接下来就需要我们多练习这些指令,而不是去死记硬背,菜就多练嘛
完——
最近_王小帅
至此结束——
我是云边有个稻草人
期待与你的下一次相遇!