bash特性
tab键补全
1.命令补全
2.选项补全
3.参数补全
快捷键
Ctrl + c 终止当前的操作
Ctrl + d 退出当前所登入的用户
Ctrl + l 清屏
Ctrl + a 将当前光标所在位置移动到命令行的行首
Ctrl + e 将当前光标所在位置移动到命令行的行尾
Ctrl + u 删除当前光标所在位置之前的所有字符
Ctrl + k 删除当前光标所在位置之后的所有字符
Ctrl + y 粘贴剪切板上的内容
Ctrl + w 删除当前光标所在位置向前的一组字符串
Ctrl + 方向键 向左或向右移动一组字符串
delete 从前往后删除一个字符
Ctrl + r 搜索历史命令
Ctrl + z 把当前的任务放到后台运行
Ctrl + s 锁屏
Ctrl + q 解锁
esc + . 使用上一条命令的最后的参数
!! 执行上一条命令
! + 命令 执行最近的一次以命令开头的命令
历史记录history
选项:
-c 清空所有的历史命令
-d 指定删除历史命令,id
-w 命令写入到文件(.bash_history)
别名
alias 别名='命令' 设置别名(等号两边不能有空格)
unalias 别名 取消别名
查看系统自带的别名
alias
查看命令帮助信息
man 查看命令的详细帮助
help 查看内置命令的帮助信息,help+回车 直接查看所有的内置命令
-h,--help 使用选项查看帮助信息
info 显示命令的帮助信息(不全,内容不详细)
网站命令帮助
http://man.linuxde.net
http://liunx.web3.xin
http://linux.51yip.com
关机和重启的命令
关机
shutdown 既能关机又能重启
shutdown -h 0/now 立刻关机
shutdown -h 5 5分钟后关机(以分钟为级别)
shutdown -h 11:00 定时关机(11点整关机)
shutdown -c 取消关机命令
poweroff 关机命令
halt 关机,只会关闭系统,不会关闭电源
halt -p 关机和关闭电源
init 切换运行级别(0~6个级别)
init 0 关机
重启
shutdown -r 0/now 立刻重启
shutdown -r 2 两分钟后重启(以分钟为级别)
shutdown -r 11:00 定时重启(11点整重启)
reboot 重启
init 6 重启
注销
logout 注销,不能退出非登入式shell
ctrl + d 快捷键注销
exit 退出当前用户
显示ip地址的命令
ip a 显示全部ip地址(a->address)
ip a s eth0(网卡名) 单独查看一个网卡ip地址(s->show)
ifconfig 查看所有ip地址
ifconfig eth0(网卡名) 单独查看一个网卡ip地址
hostname -i mac地址和ip地址
hostname -I ip地址
hostname 显示主机名
文件管理
目录结构
一切以根为顶点的目录
/bin 普通命令的目录
/usr/bin
/sbin 超级管理员所使用的命令目录
/usr/sbin
/boot 引导目录
/dev 设备目录
/dev/cdrom sr0 光驱,光盘
/dev/random 产生随机数
/dev/zero 源源不断产生数据
/dev/pts 虚拟终端
/dev/sd* 磁盘分区
/dev/stderr 错误输出 2表示
/dev/stdin 标准输入 0表示
/dev/stdout 标准输出 1表示
/dev/null 黑洞(所有数据放进去就找不到了)
/etc 配置文件
/etc/sysconfig/network-scripts/ifcfg-eth* 网卡配置文件
/etc/hostname 主机名配置文件
/etc/resolv.conf 本地的dns配置文件
/etc/fstab 挂载设备配置文件
/etc/sysconfig/selinux 安全策略
/etc/motd 登入系统前显示的内容
/etc/hosts 本地域名解析的文件
/home 所有普通用户的家目录
/root 超级管理员的家目录
/lib 库文件 32位
/lib64 库文件 64位
lib -> usr/lib
lib64 -> usr/lib64
/media 挂载点,可移动的设备
/mnt 临时挂载点
/opt 早期第三方的软件安装目录
/proc 虚拟的信息,存放系统实时状态信息
/run 程序运行产生的pid文件存放点
/srv 物理设备的信息
/sys 物理设备
/tmp 文件的临时存放点
/usr 安装软件目录
/usr/local
/var 可变的目录
/var/run pid文件
/var/log 日志
/var/log/messages 系统日志
/var/log/secure 用户登入日志
路径定位
linux中一个点和两个点是什么意思?
. 表示当前目录
.. 当前目录的上一级目录
什么是绝对路径,什么是相对路劲?
以根(/)为开头的路径就是绝对路径,以~开头的也是
不是以根为开头的路径就是相对路劲
文件管理的基础命令
cd 切换目录
cd / 切换到根目录
cd . 保持当前目录
cd .. 切换到当前目录上一级目录
cd ~ 切换到当前用户的家目录下
cd 切换到当前用户的家目录下
cd - 切换到上一次所在的目录
pwd 显示当前所在位置信息
tree 以树状形显示目录结构
tree -a 显示隐藏文件
tree -d 只显示mulu
tree -f 只显示文件
tree -F 给目录加个标识符
tree -L 查看目录的深度,层级,后面跟的正整数
ls 显示目录列表
ll 显示详细信息
ls -a 显示所有文件(包括隐藏文件)
ls -l 以长格式显示目录列表(带属性信息)
ls -d 只显示目录本身信息
ls -i 显示inode号
ls -h 以人类可读的形式显示文件大小
ls -F 给显示的目录加个根(/)
ls -S 根据文件大小排序
ls -t 根据时间进行排序
ls -r 倒叙排序
ls -1 显示列表(竖着排列)
mkdir 创建目录
mkdir -p 递归创建
mkdir -v 显示创建过程
mkdir -m 创建给目录设置其他权限
mkdir {} 生成序列,创建多个
mkdir old{json,tank,egon}
mkdir old{01..10}
mkdir old{a..z}
touch 创建文件
在一个路径下,不能出现同名的文件,会改变原文件的时间戳(可以用引号加空格生成看上去同名的,'a ')
使用{}创建多个文件,区分大小写
cp 复制,拷贝
cp -r 递归复制
cp -p 保持属性
cp -d 保持软链接
cp -t 把原目标和目标位置进行替换
cp -a =rpd
cp -i 交互式询问,系统自带别名
mv 移动
mv -f 强制覆盖
mv -t 把原目标和目标位置进行替换
mv -i 交互式询问,系统自带别名
mv 文件名 文件名 改文件名
rm 删除
rm -f 强制删除
rm -r 递归删除
rm -i 交互式询问,系统自带别名
别名
alias rm='echo rm command cannot use'
查看文件命令
echo 所见即所得
echo -e 支持特殊符号的含义(\n 换行符,\t tab键)
echo '' 强引用,所见即所得
echo "" 所见即所得,支持变量(会解析变量)
echo 不加引号 所见即所得,出现空格不会看做是一个整体,会解析变量,支持通配符
echo 反引号 先执行反引号里面的命令,把结果交给外面的命令,和$()作用一样
echo命令可以创建文件,也可以写入内容到文件中
echo hello world >oldboy.txt 将hello world写入oldboy.txt文件中(覆盖写入,>>追加写入)
cat 查看文件内容
cat -n 给显示出来的内容加上行号
cat -A 给每行的结尾加上标识符($)
使用cat创建一个新文件,可以写入内容
cat >oldboy.sh<<EOF
>oldboy
>egon
>EOF
cat >>oldboy.sh<<"EOF"
>oldboy
>egon
>$json
>EOF
more 分页显示文件内容
more -n 指定一页显示多少行
more +n 指定从第几行开始显示
内部命令
空格或f 向下翻页
b 向上翻页
回车 下一行
/ 搜索
= 显示当前光标所在行
q 退出
less 分页显示文件内容,文件结束时,不会自动退出
less -N 显示的时候加上行号
内部命令
空格或f 向下翻页
b 向上翻页
回车 下一行
/ 搜索,会高亮显示,n向下查找,N向上查找
= 显示当前光标所在页,第几行到第几行,会显示字节大小
q 退出
head 显示文件头部信息,默认显示前10行内容
head -n 数字 取消默认输出,指定显示几行
head -数字 指定显示文件头部几行信息
head -c 显示头部几个字符
tail 显示文件尾部信息,默认显示前10行内容
tail -n 数字 取消默认输出,指定显示几行
tail -数字 指定显示文件尾部几行信息
tail -c 显示尾部几个字符,最后一个是换行符
tail -f 实时查看文件的更新
tail -F 实时查看文件的更新,文件不存在时,不会退出,会一直尝试读取该文件
tailf 实时查看文件的更新,在磁盘不更新时,不会读取磁盘,减少磁盘的读写
grep 文本处理工具,过滤内容,并高亮显示
grep -i 忽略大小写
grep -v 排除
grep -n 给过滤出来的内容加上所在文件中的行号
grep -c 统计过滤出来的内容总归几行
grep -w 精确匹配,只过滤要过滤出来的字符,而不是包含该字符的内容
grep -o 只显示过滤出来的内容
grep -E 支持使用扩展正则
grep -A n 匹配过滤的内容,再向下匹配n行
grep -B n 匹配过滤的内容,再向上匹配n行
grep -C n 匹配过滤的内容,再向上和向下匹配n行
正则
^ 以什么开头
$ 以什么结尾
^$ 空行
. 匹配任意一个字符
* 前面一个字符出现0次或0次以上
.* 所有
[] 整体,包含[]里面的字符
| 或者