linux操作系统第三节.docx
《linux操作系统第三节.docx》由会员分享,可在线阅读,更多相关《linux操作系统第三节.docx(9页珍藏版)》请在冰豆网上搜索。
linux操作系统第三节
linux操作系统(3)
一般操作命令
1.more
格式:
moredest
分页显示要显示的内容。
用此命令可以显示文件,还可以将加的命令的显示结果,当成此命令的输入,进行输出处理。
输出时,进行颁布显示。
但需要使用管道操作
share-共享:
大家都可以用
2.管道操作符号|
使用这个操作可以将有关系命令串接起来
ls/bin|more
将目录列表命令的结果作为more命令的输入来进行处理,处理的结果是ls命令的输出分页显示。
3.重定向操作符有两个(>,<)
重定向操作符,是将原命令的输出改成重定向操作符指向目的地。
一般情况下,输出是向屏幕的。
如果要把命令处理的内容(输出的内容)直接送到文件中,这样可以便于以后的学习。
例如:
(1)sudoapt-getinstall某个软件>installinfo
把软件安装时执行过程的信息全部输入到了installinfo这个文件中了,这个文件的编码是纯文本的,可以用任何编辑器去查看与修改。
(2)使用>>可以将后面信息追加到文件的后面。
(3)目标<源
将源做输入,供给目标使用
4.关于共享的问题
用户在使用终端操作时,往往会为了节省时间,方便操作打开多个终端。
这是可以的!
然而,只能有一个终端窗口在执行安装程序,无论你安装的是什么!
(1)用户在安装程序使用的是权限是什么?
root
(2)如果系统同时存在两个系统管理员会是什么样的结果,那么系统传经紊乱。
这样的结果是不允许的。
所以,同一时刻只能有一个窗口以管理员的身份登录与操作。
(3)在系统运行期间,不能有同名用户登录!
5.显示文件的指定行数命令head
格式:
head<行数>文件名
例如:
head10updateinfo20160320
显示updateinfo20160320文件的前10行
6.显示文件的指定后多少行命令tail
格式:
tail<行数>文件名
例如:
tail10updateinfo20160320
显示updateinfo20160320文件的后10行
7.系统中的三个标准设备
stdin:
标准显示设备:
一般指显示器;
stdout:
标准输入设备:
一般是指键盘;
stderr:
标准的错误设备:
是一个文件。
8.链接
链接:
是linux为了方便操作,又不影响原文件提供五种机制。
使用链接,就像使用原文件一样。
然而,删除链接并不影响原文件。
链接有两种:
一种便链接,一种是软件链接。
要使用链接,那就首先要建立链接,再使用。
9.建立链接命令ln
格式:
ln-s[源文件][目标文件]
功能:
给源文件创建一个链接,链接名是目标文件
(1)制造一个c语言源文件hello.c
执行命令:
vihello.c
在vi中输入以下内容:
#include
voidmain()
{
printf(“Hello,World!
\n”);
}
(2)将源程序翻译机器程序
执行命令:
cchello.c-ohello
这条命令的意思是,cc你把我写的c语言源程序hello.c翻译成计算机能理解的程序hello
(3)执行这个程序
执行命令:
./hello
屏幕上显示:
Hello,World!
接着在下一行出现命令提示符。
(4)为这个命令建立一个软链接
执行命令:
ln–shellohe
(5)验证
./he
(6)删除符号链接,再验证
rmhe
./he
系统提示:
./he:
Nosuchfileordirectory
he这个文件不存在。
因为刚刚删除。
10.恢复系统到安装时的状态
(1)设置->shutdown->restart
(2)接着长按ESC键出现下面的画面
将光标移动到advancedoptionsforUbuntu,然后打回车。
进入下面的画面:
选择:
ubuntu,withlinux4.2.0-16-generic(recoverymode),然后回车,系统将回到安装时的状态。
选择第1项:
resumeResumenomalboot
然后打回车即可。
11.改变文件权限命令chmod
changethepermissionsmodeofafile
格式:
chmod权限文件名
功能:
改变一个用户对文件的操作权限。
例如:
chmod777hello.c
将文件hello.c对所有用户有读写执行的权限!
此种设置慎用。
将一个可执行文件对当前用户设置为只有读权限,其它用户没有权限的命令:
chmod400hello
将hello.c给所有用户只有写权限的命令是:
chmod222hello.c
将hello.c给本用户以读、写权限,而本组用户只有读权限,其它用户没有权限的命令是:
chmod640hello.c
注意:
如果给用户自己的文件没有写权限,那么用户自己也没有修改文件权力。
一旦用户想修改自己的文件,系统会给出警告。
此时,用户应该及时修改文件的操作权限。
用户自己的权限
本组权限权限
其它用户权限
读
写
执行
读
写
执行
读
写
执行
1
1
1
1
1
1
1
1
1
具有
0
0
0
0
0
0
0
0
0
没有
+r
+w
+x
+r
+w
+x
+r
+w
+x
具有
-r
-w
-x
-r
-w
-x
-r
-w
-x
没有
在以二进制操作方式下,以3个位为1组:
如:
用户自己的权限,如果让他自己具有所有的权限,那么值为7;如果让他只有读写权限,那么值为6。
需要注意的是:
可执行的权限只有授予可执行文件才有用,给一个普通文档授予可执行权限没有任何意义。
如果要给其他用户授予写权限要慎重!
这样做就是让其他具有写权限用户可以随意更改你的文件!
12.改变文件或者目录的所有者(用户)命令chown
changefileownership
格式:
chown用户文件|目录列表
功能:
可以一次将一个或者多个文件的所有者变成另外一个所有者。
但使用此命令需要管理员权限,也就是说在命令前加:
sudo,回车要输入密码,命令方可执行。
例如:
将文件abc从当前的所有者改变为根用户的命令是:
sudochownrootabc
将文件bbc与目录dir从当前的所有者改变为根用户的命令是:
sudochownrootbbcdir
13.改变文件或者目录的所属组命令chgrp
changegroupownship-改变组所有者
格式:
chgrp组名文件名|目录列表
组名:
是一个系统中存在的组的名字;
文件名|目录列表:
可以是文件,也可以目录,还可以文件名与目录的混合。
但每一项与另一项之间要用空格分隔。
例如:
将一个文件abc从当前组授予root组的命令是:
sudochgrprootabc
14.显示命令所在目录的命令which
格式:
which命令
功能:
显示命令文件所在的系统目录
例如:
ls命令的可执行文件在哪儿?
执行命令:
whichls
显示:
/bin/ls
这说明ls这个命令的可执行文件在系统的bin目录里
验证:
执行命令:
ls/bin/ls–al
验证结果是:
-rwxr-xr-x1rootroot120996Oct1507:
10/bin/ls
15.文件搜索命令find(查找文件命令)
格式:
find[path...][expression]
find[路径][表达式]
find[路径][文件]
功能:
在指定路径中想找符合条件的文件
例如:
在当前目录中查找名字为以sa打头的所有文件的命令:
find.–name“sa*”
在/bin目录里查找>10000字节的文件的命令:
find/bin-size+1000
显示的结果如下:
/bin/bash
/bin/systemctl
/bin/busybox
这条指令中,-size指定文件的大小。
在数量前加上”+”,是指大于;在数量前加”-”,是小于指定数量;什么也不加是指等于。
而size是指文件的大小,以K字节来衡量。
如果使用-name,是指要找的文件名字里面所包含的字符串。
例如:
find/bin-name"ls*"
是指在/bin目录中找文件名中的前2个字母是ls的任何文件。
在/etc目录查找大于1000KB与小于10000KB的文件
find/etc-size+1000-a-size-10000
在/etc目录查找大于1000KB或者小于10000KB的文件
find/etc-size+1000-o-size-10000
16.在系统的数据库找文件locate
格式:
locate文件名|目录名|或者两者的一部分
功能:
使用这条指令可以在系统的目录库中打符合条件的文件或者目录。
例如:
在系统中查找名字中有database字符串的文件命令如下:
locatedatabase