Linux基础命令总结

Linux命令总结

1、环境变量
\u@\h\W$
\u 用户名
\h 主机名
\W 相对路径 \w 绝对路径
$ 用户标识符

2、查询及帮助命令
man 帮助手册
--help 简易帮助信息
info 查看命令的更多信息

3、关机重启命令
shutdown
-r 重启
-h 0或-h now
halt cpu停止工作
poweroff 关机断电
init
init 0 关机
init 6 重启
reboot 重启
systemctl
reboot 重启
poweroff 关机

4、快捷键
tab 自动补齐
ctrl+c取消当前操作
clear 清屏
ctrl+l 清屏
ctrl+d 返回用户
ctrl+a 把光标移动到行首
ctrl+e把光标移动到行尾
Ctrl+u 光标移到行首的内容删除、剪切
ctrl+k光标移到行尾的内容删除、剪切
Ctrl+y粘贴
ctrl+b光标左移
ctrl+f光标右移
ctrl+w删除之前一个空格分隔符的内容
ctrl+z暂停正在执行的任务,挂起
yum安装,卡住了
bg使暂停的任务继续工作
ctrl+insert复制
ctrl+insert粘贴
Esc+. 返回上次结尾内容
jobs查看当前后台运行的任务
ctrl+s锁屏
ctrl+q解锁屏幕
可以调出上次以开头的命令并执行
!!可以调出上次执行的命令并执行

5、目录相关
pwd 显示当前所在的目录
cd 切换目录
~ 当前用户家目录
.. 进入当前目录的上一级
. 进入到当前目录
- 切换到上一次目录
ls、ll 显目录内容
-l 显示长格式详细信息属性
-a 显示所有文件 ,包含隐藏文件
-d 只显示目录信息
-i 显示inode节点
-h 人类可读形式显示
-r 反转排序
-p区分目录和文件 目录后带/
-F 不同文件结尾不同表示 目录后带/
cp 复制、拷贝 目录或文件
-r 递归复制目录
-p 复制目录或文件保持属性不变
-d 软链接
-a 相当于是-pdr的综合
-i 是否覆盖删除
.bak拷贝、备份
tree 以树形结构显示目录下的内容
-d只显示目录
-L最大显示几层目录
-F区别文件或目录
rm 删除
-r 递归删除
-f 强制删除
mv 移动、剪切 文件或目录或改名
mkdir 创建目录
-p递归创建层次性的目录
批量创建目录 mkdir test{1..5}

6、文件相关
touch 创建文件、更新文件时间戳
批量创建文件 touch test{1..5}
创建文件 touch file1 file2 ……
file 显示文件的类型
ln 默认创建硬链接
-s 创建软链接
which 查看命令所在的目录
whereis查找命令、源码、帮助等路径
locate
查找文件或目录
find 查找文件路径和目录路径,搜索一个数据库
xargs 从标准输入构建执行命令
-n生成多少命令行
-d指定分隔符 不指定 默认是空格
-i 把{前面查找的结果
stat 查看文件属性
wc 显示文件的行数 字数
-l 行数
-w 显示不包括空行的行数
-c 显示字符个数
chattr 改变文件的隐藏属性
+/-a 让文件只能追加
+/-i 无敌的 不能任意改掉文件或目录 只能查看
lsattr 查看文件隐藏属性
sort 排序
-r 倒序
-n 按数字顺序排序
-h 人类可读的形式排序
-hr人类可读的形式倒序排序

、文件内容
echo 显示输出文本内容
-n 不换行 不显示每行结尾的回车
-e 支持转义字符输出
\ 换行,切行
printf
格式化打印字符串 类似echo
seq 生成序列
-w 在列前添加 0 使得宽度相同
vi/vim 文本编辑器(在最后)
cat 查看文件内容
-n显示行 统计空白行
- A 显示出文件中所有隐藏的符号
cat passwd test.txt >>all.txt 文件合并
cat >> test.txt <<EOF 追加内容
more分页显示内容
f 空格:下一页
b: 上一页
q: 退出(查看到文件底部自动退出)
less 分页显示内容
less /etc/init.d/functions
q或Q: 退出(查看文件底部,不退出)
-N :显示行号
/ 要搜索的内容 搜索查找 n 查找下一个 N查找上一个
head 显示文档头部
-n +行数 默认10行
tail==tailf显示文档尾部
tail -n5 test.txt
-n :显示行号
-f : 显示文档后几行(实时更新)
-F:实时显示更新文档内容
-d: 删除
tr 进行一对一的字符替换
-d 删除
-c 取反
cut 案列切割
-d 指定分隔符
-f 指定哪列 多列可用逗号或-
-c 按字符取内容
diff
vimdiff
df 查看block磁盘空间使用情况
df -ih 查看inode剩余空间
概要查看日志可以用这几种
显示两个文件的区别
-h人类可读的方式显示内容

8.基础网络操作命令
ping 检查网络连通性
参数
-c
限制ping的次数
-w
超时时间
-i
间隔时间
ip a
查看ip地址
tracert(windows) traceroute(linux)
本地tracert -d www.baidu.com
路由追踪
概要
telnet 10.0.0.200 22
检查某个端口是否开启
概要
nc 10.0.0.200 22
nmap -p22 10.0.0.200
网络扫描
-p指定端口号
-p 23,80,44较慢
ss -lntuup|grep 22
netstat -lntup|grep 22
lsof -i:22
iftop
interface 网卡 当前系统流量
-n
不要把ip转换为域名
-N
不要把端口号转换服务器名字
-p
显示连接的端口号
-i
指定网卡
nethogs
查询显示每个进程当前流量
流量信息

9.磁盘管理
df 查看block磁盘空间使用情况
df -ih 查看inode剩余
du -sh
-sh 一层一层的查找
-h 每个目录的大小
-sh 显示目录下所有目录的大小,总计
fdisk
支持2TB以内的磁盘分区表状况
-l查看指定的分区表情况
fdisk -l /dev/sda
parted
大于2TB磁盘 支持更大的磁盘和更大的主分区
磁盘分区和分区大小调整工具,支持调整分区的大小
磁盘分区
mkfs
-t 指定文件系统类型
mkfs -t xfx ==mkfs.xfs
格式化 创建文件系统
-I 大i指定inode大小
mkfs.xf /dev/sdb1 格式化创建文件系统
mount 挂载文件系统
-t 指定 文件系统类型 可以不加 自动识别
-o 挂载的选项
-a 挂载所有
mount /dev/sdb1 挂载
磁盘挂载
umount /mnt 卸载
dd
复制或传输文件(创建指定大小文件)
dd if=/dev/zero of=/tmp/500m bs=1M count=500
测试磁盘速度
fio
iotop
显示每个进程的读写速度(需要安装)
fsck
磁盘检查
-a自动检查 自动修复
megacli
查询raid状态
ipmitool
查询物理服务器信息
风扇转速
温度
物理服务器
10.文件压解压缩
tar 打包压缩
-z压缩
gzip进行压缩
.tar.gz
-c 创建
-v 输出打包过程
-f 文件
-x 还原
-t 查看
-h 备份跟随软连接(备份源文件)
-X从文件 中排除不打包的文件
zcf 创建压缩包
tf查看压缩包
xf 解压压缩包
-C解压到指定位置
--exclude排除不打包的文件
11.系统其它管理
alias 查看、添加别名
unalias 取消别名
runlevel 查看运行级别
md5sum 计算和效验文件的MD5值
sha512系列
-c 校对md5
init (1-6)切换运级别
0关机
1单用户模式
2
3多用户的文本界面
4
5多用户的图形界面
6 重启
hostname修改主机名
date显示系统时间
软件包
yum安装软件
-y安装时默认yes
install安装软件包
yum provides
查询属于哪个软件包
remove(卸载)禁用
rpm
-q query查询
-qa查询软件是否安装
-a all
查询所有
检查软件包是否安装
-ql
list
显示软件包内容
-qf
根据指定的命令或文件(绝对路径)查询所属的软件包
软件包已经安装
-ivh
安装rpm包
-vh 显示过程
-e
eraser删除软件包
systemctl
管理系统
开启关闭重启服务
status显示
disable永久关闭
enable永久开启
stop临时关闭
start临时开启
hostnamectl需改主机名
rz上传
sz 下载
histaory 历史记录情况
-c删除
-w 保存
ps
-ef查看进程
-aux cpu和内存使用率
pstree
psmisc
以树形显示进程结构
lrzsz(单独安装)

12.杀掉顽固进程
yum安装软件卡住了,杀掉顽固进程
ctrl+z暂停正在执行的任务,挂起
jobs查看在后台运行的进程
kill
kill %1 杀死第一个进程
根据pid
killall
根据进程名字
pkill
我要你狗命(你和你爹的命都杀掉
模糊结束进程

13.用户管理
id查询用户信息(UID Gid)
-u查看UID
-g查看gid
whoami显示当前用户
w查看当前登录的所有用户 干什么了
last 显示登录过的用户信息列表
lastlog 查看最近登录过的用户报告
su - 切换用户
visudo 编辑/etc/sudoers文件的专属命令
-k清空时间戳
env 查看当前用户环境变量
useradd 创建用户
-c添加用户说明
-u 指定uid
-s指定登录shell命令解析器
-M不创建家目录
-g指定用户组
-m指定家目录
-d指定登录的家目录
-e设定登录截止日期
userdel 删除用户
-f:强制删除用户,即使用户当前已登录
-r: 删除用户的同时,删除与用户相关的所有文件和家目录
最好编辑/etc/passwd通过注释来删除
usermod 修改用户和用户组
与useradd的参数大部分类似,下面是区别
-l修改用户账号名称
-a 追加用户到用户组与-G连用
-L锁定用户密码
-U解除密码锁定
passwd 添加/修改用户密码
--stdin从标准输入接收密码并设置
echo 123456|passwd --stdin oldboy
groupadd 添加用户组
-g指定gid
groupdel 删除用户组
chage 查看用户截止日期
-E设置账户过期时间
-l显示用户密码信息
14.权限相关
解决permission denied类故障 权限拒绝
chmod 修改权限
+ 添加权限
- 去掉权限
=去掉原有的权限,赋予新权限
数字755
字母 ugo+rwx
R递归修改
chown 改变文件所有者和所属组
R递归授权
chown -R root.root /oldboy
chown -R www.root /oldboy
chown -R root.www /oldboy
chgrp改变组
chattr 改变文件的隐藏属性
+/-a 让文件只能追加
+/-i 无敌的 不能任意改掉文件或目录 只能查看
lsattr 查看文件隐藏属性

15.定时任务
crontab
-l 查看列表
-e进入编辑
定时执行命令
定时备份
推荐使用脚本
分布式进行测试
检查脚本执行过程 sh -x

16.信息显示命令
data显示或设置时间
+ %F 日期
+ %T 时间
+ %Y-%m-%d 年月日
+ %H:%M:%S 时分秒
+ %w 周
-s 修改时间
-d 根据描述性修改显示时间
ntpdate 同步更新时间
uname显示操作系统相关信息的命令
-r显示内核版本
-m 显示位数64/86位
hostname 显示或者设置当前系统的主机名
uptime显示系统运行时间及负载
stat显示文件或文件系统的状态
du计算磁盘空间使用情况
df 报告文件系统磁盘空间的使用情况
top 实时显示系统资源使用情况
htop
top 升级版
free查看系统内存
-h 人类可读
-m磁盘空间使用情况
date显示与设置系统时间
cal 查看日历等时间信息
/var/log/secure 记录用户登录情况

17.搜索文件命令
which查找二进制命令,按环境变量path路径查找
find 从磁盘遍历查找文件或目录
whereis查找二进制命令,按环境变量path路径查找
locate 从数据库(/var/lib/mlocte/mlocate.db)查找命令,使用updatedb更新库

18.四剑客
find查找 三剑客老四
-maxdepth +层数
-maxdepth 1 这个参数要放在其他参数之前
最大深度(最多在多少层查看)
类似于tree命令
type
f 文件查找
d 目录查找
-size +1M
按文件大小查找 大于 +/- 1M/k
-mtime +/-n 几天前后几天后
-name 区分大小写
-iname 不区分大小写
!取反
-exec +命令 {} \;衔接其他命令的参数
xargs -n 3 < 分3组显示 ,需要加重定向指定目录
grep 三剑客老三
-i 不区分大小写
-v 取反,排除
-O 显示每次grep匹配到的内容
-n 显示行号
-c 统计包含过滤字符内容的行数
-w 按照单词匹配
-E
支持扩展正则
egrep
-A
显示grep找出的内容下几行
-B
显示grep找出的内容上几行
-C
同时显示grep找出的内容上下几行
-l
过滤时只显示文件名,不显示内容
-R
递归进行过滤
grep -Rl 'oldboy'
-r

sed 三剑客老二
sed 增删改查
-n 取消默认输出
-l 修改文件内容
-r 支持扩展正则
-i.bak 先备份再修改文件内容
sed 查找
p d s a i c
p 显示,查看
-n取消默认输出
-r 支持扩展正则
/ /
使用正则进行过滤
使用正则表示范围
d 删除
sed 增加
-i
修改文件内容 sed -i '3a 123' filetxt
-i.bak 可以修改并备份
在源文件添加了新内容,备份的文件未添加
a
追加 在指定行的下面追加内容
i
插入在指定行上面插入信息
c
把这行内容先清空在写入
sed 删除
-d
sed 替换
-s 替换
g 全局替换
sed 默认替换每一行的第一个内容(第一个匹配到的内容)
()后向引用
先保护,再使用
ip a s eth0|sed -nr '3s#(^.t) (.) (/.*$)#\2#gp'
取IP地址

awk三剑客老大
-F指定分隔符
-F "[ / ,]"
-v修改或创建awk内置变量
NR==
取行号
awk内置变量
NR == 行号
$1 $2 数字某一列
$() 一整行
$NF 倒数第一行
$(NF-0) 倒数第一行
FS
-F 修改的内容
菜单 分隔符
OFS
#OFS 的内容就是分隔符的内容
#Output Field Separator 输出分隔符
-F: -vOFS=":" 显示分隔符
概要
范围
sed -n '1,5p' file.txt
awk 'NR1,NR5' file.txt
awk 'NR>=1 && NR<=5' file.txt
sed -n '/11:10/,/12:10/p' access.log
awk '/11:10/,/12:10/' access.log
awk '/$4/11:10/,$4/12:10/' access.log
awk '\(4~/11:10/,/12:10/' access.log 筛选指定列的内容 gsub(/:/,"\)")
gsub(/找谁/,"替换成什么")
显示第一行第五行的内容
显示文件内容的范围sed和awk的区别
特殊
BEGIN
BEGIN {} 里面的内容会在awk读取文件之前
进行测试
END {}
END{}里面的内容会在awk读取文件之后运行
显示计算结果
计算
i=i+1或i++
进行技术 计算一共出现了多少次
计数
i=i+$数字
进行计算总和
求和(累加)

19.特殊符号
位置
~
当前用户的家目录
..
当前目录的上级目录
.
当前目录
-
切换上一层目录
{} 生成序列
echo {1..10}
echo {01..10}
echo oldboy{1..10}
echo {a..z}
echo {A..Z}
#
#号之后内容系统认为不存在
<
* 所有
| 管道符号,把管道前面的命令结果通过管道传递给后面的命令
重定向符号
>或1>
标准输出重定向
先清空文件内容再写入
>或1
标准输出追加重定向
追加内容到文件尾部
2>
标准错误输出重定向
先清空文件然后把错误信息写入文件中
2>>
标准追加错误输出重定向
把错误信息追加到文件结尾
2>&1
同时把错误信息或正确信息都记录到文件中
alex >> oldboy.txt 2>>oldboy.txt
< 或者0<
标准输入重定向
用来指引命令从哪里读取数据
用到小于号的命令 tr xargs
<< 或者0<<
标准追加输入重定向
只用了和cat配合 向文件中追加多行内容
cat >> oldboy.txt<< EOF
&& and 并且,当前一个指令执行成功时,执行后一个指令
|| or 或者,当前一个指令执行失败后,执行后一个指令
#
配置文件注释
root用户命令提示符
$
变量前需要加的符号
取变量内容 $LANG $PATH
$( ) ==``反引号
;
命令结束,连续不同命令的分隔符i
!
逻辑运算中的“非”(not)
!ls
找出最近一次使用过的以ls开头的命令并执行
history|grep ls
利用管道筛选历史记录
*
所有,任何
{}
生成序列

20.正则表达式
基础正则
^
以……开头的行^m
\( 以……结尾的行m\)
^$
空行
*
前一个字符连续出现了0次或0次以上
.*
所有,任何符号 包行空行
^.*
组合符以任意0个或多个字符开头
.
任意一个字符 不会匹配空行

撬棍 转义字符 脱掉马甲打回原形
[abc]
包含 找出包含a或b或c的内容
[^abc]
取反,找出除了a或除了b或除了c
扩展正则
+
前一个字符连续出现1次或1 次以上
[😕] 匹配 :或 / 1次或多次
| 或者
/etc/sshd_config 排除文件中的# 和空行
()表示一个整体 反向引用/后向引用
\n 后向引用
sed在's###g'后面两个#号之间使用 \ 数字 引用
把你想要的内容用括号包起来( )

匹配前一个字符0次或多次
{} a{n,m}
前一个字符至少连续出现N次或1次

  1. vi/vim 编辑器
    i/a 进入编辑模式
    : wq 保存退出
    :q! 强制退出
    esc + . 上翻上次的命令
    h 向左移动
    j 向下移动
    k 向上移动
    l 向右移动
    gg 或 1G 移动到文本的行首
    shift +g 或G 移动到最后一行行首
    10G 或10gg 移动到文本的指定行首
    HOME 和$ 移动光标到行首
    END 和 ^ 移动光标到行尾
    o 光标的下面插入一行 ,并进入编辑模式
    O 光标的上面插入一行 ,并进入编辑模式
    x 删除单个字符
    cc 删除光标当前行并进入编辑模式
    大写C 删除光标所在行后的内容并进入编辑模式
    大写D 删除光标所在的行后的内容
    d$ 删除到行尾
    d^ 删除到行首
    行数+D 删除当前行到选定行
    dG 删除光标所在行下面的所有内容
    yy 复制当前行
    p 粘贴到光标所在下面的行
    dw 删除或剪切相同符号间的单词
    dd 剪切当前行
    r 替换单个字符
    R 连续替换多个字符 ,按esc键返回命令模式
    u 撤销上一步操作
posted @ 2019-11-26 10:43  lianbingrong  阅读(327)  评论(0)    收藏  举报