4.1 文件处理命令
4.1.1 命令格式与目录处理命令ls
命令格式 :命令 [-选项] [参数]
例 : ls -la /etc
说明:1)个别命令使用不遵循此格式
2)当有多个选项时,可以写在一起
3)简化选项与完整选项-a 等于 --all
命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:ls 选项[-ald] [文件或目录]
-a 显示所有文件,包括隐藏文件
-l 详细信息显示
-d 查看目录属性
tip:
-rw-r--r-- 一共10位,第一位位文件类型 ,剩下9 位依次位 所有者权限,所属组权限 ,其他人权限
-
- 文件类型(- 文件 d 目录 l 软链接文件)
-
rw- r-- r--
u g o
u所有者 g所属组 o其他人
r读 w写 x执行
2 :说明了最近浏览次数
shiyanlou :第一个代表了所有者,第二个代表了群组
4096 :内容大小 , 字节为单位
时间:最近访问时间,没有创建时间‘
下述代码只显示/etc下的内容,查看不了目录信息, ls -l 查看文件属性,不是目录属性
下述代码显示了目录信息
4.1.2 目录处理命令
命令名称:mkdir
命令英文原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
常用参数:
-p 递归创建多级目录
-m 建立目录的同时设置目录的权限
-z 设置安全上下文
-v 显示目录的创建过程
mkdir -p /tmp/Japan/boduo 创建新目录-p 递归创建
mkdir /tmp/Japan/longze /tmp/Japan/cangjing
mkdir -m 700 /usr/linuxcool/dir 在目录/usr/linuxcool下建立子目录dir,并且设置文件属主有读、写和执行权限,其他人无权访问
mkdir dir1 dir2 dir3 同时创建子目录dir1,dir2,dir3:
命令名称:cd
命令英文原意:change directory
命令所在路径:shell内置
命令执行权限:所有用户
语法:cd [目录]
功能描述:切换目录
. 表示当前目标
.. 表示上两级目录
cd 进入用户主目录; cd ~ 进入用户主目录; cd - 返回进入此目录之前所在的目录; cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思); cd ../.. 返回上两级目录; cd !$ 把上个命令的参数作为cd参数使用。
cd /tmp/Japan/boduo 切换到指定目录
命令名称:pwd
命令英文原意: print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
语法:pwd
功能描述:显示当前目录
pwd
命令名称:rmdir
命令英文原意:remove empty directories
命令所在路径:/bin/rmdir
执行权限:所有用户
语法:rmdir [目录名]
功能描述: 删除空目录
范例: $ rmdir /tmp/Japan/boduo
rmdir dir 删除空目录
rmdir -p dir/dir_1/dir_2 递归删除指定的目录树:
rmdir -v dir 显示指令详细执行过程
rmdir -p -v dir/dir_1/dir_2
命令名称:cp
命令英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
语法:cp -rp [原文件或目录] [目标目录]
-r 复制目录
-p 保留文件属性
功能描述:复制文件或目录
cp -r dir1 dir2/ 复制目录 注意必须加上 -r ,复制文件不用加 -r
cp -f test1 test2 将文件test1改名为test2
cp -r file1 file2 file3 dir 复制多个文件
命令名称:mv
命令英文原意:move
命令所在路径: /bin/mv
执行权限:所有用户
语法:mv [源文件或者目录 ] [目标目录]
mv file_1 file_2 将文件file_1重命名为file_2 mv file /dir 将文件file移动到目录dir中 mv /dir1 /dir2 将目录dir1移动目录dir2中(前提是目录dir2已存在,若不存在则改名) mv /dir1/* . 将目录dir1下的文件移动到当前目录下
命令名称:rm
命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
语法:rm -rf [文件或目录]
-r 删除目录
-f 强制执行
功能描述:删除文件
rm -i test.txt.bz2 删除前逐一询问确认: rm -f test.txt.bz2 直接删除,不会有任何提示: rm -rf /data/log 删除当前目录下所有文件 rm -rf /* 清空系统中所有的文件(谨慎)
4.1.3 文件处理命令
命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
语法:touch [文件名]
功能描述:创建空文件
范例: $ touch Japanlovestory.list
touch file.txt 创建空文件 touch file{1..5}.txt 批量创建文件 touch -a file.txt 修改文件的access(访问)时间 stat file.txt 查看文件状态
touch "hello world.txt" 创建带有空格的文件,下次访问的时候要带上引号
命令名称:cat
命令所在路径:/bin/cat
执行权限:所有用户
语法:cat [文件名]
功能描述:显示文件内容
-n 显示行号
cat filename.txt 查看文件内容
cat -n filename.txt 查看文件的内容,并显示行数编号 cat -n linuxcool.log > linuxprobe.log 查看文件的内容,并添加行数编号后输出到另外一个文件中 cat /dev/null > /root/filename.txt 清空文件的内容: cat > filename.txt <<EOF 持续写入文件内容,碰到EOF符后结束并保存: > Hello, World > Linux! > EOF
命令名称:tac
命令所在路径:/usr/bin/tac
执行权限: 所有用户
语法: tac [文件名]
功能描述:显示文件内容(反向)
cat test.txt hello world hello linuxcool hello linuxprobe tac test.txt hello linuxprobe hello linuxcool hello world
命令名称:more
命令所在路径:/bin/more
执行权限:所有用户
语法:more [文件名]
(空格) 或 f 翻页
(Enter) 换行
q或Q 退出
功能描述:分页显示文件内容
more -c -10 file 显示文件file的内容,每10行显示一次,而且在显示之前先清屏,注意每次要按空格以实现换页每页10行 more -p -5 file file 显示文件file的内容,每5行显示一次,而且在显示之后再清屏 more +20 file 从第 20 行开始显示 file 之文档内容
命令名称:less
命令所在路径:/usr/bin/less
执行权限:所有用户
语法:less [文件名]
功能描述:分页显示文件内容(可向上翻页)
注意:less的作用与more十分相似,不同点为less命令允许用户向前或向后浏览文件,而more命令只能向前浏览
命令内部操作:
- b 向后翻一页
- d 向后翻半页
- h 显示帮助界面
- Q 退出less 命令
- u 向前滚动半页
- y 向前滚动一行
- 空格键 滚动一页
- 回车键 滚动一行
less log2018.log log2019.log 浏览多个文件 ,more命令也可以
less file1 当正在浏览一个文件时,也可以使用 :e命令 打开另一个文件
:e file2
命令名称:head
命令所在路径:/usr/bin/head
执行权限:所有用户
语法:head [文件名]
功能描述:显示文件前面几行
常用参数:
-n 后面接数字,代表显示几行的意思
-c 指定显示头部内容的字符数
-v 总是显示文件名的头信息
-q 不显示文件名的头信息
head -n 3 install.log 显示前3行文件内容 head -v -n 2 test.txt 显示文件名信息,并显示文件前两行 head -c 5 test.txt 显示文件前5个字符
命令名称:tail
命令所在路径:/usr/bin/tail
执行权限:所有用户
语法:tail [文件名]
功能描述:显示文件后面几行
-n 指定行数
-f 动态显示文件末尾内容
tail file 显示文件file的最后10行 tail +20 file 显示文件file的内容,从第20行至文件末尾 tail -c 10 file 显示文件file的最后10个字符 tail -f 10 file 一直变化的文件总是显示后10行
4.1.4 链接命令
4.1.4 链接命令
符号链接 :
- 1. 符号链接以路径的形式存在,类似于Windows操作系统中的快捷方式。
- 2. 符号链接可以跨文件系统 ,硬链接不可以。
- 3. 符号链接可以对一个不存在的文件名进行链接,硬链接不可以。
- 4. 符号链接可以对目录进行链接,硬链接不可以。
硬链接:
- 1.硬链接以文件副本的形式存在,但不占用实际空间。
- 2. 硬链接不允许给目录创建硬链接。
- 3.硬链接只有在同一个文件系统中才能创建。
命令名称:ln
命令英文原意:link
命令所在路径:/bin/ln
执行权限:所有用户
语法:ln -s [原文件] [目标文件]
-s 创建软链接
功能描述:生成链接文件
范例:
ln -s /etc/issue /tmp/issue.soft 创建文件/etc/issue的软链接/tmp/issue.soft ln /etc/issue /tmp/issue.hard 创建文件/etc/issue的硬链接/tmp/issue.hard
软链接特征:
类似Windows快捷方式
1、lrwxrwxrwx l 软链接
软链接文件权限都为rwxrwxrwx
2、文件大小-只是符号链接,大小非常小
3、/tmp/issue.soft -> /etc/issue 箭头指向原文件
硬链接特征:
1、拷贝cp -p + 同步更新
echo "this is a test" >> /etc/motd
2、可通过i节点识别,一个i节点可以对应多个硬链接文件
3、不能跨分区
4、不能针对目录使用
查看软链接文件,查看的文件不存在。和windows一样,删除源文件,快捷方式也用不了。但是删除源文件,硬链接文件还可以查看。
https://blog.csdn.net/gao_zhennan/article/details/79127232
4.2 权限管理命令
4.2.1 权限管理命令chmod
命令名称:chmod
命令英文原意:change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户
语法:chmod [{ugoa}{+-=}{rwx}] [文件或目录]
[mode=421 ] [文件或目录]
-R 递归修改
功能描述:改变文件或目录权限
权限范围的表示法如下:
u
User,即文件或目录的拥有者;g
Group,即文件或目录的所属群组;o
Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;a
All,即全部的用户,包含拥有者,所属群组以及其他用户;r
读取权限,数字代号为“4”;w
写入权限,数字代号为“2”;x
执行或切换权限,数字代号为“1”;-
不具任何权限,数字代号为“0”;s
特殊功能说明:变更文件或目录的权限
对于一个文件分析:
文件权限解释:
(1)第一个 - 代表文件的类型,
- 如果是一个普通文件为"-",
- 如果是一个目录为"d",
- 如果是一个软连接为"l"
- 如果是一个字符设备为"c"
- 如果是一个块文件为"b"
(2) 然后以三个符号为一组看,第一组表示文件所有者拥有的的权限
- 其中"r"表示该文件拥有读取的权限
- "w"表示该文件拥有修改的权限
- “-” 表示暂时还没有其他权限
(3)第二组.表示该文件所在组的用户,拥有的权限
- 同样"r" 表示拥有阅读的权限
- "-"表示暂时没有其他权限
(4)第三组表示其他组的用户所拥有的权限
- 同样"r" 表示拥有阅读的权限
- "-"表示暂时没有其他权限
(5)接着看旁边的数字 1
- 如果这个文件类型是一个普通文件,则表示这个文件的硬链接
- 如果这个文件类型是一个目录,则表示这个目录下的子目录个数(6)然后第一个root,表示这个文件的所有者为"root"用户
(7)第二个"root",表示这个文件的所在组为"root"组
(8)接着一串数字
- 表示这个文件的大小为"1796字节",如果是使用"ls -hl" 指令查看的文件信息,会将大小换算为更高的单位
- 如果此时的文件类型是一个目录,会显示"4096" ,linux中一切皆文件,所以目录其实也是一个特殊的文件,所以4096也代表这个目录的大小)
(9)接着的日期,表示这个文件的最后修改日期为"2013年 10 月 2日"
(10)最后,表示这个文件的名称
rwx权限的详解
在前的文件信息中,可以看到"r","w"的权限,实际上还有一个"x"权限,表示可执行权限,但是"rwx"这三个权限在不同的文件类型上,有着不一样的意义.
如果是描述一个普通文件
r 表示这个文件是可以读取,查看的
w 表示这个文件是可以进行修改,但是不一定表示这个文件可以删除,因为还需要考虑这个文件所在的目录权限是否有能够删除的权限
x 表示这个文件是可以执行的
如果描述的是一个目录
r 表示这个目录可以进行查看
w 表示这个文件可以进行增加,删除或重命名
x 表示可以进入这个目录
"rwx"权限还可以使用数字来表示为:r=4,w=2,x=1,所以rwx=4+2+1=7
chmod a+r file.txt 将档案 file1.txt 设为所有人皆可读取 chmod -R a+r * 将目前目录下的所有文件与子目录皆设为任何人可读取 chmod u+x file.txt 将 file.txt 设定为只有该文件拥有者可以执行
chmod u-x file.txt 将 file.txt 设定为只有该文件拥有者可以执
chmod a-x file.txt 设置所有人不可以执行
chmod u+x , o-x file.txt 设置为文件所有者可以执行,所有人不可以执行
chmod -R 777 testdi 修改目录testfile及其目录下文件为所有用户具有全部权限
chmod g+w testfile 赋予文件testfile所属组写权限
chmod u+x,g+w f01 为文件f01设置自己可以执行,组员可以写入的权限
chmod u=rwx,g=rw,o=r f01 直接设置所有者的权限为读写执行,用户组为写,其他人为读
chmod 764 f01 设置所有者读写执行,所在组其他用户为读写,其他人为读
chmod a+x f01 对文件f01的u,g,o都设置可执行属性
tips:
1.rwx作用在文件时
1> r:read,可以读取,查看
2> w:writte, 可以修改,但是不代表可以删除该文件,删除一个文件的前提是对该文件所在的目录(文件夹)具有写的权限,才能删该文件
3> x:execute,可以被执行
2.rwx作用在目录时
1> r,ls查看目录内容
2> w, 可以修改,目录内创建+删除+重命名目录
3> x, 可以进入该目录
4.2.2 其他权限管理命令
命令名称:chown
命令英文原意:change file ownership
命令所在路径:/bin/chown
执行权限:所有用户
语法:chown [用户] [文件或目录]
功能描述:改变文件或目录的所有者
chown root file 改变文件file的所有者为root
chown -R runoob:runoobgroup * 将目前目录下的所有文件与子目录的拥有者皆设为 runoob,群体的使用者 runoobgroup
chown runoob:runoobgroup file1.txt 将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup
chown root: log2012.log 改变文件拥有者和群组
chown :mail log2012.log 改变文件群组
chown -R -v root:mail test6 改变指定目录以及其子目录下的所有文件的拥有者和群组
命令名称:chgrp
命令英文原意:change file group ownership
命令所在路径:/bin/chgrp
执行权限:所有用户
语法:chgrp [用户组] [文件或目录]
功能描述:改变文件或目录的所属组
范例:$ chgrp lampbrother fengjie
改变文件fengjie的所属组为lampbrother
chgrp -v linuxcool file 改变文件的群组属性 chgrp --reference=file_1 file_2 根据指定文件改变文件的群组属性
命令名称:umask
命令英文原意:the user file-creation mask
命令所在路径:Shell内置命令
执行权限:所有用户
语法:umask [-S]
-S 以rwx形式显示新建文件缺省权限
功能描述:显示、设置文件的缺省权限
umask 使用指令”umask”查看当前权限掩码 ,假如显示 022 则表示 --- -w- -w- umask u=, g=w, o=rwx 使组用户的写权限,其他用户的读、写和执行权限都被取消
tips: 新建文件是默认没有x权限(比如:防止木马病毒攻击),当前拥有什么权限对于您创建的目录权限也是一样,对于文件则没有x权限。
4.3 文件搜索命令
4.3.1 文件搜索命令find
命令名称:find
命令所在路径:/bin/find
执行权限:所有用户
语法:find [搜索范围] [匹配条件]
功能描述:文件搜索
语法格式:find [参数] [路径] [查找和搜索范围]
常用参数:
-name按名称查找
-size按大小查找
-user按属性查找
-type按类型查找
-iname忽略大小写
范例:-name选项的使用find /etc -name init 在目录/etc中查找文件init
find /etc -name *init* 在目录/etc中查找文件名包含init
find /etc -name init??? 在目录/etc中查找文件名init开头并有3个字符的 tips:* 匹配任意字符,?匹配单个字符,-iname 不区分大小写
find /etc -name init* 在目录/etc中查找文件名init开头的
find /home ! -name "*.txt" 找出/home下不是以.txt结尾的文件
-size选项的使用 +n 大于 -n 小于 n 等于
find / -size +204800 在根目录下查找大于100MB的文件
find /etc -size +1M 使用-size参数查看/etc目录下面大于1M的文件
-根据文件属性查找 -amin 访问时间 access -cmin 文件属性 change -mmin 文件内容 modify
find /etc -cmin -5 在/etc下查找5分钟内被修改过属性的文件和目录
-多条件查找 -a 两个条件同时满足 -o 两个条件满足任意一个即可
find /etc -size +163840 -a -size -204800
在/etc下查找大于80MB小于100MB的文件
-type按类型查找 f 文件 d 目录
find . -type f -amin +10 搜索访问时间超过10分钟的所有文件
-查找后执行操作
-exec/-ok 命令 {} \; 对搜索结果执行操作 , {}表示find查找的结果 ,\ 表示转义符, \表示结束
find /tmp -name init -exec ls -l {} \ 对查找后的结果,执行显示具体信息的操作
语法格式:find [参数] [路径] [查找和搜索范围]
常用参数:
-name | 按名称查找 |
-size | 按大小查找 |
-user | 按属性查找 |
-type | 按类型查找 |
-iname | 忽略大小写 |