ip addr 查看IP地址
man man 查看man命令的帮助手册
http://man.linuxde.net
ls 显示目录下文件与目录
-a 显示隐藏文件
-l -> ll 以列表形式显示
-R 递归显示
file 查看文件类型
pwd 查看当前工作目录
cd 切换工作目录
. 当前目录
.. 上一级目录
~ 家目录
- 上一个工作目录
touch 新建空文件或更新文件时间
rm 删除文件
-f 强制删除,不询问
-r 删除文件目录
mkdir 创建目录
-p 递归创建目录
-v 显示创建过程
rmdir 删除空目录
通配符:
* 0个或多个
? 一个字符
[0-9] 数字范围0-9
[a-x] 字母范围a-x
[abc] 匹配字母a b c
[^abc] 匹配除了字母a b c之外的任意字符
cp + 源文件 + 目标路径 复制
-r 递归复制
-v 显示复制过程
mv + 源文件 + 目标 移动/重命名
-f 不提示直接覆盖
history 历史记录
!! 重复上一个命令
!数字 按照历史记录的序号执行命令
clear 清理屏幕
date 查看系统日期时间
-s 20120102 设置日期,会导致时间重置
-s 15:22:21 设置时间
-s "20180319 16:36:20" 设置时间日期
clock 查看硬件日期时间
-s 使用硬件时间修改系统时间
cal 查看日历
9 2018 查看2018年9月日历
2017 查看2017年整年日历
-y 查看一年的日历
-j 显示一年的天数
uptime 查看系统运行时间
vi 编辑器
模式:
命令模式
任何情况下按 esc 返回到命令模式
移动光标
j 向下移动
k 向上移动
l 向右移动
h 向左
6j 从光标所在位置向下移动6行
gg 移动到文件首行首列
G 移动到文件尾行尾列
3G 移动到第3行
复制粘贴
yy 复制光标所在行
p 光标所在行下面进行粘贴
3yy 从光标向下复制3行
3p 光标所在位置下面进行粘贴3次
删除
dd 剪切光标所在行
3dd 光标所在行向下剪切3行
x 剪切光标所在字符
替换
r 替换光标所在当前字符
R 连续替换光标所在当前字符,直到输入 esc
撤销
u 撤销
Ctrl + r 恢复上一步撤销
进入插入模式
i 在光标前插入
o 下一行新建一行
O 上一行新建一行
a 在光标后追加
搜索内容
/搜索的字符串 从光标位置向下搜索
n 下一个 N 上一个
?搜索的字符串 从光标位置向上搜索
插入模式
ex模式
:set nu 显示行号
:set nonu 不显示行号
:w 保存
:q 退出
:wq 保存并退出
:q! 强制退出
:n 移动光标到第n行
:s 字符串替换
:s/str1/str2/ 用str2替换行中首次出现的str1
:s/str1/str2/g 用str2替换行中所有出现的str1
:.,$ s/str1/str2/ 用str2替换从光标位置开始到末尾第一次出现的str1
:.,$ s/str1/str2/g 用str2替换从光标位置开始到末尾所有出现的str1
:n,$ s/str1/str2/ 替换第n行开始到最后一行中每一行第一个str1为str2
:n,$ s/str1/str2/g 替换第n行开始到最后一行中每一行所有的str1为str2
n 数字,表示行号
., 代表从当前行到最后一行
$ 分隔符
g 放在命令的末尾,表示对搜索字符串的每次出现进行替换
cat 查看整个文件内容,从上到下显示
-n 显示行号
head 显示文件头几行,默认10行
-n 12 显示头12行
more 全屏幕的形式按页显示文件内容
空格键 向下翻一页
回车键 向下翻一行
b 向上翻一屏
q 退出阅读
less 全屏幕的方式显示文件内容
空格键 向下翻一页
回车键 向下翻一行
q 退出阅读
b 向上翻一屏
-N 输出行号
方向键 上下左右阅读
tail 从文件末尾查看,默认10行
-n 12 从末尾查看12行
-n +12 从第12行查看到末尾
-f 持续追踪显示文件更新(查看日志)
ping www.baidu.com > ping.log &
tail -f ping.log
ctrl + c 强行终止命令
wc 统计文件信息
-c 统计字节数
-l 行数
-w 字符,以空白区域分隔的非零长度字符串
du -h 查看文件或目录大小
& 命令后台执行
jobs 查看当前所有后台作业
fg 控制后台作业拉回前台
ctrl + z 将命令放到后台执行(暂停)
bg 控制作业继续在后台运行
df -h 磁盘信息
free -m 内存信息
shutdown 关机或重启
-h 关机
-r 重启
-c 取消计划
shutdown -h now 立刻关机
shutdown -h +10 10分钟后关机
shutdown -h 23:30 23:30 计划关机
shutdown -r now 立即重启
reboot 立即重启
poweroff 立即关机
gzip 压缩单个文件
-d -> gunzip 解压缩
tar 打包,归档文件
-c 新建备份文件
-v 显示详细过程
-f 指定备份文件
-z 调用gzip压缩/解压缩
-x 从备份中还原文件
-C 目录 指定目录解压缩
tar -zcvf out.tar.gz *.txt 归档并压缩所有的.txt结尾的文件
tar -zxvf out.tar.gz -C B 加压缩到B目录
find 查找文件
find . -name "*.log" 在当前目录下查找所有的.log结尾的文件
find / -name "*root*" 在根目录下查找所有包含有root名字的文件或目录
find . -name "*.log" -exec ls -l {} \; 在当前目录下查找所有的.log结尾的文件并显示文件详细信息
挂载设备
mount /dev/设备名 /mnt(挂载点)
umount /挂载点 卸载设备
yum install lsof 安装lsof命令
lsof /mnt 查看到谁正在使用该目录
每个用户拥有一个userID,操作系统实际使用的是用户ID,不是用户名
每个用户属于一个主组,属于一个或多个(31)附属组
每个组有一个GroupID
每个进程以一个用户身份运行,并受该用户可访问的资源限制
每个可登录用户拥有一个指定的shell
系统中每个文件都有一个所属用户及所属组
id root 查看root用户的信息
UID 0 系统超级用户
UID 1-999 程序服务,默认限制不能登录系统
UID 1000~ 普通用户
passwd 修改密码
cat /etc/group 组信息
cat /etc/passwd 用户信息
cat /etc/shadow 用户密码
w 显示有哪些用户已经登录并且在干什么
useradd 用户名 添加用户
-g 主组
-G 附属组,用 , 分隔
userdel 用户名 删除用户
-f 强制删除,无论该用户是否正在登录中
-r 同时删除家目录
usermod 参数 用户名 修改用户信息
-l 新用户名
-g 用户所属主组
-G 用户所属附属组
groupadd 组名 添加用户组
groupdel 组名 删除组
su - 用户名 切换用户,并使用新的运行环境
sudo 使用管理员身份运行命令
权限 文件 目录
r=4(2^2)读取 可读取文件内容 可列出目录内容
w=2(2^1)写入 可修改文件内容 可创建删除文件
x=1(2^0)执行 可作为命令执行 可访问目录内容(不给,无法查看其内容)
- 没有这个权限
rwx=4+2+1=7
r-x=4+0+1=5
rw-=4+2+0=6
chown 用户名 文件名/目录名 用以修改文件/目录的所属用户
chown -R 用户名 目录名 用以递归修改目录的所属用户
chgrp 组名 文件名/目录名 修改文件/目录的所属组
chgrp -R 组名 文件名/目录名 递归修改文件/目录的所属组
chmod 模式 文件名/目录名 修改文件/目录的权限
u 用户
g 组
o 其他
a UGO
+ 加入权限
- 删除权限
r 读取
w 写入
x 执行
chmod u+x a1.txt 给文件加入用户执行权限
chmod a-x a1.txt 给文件UGO删除执行权限
chmod 660 a1.txt 给文件设置用户读写权限,组读写权限,其他没有任何权限
chmod 755 a1.txt 给文件设置用户读写执行权限,组读执行权限,其他读执行权限
chmod 777 a1.txt 给文件设置所有人都能读写执行权限
grep 'ot' /etc/passwd 从/etc/passwd文件中搜索带有 ot 的行
-i 忽略大小写
-n 显示行号
-v 输出不带关键字的行
-Ax 在输出的时候包含结果所在行之后的指定行数x
-Bx 在输出的时候包含结果所在行之前的指定行数x
echo 显示输入的内容
$PATH 显示系统环境变量的值
Linux Shell 数据流定义
名称 说明 编号
STDIN 标准输入 0
STDOUT 标准输出 1
STDERR 标准错误 2
重定向
关键字 定义 例子
> 将STDOUT重定向到文件(覆盖) echo "Linux" > 1.txt
>> 将STDOUT重定向到文件(追加) echo "Linux111" >> 1.txt
2> 将STDERR重定向到文件(覆盖) lllll 2> 1.txt
2>> 将STDERR重定向到文件(追加) lllll 2>> 1.txt
&> 将STDOUT与STDERR结合
&>> 将STDOUT与STDERR结合
< 重定向STDIN grep root < /etc/passwd
<< 重定向STDIN cat >> 1.txt <<EOF
将开始标记tag和结束标记tag 123456
之间的内容作为输入 EOF
管道
| 将一个命令的输出作为另一个命令的输入
ls -l | grep "aa"
cat -n anaconda-ks.cfg | head -n 20 | tail -n 5 查看文件第16行到第20行,同时显示行号
cat -n anaconda-ks.cfg | tail -n +16 | head -n 5
BIOS->boot loader->加载系统内核->内核进行初始化->启动初始化进程
管理服务
systemctl start 服务名 启动服务
systemctl restart 服务名 重启服务
systemctl stop 服务名 停止服务
systemctl reload 服务名 重新加载服务配置文件
systemctl status 服务名 查看服务状态
systemctl enable 服务名 开机自动启动
systemctl disable 服务名 开机不自动启动
systemctl is-enable 服务名 查看开机是否自动启动
配置一台可上网(涉及到域名)的计算机:
IP地址
子网掩码
网关
DNS
配置一台跨网段通讯的计算机:
IP地址
子网掩码
网关
配置一台局域网通讯的计算机:
IP地址
子网掩码
ip addr 查看IP地址
ifdown ens32 禁用网络接口
ifup ens32 启动网络接口
nmtui 配置网络信息
systemctl restart network 重启网络
网络配置文件
/etc/sysconfig/network-scripts/ifcfg-ens32
DNS配置文件
/etc/resolv.conf
hostname 查看主机名
测试网络连通性
ping 192.168.2.1
ping www.baidu.com
ss -l 显示本地打开的所有端口
ss -pl 显示每个进程具体打开的端口
ss sport = :22 列出22端口的连接
ss -pl sport = :22 列出22端口的连接的进程
ss -t 显示所有的TCP socket
ss -u 显示所有的UDP socket
top 实时查看系统的整体运行情况
q 退出
s 改变刷新延迟
vmstat 查看虚拟内存、进程、CPU活动
vmstat 2 每2S输出一条结果
vmstat -a 显示活跃与非活跃内存
ps 报告当前系统的进程状态
-A 显示所有的程序
ps -A | grep ssh
kill -9 pid 杀掉进程号
pkill -kill -t pts/4 踢掉用户
curl 下载上传命令
curl http://man.linuxde.net/curl 下载单个文件,默认输出文件内容
curl -O http://man.linuxde.net/wp-content/uploads/ad/magedu_arc_top.png 需要具体到具体的文件
curl -o index.html http://man.linuxde.net/curl 抓取页面内容到一个文件中
rpm -qa 查询所有已经安装的软件包
rpm -q 软件包名 查询指定软件包
rpm -ivh 软件.rpm 安装软件
rpm -Uvh 软件.rpm 更新软件
rpm -e 软件 卸载软件
yum list 显示所有已经安装和可以安装的程序包
yum install 软件包名 安装软件包
yum -y install 软件包名 安装软件包,不询问,直接同意许可
yum remove 软件包 删除软件包
yum clean all 清空缓存目录下的所有软件包
which 查询命令位置