linux命令1
### Linux命令精讲:运维人员必备技能 #### 文件管理 1. **创建空白文件** 使用`touch`命令可以创建一个空白文件。如果文件已存在但为空,则此命令不会有任何提示;如果文件存在并且非空,则会更新该文件的时间戳。 2. **不提示删除非空目录** 删除非空目录时,可以使用`rm -rf 目录名`命令。其中`-r`表示递归删除,`-f`表示强制删除,即使目录非空也会直接删除,不会有提示。 3. **恢复rm删除的文件(ext3)** - **查看磁盘分区格式** 使用`df -T`命令查看磁盘的格式。 - **卸载挂载** 可以通过`umount /data/`命令来卸载挂载点。 - **恢复文件** 在ext3文件系统中,使用`ext3grep`命令可以恢复被删除的文件。例如: - `ext3grep /dev/sdb1 --ls --inode 2` - 查看文件节点(inode)信息,记录下inode编号。 - 使用inode编号执行恢复操作:`ext3grep /dev/sdb1 --restore-inode 49153` 4. **文本格式转换** - **Windows文本转Linux文本** 使用`dos2unix`命令可以将Windows格式的文本文件转换为Linux格式。 - **Linux文本转Windows文本** 使用`unix2dos`命令可以将Linux格式的文本文件转换为Windows格式。 - **编码转换** 使用`iconv`命令可以转换文件的编码格式。例如:`iconv -f gb2312 -t utf8 原.txt > 新.txt`。 5. **查看MD5值** 使用`md5sum`命令可以查看文件的MD5值。 6. **硬链接与符号连接** - **硬链接** 使用`ln`命令创建硬链接。硬链接指向同一个inode,因此删除其中一个文件,另一个仍然有效。 - **符号连接** 使用`ln -s`命令创建符号链接。符号链接包含的是源文件的路径,而不是文件本身的信息。 7. **查看文件内容** - **查看文件内容并翻页显示行号** 使用`cat | nl | less`命令可以实现查看文件内容并翻页显示行号。 - **结束状态** 使用`Ctrl + Z`组合键可以暂停当前命令的执行,然后使用`bg`命令将其放到后台运行。 - **查看文件开头内容** 使用`head`命令可以查看文件的开头内容,默认情况下显示前10行。 - **查看文件结尾内容** 使用`tail -f`命令可以持续显示文件尾部内容,直到文件发生变化或者手动停止。 8. **文件类型检查** 使用`file`命令可以检查文件的类型。 9. **文件重命名** 使用`rename`命令可以重命名文件。例如:`rename 's/oldname/newname/' file_oldname` 10. **更改文件默认权限** 使用`umask`命令可以更改文件的默认权限。例如:`umask 022`表示默认权限为rw-r--r--。 11. **排序文件内容** - **按数字排序** 使用`sort -n`命令可以对文件内容进行升序排序。 - **按数字倒序排序** 使用`sort -nr`命令可以对文件内容进行降序排序。 - **过滤重复行** 使用`sort -u`命令可以过滤文件中的重复行。 - **删除重复行** 使用`uniq`命令可以删除文件中的重复行。例如:`uniq -u`只显示非重复的行。 12. **文件合并** - **使用Tab键合并文件** 使用`paste a b`命令可以将两个文件a和b合并,中间以Tab键分隔。 - **使用指定符号合并文件** 使用`paste -d '+' a b`命令可以将两个文件a和b合并,中间以"+"符号分隔。 13. **设置文件隐藏属性** 使用`chattr`命令可以设置文件的隐藏属性。例如:`chattr +i filename`可以使文件不可更改。 14. **搜索文件** 使用`locate`命令可以快速查找文件。例如:`locate 字符串`。 15. **查看文件行数** 使用`wc -l`命令可以统计文件中的行数。 16. **实时查看目录下的文件变动** 使用`watch -d -n 1 'df; ls -FlAt /path'`命令可以实时查看某个目录下最新改动过的文件。 17. **快速备份文件** 使用`cp filename {,.bak}`命令可以快速备份文件,并将备份文件命名为`filename.bak`。 18. **配置编辑器** - **编辑器配置** 使用`gconf-editor`命令可以配置编辑器的选项。 - **Vi编辑器配置** 使用`vi /etc/vimrc`命令可以配置Vi编辑器的选项。 - **基本操作** - 打开行号:`:set nu` - 取消行号:`:set nonu` - 跳转到第200行:`200G` - 取消高亮:`:nohl` - 设置自动缩进:`:set autoindent` - 查看文本格式:`set ff` - 更改为Unix格式:`set binary` - 向前翻页:`Ctrl + U` - 向后翻页:`Ctrl + D` - 全部替换:`g/字符1/s//字符2/g` - 替换某一行中的所有字符1为字符2:`%s/字符1/字符2/g` 19. **按文件名查找** 使用`find /etc -name "http"`命令可以查找以"http"为名的文件。 20. **按文件类型查找** 使用`find . -type f`命令可以查找指定目录下的所有普通文件。 21. **按文件权限查找** 使用`find / -perm`命令可以查找具有特定权限的文件。 22. **按文件属主查找** 使用`find / -user`命令可以查找属于特定用户的文件。 23. **按文件所属的组查找** 使用`find / -group`命令可以查找属于特定用户组的文件。 24. **按文件使用时间查找** - **文件使用时间在N天以内** 使用`find / -atime -n`命令可以查找文件使用时间在N天以内的文件。 - **文件使用时间在N天以前** 使用`find / -atime +n`命令可以查找文件使用时间在N天以前的文件。 25. **按文件内容改变时间查找** - **文件内容改变时间在N天以内** 使用`find / -mtime -n`命令可以查找文件内容改变时间在N天以内的文件。 - **文件内容改变时间在N天以前** 使用`find / -mtime +n`命令可以查找文件内容改变时间在N天以前的文件。 26. **按文件状态改变时间查找** - **文件状态改变时间在N天前** 使用`find / -ctime +n`命令可以查找文件状态改变时间在N天以前的文件。 - **文件状态改变时间在N天内** 使用`find / -ctime -n`命令可以查找文件状态改变时间在N天以内的文件。 27. **查找文件长度大于1M字节的文件** 使用`find / -size +1000000c -print`命令可以查找文件长度大于1M字节的文件。 28. **按名字查找文件并传递给-exec后的命令** 使用`find /etc -name "passwd*" -exec grep`命令可以查找以"passwd"开头的文件,并对这些文件执行`grep`命令。 以上涵盖了运维人员在日常工作中经常使用的Linux命令,通过熟练掌握这些命令,可以帮助提高工作效率并解决实际问题。