2 万字系统总结,带你实现 Linux 命令自由
Linux 常用命令
命令格式:命令 [-选项] [参数]
例:ls -la /etc
Ⅰ 文件处理命令
ls
- 命令英文原意:list
- 命令所在路径:/bin/ls
- 执行权限:所有用户
- 功能描述:显示目录文件
- 语法:ls [-ald] [文件或目录]
- -a 显示所有文件,包括隐藏文件
- -l 详细信息显示(long)
- -d 查看目录属性
mkdir
- 命令英文原意:make directories
- 命令所有路径:/bin/mkdir
- 执行权限:所有用户
- 功能描述:创建新目录
- 语法:mkdir -p [目录名]
- -p 递归创建
cd
- 命令英文原意:change directory
- 命令所在路径:shell 内置命令
- 执行权限:所有用户
- 功能描述:切换目录
- 语法:cd [目录]
cp
- 命令英文原意:copy
- 命令所在路径:/bin/cp
- 执行权限:所有用户
- 功能描述:复制文件或目录
- 语法:cp -rp [原文件或目录] [目标目录]
- -r 复制目录
- -p 保留文件属性
mv
- 命令英文原意:move
- 命令所在路径:/bin/mv
- 执行权限:所有用户
- 功能描述:剪切文件、改名
- 语法:mv [原文件或目录] [目标目录]
rm
- 命令英文原意:remove
- 命令所在路径:/bin/rm
- 执行权限:所有用户
- 功能描述:删除文件
- 语法:rm -rf [文件或目录]
- -r 删除目录
- -f 强制执行
touch
- 命令所在路径:/bin/touch
- 执行权限:所有用户
- 功能描述:创建空文件
- 语法:touch [文件名]
cat
- 命令所在路径:/bin/cat
- 执行权限:所有用户
- 功能描述:显示文件内容
- 语法:cat [文件名]
- -n 显示行号
tac
- 功能描述:显示文件内容(反向列示)
more
- 命令所在路径:/bin/more
- 执行权限:所有用户
- 功能描述:分页显示文件内容
- 语法:more [文件名]
Space
或f
翻页Enter
换行q
或Q
退出
less
- 命令所在路径:/usr/bin/less
- 执行权限:所有用户
- 功能描述:分页显示文件内容(可向上翻页)
- 语法:less [文件名]
- more 命令的
Space
,f
,Enter
,q
,Q
按键功能都有 PgUp
向上翻页Up
向上翻一行/
搜索关键词n
查找下一个关键词(next)
- more 命令的
head
- 命令所在路径:/usr/bin/head
- 执行权限:所有用户
- 功能描述:显示文件前面几行
- 语法:head [文件名]
- -n 指定行数
tail
- 命令所在路径:/usr/bin/tail
- 执行权限:所有用户
- 功能描述:显示文件后面几行
- 语法:tail [文件名]
- -n 指定行数
- -f 动态显示文件末尾内容
ln
- 命令英文原意:link
- 命令所在路径:/bin/ln
- 执行权限:所有用户
- 功能描述:生成链接文件
- 语法:ln -s [原文件] [目标文件]
- -s 创建软链接(soft)
软连接特征:类似 windows 快捷方式
硬链接特征:
- 拷贝 cp -p + 同步更新
- 通过 id 识别
- 不能跨分区
- 不能针对目录使用
Ⅱ 权限管理命令
chmod
- 命令英文原意:change the permissions mode of a file
- 命令所在路径:/bin/chmod
- 执行权限:所有用户
- 功能描述:改变文件或目录权限
- 语法:chmod [{ugoa}{+-=}{rwx}] [文件或目录]
- [mod=421] [文件或目录]
- -R 递归修改
chown
- 命令英文原意:change file ownership
- 命令所在路径:/bin/chown
- 执行权限:所有用户
- 功能描述:改变文件或目录的所有者
- 语法:chown [user] [files or directories]
chgrp
- 命令英文原意:change file group ownership
- 命令所在路径:/bin/chgrp
- 执行权限:所有用户
- 功能描述:改变文件或目录的所属组
- 语法:chgrp [group] [files or directories]
umask
- 命令英文原意:the user file-creation mask
- 命令所在路径:Shell 内置命令
- 执行权限:所有用户
- 功能描述:显示、设置文件的缺省权限
- 语法:umask [-S]
- -S 以
rwx
形式显示新建文件缺省权限
- -S 以
Ⅲ 文件搜索命令
find
- 命令所在路径:/bin/find
- 执行权限:所有用户
- 功能描述:文件搜索
- 语法:find [搜索范围] [匹配条件]
- -name -iname 根据文件名搜索
- -user 根据用户搜索
- -group 根据所属组查找
- -size [+-=n] 根据文件大小查找
- -amin -cmin -mmin 根据时间搜索
- -type f 文件 d 目录 l 软连接文件 根据文件类型查找
- -inum 根据 i 节点查找
- -a -o 用于连接两个条件,分别表示 “与”、“或”
- -exec/-ok {} \; 查找后接着执行额外的操作
$ find /etc -name inittab -exec ls -l {} \;
// 在 /etc 下查找 inittab 文件并显示其详细信息
locate
- 命令所在路径:/usr/bin/locate
- 执行权限:所有用户
- 功能描述:在文件资料库中查找文件
- 语法:locate 文件名
- -i 不分大小写
which
- 命令所在路径:/usr/bin/which
- 执行权限:所有用户
- 功能描述:搜索命令所在目录及别名信息
- 语法:witch 命令
whereis
- 命令所在路径:/usr/bin/whereis
- 执行权限:所有用户
- 功能描述:搜索命令所在目录及帮助文档路径
- 语法:whereis [cmd]
grep
- 命令所在路径:/bin/grep
- 执行权限:所有用户
- 功能描述:在文件中搜寻字符串匹配的行并输出
- 语法:grep -iv [指定字符串] [文件]
- -i 不分大小写
- -v 排除指定字符串
Ⅳ 帮助命令
man
- 命令英文原意:manual
- 命令所在路径:所有用户
- 功能描述:获得帮助信息
- 语法:man [命令或配置文件]
help
- 命令所在路径:Shell 内置命令
- 执行权限:所有用户
- 功能描述:获得 Shell 内置命令的帮助信息
- 语法:help 命令
另外,还可以使用 whatis
和 apropos
命令分别查看命令信息和配置文件信息。
Ⅴ 用户管理命令
useradd
- 命令所在路径:/usr/sbin/useradd
- 执行权限:root
- 功能描述:添加新用户
- 语法:useradd [username]
passwd
- 命令所在路径:/usr/bin/passwd
- 执行权限:所有用户
- 功能描述:设置用户密码
- 语法:passwd [username]
w
- 命令所在路径:/usr/bin/w
- 执行权限:所有用户
- 功能描述:查看登录用户详细信息
- 语法:w
Ⅵ 压缩解压命令
gzip
- 命令英文原意:GNU zip
- 命令所在路径:/bin/gzip
- 执行权限:所有用户
- 功能描述:压缩文件
- 压缩后文件格式:.gz
- 语法:gzip [file]
gunzip
- 命令英文原意:GNU unzip
- 命令所在路径:/bin/gunzip
- 执行权限:所有用户
- 功能描述:解压缩 .gz 的压缩文件
- 语法:gunzip [.gz file]
tar
- 命令所在路径:/bin/tar
- 执行权限:所有用户
- 功能描述:打包目录
- 压缩后文件格式:.tar.gz
- 语法:tar [-zcf] [压缩后文件名] [目录]
- -c 打包
- -x 解包
- -v 显示详细信息
- -f 指定文件名
- -z 压缩或解压缩,视打包还是解包而定
zip
- 命令所在路径:/usr/bin/zip
- 执行权限:所有用户
- 功能描述:压缩文件或目录
- 压缩后文件格式:.zip
- 语法:zip [-r] [压缩后文件名] [文件或目录]
- -r 压缩目录
unzip
- 命令所在目录:/usr/bin/unzip
- 执行权限:所有用户
- 功能描述:解压 .zip 的压缩文件
- 语法:unzip [.zip file]
bzip2
- 命令所在路径:/usr/bin/bzip2
- 执行权限:所有用户
- 功能描述:压缩文件
- 压缩后文件格式:.bz2
- 语法:bzip2 [-k] [file]
- -k 产生压缩文件后保留原文件
- 范例:
- $ bzip2 -k girl
- $ tar -cjf Japan.tar.bz2 Japan
bunzip2
- 命令所在路径:/usr/bin/bunzip2
- 执行权限:所有用户
- 功能描述:解压缩
- 语法:bunzip2 [-k] [.bz2 file]
- -k 解压缩后保留原文件(keep)
- 范例:
- $ bunzip2 -k Japan.bz2
- tar -xjf Japan.tar.bz2
Ⅶ 网络命令
write
- 指令所在路径:/usr/bin/write
- 执行权限:所有用户
- 功能描述:给用户发信息,以 Ctrl+D 保存结束
- 语法:write <username>
- 范例:$ write lazzarone
wall
- 命令英文原意:write all
- 命令所在路径:/usr/bin/wall
- 执行权限:所有用户
- 功能描述:发广播信息
- 语法:wall [message]
- 范例:$ wall Hello, everyone!
ping
- 命令所在路径:/bin/ping
- 执行权限:所有用户
- 功能描述:测试网络连通性
- 语法:ping [-options] IP Address
- -c 指定发送次数
- 范例:$ ping 192.168.31.40
ifconfig
- 命令英文原意:interface configure
- 命令所在路径:/sbin/ifconfig
- 执行权限:root
- 功能描述:查看和设置网卡信息
- 语法:ifconfig 网卡名称 IP地址
- 范例:$ ifconfig eth0 192.168.8.250
- 命令所在路径:/bin/mail
- 执行权限:所有用户
- 功能描述:查看发送电子邮件
- 语法:mail [username]
- 范例:$ mail root
last
- 命令所在路径:/usr/bin/last
- 执行权限:所有用户
- 功能描述:列出目前与过去登入系统的用户信息
- 语法:last
- 范例:$ last
lastlog
- 命令所在路径:/usr/bin/lastlog
- 执行权限:所有用户
- 功能描述:检查某特定用户上次登录的时间
- 语法:lastlog
- 范例:$ lastlog -u 502
traceroute
- 命令所在路径:/bin/traceroute
- 执行权限:所有用户
- 功能描述:显示数据包到主机间的路径
- 语法:traceroute
- 范例:$ traceroute www.google.com
netstat
- 命令所在路径:/bin/netstat
- 执行权限:所有用户
- 功能描述:显示网络相关信息
- 语法:netstat [-options]
- -t TCP 协议
- -u UDP 协议
- -l 监听
- -r 路由
- -n 显示 IP 地址和端口号
- 范例:
- $ netstat -tlun 查看本机监听的端口
- $ netstat -an 查看本机所有的网络连接
- $ netstat -rn 查看本机路由表
setup
- 命令所在路径:/usr/bin/setup
- 执行权限:root
- 功能描述:配置网络(Red hat 才有这个命令)
- 语法:setup
mount
- 命令位置:/bin/mount
- 执行权限:所有用户
- 命令语法:mount [-t 文件系统] 设备文件名 挂载点
- 范例:$ mount -t iso9660 /dev/sr0/mnt/cdrom
Ⅷ 关机重启命令
shutdown
- 命令语法:shutdown [-options] [time]
- -c 取消前一个关机命令
- -h 关机
- -r 重启
其它一些关机命令:
- $ poweroff
- $ halt
- $ init 0
reboot
- 语法:reboot
还可以用:
- $ init 6
init
通过前面的开关机命令的介绍,可以看到,开关机都可以用 init
命令,关机是 init 0
, 重启是 init 6
. 那么,后面这个数字是什么意思呢?系统运行级别:
- 0 关机
- 1 单用户
- 2 不完全多用户,不含 NFS 服务
- 3 完全多用户
- 4 未分配
- 5 图形界面
- 6 重启
runlevel
- 功能描述:查询系统运行级别
- 语法:runlevel
Linux 软件包管理
简介
1. 软件包分类
源码包
是用字母数字和符号写的。
二进制包
由 0 和 1 构成。(RPM 包、系统默认包)
ACL 权限
ACL 权限简介与开启
- 涉及命令:
setfacl
,getfacl
- 命令功能:针对一个目录或文件,除了所属者、所属组、其他以外,如果还有新的角色或是新的组,需要独立设置权限,就可以使用
setfacl
命令
需要回顾一下:
- 目录的读、写、执行权限如何理解?
- 文件的读、写、执行权限如何理解?
File System
partprobe
- 命令功能:重读分区表信息
mkfs
- 命令功能:格式化分区
- 命令语法:mkfs [-options] [dev]
- 范例:$ mkfs -t ext4 /dev/sdb1
/etc/fstab 文件
- 文件作用:自动挂载配置
- 字段解释:
- 第一字段:分区设备文件名或 UUID
- 第二字段:挂载点
- 第三字段:文件系统名称
- 第四字段:挂载参数
- 第五字段:指定分区是否被 dump 备份,0 代表不备份,1 代表每天备份,2 代表不定期备份
- 第六字段:指定分区是否被 fsck 检测,0 代表不检测,其他数字代表检测的优先级,那么当然 1 的优先级比 2 高
/etc/fstab 文件修复
如果在 fstab 文件写入时写错了,开机可能就会报错,这时会发现 fstab 文件不能再修改了,于是,可以用重新挂载的方法让 fstab 文件又可以修改:
$ mount -o remount,rw /
Shell 基础
history
- 命令功能:查看之前执行过的命令
- 相关文件:.bash_history
- 语法:history
!
感叹号的妙用
!n
执行第 n 条历史命令!!
执行上一条命令!字串
执行最后一条以该字串开头的命令
tab
键补全命令
输入命令开头几个字母,tab
键就可以补全命令;如果以输入的字母开头的命令有多个,按两下 tab
键就会列出以该字串开头的所有命令。
命令执行顺序
- 第一顺位执行用绝对路径或相对路径执行的命令;
- 第二顺序执行别名;
- 第三顺序执行 Bash 的内部命令;
- 第四顺序执行按照 $PATH 环境变量定义的目录查找顺序找到的第一个命令。
Bash 常用快捷键
Keys | utility |
---|---|
ctrl+c | 强制终止当前的命令 |
ctrl+l | 清屏,相当于 clear 命令 |
ctrl+u | 删除或剪切光标之前的命令 |
ctrl+y | 粘贴 ctrl+u 或 ctrl+k 剪切的内容 |
ctrl+r | 在历史命令中搜索,按下 ctrl+r 之后,就会出现搜索界面,输入搜索内容,就会从历史命令中搜索 |
ctrl+d | 退出当前终端 |
输入输出重定向
标准输入输出
设备 | 设备文件名 | 文件描述符 | 类型 |
---|---|---|---|
键盘 | /dev/stdin | 0 | 标准输入 |
显示器 | /dev/stdout | 1 | 标准输出 |
显示器 | /dev/stderr | 2 | 标准错误输出 |
输出重定向
- 作用:以覆盖的方式,把命令的正确输出定向到指定的文件或设备中。
- 符号:
- 命令 > 文件(覆盖)
- 命令 >> 文件(追加)
- 命令 2>> 文件(输出命令的错误信息)
- 命令 &> 文件(把正确错误输出都保存到指定文件)
- 命令 >> 文件1 2>> 文件2(把正确的输出与错误分开保存)
输入重定向
- 命令名称:wc
- 命令功能:可以把指定文件的内容作为输入
- 命令语法:wc < file
- 范例:$ wc < ~/profile
多命令顺序执行
多命令只执行符 | 格式 | 作用 |
---|---|---|
; | 命令1 : 命令2 | 多个命令顺序执行,命令之间没有任何逻辑联系 |
&& | 命令1 && 命令2 | 逻辑与当命令1正确执行,则命令2才会执行当命令1执行不正确,则命令2不会执行 |
|| | 命令1 || 命令2 | 逻辑或当命令1执行不正确,则命令2才会执行当 命令1正确执行,则命令2不会执行 |
例子:
$ ls ; date ; cd /user ; pwd
管道符
- 命令格式:命令 1 | 命令 2
- 命令功能:命令 1 的正确输出,作为命令 2 的操作对象
- 例子:
- $ ll -a /etc/ | more
- $ netstat -an | grep “ESTABLISHED”
grep
- grep
- 命令格式:grep [-options] “keyword” filename
- options:
- -i 忽略大小写
- -n 输出行号
- -v 反向查找
- –color=auto 搜索出的关键字用颜色显示
篇幅太长,获取剩下部分请点击浏览:红帽认证👉技术资料
想了解更多干货,可通过下方扫码关注
可扫码添加上智启元官方客服微信👇
Your blog has rapidly become my preferred place for inspiration. I sincerely appreciate for sharing your thoughts.
I love how your posts always leave me motivated and inspired.