现在的企业有90%甚至更过是使用Linux操作系统, 所以不管是开发还是运维, 不会点Linux知识肯定是无法进入到企业里工作. 而且, 全球500强超级计算机几乎都是使用Linux操作系统, 这也是Linux操作系统实力的见证, 接下来跟大家分享几个工作中常用的Linux操作命令
目录文件相关命令
pwd 显示工作目录
显示当前所在的工作路径
ls 显示目录内容
命令介绍
列出目录中的子目录和文件的名称
命令参数
- -l 详细列表展示
- -a 显示隐藏文件
- -h 显示文件大小
- -d 显示目录本身而不是目录下的内容
命令实例
ls [-参数] [目录/文件路径] 列出指定目录下所有文件和目录的详细信息, 需要注意的是 ls -l 可以简写成 ll ls -ld 目录路径 只列出指定目录的详细信息, 而不是列出目录下的子目录和文件
du 显示目录或文件大小
命令参数
- -a 显示目录中所有文件的大小
- -b 以字节Byte 为单位显示
- -c 汇总所有目录或文件大小,于最后一行显示
- -h 显示K, M, G单位, 提高可读性
命令实例
du [-参数] [目录/文件路径] 查看目录大小, 只会展示目标目录或其子目录的大小, 而不会展示文件 查看文件大小, -a 参数可以查看目录下的文件大小,否则只会显示目录的大小
find 查找文件或目录
命令参数
- -name 根据文件或目录名查找
- -type 根据文件类型查找
- -perm 根据权限查找
- -size 根据文件大小查找
- -uid 根据用户id查找
- -user 根据所属用户查找
- -gid 根据组id查找
- -group 根据所属组查找
- -amin 根据访问时间查找( 单位分钟)
- -cmin 根据文件状态修改时间查找( 文件权限,用户等信息的修改时间)
- -mmiin 根据文件内容修改时间查找
- -atime 根据访问时间查找( 单位天)
- -ctime 根据文件状态修改时间查找( 文件权限,用户等信息的修改时间)
- -mtime 根据文件内容修改时间查找
命令实例
find [搜索目录] [-参数] [内容] 根据文件类型查找, 查找文件或者目录 根据文件名, uid, 所属用户, 文件大小查找文件 需要注意的是 -size根据大小查找文件时, 单位是K, 正数代表大于多少K的文件, 负数代表小于多少K的文件 根据文件的访问/修改时间查找文件 需要注意的是, *min命令的时间单位是分钟, *time命令的时间单位是天 无论时间单位是什么, 整数代表多长时间内, 负数代表多长时间以外
mkdir 创建目录
命令参数
- -m 创建目录的同时设置目录的权限
- -p 如果所创建的目录的上层目录尚未创建, 则一并创建上层目录
命令实例
mkdir [-参数] [目录名] 创建多级目录 创建目录的同时, 设置目录的权限
touch 创建文件
touch [文件名] 可以同时创建多个文件
cd 切换目录
命令介绍
cd可以使用户在不同的目录间切换,前提是用户必须拥有足够的权限进入目标目录
命令实例
cd [目标目录] 需要注意的是 两个.代表上一级目录, 斜杠/代表跟目录
mv 移动目录/文件
命令参数
- -f 覆盖现有的文件或目录而不是询问是否覆盖
- -v 显示命令执行过程
命令实例
mv [-参数] [源路径] [目标路径] 可同时移动多个文件, 并显示移动的过程 当目标路径是一个文件名, 如果目标文件不存在, 则会将文件重命名, 如果目标文件已经存在, 则源文件的内容将会覆盖目标文件的内容, 覆盖后的则回变成目标文件的名字
cp 复制目录/文件
命令参数
- -r 递归复制
- -a 复制文件权限
- -v 显示执行过程
命令实例
cp [-参数] [源路径] [目标路径] 复制目录, 递归复制, 目录下的所有子目录和文件将被一同复制 复制文件权限, 普通的复制文件不加 -a参数, 文件的权限可能会发生变化, 而加了 -a参数, 则可以连同文件的权限一同复制
rm 删除目录/文件
命令参数
- -f 强制删除文件或目录, 不询问
- -r 递归处理( 常用来删除文件夹)
- -v 显示删除的过程
命令实例
rm [-参数] [目录/文件路径] 配合通配符删除文件 删除目录, 目录中通常会有很多子目录或文件, 所以删除目录需要使用 -r 参数递归删除
查看文件命令
cat 查看文件内容
命令参数
- -n 显示行号
- -b 和-n相似, 但不对空行编号
- -s 将连续两行以上的空行, 转换为一行的空行
命令实例
cat [-参数] [文件路径] 查看文件内容 配合管道符, 将查看到的文件内容输出到另一个文件中 管道符 >> 会将文件的内容追加到另一个文件的内容后面 管道符 > 会将文件的内容覆盖另一个文件的所有内容
tac 反向查看
tac [文件路径] 反向查看文件的内容, 常用于查看日志文件最新添加的内容
head 显示文件头几行
命令参数
命令实例
head [-参数] [文件路径] 查看单个文件时, 默认不显示文件名, 可以使用 -v 参数显示文件的名字 查看多个文件时, 默认显示每个文件的名字, 如果不需要文件名, 可以使用 -q 参数隐藏文件名 head命令查看文件时, 默认查看头10行内容, 可以通过 -n 参数 指定需要查看的行数
tail 显示文件末尾几行
命令参数
- -n 显示的行数
- -f 动态查看
- -v 显示文件名
- -q 隐藏文件名
命令实例
tail [-参数] [文件路径] -f 参数可以实现动态查看, 按 Ctrl+c 可退出查看状态, 常用于动态查看日志文件
less 逐行查看
less [文件路径] less 命令查看文件时, 如果文件内容超过了一页, 则会暂时折叠后面的内容, 按回车键可查看后一行的内容, 按 Ctrl+z 可退出查看模式
more 逐页查看
more [文件路径] more 命令查看文件时, 如果文件内容超过一页, 则会暂时折叠后续的内容, 按回车键可查看下一行内容, 按空格键可查看下一页内容, 按 Ctrl+z 可退出查看模式
wc 统计文件数据
命令参数
- -w 值显示单词数量( 按照空格分隔)
- -l 只显示行数
- -c 只显示字节数
命令实例
wc [-参数] [文件路径]
grep 文件中查找内容
命令参数
- -c 计算符合内容的列数
- -i 忽略大小写
- -n 显示行号( 内容位于文件中的哪一行)
- -v 反向查找
- -w 只显示全字符都匹配的行
- –color 高亮显示
命令实例
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 -- 配合管道符过滤内容
进程服务相关命令
ps 查看进程
命令参数
- -e 显示所有进程
- -f 显示所有列( UID等列)
命令实例
配合管道符查看root用户的进程
top 动态查看进程
top命令可以动态查看进程, 包括CPU, 内存的使用情况等, 可以更方便的查看哪个进程占用了太多的资源, 按 Ctrl+z 可退出查看模式
kill 关闭进程
kill 3517 -- 根据进程id(PID)结束进程
service 控制服务
service [服务名] [动作] service 命令有三个常用的动作
- start 开启服务
- stop 关闭服务
- restart 重启服务
killall 关闭服务
killall [服务名]
kiall httpd -- 关闭httpd服务
用户相关命令
id 查看用户信息
id [用户名] 如果不指定用户名, 则是查看当前登录用户的信息
users 查看当前登录用户
users命令可以显示当前登录的用户, 以及用户所属的用户组
useradd 创建用户
命令参数
- -u 指定用户id
- -g 指定主组id
- -G 指定附组id
- -d 指定加目录
命令实例
useradd [-参数] [用户名]
useradd tom -- 创建用户
su 切换用户
su [用户名] su 命令可以切换不同的用户, # 代表root用户, $ 代表普通用户 需要注意的是, 高级用户可直接切换低级用户, 而低级用户想要切换到高级用户则需要输入密码
passwd 修改当前用户的密码
命令介绍
passwd命令可以修改用户密码, 系统管理员可以通过指定用户名称来修改它管理的所有系统用户的密码, 而普通用户则只能修改自己的密码
命令参数
- -l 锁定用户
- -u 解锁用户
- -n 密码最短有效期
- -x 密码最长有效期
命令实例
修改当前登录用户的密码, 连续输入两次相同的密码即可成功修改密码 修改指定用户密码( 前提是当前登录的用户拥有足够的权限)
usermod 修改用户信息
命令参数
- -u 修改用户id( uid)
- -g 修改主组
- -G 修改附加组
- -l 修改用户名
- -L 锁定账户 ( 同密码的锁定一样, 密码锁定后, 这个命令也可以解)
- -U 解锁用户
命令实例
usermod [-参数] [用户名] 修改用户的所属组
userdel 删除用户
命令参数
- -r 递归删除( 删除用户邮箱等信息)
- -f 删除用户家目录
命令实例
userdel [-参数] [用户名] 完全删除用户tom的信息
groupadd 添加组
groupadd [用户组名]
groupdel 删除组
groupdel [用户组名]
groupmod 修改组信息
命令参数
- -g 设置组id
- -o 允许组id重复
- -n 设置组名
命令实例
groupmod [-参数] [用户组名] 修改用户组 tom 的组id为666, 组名为 new_tom
groupmems 修改组成员
命令参数
命令实例
将 用户tom 添加到 用户组tom2 中, 再将 用户tom 从 用户组tom2 中删除
权限相关命令
chmod 修改文件或目录的权限
命令参数
- -f 不显示错误信息
- -R 递归处理
- -v 显示执行过程
命令实例
chmod [权限] [-参数] [文件/目录名]
修改指定文件的权限 修改目录及目录下所有子目录和文件的权限, 并显示执行过程
chown 修改文件或目录的所属用户或组
命令参数
- -f 不显示错误信息
- -R 递归处理
- -v 显示执行过程
命令实例
chown [-参数] [用户/用户组名] [文件/目录名]
修改指定文件所属用户 同时修改文件的所属用户和所属用户组
chgrp 修改文件或目录的所属组
命令参数
- -f 不显示错误信息
- -R 递归处理
- -v 显示命令执行过程
命令实例
chgrp [-参数] [用户组名] [文件/目录名]
修改文件 a.txt 的所属用户组为 root组
系统相关命令
hostname 查看主机名
命令参数
命令实例
hostname [-参数]
df 显示磁盘信息
命令参数
命令实例
df [-参数]
显示磁盘(正在挂载的设备)大小的单位,提高可读性
free 显示内存状态
命令参数
- -b 以Byte单位显示内存使用情况
- -k 以KB单位显示内存使用情况
- -m 以MB单位显示内存使用情况
- -o 不显示缓冲区调节列
- -s 动态查看内存使用情况
- -t 显示内存总和列
- -v 显示版本信息
命令实例
free [-参数]
查看内存使用情况,以MB单位显示,不显示缓冲区调节列,在最后一行显示内存总和
|