30.head指令 :默认打印文本前10行
head -5 :打印文本内容前5行
31.tail指令:默认显示文本内容后10行
tail -3 :文本后三行
32. | :管道 可以连接多个命令
比如:cat newtest | wc-l 文件内容一共几行
33. date :显示当前日期
date +%Y:显示年
date +%Y -%m :显示年月
date +%Y-%m-%d :显示年月日
date +%Y-%m-%d_%H:%M:%S :显示年月日以及具体时间
34.cal 指令:查看日历
35.sort指令:排序文本内容
36.uniq指令:对文件内容去重
37.find指令:查找某个文件的路径
~的意思是在家目录下查找,-name是通过文件名的方式后面跟上文件名。
38.alias指令:对指令重命名
如图所示我们用alias指令将ls重命名为myls。
39.grep指令:查找文件内容中含有关键字的内容
我们以f为关键字在newtest文件中查找。
grep -n :显示行号
40.>+某文件 :清空这个文件的内容
因为>为输入重定向
41. grep -v :不显示有关键字的内容
v的含义其实就是反转的意思。
grep -i :忽略大小写的显示文本内容
42.top指令: 相当于任务管理器
ctrl + c 退出
43.which指令:查看指令路径
44.whereis指令:搜索包含关键字的文档
45.zip 指令:打包一个文件夹
46.unzip指令:解压文件
可以看见刚刚删除的newtest文件又回来了
47.zip -r 指令:递归打包一个文件夹
递归的区别在于可以将文件夹内的子文件夹通通打包
48.tar指令:与zip一样都是打包一个文件夹
tar -c :压缩文件 tar -x:解压 tar -z :用gzip压缩 tar -v :压缩过程显示文件
tar -f :使用文档名 tar -t :查看文件 tar -C :默认解压到当前路径下,指明后可解压到其他路径
tar -czf的意思是使用文档名用gzip压缩文件
tar -xzf的意思是使用文档名用gzip解压文件,我们可以看到在我们将newtest文件删掉后对newtest.zip文件解压然后newtest文件又恢复了
49.uname指令:查看计算机的体系结构
uname -a 和 uname -r 可以查看到更详细的信息
50.cat /etc/redhat-release指令:查看系统内核版本的命令
51.热键ctrl + d 自动退出
52.上键和下键
数字键盘旁边的上键和下键有着翻阅以往用过的命令的功能
53.文件的权限
我们在用ll指令时可以看到各个文件的权限信息,那么这些权限信息该怎么理解呢?我们来看一张图:
文件名和文件创建的时间相信我们大家都并不陌生,主要陌生的地方在于文件拥有者和文件所属组是什么?文件拥有者就是谁创建的这个文件谁就是这个文件的拥有者,而文件所属组又是什么呢?我们都知道一个大型项目往往是由很多人一起完成的,如果一个文件只能由创建这个文件的人去打开使用那么其他人就没办法使用,所以有了所属组的概念,当你不是文件的拥有者但是你是文件的所属组的时候也可以使用此文件。而在文件属性中一共有十个字母,第一个字母是用来区分文件类型的,-:代表普通文件,文本,可执行,归档文件
d:目录 b:块设备 block磁盘 c:字符设备,键盘或者显示器 p:管道文件 s:网络socket文件
l: 链接文件 link
剩下的9个字母我们三个三个分为一组一共三组,第一组为拥有者权限,第二组为所属组权限,第三组为其他权限。拥有者权限就是文件拥有者所拥有的权限,所属组权限就是文件所属组的权限,而除了这两个以外的就是其他人,其他人也有权限。
接下来讲解如何给文件加权限或者减权限。
54.chmod指令:给文件添加或者删除权限
在添加或删除的过程中有三个字母需要认识,u代表拥有者,g代表所属组,o代表其他。a代表所有,所有就是拥有者,所属组和其他。
我们可以看到刚开始newtest文件的拥有者权限并没有可执行x权限,通过chmod命令后newtest文件的拥有者权限多出了x权限。
同时我们可以多个权限一起添加或删除如图所示。
进制法加权限
一共有三个组,每个组都由三个比特位构成rwx,当三个比特位为111说明这个组的权限是满的,而二进制的111换算为十进制是7,二进制为110说明只有rw权限没有x权限,二进制110换成十进制为6,所以我们想要给一个文件的权限修改为rwx rwx rwx 我们可以直接chmod 777 newtest
如图所示我们成功将权限修改为满权限。
55.chown指令:更改文件的拥有者
比如说我们要将文件的拥有者改为root,那么直接chown root newtest即可成功修改。
56.yum的使用(在root下或者sudo下)
比如我的系统中没有man手册,那么我们用yum install man就成功安装好了man手册。
yum list | grep ls:在yum列表中查找某软件
比如我要查的ls,查找后就将结果显示出来了
yum -y install XXX : 用yum安装名为XXX的软件
yum -y remove XXX :删除名为XXX的软件
57.更新yum源(注意你自己的yum源能正常使用的情况下不需要更新)
1.先进行备份老的yum源 Centos-Base.repo
2.wget 获取新的yum源配置文件 -- 可以通过网络搜索得到 -- centos 7 非常成熟的平台
3.mv 重命名成为Centos-Base.repo
4.yum clean all && yum makecache
58.粘滞位
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由:
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除
为什么要有粘滞位这个概念呢?我们大家都知道linux是支持多个用户同时登陆并使用的,假如说有两个用户分别为A和B,B创建了一份文件只能B自己看,有一天A也想看这个文件但是发现自己没有权限打开这个文件而这个时候A心里不开心了既然我不能看那么你也别想看所以A把B创建的文件删掉了,这合理吗?当然不合理,所以就有了粘滞位的概念,粘滞位就是为了防止有人没有权限查看我的文件然后直接删除我的文件。
我们可以看到newtest文件的其他权限一开始为x,在我们chmod+t后变成了t,这个时候就说明我们为这个文件添加了粘滞位。
权限的总结:
目录的可执行权限是表示你可否在目录下执行命令。
如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目录, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件) 而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。
总结
要简单的上手linux系统一些简单的指令是必须要掌握的,linux与windows不同,windows通过简单的图形化界面可以清楚的知道自己每一步都在干什么,而linux则需要时刻输入代码来确认自己在哪个步骤。
Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作统,它包括GUI组件和许多其他实用工具。