sudo shutdown now -h 关机
which 命令名 查看该命令所在地
通配符
* 所有目标
xxx* 以xxx开头的目标
? 只能代替一个字符
目录
/ #根目录
/root #root用户的家目录
/home/username #普通用户的家目录
/etc #配置文件目录(注册表)
/bin #命令目录
/sbin #管理命令目录
/usr/bin/usr/sbin #系统预装的其他命令
/tmp #临时文件
帮助
man 命令名称
type 命令名称 #查看该命令是内部还是外部命令
help 内部命令
外部命令 --help
info 命令名称
I 文件管理
1 命令
pwd 显示当前目录名称
cd 更改操作路径
tab 目录补全
.. 上一层
ls 列出目录内容
-l 长格式显示
-lh MG格式
-a 显示隐藏文件
-r 逆序显示
-R 递归显示 显示子文件
mkdir 名称 建立目录
-p 名称/名称 递归创建
rm 删除目录
-r 删除非空目录
-rf 不询问删除
cp 原文件 目的目录 拷贝
-v 显示进度条
-p 保留文件原有时间
-a 保留文件所属组所有者 和权限
mv 原文件 目标目录 剪切或改名
touch 文件名 创建文件
cat 文本内容显示
head 显示文件开头
-5 显示前五行
tail 显示文件结尾
-f 同步更新文件内容
-5 显示后五行
wc 统计文件内容信息
-l 显示文件有烧行
less
more 按页显示文本文件
tar cf 打包后路径与名称.tar 打包对象 #打包文件
czf 打包后路径与名称.tar.gz 打包对象 #打包并压缩文件
cjf 打包后路径与名称.tar.bz2 打包对象 #打包并压缩文件打包比例更大
tar xf 解包文件 解包路径 #解包文件
xzf 解包文件 解包路径 #解包并解压文件
xjf 解包文件 解包路径 #解包并解压文件
2 文件权限
文件权限 ls -l
- rw------- 1 root root 1523 sep 28 12:05 anacoda-ks.cfg
类型 权限 所属用户和组 文件名
类型:
-普通文件
d目录文件
b块特殊文件 设备,例如移动硬盘
c字符特殊文件 终端
l符号链接 快捷方式
f命名管道
s套接字文件
权限:
前三:所有者权限。中三:所属组权限。后三:其他人权限
r=4读 w=2写 x=1执行
当新建文件时,文件拥有默认权限,根据umask值计算,
#若是目录文件 x代表可以进入目录 rx代表可以显示目录内
文件名 wx表示可以修改目录内的文件名
#修改文件或目录的权限
chmod u+x 目录名 #为该文件(目录)增删权限
$ugoa $+- $rwx
chmod 755 目录名 #为该文件(目录)配置权限
$u:421 g:421 r:421
chown 所有者名 目录名 @#改所有者所属组
特殊权限(不建议手动修改)
SUID 用于二进制可执行文件,执行命令时取得文件属主权限
如:修改密码的时候 普通用户使用root的权限
SGID 用于目录,在该目录下创建新的文件和目录,权限自动更改为该目录的属组
如:做文件共享
SBIT 用于目录,该目录下新建的文件和目录仅root和自己可以删除
II vi编辑器
命令行输入 vim即可进入编辑器
vim 文件路径.txt 用vim打开文本文件
vim的模式:正常模式 |插入模式 |命令模式 |可视模式
ESC 回到正常模式,在正常模式下↓
hjkl分别在普通模式下左下上右移动光标
a进入插入模式,光标去往的下一个位置
A进入插入模式,光标去往这一行的结尾
I进入插入模式,光标去往到这一行的开头
i进入插入模式,光标就在当前位置
o进入插入模式,光标去往下一行会建立一个空行
O进入插入模式,光标去往上一行会建立一个空行
yy 整行复制 按p粘贴
y$ 复制从光标到光标结尾位置,按p粘贴。
dd 整行剪切 按p粘贴
d$ 剪切从光标到光标结尾位置,按p粘贴。
u 撤销
ctrl + r 取消撤销
x 单个字符删除
r 单个字符替换
#行数 (后按)→ G 光标移动至目标行
G 光标去往最后一行
^ 光标去往本行开头
$ 光标去往本行结尾
v进入可视模式,批量区域操作
小写 v 字符可视模式
大写 V 行可视模式
ctrl + v 块可视模式 一般配合d和I进行批量插入剪切
:进入命令模式,
$! + 命令 在vim里暂时执行linux的命令
$q! 不保存并退出
$wq 保存并退出
$w 覆盖保存瘟胶囊
$w 路径.txt 保存文件
$set nu 显示行标信息
$set nonu 不显示行标信息
/进入查找模式 输入字符就可以在文本中查找到
$ n 向下筛选
$ shift + n 向上筛选
$ s/旧字符/新字符 替换(默认只替换当前光标所在一行)
$ %s/旧字符/新字符/g 全局替换
$ 3,5s/旧字符/新字符 指定区域替换
III 用户管理:root用户 和 普通用户
useradd 用户名 #新建用户
-g 组名 用户名
$创建用户的同时 并设置用户组
id 用户名 #判断该用户是否存在
userdel 用户名 #删除用户
-r $不保留这个用户的家目录
passwd 用户名 #修改用户密码
usermod 用户名 #修改用户属性
-d 路径 $修改用户家目录的位置
chage #修改用户生命周期
groupadd #新建用户组
groupdel #删除用户组
su - 用户名 #切换用户并变更用户环境
sudo #以自己的身份执行其他用户(root)的指令
visudo #设置需要使用sudo的用户
写入:
用户名 主机名 = 哪个指令可以被使用 是否需要输入密码
lirunduo All=/sbin/shutdown -c
localhost
#All 是ssh主机或图形终端
#localhost 是命令行界面
+++++++++++++++++用户有关配置文件+++++++++++++
vim /etc/passwd
用户名称:这个用户是否需要密码:用户的id:用户的组id::用户的家目录所在地:用户登陆的命令解释器
x 是 或 空白 否 /bin/bash
/sbin/nologin 不让用户登录
vim /etc/shadow
用户名称:用户的加密密码:。。。
vim /etc/group
组名称:这组是否需要密码验证:组的id:还属于其他组的用户有哪些
IV 网络管理
$ 命令:ifconfig 查看本地网卡
eth0 第一块网卡(网络接口)
你的第一个网络接口可能叫下面的名字:
eno1 板载网卡
ens33 PCI—E网卡
enp0s3 无法获取物理信息的PCI-E网卡
—centos3使用了一致性网络设备命名,以上都不匹配则使用eth0
$ 网络接口命名修改(回到eth0方式)
·网络命名的规则受biosdevname 和 net.ifnames两个参数影响
·用vim编辑/etc/default/grub文件,第六行的quiet后增加biosdevname=0 net.ifnames=0
·更新grub
·grub2-mkconfig -o /boot/grub2/grub.cfg
·重启
·reboot
·这样就ok了
ps:关于这两个参数所代表的含义
| | biosdevname | net.ifnames| 网卡名 |
| 默认 | 0 | 1 | ens33 |
| 组合1| 1 | 0 | em1 |
| 组合2| 0 | 0 | eth0 |
$命令:mii-tool eth0 查看物理网卡(网线)的连接情况
$命令:route -n 查看网关(-n 参数不解析主机名)
route del default gw 网关名 删除默认网关
route aded default gw 网关名 增加默认网关
$网络配置的相关命令
ifconfig 接口 ip地址 netmask子网掩码 设置网卡的ip地址
ifup 接口 启用网卡
ifdown 接口 禁用网卡
$网络故障排除命令(按顺序来的)
1 Ping +目标ip或域名 也可www.baidu.com
检测当前主机和目标主机是否畅通
2 traceroute -w 1 +目标ip或域名
辅助ping来使用 追踪一下 看看哪些数据包丢了
3 mtr
辅助ping来使用 更详细的追踪(debain下需要安装 sudo apt-get install mtr)
4 nslookup +域名 (debain下需要安装 sudo apt-get install dnsutils)
查看到域名对应的ip即为域名解析
5 telnet 域名或ip 端口号 (debain下需要安装 sudo apt-get install telnet)
例如:telnet www.baidu.com 80
检查端口的连接状态是否畅通
6 tcpdump -i any -n port + 端口号 (debain下需要安装sudo apt-get install tcpdump)
tcpdump -i any -n host + 主机号
更细致的的分析数据包(网络抓包工具)
7 sudo netstat -ntpl 监听端口
8 sudo ss -ntpl
$网络配置文件:将配置固化下来
参考:https://wiki.dadclab.com/Linux/linux%E9%85%8D%E7%BD%AE%E7%BD%91%E5%8D%A1.html