1.文件详情

权限表示法。是用10位字符来表示:

第一位:是文件类型,有7种类型,常见的3种 -表示文件 d表示目录 l表示软连接(快捷方式) 后面9位,每3个字符为一组表示3种用户所拥有的权限,依次是文件所有者,所有者所在组,其他人 用户对文件的权限,这三位有每个字符依次是: r读权限(read) w写权限(write) x执行权限

例如 -rw-r--r--.

第一位 2-4 3位,文件所有者权限 5-7所有者所在组权限 8-10其他人 . -表示是文件类型 rw-可读可写 r--读权限 r--读权限 表示

文件详情数据列表意义:

文件权限 文件引用次数 文件所有者 文件所在组 文件大小 最后修改日期 文件名 -rw-r--r--. 1 root root 1.2k 8月 21 06:23 install.log

2.环境变量 1.查看环境变量 echo $PATH 2.一旦设置为环境变量,这路径变成了当前路径一样,和window环境变量一致 如: bash /root/jzk/hello.sh ,如果把/root/jzk设置为环境变量,则直接bash hello.sh即可 3.设置环境变量方法 环境变量 (1)当前用户有效 文件在~.bash_profile文件里 vim .bash_profile

多个文件路径用:隔离开 保存退出, 执行命令,让环境变量生效 source .bash_profile

(2)所有用户有效 所有用户有效的环境变量在 /etc/profile文件里,增加

3.基础语法

语法 说明 示例 文件和文件夹操作

[root@jiangzengkui ~]# root表示登录角色,jiangzengkui是电脑名 ~表示当前用户home目录,如root是/root目录,#表示超级管理员,$表示一般用户

命令 [选项] [参数] 常见的命令模式。多个参数可以合并;简化写和完整写 rm -rf 等于rm -r -f ls -a -a等于--all ls 查看目录或者文件信息 ls 选项[-alFR...]..... [文件或目录] 参数说明: -a 显示所有文件,包含隐藏文件 -l 显示文件详细信息 -i 显示文件节点信息 -h 人性化显示文件大小,自动转换为kb或者m

ls -alh 显示所有文件详细信息并且人性化显示文件大小 文件和目录前面可以加路径(相对和绝对路径) pwd 显示当前所在绝对路径

cd 切换目录路径 cd ~或者cd 回到当前用户的home目录 cd - 进入上一次命令是的目录 cd .. 进入当前目录的上一级目录 cd . 进入当前目录

mkdir 创建一个目录 mdir [选项] 目录 -p 递归 创建多级目录,不加此选项会报错 目录可以是相对路径或绝对路径 mkdir jzk 当前路径创建一个目录 mkdir -p /tmp/test/test1 创建temp和下面的test1子目录 相对路径/绝对路径 相对路径只参照当前所在路径,.表示当前目录,..表示上级目录 绝对路径从跟目录进行查找,不受当前目录影响,所有文件和目录都可以加相对或者绝对路径

rm 删除文件或目录 rm [-r -f] [ 删除文件或者目录] -r 删除目录 -f 强制删除,如果不加这个参数,每个目录或者文件都会提问是否删除 rm jzk/a.log rm -r /tmp/jzk rm -rf /tmp/a cp copy文件或者目录 cp [选项] [原目录或者文件] [目标目录或者文件名] 选项: -r copy目录 -p 复制文件属性,如最后修改日期 -d 链接文件(快捷方式) -a等价于 -rpd cp -r jzk jzk /tmp/aa 把jzk目录复制到/tmp/aa目录下,注意如果aa目录不存在,则自动创建aa cp -a jzk jzk /tmp/aa 所有文件属性完全一致,如文件修改日期 cp -a t.log jzk/t.log 注意如何是copy文件,必须要写目标文件名 mv 剪切文件或者重命名 mv [原文件或者目录] [目标文件或者目录] 注意:没有选项 mv jzk /tmp/ 把 touch 创建文件 touch [选项] [参数] touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。 -a:或--time=atime或--time=access或--time=use 只更改存取时间; -c:或--no-create 不建立任何文件; -d:<时间日期> 使用指定的日期时间,而非现在的时间; -f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题; -m:或--time=mtime或--time=modify 只更该变动时间; -r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同; -t:<日期时间> 使用指定的日期时间,而非现在的时间 touch /tmm/a.log 创建a.log的空文件 touch -m a.log 修改文件的变动时间 vi/vim 编辑文件 vim 文件名 1:进入编辑 touch a.cfg。进入的是 command mode模式 2. i键进入编辑模式 3.Esc键退出编辑模式。 4.在:键退出格式,退出 q! 退出不保存 wq!退出保存 cat 查看文件内容 cat 文件名 cat /tmp/t.log 输出t.log文件内容 文件搜索 查找一个文件

locate 按文件名进行搜索 locate 文件名 模糊查询,查询包含输入文件名内容的文件,注意:会把与文件后缀隔离开 从数据库查询,在/var/lib/mlocate/mlocate.db,查询速度最快 数据一天自动更新一次,刚创建的文件查不到 updatedb 手动更新,则能查询到最新文件 注意:文件搜索不搜索/tmp/文件夹 局限:只能搜索文件名 locate a.cfg updatedb locate a.cfg whereis 命令搜索命令 就是搜索linux系统命令 whereis [选项] 命令 -b 只搜索执行文件 -m 只搜索帮助文档 补充:whereis 我在哪 whois 我是谁 whatis 我是干什么的 whereis ls whereis -b cat which 命令搜索命令 which除看到文件位置,还可以看到这个命令的别名 whereis 加强版 which ls which cat find 多种参数的文件搜索模式 find [搜索范围] [搜索条件] 尽量避免搜索范围过大,如从/目录搜索 注意find是精确完全匹配,和locate不一样。find 如要用模糊查询,则要用到通配符 1.按照文件名搜索 -name 搜索文件名 -iname 不区分大小写 2.按照文件所有者搜索 -user 搜指定所有者的文件 -nouser 搜没有所有者的文件

3.按照文件变化时间搜索 -[时间选项]+[-] 天数 -mtime 文件内容发生改变 -ctime 改变文件属性 -atime 文件访问时间 默认为天数 4.按照文件大小来搜索 find 路径 -size +[-] 大小 5.按照文件节点来搜索 find 路径 -inum 文件inode节点

6.组合查询 -a 表示逻辑与 所有条件都满足 -o 表示逻辑或,之一条件满足即可

7、输出查询结果文件用于文件处理

用-exec 文件处理命令 {}; find /root -name install.log locate install.log两者结果是有区别的 find /root -name install.log *等于locate install.log find /root -iname test.log 不区分大小写

find /root -user root 搜索root拥有的所有文件 fint /root -nouser 搜索没有user的文件

find /root -mtime +10 10天前文件内容发生的改变的文件 find /root -mtime -10 10天内文件内容发生的改变的文件

find . -size -25k 搜索文件小于25k的文件 find /etc -size +2M 搜索大于2兆的文件,注意M大写

find . -inum 134277 查找i节点为 134277 的文件

find /etc -size +20k -a -size -50k 查找大于20k小于50k的文件

find /etc -size +20k -a -size -50k -exec ls -l {}; 查询结构用ls-l来显示

find /etc -size +20k -a -size -50k -exec rm-rf {}; 删除查询出来的结果 grep 搜索字符串命令 查询一个文件(不)包含指定搜索内容所在行展示 grep [选项] 搜索字符串 指定文件 -i 忽略大小写 -v 排除指定的搜索内容

显示的是字符所在的行 grep "size" anaconda-ks.cfg 显示anaconda-ks.cfg文件中包含size字符串的行 通配符

  • 任意内容 长度不限 ? 任意一个字符 []括号里任何一个之一 find /root -name "ab*" ab开头的任意文件 find /root -name "ab?" ba开头的3个字符的文件 find /root -name "ab[c,d]" abc 和abd文件 压缩与解压 zip gz bz2 tar.gz tar.bz2 5种常见的linux压缩格式

zip 压缩文件或者文件夹 zip 压缩文件名 目标文件名 zip -r 压缩包名 目标文件目录 linux zip能在window系统通用 zip a.cfg.zip a.cfg 压缩文件 zip -r jzk.zip jzk 压缩文件目录 zip a.cfg ./jzk/a.cfg.zip 把a.cfg压缩到。./jzk目录下的a.cfg.zip中 unzip 解压zip文件 unzip 压缩文件/目录 注意:没有解压文件名或者目录,linux压缩时可以指定压缩文件名及存放目录. 但解压时,是解压到以前文件存放位置及文件名(恢复原状,没有目录则创建),和压缩文件所在目录及文件名无关 unzip jzk/a.cfg.zip gzip 压缩gz格式的文件及目录 gzip 源文件
注意:不加压缩文件名,自动生成压缩文件名:原文件.gz,原文件消失 gzip -c 源文件名 > 压缩文件名 注意:源文件不消失 gzip -r 原文件目录 注意:压缩文件目录里的所有文件,文件目录不压缩 gzip aa.cfg gzip -c aaa.cfg > aaa-1.cfg.gz 保留原文件 gzip -r jzk 压缩目录里所有文件,目录不压缩

gunzip 解压gz文件 gunzip 压缩文件 gunzip -r 压缩文件对应的目录 注意:gunzip解压后,就是压缩文件名对应的文件名,和zip不一样,压缩文件消失 解压目录 加-r gunzip a.cfg.gz gunzip -r jzk bz2 压缩bz2文件 bzip2 源文件
压缩成bz2格式,源文件消失 bzip2 -k 源文件 保留原文件 注意:bzip2不能压缩文件夹 bzip2 a.cfg bzip2 -k aa.cfg

bunzip2 解压bz2文件 bunzip2 压缩文件 bunzip2 -k 保留压缩文件

tar 文件打包命令 tar -cvf 打包文件名 源文件 -c 打包 -v 显示过程 -f 指定打包后的文件名 tar -cvf a.cfg.tar a.cfg 文件打包 tar -cvf jzk.tar jzk 目录打包 tar解包 tar文件解包命令 tar -xvf tar文件名 -x 解包 -v 显示过程 解压到当前目录下,解压后的文件或者目录名就是tar的名称 tar -xvf a.tar tar.gz打包 tar -zcvf 压缩包名.tar.gz 源文件 -z 把tar转成tar.gz包