目录
Linux的基础命令(2):
1.cp、mv、rm命令:
cp、mv、rm命令都属于文件操作命令、分别对应copy(复制)、move(移动)、remove(删除)。
cp命令:
功能:复制文件/文件夹
语法:cp [-r / -f] src dst
-
-r选项,可选,用于复制文件夹使用,表示递归
-
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在,一般都是运用cp -rf,也可以改变名字:cp src dst/newname
-
src(源头),Linux路径,表示被复制的文件或文件夹
-
dst(目的地),Linux路径,表示要复制去的地方
mv命令:
功能:移动文件/文件夹(特定情况下能实现文件的重命名)
语法: mv [-f / -i] src dst
-
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-
src,Linux路径,表示被移动的文件或文件夹
-
dst,Linux路径,表示要移动去的地方,如果目标不存在,则对src进行重命名,确保目标存在
例如:在desktop目录下有fengyue目录与test.txt文件
将test.txt文件移动至fengyue目录下:mv test.txt fengyue
将test.txt重命名为111: mv test.txt 111.txt
rm命令:
功能:删除文件/文件夹
语法:rm [-r -f] 参数1 参数2 … 参数n
-
-r:同cp命令一样,-r选项用于删除文件夹
-
-f:表示force,强制删除(不会弹出提示确认信息)
-
普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
-
所以一般普通用户用不到-f选项
-
-
参数1、参数2、……、参数N表示要删除的文件或文件路径,按照空格隔开
2.echo、head、tail命令:
echo命令:
功能:可以使用echo命令在命令行里输出指定内容
语法:echo 输出的内容
-
无需选项,只有一个参数,表示要输出的内容,复杂内容可以用” ”包围
-
带有空格或者特殊符号建议使用双引号包
有点类似于printf语句
可以搭配反引号(`)来使用,在搭配反引号使用时,被它包围的内容会作为命令去执行,而不是普通的字符。
例如:echo `pwd` 则pwd会作为命令去执行,而不是作为字符去输出。
head命令:
功能: head 用来显示文件的开头至标准输出中,默认head命令打印其相应文件的开头10行。
语法:head [-n] [文件]
-
-n<行数>显示的行数
例如:head test.txt :输出文件中的前十行(默认)至屏幕中。
tail命令:
功能:可以查看文件尾部的内容,使用-f还可以持续跟踪文件的最新更改,
语法:tail [-f -n] 文件
-
-f,表示持续跟踪文件的最新更改(循环读取)
-
-n,表示查看尾部多少行,不填默认10行
3.grep、wc命令:
grep命令:
功能:在文件中搜索字符串,将找到的行打印出来
语法:grep [-n -i -v] 关键字 文件
-
-n:可选,表示在结果中显示匹配的行的行号
-
-i:忽略大小写的不同,所以大小写视为相同
-
-v:反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
-
参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用” ”将关键字包围起来
-
参数,文件,必填,表示要过滤内容的文件路径,可作为内容输出端口。
wc命令:
功能:对一个文件做数量统计
语法:wc [-c -m -l -w] 文件
-
选项,-c,统计bytes数量
-
选项,-m,统计字符数量
-
选项,-l,统计行数
-
选项,-w,统计单词数量
-
参数,文件,被统计的文件,可作为内容输入端口
4.通配符、重定向符、管道符:
通配符:*
功能:匹配任意内容,包含空。
例如:
-
test*, 表示匹配任何以test开头的内容(即一个文件,比如test1,不管他后面是啥,只要是以test开头的就会匹配成功)
-
*test, 表示匹配任何以test结尾的内容
-
*test*,表示匹配任何包含test的内容
通配符的使用:
例如删除以test开头的文件:rm -f test*
重定向符:>、>>
功能:
> :将左侧命令的结果,覆盖写入到符号右侧指定的文件中
>>:将左侧命令的结果,追加写入到符号右侧的指定文件中
例如:
echo "Hello Linux" > test.txt
则不管test.txt文本原本中有什么内容,都会被覆盖为Hello Linux
echo "Hello Linux" >> test.txt
则会在test.txt文本的末尾追加上Hello Linux,不会覆盖掉原本的内容
管道符:|
功能:将管道符左边命令的结果,作为右边命令的输入
例如:(在test.txt文件中有一行Hello Linux)
cat test.txt | grep Hello
此时输出Hello Linux
这条命令的grep命令末尾缺少了文件,通过管道符将左边命令的结果(也就是test.txt文件)作为了右侧命令的输入。
5.which、find命令:
which命令和find命令都属于查找命令
which命令:
功能:Linux命令的本体其实就是一个个的二进制可执行程序,和windows系统中的.exe文件是一个意思,可以通过which命令,查看所使用的一系列命令的程序文件存放在哪。
语法:语法:which 要查找的命令,比如 which cd、which pwd、
find命令:
功能:查找文件,可分为:分文件名字查找和分文件大小查找。
1.按文件名查找:
语法:find 起始路径 -name “被查找文件名”
例如:在根目录下查找名字为test的文件:find / -name "test"
这个也可以使用通配符,例如:find / -name “test*” 来进行模糊查询
2.按文件大小查找:
语法:find 起始路径 -size +/-n[kMG]
示例:
-
+、-表示大于和小于
-
n表示大小数字
-
kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB
-
查找小于10kb的文件:find / -size -10k
-
查找大于100MB的文件:find / -size +100M
-
查找大于1GB的文件:fine / -size +1G
6.时间指令:date、cal命令:
date命令:
功能:按照指定时间格式输出时间。
语法:date +…
在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下:
-
%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 +%F ,输出的即为当前年-月-日。
cal命令:
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
语法: cal [参数][月份][年份]
-
-3 显示系统前一个月,当前月,下一个月的月历
-
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-
-y 显示当前年份的日历
例如:
cal –y 2023 :可显示2023的全部月份。