当前位置: 首页 > news >正文

99%运维人都需要的Linux命令大全


1登陆和开关机


关机

halt

poweroff

init 0

重启

reboot

init 6

shutdown

shutdown -r 重启

shutodwn -h 关机

shutdown -c 取消计划关机

shutdown +0 马上关机

+1 一分钟后关机

-X X分钟后关机

20:00 今天20:00关机

whoami 显示当前的登录用户名

who am i 显示当前的登录用户名 终端名 登录时间

who 显示当前所有的登录用户名 终端名 登录时间

w 显示当前所有的登录用户名 终端名 登录时间 登录的来源 当前在做什么


2.切换用户与当前工作目录


su – 用户名 切换用户,并切换至用户家目录

su 用户名 非登陆切换用户

cd 相对或者绝对路径 进入目录

-P 如果目标目录是个软链接目录,则直接进入其源始目录

.. 进入上一级目录

cd 进入家目录

cd ~或直接 cd 进入家目录

cd – 进入上一次的工作目录

pwd 获取当前目录路径


3.基本常用命令


date 获取系统时间

date -s “2018-1-20 13:50:11” 设置系统时间

hwclock 或 clock 获取原子时间

-s 将硬时间写入软时间。

-w 将软时间写入硬时间。

cal 获取日历

history 获取命令的历史记录

hostname 获取主机名

中断命令

ctrl+C 强制中断

ctrl+d 正常中断


4.帮助命令文档查询


type 用来判断命令的类型

enable 管理显示内部命令

enable command 禁用内部命令

enable -n command 激活已禁用的内部命令

help 内部命令

外部命令 –help

查看指定命令的帮助信息

whereis command 查看命令的路径(外部命令)和 帮助文档的路径

which command 查看命令路径

man 检索命令帮助文档

5.文件查询


ls 列出目录的内容

ls 列出目录的内容

-a 列出所有文件(包含隐藏文件)

-A 列出所有文件(包含隐藏文件但不包含.和..)

-l 长列出(即显示属性信息)

-R 递归

-ld 查看指定目录的属性

-1 竖显示

stat 文件名

查看一个文件的详细属性,包括三个时间戳。

file 文件路径 判断文件的类型

-b 只显示辨识结果,不显示文件名

-f 文件路径 根据文件内容,将其中的文件分别辨识

cat 文件名 查看文件内容

vim 文件名 查看并编辑文件


6,新建文件, 移动、复制、删除文件


touch newfile 创建空文件

touch oldfile 更新文件的三个时间戳

touch -a oldfile 更新文件的atime和ctime

touch -m oldfile 更新文件的mtime和ctime

touch -t 201802122021.59 fstab

touch -c newfile 若文件存在则更新时间戳,若不存在不创建

mkdir

-p 一次性创建多级目录,无论父级目录是否存在。

-v 创建时显示信息

-m mode 创建时直接指定权限

rmdir 删除空目

cp src dst 被复制文件路径 新文件或被覆盖文件路径

-i 覆盖时提示

-r 递归,可复制目录

–preserv=mode 权限不变

–preserv=owner 权限及所属关系不变

–preserv=timestamp 时间不变

–preserv=all 以上全变

-p 等于 –preserv=mode,owner,timestamp 复制时保留权限,时间不变

-d 复制软链接

-v 显示复制过程

-a 以上全部

-f 当dst已存在,但当前用户对其没有w权限,导致无法直接覆盖,如果当前用户对所在目录有wx权限,即可创建和删除文件,那么,加上-f后,会先删除文件,再创建新文件,最后再填充内容与src一致。

mv src dst

若dst不存在,则改名。

-i 若dst已存在,则询问是否覆盖

-f 抵消掉-i的作用,直接覆盖,不询问

rm 删除

rm 文件名

-i 询问是否删除

-f 抵消掉-i的作用,直接删除,不询问

-r 递归,删除目录

ls |xargs rm -rf 当删除的文件数量过多,超过了所支持的参数数量上限时可配合管道及xargs来删除。

–no-preserve-root


7.文本处理命令


tr

[set1] [set2 将set1转换成set2,set1的位数多于set2时,多出的位数全转成 set2的最后一位,如tr abcd ef 即a转成e,bcd均转成f

-d [set1] 删除set1的字符

-c [set1] [set2 除了set1以外的剩下其他字符都转换set2(换行符也会被转)

-cd [set1] 删除除set1以外的字符

-s [set1] 将连续重复的字符转为一个

cut -d分隔符(只能是单个字符) -f取哪一列 文件名

-output-delimiter=分隔符 表示输出的分隔符。默认为原文件分隔符

-fn,m 或 -fn-m

-cn,m 或 -cn,m -cn

sort

-t分隔符

-k以分隔符的第几列排序

-n以数字方式排序

-r倒序排列

-u去除重复项

-f忽略大小写

uniq 去重

uniq 去除连续的重复行,仅保留一行

-u 去除连续的重复行,不保留

-d 仅显示重复的行,去除不重复的行

-c 显示的结果前显示重复的次数


8.正则表达式grep 和 sed


grep

–color=auto 关键字高亮显示

-v 反选

-n 显示行号

-c 显示匹配行的数量

-i 忽略大小写

-q 静默

-A n 显示关键字及其下n行

-B n 显示关键字及其上n行

-C n 显示关键字及其上下n行

-e:实现多个选项间的逻辑or关系

-w:匹配整个单词

-E 或 egrep 使用扩展正则

-F 或 fgrep 不使用正则

sed

-i 更改原文件

-i.bak 在更改前将原文件备份为.bak

-n 不打印

-e 多模式

-f sed.txt 指定scripts的文件

-r 指定扩展正则

p打印

d删除

a在指定行后增加

i在指定行前增加

c替换指定行

w将模式空间的行写入指定文件

r将文件中的内容读入模式空间

=: 为模式空间中的行打印行号

!:模式空间中匹配行取反处理

作者:马哥Linux运维学员daishitong

相关文章:

  • 群发邮件功能的完善
  • VHDL——4层电梯系统设计
  • sql注入——避开过滤
  • oracle 截取字符串
  • C# 延时函数
  • MongoDB 学习笔记之 $or与索引关系
  • AS3 角度算法与实现
  • iText pdf 中文问题
  • 项目实战之集成邮件开发
  • 初中毕业水平,英语自学也能达到高级口译的水平(原创)
  • CISCO路由器配置总结(八)
  • postman 简单教程-实现简单的接口测试
  • UNIX中C语言的管道
  • BREW SDK 九大功能之其他服务
  • nodejs调试方法
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • javascript从右向左截取指定位数字符的3种方法
  • Leetcode 27 Remove Element
  • mysql常用命令汇总
  • npx命令介绍
  • uni-app项目数字滚动
  • Vue 2.3、2.4 知识点小结
  • Web设计流程优化:网页效果图设计新思路
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 算法之不定期更新(一)(2018-04-12)
  • 我有几个粽子,和一个故事
  • 赢得Docker挑战最佳实践
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​linux启动进程的方式
  • ​决定德拉瓦州地区版图的关键历史事件
  • ​批处理文件中的errorlevel用法
  • (3)选择元素——(17)练习(Exercises)
  • (Note)C++中的继承方式
  • (接口封装)
  • (十八)SpringBoot之发送QQ邮件
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (转)德国人的记事本
  • (轉)JSON.stringify 语法实例讲解
  • . NET自动找可写目录
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net core 依赖注入的基本用发
  • .net 受管制代码
  • .NET/C# 的字符串暂存池
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • @Responsebody与@RequestBody
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • @我的前任是个极品 微博分析
  • [ solr入门 ] - 利用solrJ进行检索