# Linux 常用命令
command [-options] [parameter] |
简化命令用 - 完整命令用 --
# 目录处理命令:ls
命令英文原意:list
命令所在路径:/bin/ls
语法:ls 选项 [-ald] [文件或目录]
-a # 显示所有文件,包括隐藏文件
-l # 详细信息显示
-d # 查看目录属性
-rw-r—r—
- 文件类型(- 二进制文件 d 目录 l 软链接文件)
rw- r— r—(每 3 个为一组)
u 所有者 g 所属组 o 其他人
r 读 w 写 x 执行
# 目录处理命令:mkdir
命令英文原意:make directories
命令所在路径:/bin/mkdir
语法: mkdir -p [目录名]
功能描述:创建新目录 -p 递归创建
# 目录处理命令:rmdir
命令英文原意:remove empty directories
命令所在路径:/bin/rmdir
语法:rmdir [目录名]
功能描述:删除空目录
# 文件 / 目录处理命令:cp
命令英文原意:copy
命令所在路径:/bin/cp
语法:cp -rp [原文件或目录] [目标目录]
-r # 复制目录
-p # 保留文件属性
功能描述:复制文件或目录
# 文件 / 目录处理命令:mv
命令英文原意:move
命令所在路径:/bin/mv
语法:mv [原文件或目录] [目标目录]
功能描述:剪切文件、改名
# 文件 / 目录处理命令:rm
命令英文原意:remove
命令所在路径:/bin/rm
语法:rm -rf [文件或目录]
-r # 删除目录
-f # 强制执行
功能描述:删除文件
# 删除当前目录下的所有文件 | |
rm -rf * |
# 文件处理命令:touch
语法:touch [文件名]
功能描述:创建空文件
🍓:)为什么创建文件会是 touch 呢?touch 的作用本来不是创建文件,而是将指定文件的修改事件设置为当前时间。就是假装 “碰”(touch)了一下这个文件,假装文件被修改了,于是文件的修改时间就被设置为了当前时间。这带来了一个副作用,就是当 touch 一个不存在的文件的时候,它会创建这个文件。然后,由于 touch 已经可以完成创建文件的功能了,就不再需要一个单独的命令了。
# 文件处理命令:echo
语法:echo “string” > 指定文件的文件名
功能描述:将字符串内容 写入到文件中
# 文件处理命令:cat
语法:cat {文件名]
功能描述:显示文件内容
- -n # 显示行号
# 文件处理命令:more
语法:more [文件名]
(空格)或 f 翻页
(Enter) 换行
q 或 Q 退出
功能描述:分页显示文件内容
# 文件处理命令:less
语法:less [文件命令]
功能描述:分页显示文件内容(可向上翻页)
# 文件处理命令:head
语法:head [文件名]
功能描述:显示文件前面几行
-n # 指定行数
-f # 动态显示文件末尾内容
文件处理命令:tail
语法:tail [文件名]
功能描述:显示文件后面几行
-n # 指定行数
-f # 动态显示文件末尾内容
# 查看当前目录路径命令:pwd
# 链接命令:ln
软链接:ln -s 相当于一个快捷方式
硬链接:ln 可以和原文件同步更新,但是不会同步删除,可以理解为实时的备份
硬链接会共享同一个 inode,但是软连接和复制不会
硬链接不能跨分区,但是软链接可以
不允许将硬链接指向目录,但是软链接可以
目录与文件不一样,对目录的读、写、执行权限需要这样理解:
r:可以列出目录中的内容
w:可以在目录中创建、删除文件
x:可以进入目录
在 Linux 当中任何新建的文件都会默认把可执行权限去掉(也就是 x)
# 权限更改命令:chmod 、chown、chgrp、umask
# 文件搜索命令:find(基本的文件搜索命令)
-a # 两个条件同时满足
-o # 两个条件满足任意一个即可
语法:find [搜索范围] [匹配条件]
-name 按名字搜索
* 可以匹配任意字符,? 可以匹配单个字符
-iname 不区分大小写按名字搜索
-size 根据文件数据块大小来查找
+n 大于 -n 小于 n 等于
1 个数据块 = 512 字节 = 0.5KB
-user 根据所有者来查找
-group 根据所属组来查找
-amin 访问时间 access
-cmin 文件属性 change
-mmin 文件内容 modify
-type 根据文件类型查找
f 文件 d 目录 l 软链接文件
-inum 根据 i 节点查找
$find /etc -name inittab -exec ls -l {} \; |
在 /etc 下查找 inittab 文件并显示其详细信息
-exec/ok 命令 {}; 对搜索结果执行操作,ok 多了询问环节
# 文件搜索命令:locate(搜索效率高)
原理:建立了一个文件资料库,定期进行更新,查找文件时直接在资料库中进行查找。
updatedb 命名可以对文件资料库进行更新。
有些文件并不会被收录到文件资料库当中,例如 /tmp 目录中的文件。
- -i # 查找时不区分大小写
# 命令搜索命令:
which(查找命令文件的位置)
whereis(多了一个命令帮助文件的位置)
# 文件搜索命令:grep(在文件中搜寻字串皮匹配的行并输出)
-i # 不区分大小写
-v # 排除指定字串所在的行
# 帮助命令:man(查看命令或者配置文件的帮助信息)
不需要写绝对路径
如果看到 man1,表示的是命令的帮助;
如果看到 man5,表示的是配置文件的帮助
一个字符串若既有命令也有配置文件,则会优先显示命令的帮助文档,若想查看配置文件帮助,可以用 man 5 [配置文件名]
操作键 | 功能 |
---|---|
空格键 | 显示手册页的下一屏 |
Enter 键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
/word | 搜索 word 字符串 |
# 帮助命令:help(查看 Shell 内置命令的帮助信息,如:cd、umask)
# 用户管理命令:useradd(添加新用户)
# 用户管理命令:passwd(设置用户的密码)
# 查看用户信息命令:who
# 查看用户详细的登录信息:w
# 压缩文件命令:gzip(将目标文件压缩为.gz 格式的文件)
注意:只能压缩文件,不可以压缩目录
压缩完之后不存在原文件
# 压缩文件命令:bzip2(在 gzip 的基础上增加了保留原文件选项)
语法:bzip2 选项 [-k] [文件]
- -k # 产生压缩文件后保留源文件
压缩后文件格式:.bz2
# 解压缩文件命令:bunzip2
# 解压文件命令:gunzip(解压缩.gz 格式的压缩文件)
# 压缩解压文件命令:tar(打包或解压目录)
压缩语法:tar 选项 [-zcf] [压缩后的文件名] [目录]
-c 打包
-v 显示详细信息
-f 指定文件名
-z 打包同时 gzip 压缩
-j 按 bzip2 的方式压缩
压缩后文件格式:.tar.gz
打包或压缩后文件依旧存在
解压缩语法:
-x 解包
-v 显示详细信息
-f 指定解压文件
-z 按 gunzip 的方式解压缩
-j 按 bunzip2 的方式解压缩
# 解压命令:zip(压缩文件或目录,压缩比不高)
语法:
zip 选项 [-r] [压缩后文件名] [文件或目录]
- -r 压缩目录
压缩后文件格式:.zip
压缩后保留原文件
# 解压命令:unzip(解压.zip 的压缩文件)
# 网络命令:write
语法:write <用户名>
功能描述:给在线用户发信息,以 Ctrl+D 保存结束
# 网络命令:wall
语法:wall [message]
功能描述:发广播消息
# 网络命令:ping
语法:ping [选项] [IP 地址]
功能描述:测试网路连通性
# 网络命令:ifconfig
语法:ifconfig [网卡名称 IP 地址]
功能描述:查看和设置网卡信息
# 网络命令:mail
语法:mail [用户名]
功能描述:查看发送电子邮箱
# 网络命令:last
语法:last
功能描述:列出目前与过去登陆系统的用户信息
# 网络命令:lastlog
语法:lastlog
功能描述:检查某特定用户上次登录的时间
# 网络命令:traceroute
语法:traceroute
功能描述:显示数据包到主机间的路径
# 网络命令:netstat
语法:netstat [选项]
功能描述:显示网络相关信息
选项:
-t:TCP 协议
-u:UDP 协议
-l:监听
-r:路由
-n:显示 IP 地址和端口号
# 挂载命令:mount
语法:mount [-t 文件系统] 设备文件名 挂载点
# 关机重启命令:shutdown
语法:shutdown [选项] 时间
-c 取消前一个关机命令
-h 关机
-r 重启
其他关机命令:
halt
poweroff
init 0
其他重启命令:
reboot
init 6
系统运行级别?
0 关机 1 单用户 2 不完全单用户,不含 NFS 服务 3 完全多用户 4 未分配 5 图形界面 6 重启
runlevel 查询系统运行级别