“ 使用Linux系统经常需要对文件和目录进行操作处理,
熟练掌握和使用这些命令成为必备技能。”
1、文件和目录操作命令
pwd - 显示当前工作目录 命令示例:[root@centos-node1 ~]# pwd/root
ls - 显示目录内容列表
命令示例:
[root@centos-node1 local]# ls -lt总用量 0drwxr-xr-x. 5 root root 49 10月 14 17:12 sharedrwxr-xr-x. 2 root root 6 4月 11 2018 bindrwxr-xr-x. 2 root root 6 4月 11 2018 etc
命令参数:
## ls 命令选项说明 ## -l # 单列详细输出,默认多列输出-a # 显示目录中所有文件,包括.开头的,--all-m # 水平输出-t # 按时间倒序排列 -r # 逆序排列目录文件-h # 可读大小文件信息--full-time # 列出文件完整时间
针对文件列表命令显示的内容,有drwx等信息,需要对Linux的文件权限有一定的了解
linux文件权限说明
linux文件权限管理分为:拥有者(owner)、群组(group)、其他人(others)。
系统账号存在 /etc/passwd 文件中,而密码保存在:/etc/shadow 文件中。
群组存放在: /etc/group 文件中。
示例说明:
drwxr-xr-x. 2 root root 6 4月 11 2018 etc## 内容解析说明d 标识目录 - 表示文件 l 表示链接文件rwx 三个参数组合 r: 可读read w: 可写 x :可执行 execute , ## 三个位置不变,无权限则用- 减号表示。按照拥有者,群组,其他权限排列。-rwxrwxrwx 其中 r:2 ,w:4 ,x:1 owner = rwx = 2+4+1 =7group = rwx = 2+4+1 = 7others = --- = 0+0+0 = 0
如何修改文件权限:
## 修改文件权限说明 -R 递归循环当前目录下所有文件目录chgrp group xxx # 修改文件所属群组,,change groupchown user:group xxx # 修改文件拥有者:所属群组 change ownerchmod [-R] xyz xxx # 支持数字和字母修改
chmod - 用来变更文件或目录的权限
命令示例:
[cjp@centos-node1 test]$ ll-rw-rw-r--. 1 cjp cjp 19 10月 20 12:09 test.txt[cjp@centos-node1 test]$ chmod 750 test.txt [cjp@centos-node1 test]$ ll-rwxr-x---. 1 cjp cjp 19 10月 20 12:09 test.txt# 当为可执行文件颜色会出现变化
chown - 变更文件或目录的拥有者或所属群组
命令示例:
[cjp@centos-node1 test]$ sudo chown root:root test.txt[cjp@centos-node1 test]$ ls -l总用量 4-rwxr-x---. 1 root root 19 10月 20 12:09 test.txt
创建、复制、删除、拷贝等命令
命令示例:
# mkdir 创建目录命令: -p 递归创建上层目录,-m 设置目录权限[cjp@centos-node1 test]$ mkdir -p -m 750 /home/cjp/demo[cjp@centos-node1 test]$ ls -l /home/cjpdrwxr-x---. 2 cjp cjp 6 10月 20 12:21 demo# cp 拷贝文件或目录到其他目录下: -r/R 递归处理 -v 显示详情[cjp@centos-node1 test]$ cp test.txt ../demo/# mv 对文件或目录进行重命名,也可以将文件移动到其他目录[cjp@centos-node1 test]$ mv test.txt ../demo/# rm 用来删除给定d饿文件和目录 -r/R 递归 -f 强制删除[cjp@centos-node1 test]$ rm -rf ../demo/# 其他命令如:rename rmdir touch file 等
tree -- 树状图输出目录的内容
命令示例:
# tree [选项] [参数][root@centos-node1 demo]# tree├── demo2│ └── demo3└── test.txt[root@centos-node1 demo]# tree /usr -L 1/usr├── src└── tmp -> ../var/tmp
命令参数:
# 列表选项-a # 显示所有文件和目录-L level # 限制目录显示的层级
md5sum - 查看文件md5值
命令示例:
[root@centos-node1 ~]# md5sum demo.txt 0f5fa91dbdfc301958665fd62ef5f57c demo.txt[root@centos-node1 ~]# sha1sum demo.txt 21ea698e81901a280083aaa833e545656f0e84ff demo.txt[root@centos-node1 ~]# sha256sum demo.txt 271e5471c5f6bf869433f01d3a3dd673535de37de763767c692ad76925298353 demo.txt
2、查看文件和内容处理
cat 、more 、less 、head 、tail 查看文件命令
命令示例:
# cat 连接多个文件并输出,-A 显示全部包括换行符、cat 1.log 2.log 3.log# more 每次1屏显示文件内容,space 下滚一屏, enter:向下一行 Q 退出 ## B 上一屏more +10 -dc demo.txt # 从第10行开始显示# less 分屏上下翻页浏览内容,与more类似,不过可以向前向后浏览,PageUp less -N demo.txt # 每一行行首显示行号,Q 退出,上下键每行浏览# head 显示文件的开头部分head -n 10 demo.txt # 显示前10行# tail 显示文件的末尾若干行tail -10 demo.txt # 显示最后10行tail -f demo.txt # 滚动显示文件最后内容,用于追踪文件
grep -- 强大的文本搜索工具
命令示例:
# 在多个文件中查找grep "match_pattern" file_1 file_2 file_3 ...grep 'demo' -n filename # 输出显示行号grep "text" . -r -n # 在当前目录递归显示grep -A 100 "demo" -n filename # 显示该行之后的第100行内容grep -B 100 "demo" -n filename # 显示该行之之前的第100行内容
在排查log日志问题时,经常需要使用grep定位问题,然后再查询这个问题的后200行,或者前100行内容。这样就可以准确定位出bug。
vi / vim - 功能强大的纯文本编辑器
在unix系统中最通用的全屏幕纯文本编辑器,linux系统中的vi叫做vim,是vi的增强版本,完全兼容vi。
vi有3个模式:命令模式(插入字符,移动光标),插入模式(ESC可以退回命令模式)
命令模式
vim 显示行号,或当前行号 ? 使用命令:set nu (set number) ,显示当前 :nu , 取消行号 :set nu!
移动和翻页:向上翻页(回翻页):Ctrl + B , Ctrl + U back 向下翻页(Ctrl + F ) forward ,Ctrl + D
跳转到指定行:nG ,如输入30后再输入G , 则跳转到第30行。到文件行尾:G , 到文件行首:g。
删除字符:删除当前行:dd , 删除当前光标 到行尾全部数据:D。删除多行:删除当前行和后面n-1行 :ndd。
删除光标所在行到最后一行:dG ; 删除光标到行尾所有数据:d$ ,删除光标到行首所有数据:d0。
退出和保存文件:q q! 退出 , wq wq! 保存
插入模式
进入和退出插入模式:按 i 进入,按Esc 退出插入模式 。i 在当前光标插入
第一次采用微信公众号记录,如文字和描述有误,请多多包涵。