# 获取IP地址
ip addr
# man命令用来查看帮助手册
man ls
# http://man.linuxde.net/
ls -a
ls --all
# 清理屏幕
clear
ls # 列出目录内容
ls -a # 显示所有文件(包含隐藏文件)
ls -l # 显示详细信息
ll
ls -R # 递归处理
ls -al
# 查看文件类型
file anaconda-ks.cfg
pwd # 显示当前工作目录
/ # 根目录
. # 当前目录
.. # 上一级目录
~ # 用户家目录
- # 上一个工作目录
cd # 切换目录
cd /bin
cd ..
cd ~
cd /var/log/
cd -
cd -
# 搜索 centos 7 目录结构
http://www.cnblogs.com/ellisonDon/archive/2012/10/03/2710730.html
# 相对路径:以当前所在位置为起点
# 绝对路径:以根目录为起点的路径
cd ~
touch # 创建空的文件或更新文件时间
touch 1.txt
touch 2.txt 3.txt 4.txt 5.txttouch -t 201501120958 1.txt # 更新文件时间
rm # 删除文件或目录
rm -f # 强制删除mkdir # 创建目录
-v # 显示详细信息
-p # 递归创建
mkdir A
mkdir -vp A/A1/A11rmdir # 删除空目录
rm -fr # 强制删除一个非空目录
# 通配符
* # 匹配 0 个或多个
? # 匹配任意一个
[0-9] # 匹配一个范围
[abc] # 匹配列表中的任意字符
[^abc] # 匹配列表以外的任意字符touch 1.txt 2.txt 3.txt 4.txt 5.txt
touch A1.txt A2.txt A3.txt A4.txt A5.txtrm [2-4].txt
rm A[2-4].txt
rm *.txt
rm *[^23].txt
rm ??.txt
cp 要复制的文件 目的地文件
-v # 显示详细过程
-r # 递归复制整个目录树
mkdir AA
touch 1.txt
cp 1.txt AA/
mkdir -p BB/CC
cp 1.txt BB/CC/
# 重命名 mv (需要重命名的文件) (重新命名的名字)
移动文件
mv (需要移动的文件) (移动到哪个文件)
-f # 覆盖
history # 历史记录
!数字 # 重复执行该序号命令
!! # 重复上一个命令date # 查看时间
date -s 20121203
date -s 15:48:50
date -s "20171223 15:16:50"clock -s # 从硬件时钟设置系统时间
cal # 查看日历
cal 9 2017
cal -y 2017
cal -j 2017uptime # 查看系统运行时间
vi # 文本编辑器
# 命令模式
# 移动光标
j # 下
k # 上
h # 左
L # 右
6j # 从当前行向下移动 6 行
gg # 移动到文件首行首列
G # 移动到尾行首列
3G # 移动到第3行
# 复制粘贴
yy # 复制光标所在行
p # 光标所在行下面粘贴
3yy # 从光标向下复制3行
3p # 粘贴3次
# 删除
dd # 剪切光标所在行
4dd
x # 剪切光标所在字符
# 替换
r # 替换光标所在字符
R # 连续替换直到遇到 ESC
# 选择
v # 进入选择状态
e # 选择单词
# 撤销
u # 撤销
Ctrl + r # 恢复上一次撤销
# 搜索
/ 搜索的字符串 # 向下搜索
n N
? 搜索的字符串 # 向上搜索
# 插入模式
i # 光标前插入
o # 下一行插入,新建一行
O # 上一行插入,新建一行
a # 追加
# 末行模式
:set nu # 显示行号
:set nonu # 不显示行号
:w # 保存
:q # 退出
:wq
:q! # 强制退出
:n # 移动光标到 n 行
# 查看文本内容
cat # 从上往下查看所有内容
-n # 显示行号
head # 默认查看头10行
-n # 指定显示的行数
more # 全屏幕的方式显示
空格 回车键 q b
less # 全屏查看,上下翻页
-N # 显示行号
tail # 显示末尾10行,查日志
-n # 从末尾开始数 n 行
-n +x # 从第x行到末尾
-f # 追踪显示文件更新
(查日志,不会自动退出,CTRL+C)ping www.baidu.com > ping.log& # 后台执行
tail -f ping.logwc # 统计字数
-c # 统计字节数
-l # 统计行数
-w # 统计字数
grep # 基于关键字搜索文本
grep 'oo' anaconda-ks.cfg
-i # 忽略大小写
-n # 显示行号
-v # 输出不带关键字的行
-Ax # 结果行之后显示指定行数 x
-Bx # 结果行之前显示指定行数 x
命令后接& # 这个命令在后台执行
jobs # 查看当前所有后台执行作业
fg # 控制后台作业到前台
Ctrl + z # 将前台作业放入后台(暂停)
bg # 后台作业继续运行
df -h # 检查磁盘空间
free -h # 显示内存
cat /proc/meminfo # 查看详细内存信息
lscpu # 查看CPU信息
cat /proc/cpuinfo
gzip # 压缩文件(单个)
-d # 解压缩
gunzip #解压缩
tar # 归档
-c # 新建备份文件
-v # 显示详细过程
-f # 指定备份文件
-z # 调用gzip压缩或解压缩
-x # 从备份文件中还原文件
-C 目录 # 指定特定目录解压缩tar -cvf out.tar * 归档
tar -czvf out.tar.gz * 归档并且压缩mkdir x
tar -xzvf out.tar.gz -C x/ 将备份的归档且压缩文件还原
find # 查找文件、目录
find / -name "*.log" # 在根目录下查找所有日志文件
find . -name "*3*"shutdown # 关机重启
-h # 关机
-r # 重启
-c # 取消计划shutdown -h now # 立刻关机
shutdown -h +10 # 10分钟后关机
shutdown -h 23:30 # 定时关机reboot # 立刻重启
poweroff # 立刻关机
# 用户
# 每个用户都会有一个用户ID:UserID
# 每个用户属于一个主组,属于一个或多个附属组
# 每个组拥有一个GroupID
# 每个进程都会以一个用户身份运行,并受该用户权限的限制
id # 查看用户ID
# 超级用户:0
# 系统用户:1-999
# 普通用户:1000+
passwd # 修改密码
cat /etc/passwd # 保存用户信息
cat /etc/shadow # 保存用户密码
cat /etc/group # 保存用户组信息
w # 显示有哪些用户已经登录了
useradd lisi # 创建用户 lisi
-g # 主组
-G # 附属组(31个,用逗号隔开)
useradd zhangsan -g lisi -G root,lisi
usermod 参数 用户名 # 修改用户
-l 新用户名
-g 主组
-G 附属组
userdel lisi # 删除用户,保留用户的主目录
userdel -r zhangsan # 删除用户主目录
userdel -fr zhangsan # 强制删除用户
groupadd wangwu # 创建组
groupmod -n wangwu1 wangwu # 修改组名
groupmod -g 新组ID wangwu # 修改组ID
groupdel 组名 # 删除组
su - 用户名 # 切换用户,并使用新的环境变量
sudo # 使用管理员身份运行命令
# 读、写、执行
chown 用户名 文件 # 修改文件的所属用户
chown -R 用户名 目录 # 递归修改目录下所有内容的所属用户
chgrp 组名 文件 # 修改文件所属组
chgrp -R 组名 目录 # 递归修改目录下所有内容所属组
chmod 模式 文件名 # 修改文件权限
chmod -R 模式 目录 # 递归修改目录下所有内容权限
# 模式:
u # 用户
g # 组
o # 其他
a # ugo
+ # 加入权限
- # 删除权限
r # 读 4
w # 写 2
x # 执行 1
chmod a-r AA/
chmod a-rx,g+w AA/
chmod 660 AA/
chmod 755 AA/
chmod 777 AA/
# 管道: | 将前一个命令的结果作为后一个命令的输入
# 重定向: > 覆盖 >> 追加
echo "你好1" > 2.txt
echo "你好2" >> 2.txt
ls | grep "txt"
cat -n anaconda-ks.cfg | head -n 20 | tail -n +10 > 3.txt
# 服务管理
systemctl start 服务名
restart
stop
status
reload # 重新加载配置文件,不重启服务
enable # 开机自动启动
disable # 开机不自动启动
is-enabled # 是否开机自动启动
ip addr
ifup # 启动一个网络接口
ifdown # 禁用一个网络接口
nmtui # 配置网络
systemctl restart network # 重启网络服务
systemctl status firewalld # 查询防火墙是否启动
systemctl start firewalld
systemctl stop firewalld
# 网卡配置文件
cd /etc/sysconfig/network-scripts/
# DNS 配置文件
cat /etc/resolv.conf
hostname # 主机名
ping www.baidu.com # 测试网络的连通性
# 端口
ss -l # 列出所有打开的网络连接端口
ss -pl # 显示每个进程打开的socket
ss sport = :22 # 列出 22 端口的连接
ss -pl sport = :22 # 列出 22 端口的进程
21 ftp 文件传输端口
22 ssh 安全shell服务
80 http 超文本传输协议
443 https 安全超文本传输协议
3306 mysql 数据库
1521 oracle
1433 Microsoft SQL Server
top # 实时动态的查看系统的整体运行情况
q # 退出
s # 改变刷新频率
ps -A # 显示所有程序
ps -A | grep ssh
kill -9 pid # 杀进程
pkill -kill -t pts/1 # 踢掉用户
curl # 文件传输工具
curl -o qq.exe https://dldir1.qq.com/qqfile/qq/PCQQ9.1.0/24707/QQ9.1.0.24707.exe
curl -O https://dldir1.qq.com/qqfile/qq/PCQQ9.1.0/24707/QQ9.1.0.24707.exe
# 断点续传
curl -C - -O https://dldir1.qq.com/qqfile/qq/PCQQ9.1.0/24707/QQ9.1.0.24707.exe
which # 查找命令位置
which ls
echo $PATH # 显示环境变量
# XFtp
# RPM 软件包
rpm -qa # 查询所有已安装的软件包
rpm -q 软件包名 # 查询指定软件包
rpm -ivh 软件包.rpm # 安装软件包
rpm -Uvh 软件包.rpm # 升级软件包
rpm -e 软件包名 # 卸载软件包
# YUM
yum list # 显示已经安装和可以安装的软件包
yum install 软件包名 # 安装软件包
yum -y install 软件包名 # 安装软件包,不询问
yum remove 软件报名 # 卸载软件包
yum clean all # 清理缓存