目录
[①cd ~](#①cd ~)
[②cd -](#②cd -)
[关于cd ..的用法](#关于cd ..的用法)
[输出重定向>与追加重定向 >>](#输出重定向>与追加重定向 >>)
[26、uname --r指令](#26、uname –r指令)
1、ls指令
**语法:**ls [选项] [目录或文件]
选项也可以结合起来用,中间加空格即可,例如:
注意:可以 ls -a -l;也可以直接 ls -al
**功能:**显示当前路径下的文件名
常用选项:
①-l
功能:列出文件的详细信息
②-a
功能:列出目录下的所有文件,包括以 . 开头的隐含文件
Linux下是有隐藏文件的,隐藏文件/目录(文件夹)的方式就是让文件名以 . 开头
.和..意义
**其中.表示当前路径,**可以限定我们要执行的可执行程序在什么位置
**而..表示直接上级路径,**可以帮助我们进行路径切换
下面举例:
③-i
功能:输出文件的 i 节点的索引信息。
前面的就是查看文件的inode编号
2、pwd指令
语法:pwd
功能:显示用户当前所在的目录
一般与cd指令结合使用
3、cd指令
**语法:**cd 目录名
①cd ~
~是当前用户的工作目录,cd~是进入当前用户的家目录(工作目录)
对于普通用户而言:/home/XXX,就叫做XXX这个用户的家目录(工作目录)
对于root用户而言:/root
②cd -
cd - :跳转至上一次我所处的路径中
关于cd ..的用法
cd..就是退到上一级路径
第一个 / 是路径分隔符
第二个 / 是根目录
Linux的整个目录结构,本质上是一棵多叉树结构,/就是根结点
分为目录,文件/空目录,目录即它有还有左或右孩子(路上结点),文件/空目录也就是叶子结点
我们一般定位一个普通文件的时候,若采用路径的方式来进行定位,可以知道路径是唯一确定的,因为我们从叶子结点往上找,一直到根结点只会有一条路径
绝对路径和相对路径
/root/mytest/lesson1 像这种路径就叫做绝对路径,从根目录开始的
还有一种叫相对路径,即从当前路径往前退,例如/root/mytest/lesson1,我们现在在lesson1路径下,想找mytest里的文件add.c,那么两个方式分别是图中的两个红框:
第一个框是相对路径的访问方式,../是返回到上一级路径,然后再访问
第二个框是绝对路径的访问方式,从根目录开始访问
绝对路径:在日常操作中很少使用,一般会出现比较正式的场合,例如配置文件中
相对路径:日常操作(简单)
cd 绝对路径/相对路径 可以进行切换路径
4、touch指令
**语法:**touch [选项]... 文件...
**功能:**touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件
第一次touch文件,文件的详细信息就是文件的创建时间
第二次touch文件,就会更新文件的最近修改时间,更新成为最新的时间
5、mkdir指令
语法:mkdir [选项] dirname
**功能:**在当前目录下创建一个名为 "dirname"的目录
常用选项:
-p
可以一次建立多个目录(创建一串路径)
tree指令
tree可以以树状形式将目录显示出来
tree .就是显示当前路径
tree d1就是显示d1的路径
6、rmdir指令
rmdir是与mkdir相对应的指令,mkdir是建立目录,rmdir是删除目录
**语法:**rmdir [dirName]
**适用对象:**具有当前目录操作权限的所有使用者
**功能:**删除空目录
7、rm指令
rm命令可以同时删除文件或目录
**语法:**rm [-f-i-r-v] [dirName/dir]
**适用对象:**所有使用者
**功能:**删除文件或目录
常用选项:
①-f
即使文件属性为只读(即写保护),亦直接删除,即强制删除
②-r
删除目录及其下所有文件
下图可以说明各个功能:
③-i
-i 删除前逐一询问确认,输入y后完成删除,输入n就是不删除
*
*是一种通配结构,rm -rf *.c就是强制删除所有.c结尾的文件
8、man指令
访问Linux手册页的命令是man
**语法:**man 命令
在查看结束后,按q返回
面手册分为8章,我们只有前三章用的最多,分别是:
1、普通命令
2、系统调用
3、库函数(最常用)
用法即:man 3 printf
9、cp指令
**语法:**cp [选项] 源文件或目录 目标文件或目录
**功能:**拷贝文件或目录
上图是用绝对路径将test路径下的test.c拷贝到lesson1路径下
上图是用相对路径将test路径下的add.c拷贝到lesson1路径下
常见选项:
①-f
强行复制文件或目录, 不论目的文件或目录是否已经存在
②-r
递归处理,将指定目录下的文件与子目录一并处理
拷贝目录时,-r递归-f强制,能够使目录dir复制到上一路径中
nano:
nano是一个简易的记事本
用法如上,可在简易记事本里编写代码
10、mv指令
mv命令是move的缩写,可以用来移动文件或者将文件改名
**语法:**mv [选项] 源文件或目录 目标文件或目录
**功能:**1、对文件或目录重命名;2、转储特定的一个文件或目录到其他的路径下
将dir中的sub.c移到当前路径下,sub.c就不在dir中了,和dir并排路径
文件和目录的重命名
11、cat指令
语法**:**cat [选项][文件]
**功能:**查看目标文件的内容
在用nano文本编译器写好代码后,cat直接查看内容
常用选项:
①-b
对非空输出行编号
②-n
对输出的所有行编号
③-s
不输出多行空行
还有一个与之对应的tac,cat是从第一行正这打印到最后一行,而tac就是倒着打印的,即:
12、more指令
**语法:**more [选项][文件]
**功能:**more命令,功能类似 cat
常用选项:
①-n
对输出的所有行编号
②q
退出more
有1万个hello world输出重定向到myfile.txt中,我们如果直接cat,往上翻非常不方便,所以我们可以用more
显示整个页面后,按回车就可以逐行向下翻 ,按q退出
13、less指令
less 的用法比起 more 更加的好用。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,less可以往前翻
**语法:**less [参数] 文件
**功能:**less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前 不会加载整个文件。
和more一样,都打印一个页面能显示的部分,但是less可以按上下键进行上下翻动
常见选项:
①q
退出less
②-N
显示每行的行号
③/字符串
向下搜索"字符串"的功能,例如/66即表示,搜索66所在的那一行及以下内容
④?字符串
向上搜索"字符串"的功能
⑤n
重复前一个搜索(与 / 或 ? 有关)
14、echo指令
**语法:**echo 【打印的东西】
**功能:**打印内容到显示器
输出重定向>与追加重定向 >>
输出重定向:从文件开始覆盖式的写入
追加重定向:从文件结尾,追加式的写入
>输出重定向的使用
>输出重定向:①创建本来没有的文件②本来应该显示到显示器的内容,被写入到了文件中
覆盖式写入,会改变原文件内容
>>追加重定向的使用
从文件结尾追加式的写入,不会改变先前文件的内容
输出重定向和追加重定向本质都是写入
输入重定向<
本来应该从键盘中读取的内容,变为了从文件中读取(具体会在后面博客说到)
也有下面几种用法:
本来应该打印到显示器里,然后输出重定向到文件里
先把文件名读到程序里,再重定向
15、head指令
**语法:**head [参数]... [文件]...
**功能:**head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
常用选项:
-n(行数) 显示行数
即为显示的行数显示的行数
16、tail指令
**语法:**tail[必要参数][选择参数][文件]
**功能:**用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。默认后10行
常见选项:
-n(行数) 显示行数
17、管道|
如果想拿一万行中间的666到676,这11行呢,我们可以有两种解决方法
一、使用head和tail以及输出重定向的方法:
先拿出前677行放到tmp文件中
再拿出尾的11行即可完成要求
二、管道的方法
管道是传输数据的,有出口和入口
head -677 myfile.txt | tail -11 前面的head -677 myfile.txt本身应该显示到显示器上,而将它塞进管道文件,然后|后的tail -11本身是从文件中读取的,现在变为了从管道文件中读取,即完成了上面的要求
管道能够批量化,流水化处理数据,管道文件是内存级的文件,没有在磁盘上
18、时间相关的指令date
date可以查看时间
date 指定格式显示时间: date +%Y:%m:%d-%H:%M:%S
date +%Y:%m:%d-%H:%M:%S 分别就是年月日,时分秒,其中的:分隔符是自己输入的,也可以更换
时间->时间戳 :date +%s (从1970/1/1-00:00到现在的秒数)
是单向递增的,具有唯一性
时间戳->时间:date -d@[时间戳]
19、Cal指令
功能:
用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
常见选项:
-3显示系统前一个月,当前月,下一个月的月历
-j显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y显示当前年份的日历
20、find指令
find命令在目录结构中搜索文件
find ~ -name test.c(要查找的文件名)
which指令
**作用:**在系统路径中,去查找特定的指令所在的路径
21、alias指令
作用:起别名
ls -al 起别名为列出,这时使用liechu,作用和ls -al一样
22、grep指令
**语法:**grep [选项] 搜寻字符串 文件
**功能:**在文件中搜索字符串,将找到的行打印出来
即在myfile.txt文件中搜索所有关于666的
常见选项:
①-i :
忽略大小写的不同,所以大小写视为相同
②-n :
顺便输出行号
③-v :
反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
xargs指令
**作用:**将管道的输出结果,作为命令行参数,交给后面程序
将字符串变为选项运用
23、zip/unzip指令
yum install -y unzip zip(新服务器安装指令)
**语法:**zip 压缩文件.zip 目录或文件
**功能:**将目录或文件压缩成zip格式
常见选项:
-r
递归处理,将指定目录下的所有文件和子目录一并处理
unzip name.zip -d (路径)
是解压到指定的路径下
有一个文件夹Pro,里面有两个文件
打包压缩pro,压缩为pro.zip
将原始的 pro删除,再解压pro.zip 观察是否压缩成功
解压缩后观察得知,成功解压。这里是解压到当前目录下,也可以解压到指定目录下
将当前路径下的pro删除,然后观察/root路径下没有pro,这时用 **unzip name.zip -d (路径),**成功将pro解压到/root路径下了
24、tar指令
打包压缩指令
有以下常用的选项:
①-c:建立一个压缩文件的参数指令(create 的意思)
②-x:解开一个压缩文件的参数指令
③-z:要压缩或解压
④-f:要形成的名称
⑤-t :查看 tarfile 里面的文件
⑥-v :压缩的过程中显示文件
⑦-C: 解压到指定目录
可以直接-czvf使用,如果不需要显示过程,就直接-czf
解压缩就是将选项c换位为选项x
想解压到指定路径下
tar -xzf pro.tgz -C 指定路径
25、bc指令
输入bc进行计算,结束后输入quit退出
也可以和管道结合起来
26、uname --r指令
查看Linux的体系结构和内核版本
-a 查看所有的
-r 查看当前使用的
27、history指令
显示历史写的所有指令
可以与输出重定向结合保存在一个文件cmp.txt中,即:
history > cmp.txt
热键
①[Tab]按键:
命令补齐(补齐未输完的指令并加上空格)
②[Ctrl] + c按键:
让当前的程序停下
③[Ctrl] + d按键:
快速退出,也可 以用来取代exit
④[Ctrl] + r按键:
搜索历史写过的指令,输入部分就能查找历史所书写的