文件命名规则
1)除了/之外,所有的字符都合法
2)虽然所有的字符都可以用,但是我们不建议用空格符、制表符
退格符和字符@#$&()-等
3)大小写敏感
4)避免使用.作为普通文件名的第一个字符
linux里 文件不一定有后缀名 而且文件名可以很长
命令格式
1)命令 -选项 参数<就是命令所操作的对象> 如:ls -la /etc
2)当有多个选项时,可以写在一起
两个特殊的目录.和.. 前者表示当前目录 后者表示当前目录的父目录。在linux中 cd .. cd和..之间必须有空格。
文件处理命令
ls 英文原意list 存在于bin/ls中。
命令是针对用户的 命令是存在于下面的目录中的
只有root才能执行的 /sbin /usr/sbin
所有用户都能执行的 /bin /usr/bin
根据目录,我们完全可以根据目录来判断这个命令是哪个用户有权限执行
ls -ald -a all -l long详细信息显示 -d 查看目录属性
drwxr-xr-x 2 d代表文件类型 表示目录 -代表二进制文件 l代表软链接文件link 常见的三种
2 代表硬链接数
rwx r-x r-x
所有者 所属组 其他人
drwxr-xr-x 2 root所有者 root所属组 文件创建时间或最后修改时间 文件名
linux中 数据块是最小的存储单位。默认512字节
ls -d /test 查看目录的详细信息
软链接和硬链接
学习命令的方法
命令的作用
命令的原理
命令的所在路径
命令的选项
cd
pwd
touch 文件名 创建空文本文件
mkdir 目录名 创建目录
cp -R 源 目的地 如果复制目录 必须加-R 表示递归
ctrl+c 终止操作 如果复制文件。不必写-R
cp 可以写多个被复制的文件 目的
mv 移动目录 更改名字 可以在移动过程中更改名字
rm删除 rm 如果删除文件 不需要加-r 如果删除目录,必须加-r -f表示强制的 ,这时不会有提示,直接干掉。 当你真的确定要干掉整个目录,而不是一个一个的提示你是否删除这个目录,你就可以直接
rm -rf 强制的直接全部干掉
cat 文件名 显示文件内容 只读
more 文件名 显示文件内容 分页显示 空格或f下一页 回车下一行 q或Q退出
head -num指定行数 文件名 查看文件的前几行 默认看10行
tail -30 文件名 查看文件的后几行 -f表示动态的显示,实时的显示最新的信息
tail -f 日志 实时的显示日志信息
ln -s 源文件 目标文件 创建软链接
软链接的权限全是lrwxrwxrwx
软链接只是一个符号连接 他指向了源文件 最后执行的还是源文件 它有什么权限并不重要,重要的是源文件的权限。
软链接就很类似于windows的快捷方式。
软链接依赖于源文件,删除源文件,软链接将无效。
什么时候用windows的快捷方式和什么时候用linux的软链接都是一样的,基本上没什么区别。
ln 源文件 目标文件 创建硬链接
硬链接 类似于拷贝 但它是同步更新的 与源文件具有相同的i节点。所以说硬链接与源文件会同步更新,你删除了任何一个就相当于只是删除了一个映射而已,文件还会被访问到。
linux内核只认识i节点,这是关键。
硬链接不能跨文件系统的,就是不能跨分区的。
i节点 数字标识
文件的数字标识 i-inode
ls -i i-inode 查看i节点
每个文件必须有i节点,如果没有i节点,那么这个文件将无法再被访问了。
权限管理命令
第一种授权 chmod u/g/o +/-/= 权限 文件
如:chmod u+wx chmod o-rx chmod g=rwx这个不管以前是什么权限,现在就是rwx了
chmod u+w 文件
第二种授权,数字授权
r-4 w-2 x-1
chmod 777 文件名 这个句子就包括了对所属组所有者其他人的权限。推荐使用的。
su -用户 切换用户 从普通用户切换到管理员需要密码 从普通用户切换到另一个普通用户需要密码 从管理员切换到普通用户需要密码。
文件的权限
r-cat more head tail
w-echo vi表示对文件内容的修改而已 并不是对文件的删除与增加
x-命令、脚本
目录的权限
r-ls
w-表示可以在这个目录中的文件进行创建或删除 touch mkdir rm
x-cd 表示可以进入目录,这就表示对目录的执行操作。
由上可知
目录的rx权限要同时出现的。
umask -S 查询系统创建文件默认的权限
umask 0[022]
第一个0 特殊权限位
022 权限掩码值
777-022=755-111=644 这个才是真正的权限
umask 027 这样 缺省文件的权限就变了
linux的权限规则,缺省创建的文件不能授予可执行的权限
chown 所有者<必须在系统中存在> 文件或目录 改变文件的所有者
添加用户 useradd zhangpeng
设置密码 passwd zhangpeng
chgrp 所属组<必须系统中存在> 文件或目录的名称 改变文件的所属组
文件搜索命令
which 命令名称 显示系统命令所在目录 which ls 显示ls这个命令的绝对路径
在linux世界中,所有的东西都是一个文件,同理,命令也是一个文件。那么这个文件[命令]存放目录的不同,就代表了它有不同的权限。
whereis 和which功能相似 但是显示信息有区别 只能找命令
find 路径 搜索关键字 不光只查命令
查找文件或目录 尽量不要在根目录范围查找 浪费时间 占用资源
find /etc -name init[文件名] 根据文件名查找 必须是匹配的 包含的不会查出来
如果我们不记得我要找的文件名的全名是什么了
find /etc -name init* 查找所有以init开头的文件
*匹配任意字符
?匹配单个字符
根据文件大小查找
find /etc -size +204800 大于204800字节
+ - 不写的时候代表等于
根据文件所有者查找
find /etc -user 文件所有者 zhangpeng
显示属于zhangpeng的所有文件
根据时间值查找
天 ctime atime mtime
分钟 cmin amin mmin
c--change改变 表示文件的属性被修改过 如 所有者 所属组 权限
a--访问
m--modify修改 表示文件的内容被修改过
例:
find /etc -mmin -120 两个小时之内文件内容被修改过的文件
-之内
+超过
-a and 逻辑与 -o or 逻辑或
find /etc -name init* -a -type d/f/l<显示的类型>
find /home -user zhangpeng -exec/ok rm -rf {} \;
find查询的结果交给exec exec将查询的结果全部干掉。
ok与exec唯一的区别 ok有提示 exec不提示。
find的综合用法
find /etc -name init* -a type f -exec ls -l {} \;
一些奇怪的文件名 我们只能通过i节点来删除
find . -inum 16 根据i节点查找数值为16的文件
find . -inum 15 -exec rm {} \;
linux中有这个命令 unix没有
locate 搜索关键字 查找文件或目录
updatedb 建立整个系统目录文件的数据库
这是linux系统中的数据库,当我们创建了一个文件时,这个文件不一定会及时的录入到数据库中。所以我们可以手动更新系统中的数据库或者通过计划任务。
在系统安装完毕后,就会在整个linux系统中建立一个文件目录的
数据库。
所以locate 只是在这个数据库中去查找文件,并不是在硬盘中查找。
所以如果为了提升查找效率 我们需要定期的去更新数据库,然后再使用locate,所以locate 和updatedb要联合使用。
grep 指定字符串<关键词> 源文件 根据关键词搜索。
帮助命令 man
man 命令或配置文件
man ls
man services配置文件,只能是配置文件
如果配置文件与命令同名时,优先查询命令的帮助。
man 5 passwd 表示查看配置文件的帮助
默认是man 1 passwd 表示查看命令的帮助 默认1是可以省略的
用q退出
info类似于man 只是显示的信息的略有不同。
info 关键字 unix没有 linux独有的
whatis 命令名 只是想知道这个命令是干嘛用的。
命令 --help 显示这个命令的所有选项
man -k 和apropos相似。
apropos 关键字 包含关键字的所有文件都是干嘛用的
makewhatis 建立whatis和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是whatis database没有建立。
help 查看shell内置命令的帮助
压缩解压命令:gzip
压缩后的文件以.gz结尾,不保留源文件。
gzip 选项 文件名 压缩文件 只能压缩文件,不能压缩目录
linux的压缩,windows都支持,反过来则不行
解压
gunzip 选项 压缩文件
tar 选项 目录 压缩,打包为目录
浙公网安备 33010602011771号