现在的企业有90%甚至更过是使用Linux操作系统, 所以不管是开发还是运维, 不会点Linux知识肯定是无法进入到企业里工作. 而且, 全球500强超级计算机几乎都是使用Linux操作系统, 这也是Linux操作系统实力的见证, 接下来跟大家分享几个工作中常用的Linux操作命令
命令介绍
列出目录中的子目录和文件的名称
命令参数
命令实例
ls [-参数] [目录/文件路径]
列出指定目录下所有文件和目录的详细信息, 需要注意的是 ls -l 可以简写成 ll
ls -ld 目录路径
只列出指定目录的详细信息, 而不是列出目录下的子目录和文件
命令参数
命令实例
du [-参数] [目录/文件路径]
查看目录大小, 只会展示目标目录或其子目录的大小, 而不会展示文件
查看文件大小, -a 参数可以查看目录下的文件大小,否则只会显示目录的大小
命令参数
命令实例
find [搜索目录] [-参数] [内容]
根据文件类型查找, 查找文件或者目录
根据文件名, uid, 所属用户, 文件大小查找文件
需要注意的是 -size根据大小查找文件时, 单位是K, 正数代表大于多少K的文件, 负数代表小于多少K的文件
根据文件的访问/修改时间查找文件
需要注意的是, *min命令的时间单位是分钟, *time命令的时间单位是天
无论时间单位是什么, 整数代表多长时间内, 负数代表多长时间以外
命令参数
命令实例
mkdir [-参数] [目录名]
创建多级目录
创建目录的同时, 设置目录的权限
命令介绍
cd可以使用户在不同的目录间切换,前提是用户必须拥有足够的权限进入目标目录
命令实例
cd [目标目录]
需要注意的是 两个.代表上一级目录, 斜杠/代表跟目录
命令参数
命令实例
mv [-参数] [源路径] [目标路径]
可同时移动多个文件, 并显示移动的过程
当目标路径是一个文件名, 如果目标文件不存在, 则会将文件重命名, 如果目标文件已经存在, 则源文件的内容将会覆盖目标文件的内容, 覆盖后的则回变成目标文件的名字
命令参数
命令实例
cp [-参数] [源路径] [目标路径]
复制目录, 递归复制, 目录下的所有子目录和文件将被一同复制
复制文件权限, 普通的复制文件不加 -a参数, 文件的权限可能会发生变化, 而加了 -a参数, 则可以连同文件的权限一同复制
命令参数
命令实例
rm [-参数] [目录/文件路径]
配合通配符删除文件
删除目录, 目录中通常会有很多子目录或文件, 所以删除目录需要使用 -r 参数递归删除
命令参数
命令实例
cat [-参数] [文件路径]
查看文件内容
配合管道符, 将查看到的文件内容输出到另一个文件中
管道符 >> 会将文件的内容追加到另一个文件的内容后面
管道符 > 会将文件的内容覆盖另一个文件的所有内容
tac [文件路径]
反向查看文件的内容, 常用于查看日志文件最新添加的内容
命令参数
命令实例
head [-参数] [文件路径]
查看单个文件时, 默认不显示文件名, 可以使用 -v 参数显示文件的名字
查看多个文件时, 默认显示每个文件的名字, 如果不需要文件名, 可以使用 -q 参数隐藏文件名
head命令查看文件时, 默认查看头10行内容, 可以通过 -n 参数 指定需要查看的行数
命令参数
命令实例
tail [-参数] [文件路径]
-f 参数可以实现动态查看, 按 Ctrl+c 可退出查看状态, 常用于动态查看日志文件
less [文件路径]
less 命令查看文件时, 如果文件内容超过了一页, 则会暂时折叠后面的内容, 按回车键可查看后一行的内容, 按 Ctrl+z 可退出查看模式
more [文件路径]
more 命令查看文件时, 如果文件内容超过一页, 则会暂时折叠后续的内容, 按回车键可查看下一行内容, 按空格键可查看下一页内容, 按 Ctrl+z 可退出查看模式
命令参数
命令实例
命令参数
命令实例
grep [-参数] [内容] [文件路径]
grep 'aa' a.txt -- 指定文件查找内容
grep '^a' a.txt -- 查找以a开头的内容
grep 'a$' a.txt -- 查找以a结尾的内容
grep 'aa' a.txt b.txt -- 多文件同时查找内容
grep -n 'aaa' a.txt -- 显示查询结果再源文件中位于第几行
grep -i 'aaa' a.txt -- 忽略大小写
grep -c 'aaa' a.txt -- 查询匹配的内容共有几行
grep -v 'aaa' a.txt -- 查询不包含指定内容的行
grep -w 'aaa' a.txt -- 查询全字符都匹配的行,而不是部分匹配
grep --color 'aa' a.txt -- 匹配的字符高亮显示
ls -l | grep passwd -- 配合管道符过滤内容
命令参数
命令实例
top命令可以动态查看进程, 包括CPU, 内存的使用情况等, 可以更方便的查看哪个进程占用了太多的资源, 按 Ctrl+z 可退出查看模式
kill 3517 -- 根据进程id(PID)结束进程
service [服务名] [动作]
service 命令有三个常用的动作
killall [服务名]
kiall httpd -- 关闭httpd服务
id [用户名]
如果不指定用户名, 则是查看当前登录用户的信息
users命令可以显示当前登录的用户, 以及用户所属的用户组
命令参数
命令实例
useradd [-参数] [用户名]
useradd tom -- 创建用户
su [用户名]
su 命令可以切换不同的用户, # 代表root用户, $ 代表普通用户
需要注意的是, 高级用户可直接切换低级用户, 而低级用户想要切换到高级用户则需要输入密码
命令介绍
passwd命令可以修改用户密码, 系统管理员可以通过指定用户名称来修改它管理的所有系统用户的密码, 而普通用户则只能修改自己的密码
命令参数
命令实例
修改当前登录用户的密码, 连续输入两次相同的密码即可成功修改密码
修改指定用户密码( 前提是当前登录的用户拥有足够的权限)
命令参数
命令实例
命令参数
命令实例
userdel [-参数] [用户名]
完全删除用户tom的信息
命令参数
命令实例
groupmod [-参数] [用户组名]
修改用户组 tom 的组id为666, 组名为 new_tom
命令参数
命令实例
将 用户tom 添加到 用户组tom2 中, 再将 用户tom 从 用户组tom2 中删除
命令参数
命令实例
chmod [权限] [-参数] [文件/目录名]
修改指定文件的权限
修改目录及目录下所有子目录和文件的权限, 并显示执行过程
命令参数
命令实例
chown [-参数] [用户/用户组名] [文件/目录名]
命令参数
命令实例
chgrp [-参数] [用户组名] [文件/目录名]
命令参数
命令实例
命令参数
命令实例
df [-参数]
命令参数
命令实例
free [-参数]