共计 2481 个字符,预计需要花费 7 分钟才能阅读完成。
马哥教育出品最专业的 Linux 命令 大全,Linux 命令详解、Linux 命令学习、Linux 命令行与 shell 脚本编程大全、Linux 命令实例讲解。更多 Linux 命令请参见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 将文件中的内容读入模式空间
=: 为模式空间中的行打印行号
!: 模式空间中匹配行取反处理
