Linux基本指令学习
- 0.在xshell中登录自己的虚拟机
- 1. ls指令
- 2. pwd命令
- 3. cd 指令
- 4. touch指令
- 5.mkdir指令
- 6.rmdir指令 && rm 指令
- 7.man指令:
- 8.cp指令
- 9.mv指令:
- 10.cat
- 11.more指令
- 12.less指令
- 13.head指令
- 14.tail指令
- 15.时间相关的指令
- 16.Cal指令
- 17.find指令: -name
- 18.grep指令
- 19.zip/unzip指令:
- 20.tar指令:打包/解包,查看压缩文件中包含的文件
- 21.bc指令:
- 22.uname –r指令:
0.在xshell中登录自己的虚拟机
- 登录虚拟机命令:ssh root@虚拟机ip地址
- 输入密码,如果输入密码错误会提示从新输入
- 看到welcome to ……说明登录成功了
1. ls指令
语法: ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
第一行命令:ls,意思为显示当前目录下的所有文件。
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-l 列出文件的详细信息。
如果后面指定了目录,就会展示目录里的内容
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
2. pwd命令
语法: pwd
功能:显示用户当前所在的目录
当前所在路径为/root
相当于Windows下的文件路径
3. cd 指令
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
这里的文件就像一颗树,/ 就是根目录
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
常用指令
cd … : 返回上级目录
cd /home: 绝对路径
cd …/day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录
4. touch指令
语法:touch [选项]… 文件…
功能:新建一个不存在的文件。
5.mkdir指令
语法:mkdir [选项] dirname(目录文件)
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项:
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
举例:
mkdir -p test/test1 : 递归建立多个目录
这里还要说一下,Linux默认是没有tree指令的,需要我们手动安装
安装指令为:yum install -y tree
6.rmdir指令 && rm 指令
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
语法:rmdir [-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
可以看到rmdir只能删除目录,不能删文件。
rm命令可以同时删除文件或目录
语法:rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录
常用选项:
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件,递归删除
rm -rf 也可理解为递归并强制删除。
*是通配符,通配符是什么意思呢?
如下图:
*.c 它可以帮我们匹配到该路径下,所有以.c为结尾的路径或文件。
也可以这样写:
7.man指令:
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man
语法: man [选项] 命令
会显示这个命令的作用是什么。
8.cp指令
语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
复制目录:
这里的 -r 有必要加上,因为目录内可能会有其它文件,需要递归的复制。
目录下的子文件也拷贝了。
常用选项:
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。
9.mv指令:
mv(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。
语法: mv [选项] 源文件或目录 目标文件或目录
功能:
-
目标目录与原目录一致,指定了新文件名,效果就是仅仅重命名。
-
目标目录与原目录不一致,没有指定新文件名,效果就是仅仅移动。
-
目标目录与原目录一致, 指定了新文件名,效果就是:移动 + 重命名。
常用选项:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
10.cat
语法:cat [选项][文件]
功能: 查看目标文件的内容
常用选项:
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行
没有打印内容,说明 text.txt 文件中没有内容。
echo:打印它后面跟的内容,会自动换行
printf:打印它后面跟的内容,不会自动换行
输出重定向 > ,把文件中内容清空,再向文件中写入。
输入重定向>>,在文件内容后追加内容。
11.more指令
语法:more [选项][文件]
功能:more命令,功能类似 cat
常用选项
-n 输出的行号,n是数字
-q 退出 more
下面这条指令是给test.txt文件中输入10000 行hello,Linux
cnt=1; while [ $cnt -le 10000 ]; do echo “hello Linux $cnt”; let cnt++; done > test.txt
比如要输出前10行,就输入 more -10 文件名
12.less指令
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看
但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜
语法: less [参数] 文件
功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
选项:
-i 忽略搜索时的大小写
-N 显示每行的行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
q:quit
想要显示行号就加上 -N
向下查找固定行 /行号+回车建
向上查找固定行 ?行号+回车
13.head指令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾
语法: head [参数]… [文件]…
功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
选项:-n 显示的行数,n是数字
14.tail指令
语法: tail[必要参数][选择参数][文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:
-n<行数> 显示行数
如果我们现在想要得到 2000-2020 的代码片段,该怎么做呢?
用输出重定向,先把前2020行放到temp.txt文件中,再tail后20行的内容。
可以看到我们还得创建一个temp.txt文件。
那如果我们不想创建呢?
管道
这里的 | 就叫管道
15.时间相关的指令
date显示
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
显示从1970年1月1日开始所经过的秒数,不考虑闰秒
16.Cal指令
查看日期命令
命令格式: cal [参数][月份][年份]
17.find指令: -name
find 命令用于在指定目录下查找文件和目录。
它可以使用不同的选项来过滤和限制查找的结果。
语法:
find [path] [expression]
参数说明 :
path 是要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。
expression 是可选参数,用于指定查找的条件,可以是文件名、文件类型、文件大小等等。
expression 中可使用的选项有二三十个,我们在使用时只要查文档,不需要全部记住。
查看跟目录下所有以.c结尾的文件
查看当前目录下的 目录名或文件名:
18.grep指令
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
test.txt文件中有1-10000的数字,我们要找出带999的数字。
19.zip/unzip指令:
语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
常用选项:
-r 递归处理,将指定目录下的所有文件和子目录一并处理
举例:
压缩文件:
解压文件:
unzip xxxx.zip -d xxxxx2目录
20.tar指令:打包/解包,查看压缩文件中包含的文件
tar [-cxtzjvf] 文件与目录 …
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录
常用的三种命令:
tar czf XXX — 打包压缩
tar tzf XXX.tgz — 预览
tar xzf XXX.tgz — 解压解包
tar是打包后缀,gz是压缩后缀,XXX.tar.gz 可简写成 XXX.tgz
21.bc指令:
linux中的计算器
使用方法::直接输入bc打开计算器,退出时输入quit
我们可以与管道一起使用
22.uname –r指令:
语法:uname [选项]
功能: uname用来获取电脑和操作系统的相关信息
常用选项:
-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称