一些剩下的指令部分
mv指令(重要)
语法 : mv [ 选项 ] 源文件或目录 目标文件或目录功能:
1. 视 mv 命令中第二个参数类型的不同(是目标文件还是目标目录), mv 命令将文件重命名或将其移至一个新的目录中。2. 当第二个参数类型是文件时, mv 命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个, mv 命令将各参数指定的源文件均移至目标目录中。
常用选项 :-f : force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
mv src 文件 ->重命名mv src 路径 ->剪切
举例 ::
重命名:
首先我当前路径下有如下内容
现在我们来对他们进行重命名:
mv dir mydir
我们会发现,不存在dir了,只存在mydir,这个mydir就是原来的dir,这个操作,我们就称之为重命名.
剪切:
首先,我们观察到mydir目录下,有一个new文件
我们先进入mydir目录里
这里我们来执行这段指令
mv new ..(..是上级目录)
来把new移至上级目录
然后
我们发现mydir里的new没了,跑到了上级目录里,这个操作我们就称之为剪切。
总结一下:
mv src 文件 ->重命名 mv dir mydir dir->mydirmv src 路径 ->剪切 mv new .. ./new->../new
cat
语法 : cat [ 选项 ] [ 文件 ]功能 : 显示目标文件的内容
-b 对非空输出行编号-n 对输出的所有行编号-s 不输出多行空行
cat Hello.txt
cat -n会将展现的结果标注上行号
cat -s (-s 不输出多行空行)cat -b (-b 对非空输出行编号)
重定向
输出重定向
echo指令
首先我们再次强调一下,
Linux下一切皆文件,键盘,显示器也是被当作文件看待的----printf/cout------我们向显示器进行打印=向显示器文件进行输入,同理,scanf/cin-----键盘读取数据=从键盘为你按中读取数据。
这里我们来看这个指令:
echo "hello world"
这里其实就是
echo "hello world" ->向显示器文件写入
所以我们可以推导出这个写法
echo "Hello world">test.txt
echo本来是把内容输出到显示器文件中,现在输出到test.txt(因为没有所以新建了一个)中,这个操作就叫作,输出重定向。
由此,我们其实也能推断出,一个新的方法去创建一个新文件:
> 文件名
那么既然这样,我们现在这样再写一下:
我们来猜猜test.txt中现在有什么?
揭晓答案:
我们原本的内容没了,被覆盖成新的内容
不信再试试:
由此我们可以的出这个结论:
输出重定向每次输出都是依次全新的写入 每次写入都是从头开始
那如果我们想再原有的内容后接着写改怎么办呢?
追加重定向
我们可以这样写:把原来的">"号改成">>"号
例:
追加重定向,本质也是写入,只不过是一种新增的方式。
但是,我们发现这里的追加重定向出现了换行,这个是”echo"自带的,如果我们不要换行,我们可以用:
当然如果要换行,我们也可以这样写:
因此,我们可以这样追加:
输入重定向
本来应该从键盘文件中读取,现在从其他地方读取
我们知道我们如果直接用cat,它会从键盘文件读取数据,出现我们输入什么它输出什么
而如果我们用输出重定向'<'
它就会从后面的文件读取。
输入重定向:本来应该默认从键盘文件来,<:更改成从指定文件中读取数据。
more指令
上面我们说过了,如果文件太长cat会导致刷屏,这时,我们就可以引入我们的more命令,
我这里有一个文件里面有10000个hello world
如果我们用cat,必定会刷屏。
这时,如果我们用more呢?
more会把屏幕打满,然后,如果我们要看后面的内容,按回车就行。如果我们要退出,也很简单,输入‘Q’,即可。
less指令
事实上,more我们用的也不多,我们一般用的多的还是less
在more中我们发现文件不能上翻,less和more一样是把屏幕打满,但是less不仅指出文件的回车键下翻阅,也指出方向键的上下翻。
less还支持关键字的搜索,比如,我们要看:hello 1145
我们可以输入:/1145
然后回车
它就会跳转到1145有关的,也就是 hello 1145
然后我们可以通过输入的值决定翻页,来找到我们需要的值,输入n往后翻页,输入N往前翻页。
head指令和tail指令
我们前面的指令都是全部浏览,如果我们只想看开头和结尾,握们就可以用到上面的两个命令。
如果我们只想看开头5个,握们可以这样写
n=number(n可以省略)
后面加上数字,就是访问的行数。
同样,这样对tail也生效
但是如果,握们想看【5000,5020】行该怎么写呢?
我联盟可以先把5020以前都取出来
我们可以把这些数字重定向到一个临时文件中
然后我们从后往前取21个就行
这样就轻松完成了目标,但是这样写还是太过复杂了。
管道
我们可以这样写:
这样,直接就能取出来我们需要的范围了。这里‘|’我们称之为”管道“
实际上就是通过管道,把左边明星的结果通过管道输入到右边。
根据Linux中万物皆文件的概念,我们可以说管道也是一个文件,左边的命令把结果写入管道,管道把内容传给右边。
管道不只能导一个命令,
例如:
我们可以把这个堪称流水线,最后生成相应的产物
时间相关的指令
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 -s // 设置当前时间,只有 root 权限才能设置,其他只能查看。date -s 20080523 // 设置成 20080523 ,这样会把具体时间设置成空 00:00:00date -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 +%Y:%m:%d -d @xxxxx
cal
这个现在基本不用了,但是可以拿来装
用法如下:
就是生成对应年份的日历
直接cal:
就会现实当前的日期
如果我们输入
cal -3
他就会显示本月,以及其附近的总共三个月。(只有-3,没有别的)
find命令(基本的)(非常重要)
功能:在目录中查找文件
Linux下find命令的功能十分强大,提供给我们很多查找条件与选项
用法:find + (路径...) + (匹配条件) + (动作)
grep
功能:在文件中搜索字符串并打印
用法:grep + (选项)+ 目标字符串 + 文件...
常用选项:
- -i:忽略大小写区分
- -n:在前面输出行号
- -v:反向选择,即输出所有不包含目标字符串的内容
zip与unzip
功能:将目录或文件压缩成zip格式
用法:zip + 压缩文件名.zip + 目录/文件
常用选项:
- -r:递归处理,将指定目录下的所有文件和子目录一并处理
- -d:从压缩文件内删除指定的文件
- -D:压缩文件内不建立目录名称
tar指令(重要):打包/解包,不打开它,直接看内容
tar [-cxtzjvf] 文件与目录 .... 参数 :-c :建立一个压缩文件的参数指令 (create 的意思 ) ;-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件!-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!-C : 解压到指定目录
bc
功能:进行浮点运算
用法:bc + (选项) + (参数)
常用选项:
- -i:强制进入交互式模式
- -l:定义使用的标准数学库
参数:指定包含计算任务的文件
uname
功能:获取电脑和操作系统的相关信息
用法:uname + (选项)
常用选项:
-a:显示全部的信息,包括内核名称、主机名、操作系统版本、处理器类型和硬件架构等
-m:显示处理器类型
-n:显示主机名
-r :显示内核版本号
-s:显示操作系统名称
-v:显示操作系统的版本
--help:显示帮助
关机
语法 : shutdown [ 选项 ] ** 常见选项: **-h : 将系统的服务停掉后,立即关机。-r : 在将系统的服务停掉之后就重新启动-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
拓展命令
安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、exit、last...
文件处理指令:file、dd、diff、ln...
系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab...
网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、mail、finger...
系统安全权限相关命令:passwd、su、sudo、umask、chgrp、chmod、chown、who...
其他命令:tar、gunzip、unarj、mtools、unendcode...
二、常用热键
tab:补全命令或路径
ctrl+a:光标回到行首
ctrl+e:光标回到行尾
ctrl+c:终止终端正在进行的所有任务并开启新的命令行
ctrl+r:搜索命令行使用过的历史命令记录
ctrl+l:清空屏幕所有的内容
ctrl+k:剪切(删除)光标处到行尾的所有字符
ctrl+k:剪切(删除)光标处到行尾的所有字符
ctrl+y:粘贴 ctrl+k、ctrl+u、ctrl+w删除的字符
ctrl+d:退出当前shell命令行,如果是切换过来的用户,则执行这个命令回退到原用户
ctrl+z:暂停在终端运行的任务,使用"fg"命令可以使暂停恢复