语法:touch 【选项 】 文件
功能:touch表示创建一个新的文件(空文件),touch的命令参数可更改文档或目录的日期时间,包括存取时间和更改时间
touch java.txt //表示在当前目录下创建一个java.txt文件,如果之前已经存在java.txt文件,则不会对文件内容进行任何修改,但是会更新文件的修改时间
cat指令
语法:cat 文件
功能:查看目标文件的内容
cat java.txt 表示查看java.txt文件里面的内容
echo指令
语法:echo 【内容】> 【文件名】(“>”表示重定向)
功能:修改文件的内容
echo hehe > java.txt 表示将java.txt文件里的内容修改为 “ hehe”
mkdir指令
语法:mkdir 【选项】
功能:在当前目录下创建一个目录
- -p:此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好,那些尚不存在的目录,即一次可以建立多级目录
mkdir java 表示将会创建一个java目录
mkdir demo1/demo2/demo3 -p 表示如果此时没有想在demo1和demo2下创建demo3目录,如果此时没有demo1和demo2目录的情况下,会自动创建demo1和demo2目录
tree指令
tree 直接使用tree就可以展示当前目录的结构
yum install tree 表示安装tree命令
rm指令
语法:rm【-f -i -r -v】【文件名或文件】
功能:删除文件或者目录
-
-f :即使文件属性为只读(即写保护),也可以直接删除
-
-i:删除前逐一询问确认(输入“y”表示yest,输入“n”表示no)
-
-r:删除目录及其下所有文件
rm -r 目录名 表示删除这个目录及目录下的内容,这里每一次都会询问你是否删除
rm -rf 目录名 也表示删除目录及其下面的子目录和内容,但是出现是否删除的功能(适用于子目录比较多的情况)
注意:这里删除之后,就真的删除了,无法通过常规手段你进行恢复(不像Windows有回收站),操作系统删除文件,本质上只是把对应的磁盘区域标记成“无效区域”,并没有真的把数据擦除掉,可以使用一些专用工具来恢复一部分(为什么只能恢复一部分呢?是因为“无效区域可能会分配给其他文件”)
千万注意:不要使用 rm -rf /
千万注意:不要使用 rm -rf /
千万注意:不要使用 rm -rf /
因为他会删除你的系统上的所有文件,简单来说,即使你的机器必挂,只能重装系统了,当然如果是你自己的电脑,可以玩玩,但是入职之后一定不要尝试。
mv指令
语法:mv 【选项】 源文件或目录 目标文件或目录
功能:
1.视 mv 命令中第二个参数类型的不同(是目标文件还是目标目录),mv 命令将文件重命名或将其移至一个新的目录中
2.当第二个参数类型是文件时,mv 命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名
3.当第二个参数是已经存在的目录名称时,源文件或目录参数可以有多个,mv 命令将各参数指定的源文件均移至目标目录中
-
-f:force(强制),如果目标文件已经存在,不会询问而直接覆盖
-
-i:若目标文件已经存在时,就会询问是否覆盖!
mv demo1/java.txt demo2 表示将demo1目录下的java.txt文件移至demo2目录下
mv java.txt test.txt 表示修改文件名,将java.txt修改为text.txt
注意:mv 的操作是非常高效的(只需要修改问价的路径即可),这个操作时间和文件大小无关,即使是很大的文件,移动也是弹指一挥间的事。
cp指令
语法:cp【选项】 源文件或目录 目标文件或目录 功能:复制文件或目录
-
-f:强行复制文件或目录,不论目的文件或目录是否已经存在
-
-i:覆盖文件之前先询问用户
-
-r:递归处理,将指定目录下的文件与子目录一并处理,若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-
-R:将指定目录下的文件及子目录一并处理
cp demo1/java.txt demo2 表示将demo目录下的java.txt为念复制到demo2目录下,并且内容也是完全相同,复制操作和文件大小密切相关,文件越大,复制时间越长
cp -r demo1 demo2 表示将demo1目录复制到demo目录下(目录的复制)
说明:cp 指令用于复制文件或目录,如果同时指定两个以上的文件或目录,且最后一个目的地是已经存在的目录,则它会把前面的所有文件或目录复制到此目录当中。若同时指定多个文件或目录,而最后的目的地并非存在,则会出现错误信息
man指令
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助
语法:man 【选项】 命令
-
-k:根据关键字搜索联机帮助
-
num 只在第num章节查找
-
man man能够看到man手册中的若干个章节及其含义
man ls 表示打开”ls“帮助手册,可以查看ls的用法等…
注意:
1.使用关键字进行查看时,按下”/“出发查找功能,然后输入想要查找的对应关键词
2.当打开对应指令帮助手册的时候,要使用上下键进行翻看,q退出
3.BUILTINS 内键命令 cd/echo 是无法使用man直接查看的
4.man能够查看Linux的系统API,还能查看C语言标准库的函数,但是不能查看Java,因为Linux是C实现的,所以有特殊待遇,也即像Java这样的语言是不能实现操作系统的
less指令
【cat的加强版】
语法:less 【参数】文件
功能:查看文件内容,不会立刻把所有文件内容加载到内存当中,也只能进行查找
-
-j k / :方向键:向上向下滚动屏幕
-
-N: 显示每行的行号
-
/字符串:向下搜索”字符串“的功能
-
n:重复前一个搜索
-
q:退出
less service 表示查看service的内容和cat相似,但是cat是一股脑全部展示出来,less会延时加载
注意:使用less的优点,如果文件特别大,less的打开速度会非常快(延时加载 ),用多少加载多少(和懒汉模式一个道理)
head指令
语法:head【参数】 【文件】
功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
head etc/services 表示会展示service的前十行数据
head -n 100 etc/services 表示会展示service的前100行数据
tail指令
语法:tail 【必要参数】【选择参数】文件
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
-
-f:循环读取
-
-n:显示行数(自定义)
tail etc/services 表示会默认展示后十行的数据
tail -n 100 etc/services 表示会展示后100行的数据
注意:如果是只展示第n行的数据,需要结合head和tail使用,也就是将head的尾作为tail的头,命令(如展示第50行的数据):
head -n 50 services | tail -n 1
date指令
date指定格式显示时间:date +%Y:%m:%d
-
%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 +%Y/%m/%d 表示时间将会按照你定义的格式化进行输出
date +%s 表示查看时间戳
Linux的小技巧
复制:ctrl+insert 如果不行就使用 ctrl+fn+insert 粘贴:shift+insert 如果不行就使用 shift+fn+insert
tab键:我们敲的所有的 Linux 命令, 都可以使用 tab 键来尝试补全, 加快效率.
ctrl+c重新输入:如果命令或者目录敲错了, 可以 ctrl + c 取消当前的命令.