兄弟连linux笔记Word文档格式.docx
《兄弟连linux笔记Word文档格式.docx》由会员分享,可在线阅读,更多相关《兄弟连linux笔记Word文档格式.docx(35页珍藏版)》请在冰点文库上搜索。
指定合理的密码,指定定期更新
合理分配权限,分配权限越小越好,够用就好。
定期备份重要数据
4.1.1
命令格式
命令【-选项】
(调整命令功能的)
【参数】
(是操作的对象比如目录)例:
ls-la/etc
1.个别命令使用不遵循各式
2.有多个选项时,可以写在一起
3.简化选项与完整选项
目录处理命令ls
命令原意:
list
命令所在路径:
/bin/ls
执行权限:
所有用户
功能描述:
显示目录文件
语法:
ls选项【-add】
ls-a是显示所有的文件(包括隐藏文件)-a是all的意思
linux的隐藏文件是以‘.’点开头的
ls-l(-l的意思是long)是显示目录文件的相应信息(第一个信息先不说,第二个数字是文件的引用计数,第3个信息是文件的所有者(如root)所有者只有一个,所有者是可以改变的。
第4个信息是用户组,用户组可以使用,但不是文件的所有者,第五个信息是文件大小(以字节为单位不方便的话可以用-lh便可显示相应的单位,第6个信息是最后的修改时间,第7信息是文件名)
linux把用户分为了3类,所有者,用户组,其他人
目录前面是以d开头的,以l开头的是软连接,以-开头是文件
权限详解r读w写x执行
有权限用相应的字母表示,没有用-表示一般有读写权限就可以了,执行一般是需要时脚本运行
如:
-rw-------表示WOD这个文件所有者有读写的权限,用户组与其他的没有任何权限
ls-ld【目录】显示此目录的本身的信息而不显示下面的文件信息
ls-d查看目录下的所有目录
每个文件目录都有自己的id号及方便系统的索引(i节点)
ls-i查看文件的i节点
4.1.2
文件处理命令
命令名称:
mkdir
原意:
makedirectories
/bin/mkdir
mkdir-p【目录名】
创建新目录-p表示递归创建
例:
mkdir/tmp/123但是mkdir/japan/123不行,因为japan不存在,便不能在其下创建子目录可以mkdir-p/japan/123加一个-p;
并且是可以连续创建的。
mkdir-p/japan/123mkdir-p/japan/234
目录处理命令cd
cd
原意:
changedirectory
shell内置命令
执行权限:
cd【目录】
切换目录
范例:
cd/tmp/japan/134切换到指定目录
cd..回到上级目录
pwd
英文原意:
printworkingdirectory
/bin/pwd
功能:
查询当前的目录的路径
pwd显示当前目录的路径
pwd..显示上级目录
pwd../..
rmdir
removeemptydirectories
bin/rmdir
rmdir【目录名】
删除空目录(是空目录非空目录不能删除)
rmdir/tmp/japan/134
cp
copy
/bin/cp
cp-rp【原文件或目录】【目标目录】
cp-r复制目录
cp-p保留文件属性(属性如:
文件最后修改时间,假使不想改变被复制文件的属性加-p)
复制文件或目录
cp-r/tmp/japan/123/root把目录/tmp/japan/123复制到root目录下
cp-rp/tmp/japan/123/tmp/japan/234/root将/tmp/japan目录下的123和234复制到root下并保持其属性
cp-r/tmp/japan/123/root/+把/tmp/japan/123复制到/root/并改名+
clear或ctrl+l清屏
mv
move
/bin/mv
mv【原文件或目录】【目标目录】
剪切文件,改名
mv/tmp/123/root
mv/345/root把当前目录的345剪切到/root下,事前要确定你的当前目录有345这个目录
mv/tmp/japan/heheroot/japan/haha剪切并改名
mvhehehaha把hehe改为haha
rm
remove
命令所在行:
/bin/rm
rm-rf【文件或目录】
-r删除目录(删除目录的时候要加,因为rm默认是删除文件的)
-f强制执行(不会询问你是否删除)
删除文件
删除文件之前最好先备份,删除重要文件之后,最好不要频繁的查找,复制等,以免最后难以找回数据
范例:
rm-rf/root/japan强制删除/root/japan这个目录,此时如果用rm-r的话,假使japan内有很多文件的话,会不停的询问你是否删除。
因此用rm-rf会避免麻烦
4.1.3
常用文件处理命令
touch
/bin/touch
touch【文件名】
创建空文件
touch
默认是在当前路径创建文件,指定的话要指定路径如touch/root/
文件的后缀名是没有什么用的,除了‘/’符号不能用,其他特殊符号基本都能用于文件的命名touchhehehaha创建了hehehaha两个文件
如果想创建“hehehaha”可以用双引号touch“hehehaha"
但是不建议这样用,空格一般用于命令或参数的分隔符,因此不建议文件名中含有空格
cat
/bin/cat
cat【文件名】
显示文件内容
-n显示符号,行号
cat/etc/issue(linux的欢迎文件)
cat-netc/services
但是当文件的内容比较长的时候,这个命令就不太适合了
可以用more命令来查看
tac
命令所在的路径:
/usr/bin/tac
tac【文件名】
显示文件的内容(反向列示,即倒着显示)
tac/etc/issue
more
命令所在路径/bin/more
more【文件名】
进入内容后
(空格)或f翻页
(enter)换行
q或Q退出
注意:
一旦翻下去就不能往回翻了,因此还有个命令less
分页显示文件的内容,用于文件内容比较长的
more/etc/services
less
/usr/bin/less
less【文件名】
pageup按页往上翻pagedown往下翻页
上箭头按行往上翻下箭头按行往下翻页
还可以搜索/搜索关键词之后会把包含关键字变成白色背景(此时只在本页,按n的话会遍历整个文件内容的关键词)
分页显示文件内容(类似于more但是可向上翻页)
less/etc/services
head
/usr/bin/head
head【文件名】
显示文件的前面几行-n指定行数默认是前10行
head-n20/etc/services
tail
/usr/bin/tail
tail【文件名】
显示文件的后面几行默认是10行
-n指定行数
-f动态显示文件末尾的内容(即假使在这个命令打开日志文件的窗口,假使有新日志产生,屏幕会自动的更新末尾的数据显示)
tail-n18/etc/services
常用于监视apache的日志文件等等,不太常用
退出此状态ctrl+c
4.1.4
链接命令
软链接文件的作用类似于windows的快捷方式,指向了真实原文件的地址,软链接文件的权限是全部的-lrwxrwxrwx,实际的的权限决定于源文件的权限,只是一个符号链接
硬链接文件的信息和原文件的信息是一样的,就好像是cp-p命令的执行结果一样,只不过硬链接是同步更新的(改变原文件,硬链接文件也同时变化)即cp-p和同步更新;
软硬的区别:
删除原文件,软链接文件将失效,硬链接可以打开,因为硬链接相当于有备份的功能,硬链接是不能跨分区的(如ln/tmp/issue/boot/),软连接可以;
硬链接不能应用于目录如:
ln/tmp/root/,
如何区分软硬链接呢ls-i
硬链接的i结点与原文件的i结点相同软链接与原文件的i结点不同。
由于每个文件只有一个i结点,用于系统对文件的管理,这里源文件与硬链接的i结点相同,也就能说明为什么改变源文件的内容时硬链接也会改变了,因为他们的i节点相同,系统是根据i结点来操作文件的
ln
link
/bin/ln
ln-s【原文件】【目标文件】
-s创建软链接
生成链接文件
ln-s/etc/issue/tmp/创建文件/etc/issue的软链接/tmp/
ln/etc/issue/tmp/创建文件etc/issue的硬链接/tmp/
4.2.1权限管理命令
权限管理命令chmod
chmod
changethepermissionsmodeoffile
/bin/chmod
chmod[{ugoa}{+-=}{rwx}][文件或目录]
u表示所有者g表示用户组o表示其他a表示全部+表示增加权限-表示减少权限=表示使用现在的权限
[mode=421][文件或目录]
-R递归修改(不递归的话,假使改一个目录的权限,他下面的子目录权限是不会改变的,加上-R的话会把目录下面的所有文件目录的权限也改变)
改变文件或目录
chmodu+x增加所有者的执行权限
chmodg+w,o-r可以多个操作增加用户组对的写权限,减少对其他用户的读权限
chmodg=rwx使用户组对文件有读写执行的权限而不管以前是什么权限,就是说+或-是在以前的基础上进行的,而=就是不管以前的是什么就赋予等号后面的权限
还有以下的方法,以上的不常用
权限的数字表示:
注意rwx的权限对文件和目录起的作用是不一样的
r-------4r权限意味着可以查看文件的内容,catmoreheadtailless
w------2w权限意味着只是可以对文件进行写入操作(注意要删文件的话,是要他的目录有w的权限)
x-------1x意味着可以执行文件
以上是rwx对文件权限的说明
r对目录可以是显示目录的文件ls
w是可以touchmkdirrmdirrm
x是可以打开目录cd
一般目录是rx权限共存的
例如:
rwxrw-r--前三个数字相加表示所有者的权限4+2+1=7,后面三个4+2=6,最后三位4+0+0=4,所以上面的权限相应的数字表示就是764
用数字的方法更改权限
更改的权限-rw-r-----
chmod640
********************************************************练习到此********************************************************
4.2.2
其他权限管理命令
chown
changefileownership
/bin/chown
chown【用户】【文件或目录】
chownpengliang改变的所有者为penglinag
root和文件所有者可以改变文件的权限,
例如一个用户创建了一个文件,该文件的权限所有者和root都可以
文件所有者可以改变文件的权限,但是不能改变文件的所有者,只有root可以
useradd【用户名】添加普通用户
groupadd【用户组名】添加用户组
chgrp
changefilegroupownership
/bin/chgrp
chgrp【用户组】【文件或目录】
改变文件或目录的所属组
chgrpdajiajapan改变文件japan的所属组为dajia
谁创建了文件谁就是文件的所有者,他的用户组就是他的缺省组,每个用户只能有一个缺省组,谁创建了文件,文件的用户组就是所有者的缺省组
当新建一个文件或目录是都有一个默认的权限,怎么样该默认权限呢
umask
theuserfile-creationmask
umask【-S】
-S以rwx形式显示新建文件缺省权限(即新建文件的默认权限)
显示,设置文件的缺省权限
umask-S
umask显示文件的默认权限的掩码
掩码详解:
比如umask命令后显示0022第一个0是特殊的权限先不管,022就是权限的掩码。
有什么用呢
可以计算出默认文件的权限,即777-022=755755就是-rwxr-xr-x
linux的任何新建文件都没有x权限,目录有,安全性方面的考虑
更改默认权限
比如要设置默认权限为754不能直接umask754可以计算掩码777-754=023
可以umask023
一般不要改默认的缺省权限,系统默认的就很好了系统默认是(755)
4.2.3文件搜索命令find
搜索会占用大量的资源,因此尽量在建文件的时候就规划好文件目录结构
不要再服务器高峰期的时候做搜索,搜索条件越精准越好
find
/bin/find
find【搜索范围】【匹配条件】
文件搜索
find/etc-nameinit在/etc目录中查找文件init
find/etc-name*init*搜索/etc目录下的所有文件名含有init的文件(*是通配符)
find/etc-nameinit搜索init后面的跟三个字符的文件(匹配单个字符)
find/etc-inameinit搜索init文件不区分大小写
根据大小查找
find/-size+204800(LINUx中数据块是最小的单位,这里的单位是数据块,一个数据块为)在根目录下查大于100M的文件(+n大于-n小于n等于)
根据所有者来查找
find/home-usershenchao在/home下查找所有者为shenchao的文件
根据时间的属性来查找
-amin访问时间
-cmin文件属性
-mmin文件内容
find/etc-cmin-5在/etc下查找5分钟内被修改过属性的文件
find/etc-mmin-30在/etc下查找30分钟内被修改过内容的文件
稍微复杂的find
find/etc-size+163840-a-size-204800在/etc下查找大于80MB小于100MB的文件
-a两个条件同时满足(and)
-o两个条件满足任意一个即可(or)
find/etc-nameinittab-execls-l{}\
在/etc下查找inittab文件并显示其详细信息
-exec/-ok命令{}\;
对搜索结果执行操作(\表示转义符,-ok会在执行前询问,-exec不会)
find/etc-nameinit*-a-exec-typefls-l{}\查找以init开头的文件,并显示其详细信息
-type根据类型查找
f文件d目录l软链接文件
find/etc-nameinit*-a-typef在/etc查找以init开头并且是文件
find/etc-nameinit*-a-typed在/etc下查找以init开头并且是目录
-inum根据结点查找文件
find.-inum31531-execrm{}\查找并删除i结点为31531的文件
4.3.2
locate
/usr/bin/locate
locate文件名
在文件资料库中查找文件
locateinittab
速度比较快!
因为locate'
在文件系统中维护着一个资料库,在/var/mlocate/
缺点:
假使新建的文件没有收录更新在库中就会找不到!
而find就不会
怎样更新用命令:
updatedb
此时便会被收录!
但是查找的文件在/tmp临时文件夹中,即使update也是找不到的。
locate-i不区分大小写查找
which
/usr/bin/which
which命令
搜索命令所在目录及别名信息
whichls查找ls命令所在的路径
whichcp查找cp命令所在的目录
结果中的alias‘命令’=‘命令别名’
whichcp查找cp命令所在的目录结果显示aliascp='
cp-i'
后面的cp-i就是cp的别名
grep
/bin/grep
grep-iv【指定字串】【文件】
在文件中搜寻字串匹配的行并输出
-i不区分大小写
-v排除指定字串
grepmysql/root/
在linux中#表示注释行
grep-v^#/etc/inittab去掉以#开头的行,比如读取apache的配置文件时用,用来排除注释的干扰
文件搜索命令--帮助命令
man
manual
/usr/bin/man
man【命令或配置文件】
获得帮助信息
manls查看ls的帮助信息
manservices查看配置文件的services的帮助信息(注意。
此处的配置文件不要加绝对路径,只要名称就可以了)就是查看配置文件的作用等
帮助类型的说明:
1表示命令说明
5表示文件说明
下面是一些查看命令或简短的作用
whatis【命令名称】查看ls命令的作用
apropos【配置文件名】查看配置文件的作用
【命令】--help列出命令的属性
如ls--help列出ls命令的属性(-a-l等)
man很有用,可以查看命令的格式等,不必强记
help
所在路径:
Shell内置命令
help命令
获得Shell内置命令的帮助信息
helpumask查看umask命令的帮助信息
内置命令是没有路径的
如whichcd会找不到路径
manumask找不到umask的帮助信息,找到的是shell的帮助信息
helpumask可以找到umask的帮助信息
因此找不到shell命令的格式的话,可以help
网络命令
write
/usr/bin/write
write用户名
给用户发消息,以ctrl+D结束保存
writeluogaorui
得用户在线才能发出去,用who查看
指令名称:
wall
writea